/* Eén headerfoto, dezelfde foto en hetzelfde logo als HotelPedro.nl. */
:root{--width:1180px;--ink:#233f45;--muted:#51676c;--orange:#b6430d;--radius:20px}
body{background:#f9faf7;line-height:1.7}
.site-header{position:relative;background:#fff;border-bottom:0}
.header-inner{min-height:118px;display:grid;grid-template-columns:1fr auto;gap:0 24px;padding-top:19px}
.brand{display:flex;align-items:center;text-decoration:none;min-height:60px}
.brand img{display:block;width:156px;height:auto;max-height:70px;object-fit:contain}
.header-tagline{margin:0;color:#51676c;font-size:1.125rem;letter-spacing:.01em;font-weight:400}
.site-nav{grid-column:1/-1;margin-top:16px;border-top:1px solid #e0e7e6;width:100%}
.menu{gap:29px;min-height:54px;align-items:center}
.menu a{font-size:.9375rem;padding:16px 0;font-weight:500}
.menu>li>a[aria-current=page]{box-shadow:inset 0 -3px var(--orange)}
.menu .sub-menu{right:auto;left:0;z-index:25}
.menu .sub-menu a{padding:9px 0}
.hero{padding-top:0}
.single-header-photo{height:215px;overflow:hidden;position:relative;border-radius:0 0 20px 20px;background:#252b28}
.single-header-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 37%}
.hero-copy{background:#eef4f3;border:1px solid #e0e8e5;border-radius:20px;margin-top:24px;padding:30px 34px}
.hero-copy h1{font-size:clamp(2rem,3.4vw,2.8rem);margin-bottom:16px;font-weight:500;line-height:1.16}
.hero-copy p{font-size:1.0625rem;line-height:1.7}
.hero-copy .btn{font-size:.9375rem;padding:13px 20px}
.content{padding-top:24px}
.panel{padding:30px 34px;border:1px solid #dce7e6;box-shadow:none;border-radius:20px;background:#eaf2f3}
.panel:nth-child(3n+2){background:#f3eddf;border-color:#e8e0d2}
.panel:nth-child(3n){background:#eaf0e5;border-color:#dfe6d9}
.panel h2{font-size:clamp(1.7rem,2.3vw,2.1rem);line-height:1.2}
.home-grid .panel{padding:28px 30px;border:1px solid #dce7e6}
.home-grid .panel h3{font-size:1.8rem;line-height:1.2;margin-bottom:16px}
.home-grid .panel:nth-child(2){background:#f3eddf;border-color:#e8e0d2}
.home-grid .panel:nth-child(3){background:#eaf0e5;border-color:#dfe6d9}
.home-grid .panel:nth-child(4){background:#eaf2f3}
.btn,.su-button,.gw-go-btn{border-radius:9px;font-size:1rem;font-weight:500}
.panel.provider{background:#eef4f3!important;padding:30px 34px!important;border:1px solid #dce7e6}
.booking-card,.provider .booking-card{background:#fffdf8;border-color:#e5e3d8;border-radius:16px;padding:24px;gap:24px}
.booking-brand{border-radius:12px;min-height:104px}
.booking-badge{font-size:.875rem!important}
.footer{padding-top:28px;background:#e9efed}
.footer-grid>.footer-panel,.footer-grid>.footer-panel:last-child{border:1px solid #e3ddd0;border-radius:18px;background:#f3eddf;padding:26px}
.footer-grid>.footer-panel:nth-child(2){background:#eaf0e5;border-color:#dfe6d9}
.footer-grid>.footer-panel:nth-child(3){background:#eaf2f3;border-color:#dce7e6}
.booking-sticky{font-size:.9375rem;border-radius:10px;box-shadow:0 4px 18px #123d491f}
@media(min-width:1100px){.hero-copy{padding-right:290px}.hero-copy .btn{right:34px;bottom:32px}}
@media(max-width:900px){.header-inner{display:grid;grid-template-columns:1fr auto;gap:0 18px;min-height:90px;padding:15px 0}.brand img{width:140px;max-height:60px}.header-tagline{display:none}.menu-toggle{grid-column:2;grid-row:1}.site-nav{margin-top:12px}.site-nav:not(.open){display:none}.site-nav.open{display:block}.menu{display:block;min-height:0;padding:10px 0}.menu a{padding:9px 0}.menu>li>a[aria-current=page]{box-shadow:none}.single-header-photo{height:190px}.hero-copy{padding:27px 30px}.panel{padding:28px 30px}}
@media(max-width:600px){.header-inner{min-height:83px}.brand img{width:126px}.single-header-photo{height:165px;border-radius:0 0 16px 16px}.single-header-photo img{object-position:50% 37%}.hero-copy{margin-top:18px;padding:24px 23px;border-radius:18px}.hero-copy h1{font-size:2rem}.hero-copy p{font-size:1rem}.content{padding-top:18px}.panel,.home-grid .panel,.panel.provider{padding:24px 23px!important;border-radius:18px}.home-grid .panel h3{font-size:1.7rem}.menu-toggle{padding:8px 15px}.booking-brand{min-height:88px}.footer-grid>.footer-panel,.footer-grid>.footer-panel:last-child{padding:24px}}

.contact-grid .notice{color:#b42318;background:#fce9e5;border-color:#e4b9af}
.contact-grid .notice h2,.contact-grid .notice strong{color:#b42318}
.contact-grid .notice .room-notice{font-weight:500}
.about-introduction{display:flow-root}
.panel>img.michel-portrait{float:right;width:128px;height:128px;max-width:128px;border-radius:50%;object-fit:cover;margin:0 0 18px 28px;border:4px solid #fff;box-shadow:0 3px 14px #17363e16}
@media(max-width:600px){.panel>img.michel-portrait{float:none;width:112px;height:112px;max-width:112px;margin:0 0 20px;border-radius:50%}}

.footer-copyright{margin-left:auto;color:#51676c;font-size:.9375rem}@media(max-width:600px){.footer-copyright{margin-left:0;flex-basis:100%;margin-top:2px}}

/* Leesbaarder menu en afgeronde foto's op Carihuela. */
.site-header .menu a{font-size:1.125rem}
.site-header .menu .sub-menu a{font-size:1.0625rem}
.carihuela-content img{border-radius:18px!important}
.webcam-link-panel .webcam-button{display:inline-flex;align-items:center;gap:12px;margin:8px 0 24px;padding:14px 24px;max-width:100%;box-sizing:border-box;white-space:normal;text-align:left}
.webcam-button svg{width:24px;height:24px;flex:0 0 24px}
@media(max-width:700px){.site-header .menu a,.site-header .menu .sub-menu a{font-size:1.0625rem}.carihuela-content img{border-radius:14px!important}}

/* Logo op een gebalanceerde tussenmaat. */
.site-header .header-inner{grid-template-columns:minmax(0,1fr) auto;padding-top:14px}
.site-header .brand{position:relative;display:block;width:285px;max-width:100%;height:72px;min-height:0;overflow:hidden}
.site-header .brand img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:125%;max-width:none;height:auto;max-height:none;object-fit:contain}
.site-header .header-tagline{display:block}
@media(max-width:900px){.site-header .brand{width:265px;height:68px}.site-header .header-tagline{display:none}}
@media(max-width:600px){.site-header .header-inner{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.site-header .brand{width:235px;height:61px}.site-header .menu-toggle{grid-column:2;grid-row:1;padding:8px 12px}.site-header .site-nav{grid-column:1/-1}}

/* Lichtgroene achtergrond voor het uitgeklapte mobiele menu. */
@media(max-width:900px){.site-header .site-nav.open{background:#e4f2e7;border:1px solid #cce3d2;border-radius:14px;padding:6px 20px 10px}.site-header .site-nav.open .menu .sub-menu{background:transparent}}

/* Onderste footerregel blijft ook op mobiel naast elkaar staan. */
@media(max-width:600px){.footer .footer-bottom{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;font-size:1rem}.footer .footer-bottom>a{flex:0 0 auto;white-space:nowrap;font-size:1rem}.footer .footer-bottom .footer-copyright{margin-left:auto;white-space:nowrap;flex:0 0 auto;font-size:clamp(.625rem,2.8vw,.8125rem)}}
