@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Bree+Serif&family=Caveat:wght@600;700&display=swap');

:root{--cream:#fffaf4;--paper:#fffdf9;--pink:#fff0f1;--rose:#ed2554;--rose-dark:#ce1643;--navy:#092c4b;--gold:#f4aa18;--muted:#64717d;--line:#f1ded9;--shadow:0 10px 30px rgba(37,42,50,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--cream);font-size:16px;line-height:1.55}.display-font,h1,h2,h3,.display-font{font-family:'Domine',serif;font-weight:700;letter-spacing:-.035em}.hand{font-family:'Caveat',cursive}.navbar{background:rgba(255,253,249,.98);border-bottom:1px solid rgba(9,44,75,.06);min-height:82px}.brand-logo{width:205px;height:48px;object-fit:cover;object-position:left top}.navbar .nav-link{font-size:.93rem;font-weight:700;color:var(--navy)!important;padding:.75rem 1rem!important}.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--rose)!important}.btn-brand{background:var(--rose);border-color:var(--rose);color:#fff;border-radius:14px;font-weight:800;padding:.82rem 1.35rem;box-shadow:0 8px 18px rgba(237,37,84,.18)}.btn-brand:hover{background:var(--rose-dark);border-color:var(--rose-dark);color:#fff;transform:translateY(-1px)}.btn-outline-brand{border:2px solid var(--rose);color:var(--rose);border-radius:14px;font-weight:800;padding:.74rem 1.3rem}.btn-outline-brand:hover{background:var(--rose);color:white}.eyebrow{color:var(--rose);font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.hero{background:linear-gradient(90deg,#fff5f3 0%,#fff6f4 53%,transparent 53%);overflow:hidden}.hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.04}.hero-copy{padding:5.5rem 2rem 5rem 0}.hero-media{height:570px}.hero-media img{width:100%;height:100%;object-fit:cover}.trust-strip{background:#fff7f5;border-bottom:1px solid var(--line)}.trust-item{font-size:.87rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.icon-circle,.step-no{display:grid;place-items:center;border-radius:50%;flex:0 0 auto}.icon-circle{width:44px;height:44px;color:var(--rose);background:#fff0ed}.section{padding:5.5rem 0}.section-soft{background:var(--pink)}.section-title{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.08}.card-soft{border:1px solid rgba(9,44,75,.08);background:var(--paper);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.product-card img{width:100%;height:210px;object-fit:cover}.product-card .card-body{padding:1.55rem}.check-list{list-style:none;padding:0;margin:1rem 0}.check-list li{margin:.52rem 0;color:#435363}.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;margin-right:.55rem;background:var(--gold);color:white;font-size:.75rem;font-weight:900}.price{font-weight:800}.price strong{font-size:1.35rem;color:var(--rose)}.choice-card{padding:0}.choice-card img{height:285px;width:100%;object-fit:cover}.choice-card .copy{padding:2rem}.step-no{width:42px;height:42px;background:var(--rose);color:white;font-weight:900}.testimonial{padding:1.4rem}.stars{color:var(--gold);letter-spacing:.12em}.faq .accordion-item{border:1px solid var(--line);border-radius:12px!important;margin-bottom:.65rem;overflow:hidden}.faq .accordion-button{font-weight:700;color:var(--navy);background:white;box-shadow:none}.cta-band{background:linear-gradient(90deg,#ffeceb,#fff5ef);border-radius:20px;padding:2.2rem}.site-footer{background:#082d4c;color:#fff;padding:4.5rem 0 1.5rem}.site-footer a{color:#d9e3ea;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer .brand-logo{filter:brightness(0) invert(1)}.footer-title{font-weight:800;margin-bottom:1rem}.hero-small{background:#fff3f0}.hero-small h1{font-size:clamp(2.45rem,4vw,4rem);line-height:1.06}.hero-small .visual{min-height:390px;background-size:cover;background-position:center}.breadcrumb{font-size:.88rem}.gallery-main{height:545px;border-radius:18px;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover}.thumb{height:88px;border-radius:12px;overflow:hidden;border:2px solid transparent}.thumb.active{border-color:var(--rose)}.thumb img{width:100%;height:100%;object-fit:cover}.booking-card{background:var(--pink);border:1px solid #f4dfe0;border-radius:20px;padding:2rem;position:sticky;top:105px}.booking-card .form-control,.booking-card .form-select,.contact-form .form-control,.contact-form .form-select{min-height:52px;border-radius:10px;border-color:#dccfd0}.option-toggle{background:white;border:1px solid #e5d4d6;border-radius:12px;padding:1rem;cursor:pointer}.option-toggle.active{border:2px solid var(--rose)}.spec-table td{padding:.7rem;border-bottom:1px solid #e6dedd}.contact-card{background:#feecec;border-radius:18px;padding:2rem;height:100%}.contact-row{display:flex;gap:1rem;margin-bottom:1.35rem}.contact-form{background:white;border-radius:18px;padding:2rem;box-shadow:var(--shadow)}.chip{display:inline-flex;border:1px solid #d8dfe3;border-radius:10px;padding:.65rem .9rem;margin:.2rem;font-weight:700;background:white}.chip:hover,.chip.active{border-color:var(--rose);color:var(--rose);background:#fff6f7}.service-card{padding:1.5rem;height:100%}.map-box{min-height:335px;background:linear-gradient(140deg,#eef8fb,#dceef2);border-radius:18px;position:relative;overflow:hidden}.map-box:before{content:'';position:absolute;inset:0;background-image:linear-gradient(30deg,transparent 45%,rgba(255,255,255,.65) 46%,transparent 48%),linear-gradient(-35deg,transparent 50%,rgba(255,255,255,.8) 51%,transparent 53%);background-size:110px 90px}.map-pin{position:absolute;left:47%;top:43%;width:78px;height:78px;border-radius:50% 50% 50% 0;background:var(--rose);transform:rotate(-45deg);display:grid;place-items:center;color:white}.map-pin span{transform:rotate(45deg);font-weight:800}
@media(max-width:991.98px){.navbar{min-height:70px}.hero{background:#fff5f3}.hero-copy{padding:3.5rem 0}.hero-media{height:400px}.section{padding:4rem 0}.gallery-main{height:410px}.booking-card{position:static}.brand-logo{width:170px;height:40px}.hero-small .visual{min-height:320px}}
@media(max-width:575.98px){body{font-size:15px}.hero h1{font-size:2.55rem}.hero-media{height:330px}.product-card img{height:190px}.section{padding:3.3rem 0}.cta-band{text-align:center}.gallery-main{height:320px}}

/* Pixel-detail refinements from the approved mockups */
.display-font,h1,h2,h3{font-family:'Bree Serif',serif;font-weight:400;letter-spacing:-.02em}
.brand-logo{width:205px;height:58px;object-fit:contain;object-position:left center}
.site-footer .brand-logo{width:235px;height:66px;filter:brightness(0) invert(1)}
.tiny-title{font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;color:var(--rose);font-weight:800}
.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.guest-box{background:#fff;border-radius:14px;padding:1.2rem .7rem;text-align:center;border:1px solid rgba(9,44,75,.05)}
.guest-box i{font-size:1.6rem;color:var(--rose)}.guest-box strong{display:block;margin-top:.45rem}
.related-card{display:flex;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);height:100%}
.related-card img{width:46%;object-fit:cover}.related-card .copy{padding:1.25rem}
.socials{display:flex;gap:.75rem}.socials a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%}
.scribble{font-family:'Caveat',cursive;color:var(--rose);font-size:1.55rem;transform:rotate(-4deg)}
.service-mini{display:grid;grid-template-columns:112px 1fr;min-height:160px}
.service-mini img{width:112px;height:100%;object-fit:cover}.service-mini .copy{padding:1.25rem}
.contact-feature{font-weight:800;display:flex;align-items:center;gap:.7rem}.contact-feature i{font-size:1.6rem;color:var(--rose)}
.faq-contact-link{font-weight:700;color:var(--rose);text-decoration:none}
.testimonial-media{display:grid;grid-template-columns:105px 1fr;gap:1rem;align-items:stretch}.testimonial-media img{width:105px;height:100%;min-height:145px;object-fit:cover;border-radius:12px}.testimonial-media .testimonial{box-shadow:none;border:0;padding:.25rem 0}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-bottom a{margin-left:1.25rem}.footer-note{font-family:'Caveat',cursive;font-size:1.45rem;transform:rotate(-3deg)}
@media(max-width:991.98px){.brand-logo{width:180px;height:52px}.details-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){.details-grid{grid-template-columns:1fr 1fr}.service-mini{grid-template-columns:90px 1fr}.service-mini img{width:90px}}

/* Homepage fidelity corrections */
.hero-media{position:relative;isolation:isolate}
.hero-media:after{content:"";position:absolute;z-index:2;left:-1px;top:0;bottom:0;width:185px;background:linear-gradient(90deg,#fff5f3 0%,rgba(255,245,243,.97) 20%,rgba(255,245,243,.68) 55%,rgba(255,245,243,0) 100%);pointer-events:none}
.trust-strip{background:#fff;border:0;padding:18px 0!important}
.trust-strip .row{background:linear-gradient(90deg,#fff0f1,#fff5f0);border-radius:32px;padding:13px 22px;margin:0;box-shadow:0 5px 18px rgba(70,36,40,.035)}
.trust-strip .icon-circle{background:transparent;width:34px;height:34px;font-size:1.45rem}
.title-arc{position:relative;display:inline-block;padding-bottom:18px}
.title-arc:after{content:"";position:absolute;left:50%;bottom:0;width:68px;height:13px;transform:translateX(-50%);border-top:5px solid var(--gold);border-radius:50%}
.choice-card .row>div:first-child{display:flex;align-self:stretch}
.choice-card img{height:100%;min-height:300px;align-self:stretch}
.process-wrap{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr 135px;gap:10px;align-items:center;position:relative}
.process-item{display:grid;grid-template-columns:32px 72px 1fr;align-items:center;gap:12px;min-width:0}
.step-badge{width:32px;height:32px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font-weight:800;align-self:start;margin-top:20px}
.process-icon{width:72px;height:72px;border-radius:50%;background:#fff1ec;color:var(--rose);font-size:2rem;display:grid;place-items:center}
.process-copy h3{margin-bottom:.25rem}.process-copy p{font-size:.88rem;margin:0;color:#52616c}
.process-divider{text-align:center;color:#e6c7c2;font-size:1.3rem}
.process-note{font-size:1.75rem;line-height:1.05;text-align:center;transform:rotate(-5deg);color:var(--navy)}.process-note span{color:var(--gold)}
.questions-section{padding:32px 0 24px;background:#fff}
.question-strip{background:linear-gradient(90deg,#fff8ed 0%,#fff4ed 52%,#fff7ef 100%);border:1px solid #f6e7d8;border-radius:16px;min-height:116px;padding:20px 28px;display:grid;grid-template-columns:60px 190px 1fr 55px auto;gap:20px;align-items:center}
.question-icon{width:54px;height:54px;border:4px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.7rem}
.question-heading h2{font-size:1.9rem}.question-copy{font-size:.92rem;color:#53616c}.question-spark{color:var(--gold);font-family:'Caveat',cursive;font-size:3rem;transform:rotate(-20deg)}
.site-footer{padding-top:38px}.site-footer .row{--bs-gutter-x:3rem}.site-footer .footer-contact-col{border-left:1px solid rgba(255,255,255,.17);border-right:1px solid rgba(255,255,255,.17);padding-left:2.2rem}.site-footer .footer-reasons-col{padding-left:2.2rem}.site-footer .check-list{margin-top:.45rem}.site-footer .check-list li{color:#fff;margin:.35rem 0}.site-footer .check-list li:before{width:18px;height:18px}.site-footer .socials{margin-top:1.25rem}.site-footer .socials a{color:#fff}.site-footer .footer-title{font-family:'Bree Serif',serif;font-size:1.05rem}.site-footer p,.site-footer a{font-size:.9rem}.footer-bottom{border-top:0;margin-top:0}
@media(max-width:1199.98px){.process-wrap{grid-template-columns:1fr 28px 1fr 28px 1fr}.process-note{display:none}.process-item{grid-template-columns:30px 60px 1fr}.process-icon{width:60px;height:60px}.question-strip{grid-template-columns:55px 170px 1fr auto}.question-spark{display:none}}
@media(max-width:991.98px){.hero-media:after{display:none}.trust-strip .row{border-radius:20px}.choice-card img{min-height:270px}.process-wrap{grid-template-columns:1fr;gap:20px}.process-item{grid-template-columns:34px 66px 1fr}.process-divider{display:none}.question-strip{grid-template-columns:60px 1fr auto}.question-copy{grid-column:2/4}.question-strip .btn{grid-column:2/4;justify-self:start}.site-footer .footer-contact-col{border:0;padding-left:calc(var(--bs-gutter-x)*.5)}.site-footer .footer-reasons-col{padding-left:calc(var(--bs-gutter-x)*.5)}}
@media(max-width:575.98px){.trust-strip .row{padding:12px 8px}.trust-item{font-size:.78rem}.question-strip{grid-template-columns:52px 1fr;padding:20px}.question-copy,.question-strip .btn{grid-column:1/3}.question-strip .btn{width:100%}.process-item{grid-template-columns:30px 58px 1fr}.process-icon{width:58px;height:58px}.choice-card img{min-height:240px}}

/* Shared refinements across homepage and subpages */
.hero{background:linear-gradient(90deg,#fbdfe0 0%,#fce6e5 53%,transparent 53%)}
.hero-media:after{width:220px;background:linear-gradient(90deg,#fce6e5 0%,rgba(252,230,229,.98) 20%,rgba(252,230,229,.74) 55%,rgba(252,230,229,0) 100%)}
.hero-small{background:#fce6e5}
.trust-strip{background:#fff!important;padding:10px 0!important}
.trust-strip .row{background:#f8d9dc!important;border-radius:28px;padding:7px 18px}
.trust-strip .icon-circle{width:46px;height:46px;font-size:1.8rem;color:var(--rose);background:rgba(255,255,255,.38)}
.trust-strip .trust-item{font-size:.9rem;line-height:1.25}
.product-media-link{display:block;overflow:hidden}.product-media-link img{transition:transform .25s ease}.product-media-link:hover img{transform:scale(1.025)}
.product-title-link{color:var(--navy);text-decoration:none}.product-title-link:hover{color:var(--rose)}
.rental-panel{background:#fff;border:1px solid #efdfe0;border-radius:16px;padding:1.2rem;margin-top:1rem}
.rental-panel-title{font-family:'Bree Serif',serif;font-size:1.28rem;margin-bottom:.25rem}
.rental-help{font-size:.84rem;color:#5d6870;margin-bottom:1rem}
.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;background:#fff8f5;border:1px solid #f1dfdc;border-radius:13px;padding:10px;margin-bottom:12px}
.date-grid .day-name{font-size:.67rem;text-transform:uppercase;text-align:center;color:#7d858b;font-weight:800;padding:4px 0}
.date-grid button{border:0;background:transparent;border-radius:8px;min-height:31px;color:var(--navy);font-weight:700;font-size:.8rem}.date-grid button:hover,.date-grid button.selected{background:var(--rose);color:#fff}.date-grid button.muted{color:#bac0c4}
.rental-dates{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rental-dates .form-control{min-height:44px;font-size:.85rem}
.price-rule{font-size:.82rem;background:#fff6eb;border-radius:10px;padding:.7rem .8rem;margin:.8rem 0}
.deposit-note{display:flex;gap:.65rem;background:#f7f8fa;border-radius:10px;padding:.8rem;font-size:.8rem;line-height:1.35}.deposit-note i{color:var(--rose);font-size:1.15rem}
.addon-row{display:grid;grid-template-columns:22px 1fr auto;gap:.65rem;align-items:start;padding:.9rem 0;border-bottom:1px solid #eddfe0}.addon-row input{width:18px;height:18px;margin-top:.15rem;accent-color:var(--rose)}.addon-row label{font-weight:800;font-size:.88rem}.addon-row small{display:block;color:#69747c;font-weight:400}.addon-price{font-weight:800;color:var(--rose);font-size:.86rem}.addon-info{border:0;background:transparent;color:var(--rose);font:inherit;font-weight:800;padding:0;text-decoration:underline;text-underline-offset:2px}.addon-info:hover{color:var(--rose-dark)}.duration-panel{background:#fff8f5;border:1px solid #eddfe0;border-radius:12px;padding:1rem;margin:.75rem 0}.duration-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duration-options label{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border:1px solid #e5d4d6;border-radius:10px;padding:.65rem .35rem;cursor:pointer;font-size:.84rem}.duration-options label:has(input:checked){border:2px solid var(--rose);background:#fff6f7}.duration-options input{accent-color:var(--rose)}.duration-options span{color:var(--rose);font-weight:800}.booking-total{display:flex;justify-content:space-between;align-items:end;padding:1rem 0 .75rem}.booking-total strong{font-size:1.45rem;color:var(--rose)}.booking-status{font-size:.82rem;color:#68737b;background:#fff7f2;border-radius:9px;padding:.7rem;margin-top:.7rem}.booking-status.ready{color:#287a4a;background:#edf9f1}.checkout-note{text-align:center;font-size:.72rem;color:#717b82;margin:.65rem 0 0}
.shared-footer .footer-brand-col{padding-right:2rem}.shared-footer .footer-contact-col{border-left:1px solid rgba(255,255,255,.17);border-right:1px solid rgba(255,255,255,.17);padding-left:2.2rem}.shared-footer .footer-reasons-col{padding-left:2.2rem}
@media(max-width:991.98px){.hero{background:#fce6e5}.hero-media:after{display:none}.trust-strip .row{border-radius:22px}.shared-footer .footer-contact-col{border:0;padding-left:calc(var(--bs-gutter-x)*.5)}.shared-footer .footer-reasons-col{padding-left:calc(var(--bs-gutter-x)*.5)}}
@media(max-width:575.98px){.trust-strip{padding:7px 0!important}.trust-strip .row{border-radius:18px;padding:6px 8px}.trust-strip .icon-circle{width:40px;height:40px;font-size:1.5rem}.rental-dates{grid-template-columns:1fr}.date-grid{gap:3px}.date-grid button{min-height:29px;font-size:.72rem}.duration-options{gap:5px}.duration-options label{padding:.55rem .2rem}}

/* Layout repairs */
.hero>.container-fluid,.hero>.container-fluid>.row{height:100%}
.hero>.container-fluid>.row{min-height:570px}
.hero>.container-fluid>.row>.col-lg-6{display:flex;align-items:stretch}
.hero-copy{width:100%;align-self:center}
.hero-media{height:auto!important;min-height:570px;overflow:hidden}
.hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trust-strip .row{min-height:72px;align-items:stretch!important}
.trust-strip .trust-item{height:auto;align-self:stretch;display:flex;align-items:center!important;margin-top:0!important;padding-top:2px;padding-bottom:2px}
.trust-strip .icon-circle{align-self:center}
.product-story-row{min-height:420px;align-items:stretch!important}
.product-story-row>div{display:flex;align-items:stretch}
.product-story-photo{display:block;width:100%!important;height:100%!important;min-height:420px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.product-story-copy{display:flex;flex-direction:column;justify-content:center;width:100%;padding:1.25rem 0}
.product-lower-grid{align-items:stretch}
.product-lower-grid>div{display:flex}
.product-lower-card{width:100%;height:100%;padding:1.8rem;background:var(--pink)}
.related-panel{width:100%;height:100%;padding:1.8rem}.related-panel .row{height:calc(100% - 44px)}.related-panel .related-card{min-height:190px}
@media(max-width:991.98px){.hero>.container-fluid>.row{min-height:0}.hero>.container-fluid>.row>.col-lg-6{display:block}.hero-media{height:400px!important;min-height:400px}.hero-media>img{position:absolute}.product-story-row{min-height:0}.product-story-photo{min-height:360px}.product-story-copy{padding:1rem 0}.related-panel .row{height:auto}}
@media(max-width:575.98px){.hero-media{height:330px!important;min-height:330px}.trust-strip .row{min-height:0}.product-story-photo{min-height:300px}.product-lower-card,.related-panel{padding:1.25rem}}

/* Compact testimonials and ingredient details */
.testimonial-card{padding:1.65rem;display:flex}.testimonial-card .testimonial{padding:0;display:flex;flex-direction:column;width:100%}.testimonial-card .testimonial .text-muted{margin-top:auto;padding-top:1rem}
.ingredient-modal{border:0;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(9,44,75,.22)}.ingredient-modal .modal-header{padding:1.5rem 1.5rem 1rem}.ingredient-modal-photo{display:block;width:100%;height:220px;object-fit:cover}.ingredient-modal .modal-body,.ingredient-modal .modal-footer{padding-left:1.5rem;padding-right:1.5rem}.ingredient-list{columns:2;column-gap:1.5rem}.ingredient-list li{break-inside:avoid}
@media(max-width:575.98px){.testimonial-card{padding:1.25rem}.ingredient-modal-photo{height:185px}.ingredient-list{columns:1}}

/* Contact hero, breadcrumbs, interactive calendar and SEO pages */
.contact-hero-split .visual{position:relative;isolation:isolate}.contact-hero-split .visual:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:210px;background:linear-gradient(90deg,#fce6e5 0%,rgba(252,230,229,.95) 22%,rgba(252,230,229,.62) 58%,rgba(252,230,229,0) 100%);pointer-events:none}
.breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.15rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;box-shadow:0 5px 16px rgba(37,42,50,.05);font-size:.88rem}.breadcrumb a{color:var(--navy);font-weight:700;text-decoration:none}.breadcrumb a:hover{color:var(--rose)}.breadcrumb-item.active{color:var(--rose);font-weight:700}.breadcrumb-item+.breadcrumb-item:before{color:#d0aaa9;content:'›';font-size:1.05rem;padding:0 .55rem}
.booking-calendar{background:#fff8f5;border:1px solid #f1dfdc;border-radius:13px;padding:10px;margin-bottom:12px}.calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:8px}.calendar-head strong{text-align:center;font-family:'Bree Serif',serif;font-size:1.08rem}.calendar-nav{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ecd8d5;border-radius:10px;background:#fff;color:var(--navy)}.calendar-nav:hover{border-color:var(--rose);color:var(--rose)}.booking-calendar .date-grid{margin:0;padding:0;border:0;background:transparent}.date-grid button.in-range{background:#f9b9c6;color:var(--navy);border-radius:0}.date-grid button.range-start,.date-grid button.range-end{background:var(--rose);color:#fff;border-radius:8px}.date-grid button.past{color:#c8c8c8;pointer-events:none}.calendar-selection{font-size:.8rem;color:#65717a;margin:.65rem 0 0;text-align:center}
.footer-seo-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1.2rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.16)}.footer-seo-nav strong{font-family:'Bree Serif',serif}.footer-seo-nav a{font-size:.84rem!important}
.seo-hero{background:linear-gradient(105deg,#fce6e5 0%,#fff7f0 100%);padding:5rem 0 4.5rem}.seo-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.04}.seo-content{max-width:820px}.seo-content h2{margin-top:2.5rem;font-size:2rem}.seo-aside{position:sticky;top:105px}.seo-link-card{display:block;color:var(--navy);text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--line);font-weight:800}.seo-link-card:hover{color:var(--rose)}
@media(max-width:991.98px){.contact-hero-split .visual:before{inset:0 0 auto 0;width:auto;height:130px;background:linear-gradient(180deg,#fce6e5 0%,rgba(252,230,229,.78) 42%,rgba(252,230,229,0) 100%)}.seo-aside{position:static}}
@media(max-width:575.98px){.breadcrumb{border-radius:16px;padding:.45rem .75rem}.calendar-head{grid-template-columns:34px 1fr 34px}.footer-seo-nav{align-items:flex-start;flex-direction:column}.seo-hero{padding:3.5rem 0}}
.product-detail .rental-dates{display:none!important}

/* WordPress + WooCommerce uitbreiding */
.navbar-nav .menu-item>a{display:block;padding:.65rem .8rem;color:var(--ink);font-weight:700;text-decoration:none}.current-menu-item>a{color:var(--brand)!important}.hero-copy{max-width:660px}.site-footer{background:#3b2030;color:#fff;padding:70px 0 20px}.site-footer a{color:#fff;text-decoration:none}.footer-logo{width:190px;margin-bottom:20px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.55rem 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:45px;padding-top:20px}.content-card{background:#fff;border-radius:24px;padding:32px;box-shadow:0 14px 45px rgba(80,35,54,.09)}.narrow{max-width:850px}.ffe-breadcrumb{display:flex;gap:9px;align-items:center;padding-top:22px;font-size:.9rem}.ffe-breadcrumb a{color:var(--brand);text-decoration:none}.product-main{background:#fffaf8}.product-gallery{overflow:hidden}.product-gallery img{aspect-ratio:4/3;object-fit:cover}.ffe-rental-form{margin-top:25px}.ffe-rental-form fieldset{border:0;padding:0;margin:0 0 22px}.ffe-rental-form legend{font-size:1.05rem;font-weight:800;margin-bottom:12px}.choice-radio{display:flex;border:2px solid #f0d9df;border-radius:14px;padding:13px;margin:9px 0;cursor:pointer}.choice-radio input{margin:.35rem .75rem 0 0}.choice-radio span,.choice-radio small{display:block}.staffed-options,.ingredients-option{margin:18px 0}.ffe-calendar{border:1px solid #ead8dc;border-radius:18px;padding:15px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-head button{border:0;background:#f9dce5;width:36px;height:36px;border-radius:50%;font-size:1.4rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-grid b{font-size:.75rem;text-transform:uppercase}.calendar-grid button{border:0;background:#fff2f5;border-radius:9px;aspect-ratio:1}.calendar-grid button:hover:not(:disabled),.calendar-grid button.selected{background:#e74d78;color:#fff}.calendar-grid button:disabled{opacity:.27;text-decoration:line-through}.calendar-help{font-size:.85rem;margin:10px 0 0}.info-link{border:0;background:none;color:var(--brand);text-decoration:underline}.ffe-total{background:#fff0d0;border-radius:15px;padding:15px;margin:20px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ffe-total strong{font-size:1.35rem;margin-left:auto}.ffe-total small{flex-basis:100%}.ffe-dialog{border:0;border-radius:22px;padding:32px;max-width:520px;box-shadow:0 20px 70px rgba(0,0,0,.3)}.ffe-dialog::backdrop{background:rgba(45,21,35,.6)}.ffe-dialog>[data-close]{float:right;border:0;background:none;font-size:2rem}.ffe-dialog img{max-width:100%;height:auto;border-radius:14px;margin:10px 0}.woocommerce-message,.woocommerce-info{border-top-color:#e74d78}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:#e74d78;color:#fff;border-radius:999px}.accordion-item{border:0!important;border-radius:15px!important;overflow:hidden;margin-bottom:10px}.accordion-button:not(.collapsed){background:#fde8ee;color:#3b2030}
@media(max-width:991px){.navbar-nav{padding:18px 0}.hero-copy{max-width:none}.site-footer{padding-top:50px}}

/* Definitieve WordPress fidelity */
.navbar-nav .menu-item>a{color:var(--navy)}.current-menu-item>a,.current-menu-ancestor>a{color:var(--rose)!important}.site-footer{background:#082d4c;color:#fff;padding:38px 0 24px}.site-footer .brand-logo{filter:brightness(0) invert(1)}.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border:0;margin-top:0;padding-top:0}.site-footer .footer-bottom span:last-child{display:flex;gap:18px}.site-footer a{color:#d9e3ea}.site-footer a:hover{color:#fff}.socials{display:flex;gap:12px}.socials a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:50%}.ffe-breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;margin-bottom:1.25rem;box-shadow:0 5px 16px rgba(37,42,50,.05)}.ffe-breadcrumb a{color:var(--navy);font-weight:700}.ffe-breadcrumb span{color:var(--rose);font-weight:700}.gallery-main img{width:100%;height:100%;object-fit:cover}.thumb{display:block;width:100%;padding:0;background:#fff;cursor:pointer}.thumb img{pointer-events:none}.booking-card .ffe-rental-form{margin-top:0}.ffe-calendar{border:0;border-radius:13px;padding:10px}.calendar-grid{border:0!important;padding:0!important;background:transparent!important}.calendar-grid button{aspect-ratio:auto;background:transparent}.ffe-total{background:transparent;border-radius:0;padding:1rem 0 .75rem;margin:0}.ffe-total strong{margin-left:auto}.single_add_to_cart_button:disabled{opacity:.55;cursor:not-allowed}.contact-hero-copy{max-width:600px}.contact-card a{color:var(--navy);text-decoration:none}.service-mini img{width:100%;height:180px;object-fit:cover}.service-mini .copy{padding:1.25rem}.rounded-hero-image{width:100%;height:430px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.machines-hero{padding:4.5rem 0}.whatsapp-float{position:fixed;z-index:999;right:24px;bottom:24px;display:flex;align-items:center;gap:9px;background:#25d366;color:#fff!important;text-decoration:none;border-radius:999px;padding:13px 18px;font-weight:800;box-shadow:0 12px 35px rgba(0,0,0,.22)}.whatsapp-float i{font-size:1.4rem}
.woo-page,.woocommerce-cart .page-content,.woocommerce-checkout .page-content{background:#fffaf4}.woocommerce-cart .page-content,.woocommerce-checkout .page-content{max-width:1180px;margin:auto}.woo-intro{margin-bottom:30px}.woo-intro h1{font-size:clamp(2.3rem,4vw,3.7rem)}.woocommerce table.shop_table{border:0;border-collapse:separate;border-spacing:0 10px}.woocommerce table.shop_table thead th{border:0;color:#67737d;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.woocommerce table.shop_table tbody tr{background:#fff}.woocommerce table.shop_table td{border-top:0;padding:18px}.woocommerce table.shop_table tr td:first-child{border-radius:16px 0 0 16px}.woocommerce table.shop_table tr td:last-child{border-radius:0 16px 16px 0}.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-checkout .col2-set>div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.cart_totals{width:100%!important}.woocommerce .cart-collaterals{display:grid;grid-template-columns:1fr 420px;gap:30px}.woocommerce .cart-collaterals:before,.woocommerce .cart-collaterals:after{display:none}.woocommerce .cart-collaterals .cross-sells{width:auto}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{min-height:50px;border:1px solid #dccfd0;border-radius:10px;padding:10px 12px}.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:25px;width:100%}.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%}.woocommerce-checkout-review-order-table{background:#fff;border-radius:18px!important}.woocommerce-checkout #payment{background:#fff0f1;border-radius:18px}.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.wc-block-components-button{background:var(--rose)!important;color:#fff!important;border:0!important;border-radius:14px!important;font-weight:800!important;padding:14px 20px!important}.woocommerce-error,.woocommerce-info,.woocommerce-message{background:#fff;border-radius:13px;border-top:0;border-left:5px solid var(--rose);box-shadow:var(--shadow)}
@media(max-width:991.98px){.woocommerce .cart-collaterals,.woocommerce-checkout .col2-set{grid-template-columns:1fr}.contact-hero-copy{max-width:none}.rounded-hero-image{height:330px}.whatsapp-float span{display:none}.whatsapp-float{width:56px;height:56px;padding:0;justify-content:center;border-radius:50%;right:16px;bottom:16px}}
.contact-form .wpcf7-form label{display:block;font-weight:800;width:100%}.contact-form .wpcf7-form-control-wrap{display:block;margin-top:6px}.contact-form .wpcf7-list-item{margin:.35rem .8rem .35rem 0}.contact-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d8dfe3;border-radius:10px;padding:.6rem .8rem;width:auto}.contact-form textarea.form-control{min-height:145px}.wpcf7-spinner{vertical-align:middle}.contact-form .wpcf7-response-output{border-radius:10px;margin:1rem 0 0!important;padding:.7rem 1rem!important}
.nav-cart{position:relative;display:grid;place-items:center;width:44px;height:44px;margin-left:10px;color:var(--navy);font-size:1.25rem;text-decoration:none}.nav-cart span{position:absolute;right:0;top:0;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;background:var(--rose);color:#fff;border-radius:10px;font-size:.68rem;font-weight:800}
.product-card h2 a,.product-card h3 a,.seo-hero~main .product-card a:not(.btn){color:var(--navy);text-decoration:none}.product-card h2 a:hover,.product-card h3 a:hover,.seo-hero~main .product-card a:not(.btn):hover{color:var(--rose)}
.single-product .woocommerce-breadcrumb{display:none!important}
.workflow-card,.service-price-card{padding:2rem}.workflow-icon{display:grid;place-items:center;width:68px;height:68px;margin-bottom:1.2rem;border-radius:50%;background:#fff0ed;color:var(--rose);font-size:1.8rem}.service-page-hero{padding:4.5rem 0}.service-hours{display:inline-block;background:#f8d9dc;color:var(--rose-dark);border-radius:999px;padding:.4rem .8rem;margin-bottom:1rem;font-weight:800}.service-price{font-family:'Bree Serif',serif;color:var(--rose);font-size:2rem;font-weight:800}.process-page{margin-top:1rem}
@media(min-width:992px){.navbar>.container{width:96%;max-width:1320px}.navbar-brand{margin-right:.65rem}.navbar .brand-logo{width:165px}.navbar-nav .menu-item{position:relative}.navbar-nav .menu-item>a{white-space:nowrap;font-size:.78rem;padding:.55rem .42rem}.navbar .btn-brand{white-space:nowrap;font-size:.78rem;padding:.68rem .85rem}.navbar-nav .menu-item-has-children>a:after{content:'⌄';margin-left:.25rem;color:var(--rose)}.navbar-nav .sub-menu{display:none;position:absolute;z-index:1000;left:0;top:100%;min-width:235px;list-style:none;margin:0;padding:.6rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 35px rgba(9,44,75,.14)}.navbar-nav .menu-item-has-children:hover>.sub-menu,.navbar-nav .menu-item-has-children:focus-within>.sub-menu{display:block}.navbar-nav .sub-menu a{display:block;padding:.65rem .75rem!important;border-radius:9px;font-size:.84rem}.navbar-nav .sub-menu a:hover{background:#fff0f1;color:var(--rose)}}
@media(max-width:991.98px){.navbar-nav .sub-menu{display:grid;gap:3px;list-style:none;margin:.2rem 0 .7rem;padding:.4rem .6rem .4rem 1.1rem;border-left:3px solid #f8d9dc}.navbar-nav .sub-menu a{display:block;padding:.4rem .6rem;font-size:.86rem;color:var(--navy);text-decoration:none}.service-page-hero{padding:3rem 0}}

/* Detailpagina verfijningen */
@media(min-width:992px){.navbar-nav .menu-item>a{font-size:.84rem;padding:.55rem .4rem}.navbar .btn-brand{font-size:.8rem}.single-product .product-gallery-column{position:sticky;top:100px;align-self:flex-start}.single-product .gallery-main{height:clamp(360px,calc(100vh - 250px),545px)}.single-product .booking-card{position:static}}
.single-product{overflow-x:clip}.single-product .trust-strip{background:var(--cream)!important}.single-product main>.section-soft{position:relative;left:50%;width:100vw;margin-left:-50vw;background:var(--pink)}
.gallery-main{position:relative}.gallery-arrow{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);font-size:1.25rem;box-shadow:0 8px 24px rgba(9,44,75,.2);transform:translateY(-50%);transition:.2s}.gallery-arrow:hover{background:var(--rose);color:#fff}.gallery-prev{left:16px}.gallery-next{right:16px}
.single-product .related-card{display:flex;flex-direction:column;min-height:0}.single-product .related-card>a{display:block;width:100%;height:145px;overflow:hidden}.single-product .related-card>a img{display:block;width:100%;height:100%;object-fit:cover}.single-product .related-card .copy{display:flex;flex:1;flex-direction:column;padding:1rem}.single-product .related-card .copy strong{margin-top:auto}.single-product .related-panel .related-card{min-height:255px}
@media(max-width:991.98px){.single-product .product-gallery-column{position:static}.single-product main>.section-soft{left:auto;width:auto;margin-left:0}.gallery-arrow{width:40px;height:40px}.single-product .related-card>a{height:180px}}

/* Mobiel, checkout en cookie-opt-in */
.woocommerce-checkout #billing_address_2_field,.woocommerce-checkout #shipping_address_2_field,.wc-block-components-address-form__address_2{display:none!important}
.ffe-cookie-banner{position:fixed;z-index:1050;left:50%;bottom:20px;width:min(1120px,calc(100% - 40px));transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 65px rgba(9,44,75,.24)}
.ffe-cookie-banner[hidden]{display:none}.ffe-cookie-copy{display:flex;align-items:center;gap:16px;max-width:700px}.ffe-cookie-copy h2{font-family:'Bree Serif',serif;font-size:1.35rem;margin:0 0 4px}.ffe-cookie-copy p{font-size:.9rem;margin:0}.ffe-cookie-copy a{color:var(--rose);font-weight:800}.cookie-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;background:#fff0d0;border-radius:50%;font-size:1.65rem}.ffe-cookie-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.cookie-settings-button{border:0;background:transparent;color:var(--navy);font-weight:800;text-decoration:underline}.ffe-cookie-reopen{position:fixed;z-index:998;left:18px;bottom:18px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:9px 13px;background:var(--navy);color:#fff;font-size:.8rem;font-weight:800;box-shadow:0 8px 25px rgba(9,44,75,.2)}
.ffe-cookie-dialog{width:min(560px,calc(100% - 30px))}.ffe-cookie-dialog>[data-cookie-close]{float:right;border:0;background:none;font-size:2rem;line-height:1}.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);cursor:pointer}.cookie-option strong,.cookie-option small{display:block}.cookie-option small{margin-top:3px;color:#67737d}.cookie-option input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--rose)}
@media(max-width:991.98px){
 .hero .hero-copy{padding-left:20px;padding-right:20px}
 .trust-strip .container{max-width:none;padding-left:14px;padding-right:0;overflow:hidden}
 .trust-strip .row{display:flex!important;flex-wrap:nowrap!important;align-items:stretch;gap:10px;overflow-x:auto;padding:7px 12px 7px 0!important;margin:0!important;scroll-snap-type:x proximity;scrollbar-width:none}
 .trust-strip .row::-webkit-scrollbar{display:none}
 .trust-strip .trust-item{display:flex;align-items:center;flex:0 0 calc(50% - 7px);width:calc(50% - 7px);min-width:180px;min-height:60px;margin-top:0!important;padding:5px 7px;scroll-snap-align:start}
 .ffe-cookie-banner{align-items:stretch;flex-direction:column;gap:14px}.ffe-cookie-actions{justify-content:flex-start}
}
@media(max-width:575.98px){.ffe-cookie-banner{bottom:10px;width:calc(100% - 20px);padding:17px}.cookie-icon{display:none}.ffe-cookie-actions .btn{flex:1 1 100%}.cookie-settings-button{width:100%;padding:5px}.ffe-cookie-reopen span{display:none}.ffe-cookie-reopen{width:43px;height:43px;justify-content:center;padding:0}}

/* Ruimer desktopmenu */
@media(min-width:992px){.navbar-nav .menu-item>a{font-size:.95rem;padding-left:.35rem;padding-right:.35rem}.navbar .btn-brand{font-size:.85rem;padding-left:.8rem;padding-right:.8rem}}
