/*
Theme Name: Bandhani
Description: Boutique catalog theme for Bandhani Fashions, compatible with Elementor and WooCommerce.
Version: 1.0.0
*/
:root{--wine:#85343d;--ink:#432b2d;--cream:#fcf8f3;--gold:#b48c58;--muted:#806d67}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}h1,h2,h3,.serif{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(42px,5vw,76px)}h2{font-size:clamp(32px,3vw,46px)}h3{font-size:25px}p{color:var(--muted)}.wrap{width:min(1260px,90%);margin:auto}.announcement{background:var(--wine);color:#fff;text-align:center;padding:8px;font-size:11px;letter-spacing:2px}.header{background:#fff;border-bottom:1px solid #e8dfd6}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 0}.brand{width:220px;height:76px;overflow:hidden;display:block;position:relative}.brand img{position:absolute;width:300px;max-width:none;left:-37px;top:-126px}.nav{display:flex;align-items:center;gap:35px}.nav a,.nav summary{font-size:13px;cursor:pointer}.nav details{position:relative}.nav details div{position:absolute;background:#fff;z-index:20;padding:16px;min-width:160px;box-shadow:0 10px 25px #432b2d20}.nav details div a{display:block;padding:8px}.button{display:inline-block;background:var(--wine);color:#fff;padding:13px 25px;font-size:12px;letter-spacing:1.3px;border:1px solid var(--wine);cursor:pointer}.button.light{background:transparent;color:var(--wine)}.hero{position:relative;min-height:620px;background:#eddfd0;overflow:hidden}.slide{display:none;grid-template-columns:1fr 1fr;min-height:620px}.slide.active{display:grid}.hero-copy{padding:75px 10% 75px max(5vw,calc((100vw - 1260px)/2));align-self:center}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--wine)}.hero h1{margin:22px 0}.hero p{max-width:370px;margin-bottom:28px}.hero-photo{background-position:center 28%;background-size:cover;min-height:620px}.slider-controls{position:absolute;bottom:23px;left:5%;display:flex;gap:8px}.slider-controls button{border:1px solid var(--wine);background:transparent;color:var(--wine);padding:7px 13px;cursor:pointer}.slider-controls .selected{background:var(--wine);color:white}.ribbon{display:flex;justify-content:center;gap:80px;border-bottom:1px solid #e4d7ca;padding:21px;font-size:11px;letter-spacing:2px}.section{padding:75px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-title h2{margin:10px 0}.text-link{color:var(--wine);border-bottom:1px solid var(--wine);font-size:12px;padding-bottom:5px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.category{position:relative;height:420px;overflow:hidden;background:#e7d9cb}.category img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.category:hover img{transform:scale(1.04)}.category:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#261417a8)}.category-copy{position:absolute;bottom:27px;left:30px;z-index:1;color:#fff}.category-copy h3{font-size:34px;margin:0 0 12px}.category-copy span{font-size:11px;letter-spacing:2px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.product-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:#e7dfd8}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover img{transform:scale(1.04)}.badge{position:absolute;top:12px;left:12px;background:var(--cream);padding:4px 10px;font-size:10px;letter-spacing:1px}.product-card h3{font-size:20px;margin:12px 0 7px}.product-card .eyebrow{font-size:9px;margin-top:14px}.product-card p{margin:6px 0;font-size:13px}.story{display:grid;grid-template-columns:1fr 1fr;background:#f0e5da}.story img{width:100%;height:570px;object-fit:cover}.story-copy{align-self:center;padding:65px 12%}.story-copy h2{font-size:48px}.invitation{text-align:center;background:var(--wine);color:#fff;padding:60px 20px}.invitation p{color:#eadbd6}.invitation .button{border-color:#eadbd6}.footer{padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer h3{font-size:21px}.footer a{display:block;font-size:13px;margin:9px 0}.copyright{border-top:1px solid #e4d7ca;margin-top:40px;padding-top:20px;font-size:11px;color:var(--muted)}.page-heading{text-align:center;background:#f0e5da;padding:55px 20px}.page-heading h1{font-size:54px;margin:12px 0}.catalog{display:grid;grid-template-columns:230px 1fr;gap:35px}.filters label{display:block;margin:19px 0 7px;font-size:12px}.filters input,.filters select,.contact-form input,.contact-form textarea{width:100%;padding:11px;background:white;border:1px solid #ddcfc4;color:var(--ink)}.filters .button{margin-top:20px}.catalog .grid{grid-template-columns:repeat(3,1fr)}.catalog-top{display:flex;justify-content:space-between;margin-bottom:25px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px}.product-detail img{width:100%;max-height:750px;object-fit:cover}.product-detail h1{font-size:45px}.specs{border-top:1px solid #ddcfc4;margin:30px 0}.specs div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #ddcfc4}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-form label{display:block;margin:15px 0 6px}.notice{background:#f0e5da;padding:16px}.mobile-toggle{display:none}.demo-note{font-size:11px}.gallery{display:flex;gap:12px;margin-top:15px}.gallery button{padding:0;border:1px solid #ddcfc4;width:80px;cursor:pointer}.gallery img{height:100px;object-fit:cover}.woocommerce-breadcrumb{font-size:12px;margin-bottom:25px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:100;background:white;padding:10px}@media(max-width:800px){.header .wrap{flex-wrap:wrap}.brand{width:190px}.mobile-toggle{display:block;background:none;border:1px solid #ddcfc4;padding:8px}.nav{display:none;width:100%;flex-wrap:wrap;gap:20px}.nav.open{display:flex}.slide,.slide.active{grid-template-columns:1fr}.hero-copy{padding:40px 7%}.hero-photo{min-height:380px}.hero,.slide{min-height:0}.slider-controls{bottom:15px}.ribbon{gap:20px;font-size:9px;flex-wrap:wrap}.section{padding:45px 0}.categories{gap:12px}.category{height:270px}.category-copy{left:14px;bottom:18px}.category-copy h3{font-size:24px}.grid,.catalog .grid{grid-template-columns:repeat(2,1fr);gap:15px}.story,.contact-layout,.product-detail{grid-template-columns:1fr;gap:25px}.story img{height:380px}.story-copy{padding:40px 7%}.story-copy h2{font-size:36px}.catalog{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.filters h3{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-grid>div:first-child{grid-column:1/-1}.product-detail h1{font-size:36px}.page-heading h1{font-size:40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Preserve complete garment silhouettes in the managed catalog. */
.hero-photo{background-position:center top}.category img{object-position:center top}.product-image img{object-fit:contain}.product-detail #main-product-image{object-fit:contain;background:#f0e5da}
/* Story, contact and product enquiries */
.about-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding:70px 0}.about-intro h1,.contact-intro h1{font-size:clamp(42px,4.6vw,68px);margin:22px 0;line-height:1.12}h1 em,h2 em{color:var(--wine);font-weight:400}.about-intro p{max-width:450px;margin-bottom:30px}.about-photo{position:relative;padding:0 24px 24px 0}.about-photo:after{content:'';position:absolute;inset:28px 0 0 28px;border:1px solid var(--gold);z-index:-1}.about-photo img{width:100%;height:550px;object-fit:cover}.about-photo span{display:block;background:var(--wine);color:#fff;padding:14px 20px;font:italic 18px Georgia,serif}.about-belief{text-align:center;background:#f0e5da;padding:65px 0}.about-belief p{max-width:690px;margin:25px auto}.founder-signature{display:block;font:italic 32px Georgia,serif;margin:25px 0 10px}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.about-values article{border-top:1px solid var(--gold);padding-top:25px}.about-values article>span{color:var(--wine);font-size:11px;letter-spacing:2px}.about-values h3{margin:20px 0}.about-closing{display:grid;grid-template-columns:1fr 1.3fr;background:#f0e5da;margin-bottom:70px}.about-closing img{width:100%;height:390px;object-fit:cover}.about-closing>div{padding:45px;align-self:center}.about-closing .text-link{margin-left:20px}.contact-intro{padding:60px 0 45px}.contact-intro p{max-width:570px}.contact-main{gap:50px;align-items:start;padding-bottom:65px}.contact-aside{background:#f0e5da}.contact-aside img{width:100%;height:285px;object-fit:cover;object-position:center 30%}.contact-aside>div{padding:35px}.contact-topics{display:grid;gap:14px;margin-top:25px;font-size:12px;color:var(--wine)}.form-card{background:white;border:1px solid #e4d7ca;padding:35px 40px}.form-card h2{margin:15px 0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form .consent{display:flex;align-items:start;gap:10px;font-size:12px;margin:20px 0}.contact-form .consent input{width:16px;margin-top:4px;flex-shrink:0;accent-color:var(--wine)}.form-trap{display:none}.enquiry-piece{background:var(--cream);padding:15px;border-left:2px solid var(--gold);margin:20px 0}.enquiry-piece strong{display:block;font:22px Georgia,serif;margin-top:6px}.form-feedback:empty{display:none}.form-feedback{padding:12px;background:#fff1ec;color:var(--wine)}.form-feedback.success{background:#edf4ec;color:#325338}.form-note{font-size:11px}.contact-faq{padding:0 0 65px}.contact-faq details{border-bottom:1px solid #ddcfc4;padding:18px 0;max-width:850px}.contact-faq summary{cursor:pointer;font-size:16px}.enquiry-dialog{width:min(590px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:35px 40px;border:1px solid #ddcfc4;background:var(--cream);color:var(--ink);box-shadow:0 25px 80px #0003}.enquiry-dialog::backdrop{background:#281b20a6;backdrop-filter:blur(4px)}.enquiry-dialog h2{margin:12px 0;font-size:38px}.dialog-close{position:absolute;right:14px;top:8px;background:none;border:0;font-size:30px;color:var(--wine);cursor:pointer}.enquiry-open{overflow:hidden}.button:disabled{opacity:.65;cursor:default}
@media(max-width:760px){.about-intro{grid-template-columns:1fr;gap:35px;padding:40px 0}.about-photo img{height:430px}.about-belief{padding:40px 0}.about-values{grid-template-columns:1fr;gap:20px}.about-closing{grid-template-columns:1fr}.about-closing img{height:300px}.about-closing>div{padding:28px}.contact-intro{padding:40px 0 25px}.contact-main{grid-template-columns:1fr;gap:25px}.form-card{padding:25px}.enquiry-dialog{padding:30px 22px}.form-pair{grid-template-columns:1fr;gap:0}.contact-aside>div{padding:25px}}
/* Keep enquiry actions prominent over WooCommerce button defaults. */
.enquiry-form button.button[type="submit"]{background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:2px;padding:14px 28px;min-height:48px;font-size:13px;font-weight:600;letter-spacing:1px;box-shadow:0 4px 12px #85343d24;transition:background .2s,box-shadow .2s}
.enquiry-form button.button[type="submit"]:hover:not(:disabled){background:#662530;color:#fff;border-color:#662530;box-shadow:0 6px 16px #85343d35}
.enquiry-form button.button[type="submit"]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.enquiry-form button.button[type="submit"]:disabled{background:var(--wine);color:#fff;opacity:.65;cursor:default;box-shadow:none}
/* Collection filter spacing and actions. */
.catalog .filters{align-self:start;padding:24px;background:#fff;border:1px solid #e4d7ca;border-radius:3px}
.catalog .filters h3{margin:0 0 22px;font-size:25px}
.catalog .filters>div+div{margin-top:18px}
.catalog .filters label{margin:0 0 8px;line-height:1.4}
.catalog .filters input,.catalog .filters select{min-height:46px;padding:10px 12px;border-radius:2px}
.catalog .filters>div:last-child{margin-top:24px;padding-top:20px;border-top:1px solid #e4d7ca}
.catalog .filters button.button[type="submit"]{display:block;width:100%;margin:0;background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:2px;padding:13px 16px;min-height:48px;font-size:13px;font-weight:600;letter-spacing:1px;cursor:pointer;transition:background .2s}
.catalog .filters button.button[type="submit"]:hover{background:#662530;color:#fff;border-color:#662530}
.catalog .filters button.button[type="submit"]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.catalog .filters>div:last-child p{margin:16px 0 0;text-align:center;line-height:1.5}
.catalog .filters .text-link{display:inline-block;padding:4px 0;font-size:12px}
@media(max-width:760px){.catalog .filters{padding:20px}}
/* Smooth catalogue refresh without moving the page. */
.catalog-results{min-width:0;position:relative;transition:opacity .18s}
.catalog.is-loading .catalog-results{opacity:.45;pointer-events:none}
.catalog-feedback{font-size:12px;line-height:1.5;color:var(--wine);margin:14px 0 0}
.catalog-feedback:empty{display:none}
.catalog .filters button.button[type="submit"]:disabled{opacity:.7;cursor:wait}
@media(prefers-reduced-motion:reduce){.catalog-results{transition:none}}
/* Product detail enquiry action. */
.product-detail a.button[data-enquiry-open]{display:inline-flex;align-items:center;justify-content:center;background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:2px;padding:14px 26px;min-height:48px;font-size:13px;font-weight:600;letter-spacing:1px;line-height:1.5;box-shadow:0 4px 12px #85343d24;transition:background .2s,box-shadow .2s}
.product-detail a.button[data-enquiry-open]:hover{background:#662530;color:#fff;border-color:#662530;box-shadow:0 6px 16px #85343d35}
.product-detail a.button[data-enquiry-open]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:760px){.product-detail a.button[data-enquiry-open]{width:100%}}
/* Shared header action across standard and WooCommerce pages. */
.header .header-cta{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--wine);border:1px solid var(--wine);border-radius:0;padding:13px 25px;min-height:46px;font-size:12px;font-weight:400;letter-spacing:1.3px;line-height:1.7;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.header .header-cta:hover{background:var(--wine);color:#fff}
.header .header-cta:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
/* Home collection presentation */
.home .hero{background:#632c35;min-height:610px}
.home .slide,.home .slide.active{grid-template-columns:1fr 1fr;min-height:610px}
.home .hero-copy{position:relative;padding:65px 8% 95px max(5vw,calc((100vw - 1260px)/2));color:#fff9f0}
.home .hero-copy:before{content:'';display:block;width:48px;height:1px;background:#cfa875;margin-bottom:28px}
.home .hero .eyebrow{color:#e6c9aa;font-size:10px;letter-spacing:2.6px}
.home .hero h1{font-size:clamp(48px,4.9vw,78px);line-height:1.04;letter-spacing:-2px;max-width:550px;margin:25px 0}
.home .hero p{color:#ebd8d5;max-width:380px;font-size:15px;line-height:1.9;margin-bottom:30px}
.home .hero a.button{background:#fff8ef;color:#632c35;border:1px solid #fff8ef;padding:15px 24px;line-height:1.5;font-size:11px;letter-spacing:1.5px;border-radius:0;font-weight:600}
.home .hero a.button:hover{background:#e8d5bb;border-color:#e8d5bb}
.home .hero-secondary{display:block;width:max-content;color:#f1dbcb;font-size:12px;margin-top:20px;border-bottom:1px solid #cda98b;padding-bottom:4px}
.home .hero-secondary span{margin-left:15px}
.home .hero-photo{min-height:610px;background-position:center 24%;position:relative}
.home .hero-photo:after{content:'';position:absolute;inset:20px;border:1px solid #ffffff6b;pointer-events:none}
.home .slider-controls{left:max(5vw,calc((100vw - 1260px)/2));bottom:26px;gap:12px;align-items:center}
.home .slider-controls button{border:0;border-bottom:1px solid transparent;color:#eed7c4;padding:4px 7px;background:transparent;font-size:11px;letter-spacing:1px;line-height:1.6}
.home .slider-controls button.selected{background:transparent;border-bottom-color:#eed7c4;color:#fff}
.home .slider-controls [data-pause]{margin-left:12px;border:1px solid #eed7c466;padding:4px 10px}
.home .section{padding:65px 0}
.home .section-title{margin-bottom:28px}
.home .section-title h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.8px;margin-top:14px}
.home .categories{gap:25px;align-items:start}
.home .category{height:auto;display:flex;flex-direction:column;background:transparent;overflow:visible}
.home .category img{height:390px;object-position:center 25%;object-fit:cover;width:100%;transition:filter .3s}
.home .category:hover img{transform:none;filter:brightness(1.04)}
.home .category:after{display:none}
.home .category-copy{position:relative;bottom:auto;left:auto;color:var(--ink);padding:20px 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.home .category-copy>span:first-child{width:100%;font-size:11px;color:var(--muted);letter-spacing:0;text-transform:none}
.home .category-copy h3{font-size:30px;margin:2px 0 0}
.home .category-copy>span:last-child{font-size:9px;letter-spacing:1px;color:var(--wine);border-bottom:1px solid #bda38e;padding:5px 0}
.home .product-card h3{font-size:21px}.home .product-card .text-link{font-size:11px}
.home .product-image{border-radius:2px}.home .product-card .eyebrow{margin-top:18px}
.home .story{width:min(1260px,90%);margin:0 auto 65px;background:#efe3d6;grid-template-columns:.9fr 1.1fr;gap:0}
.home .story img{height:470px;object-position:center 30%}
.home .story-copy{padding:45px 12%}
.home .story-copy h2{font-size:clamp(32px,3.2vw,48px);margin:20px 0}
.home .story-copy p{font-size:14px}.home .story-copy p+p{display:none}
.home .invitation{position:relative;background:#632c35;padding:48px 20px}
.home .invitation h2{margin:18px 0;font-size:clamp(30px,3.1vw,44px)}
.home .invitation p{font-size:14px;margin-bottom:24px}
.home .invitation a.button{background:#fff8ef;color:#632c35;border-color:#fff8ef;font-weight:600}
.home .invitation a.button:hover{background:#e8d5bb;border-color:#e8d5bb}
@media(max-width:800px){.home .slide,.home .slide.active{grid-template-columns:1fr}.home .hero,.home .slide{min-height:0}.home .hero-copy{padding:40px 6% 32px}.home .hero h1{font-size:clamp(45px,8vw,64px);letter-spacing:-1px}.home .hero-photo{min-height:450px}.home .slider-controls{position:static;background:#632c35;padding:15px 6%}.home .category img{height:290px}.home .story{grid-template-columns:1fr}.home .story img{height:380px}.home .story-copy{padding:30px}.home .section{padding:45px 0}.home .story{margin-bottom:45px}}
@media(max-width:560px){.home .categories{grid-template-columns:1fr;gap:30px}.home .category img{height:420px}.home .category-copy{padding-top:15px}.home .hero-photo{min-height:390px}.home .section-title{align-items:start;flex-direction:column;gap:10px}.home .grid{gap:22px 15px}.home .product-card h3{font-size:18px}.home .category-copy>span:last-child{font-size:10px}}
/* Show complete home collection photos without cropping. */
.home .hero-photo{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#eadbc9}
.home .hero-photo:after{display:none}
.home .category img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;background:#eadbc9}
.home .product-image img{object-fit:contain;object-position:center}
.home .story img{object-fit:contain;object-position:center;background:#eadbc9}
@media(max-width:800px){.home .hero-photo{min-height:0;height:auto;aspect-ratio:3/4;max-height:none}.home .category img{height:auto}.home .story img{height:auto;aspect-ratio:3/4}}
@media(max-width:560px){.home .hero-photo{min-height:0}.home .category img{height:auto}}
/* Original logo in the footer, including flower and brand signature. */
.footer .footer-brand{display:block;position:relative;width:250px;height:106px;overflow:hidden;margin:0 0 18px}
.footer .footer-brand img{position:absolute;width:350px;max-width:none;height:auto;left:-58px;top:-150px;mix-blend-mode:multiply}
/* Match the header logo to the footer logo and signature. */
.header .brand{width:250px;height:106px;flex-shrink:0}
.header .brand img{width:350px;max-width:none;height:auto;left:-58px;top:-150px}
@media(max-width:800px){.header .brand{width:250px;height:106px}}
/* Keep the full outfit visible on About Us. */
.about-photo img{display:block;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;background:#eadbc9}
.about-closing img{display:block;height:100%;min-height:390px;max-height:540px;object-fit:contain;object-position:center;background:#eadbc9}
@media(max-width:760px){.about-photo img{height:auto}.about-closing img{height:auto;min-height:0;max-height:none;aspect-ratio:3/4}}
/* Remove the decorative frame behind the About image. */
.about-photo{padding:0}
.about-photo:after{display:none}
/* Shared boutique contact details. */
.contact-details{display:grid;gap:22px;margin-top:28px}
.contact-label{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wine);margin-bottom:6px}
.contact-details a{overflow-wrap:anywhere}
.contact-details address{font-style:normal;color:var(--muted);font-size:14px;line-height:1.8}
.contact-details .map-link{display:inline-block;margin-top:10px}
.contact-details a:hover{color:var(--wine);text-decoration:underline}
.footer .footer-grid{grid-template-columns:1.5fr .75fr .75fr 1.35fr;gap:35px}
.footer-contact .contact-details{margin-top:18px;gap:16px}
.footer-contact .contact-details a{margin:0;font-size:13px}
.footer-contact .contact-details address{font-size:13px}
.footer-contact .contact-details .map-link{margin-top:8px}
@media(max-width:1000px){.footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}}
@media(max-width:560px){.footer .footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child,.footer-contact{grid-column:1/-1}}
/* Floating contact and sharing actions. */
.floating-actions{position:fixed;right:22px;bottom:26px;z-index:90;display:flex;flex-direction:column;align-items:center;gap:12px}
.floating-actions .floating-action{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:1px solid #fff;border-radius:50%;color:#fff;box-shadow:0 4px 15px #0002;cursor:pointer;transition:transform .2s,box-shadow .2s}
.floating-actions .floating-action:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0003}
.floating-whatsapp{background:#1ac965}.floating-whatsapp svg{width:29px;height:29px}.floating-share{background:var(--wine)}.floating-top{background:#555}.floating-facebook{background:#1877f2}.floating-instagram{background:linear-gradient(35deg,#ffb548,#e83e72,#8943b7)}
.floating-tooltip{position:absolute;right:calc(100% + 10px);white-space:nowrap;background:#432b2d;color:white;border-radius:3px;padding:5px 10px;font-size:12px;opacity:0;visibility:hidden;pointer-events:none}
.floating-action:hover .floating-tooltip,.floating-action:focus-visible .floating-tooltip{opacity:1;visibility:visible}
.floating-action:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.floating-share-panel{position:absolute;right:66px;bottom:60px;width:200px;background:#fff;border:1px solid #e4d7ca;padding:16px;border-radius:8px;box-shadow:0 8px 30px #0002;color:var(--ink)}
.floating-share-panel[hidden]{display:none}.floating-share-panel strong{display:block;margin-bottom:10px;font-size:14px}
.floating-share-panel button,.floating-share-panel a{display:block;width:100%;text-align:left;padding:9px 8px;background:transparent;border:0;color:var(--wine);font-size:13px;cursor:pointer;border-radius:3px}
.floating-share-panel button:hover,.floating-share-panel a:hover{background:var(--cream)}.share-feedback{display:block;font-size:11px;line-height:1.5;margin-top:6px}
@media(max-width:600px){.floating-actions{right:14px;bottom:18px;gap:9px}.floating-actions .floating-action{width:44px;height:44px}.floating-share-panel{right:54px;bottom:54px}}
@media(prefers-reduced-motion:reduce){.floating-action{transition:none}}
.floating-share-panel button[hidden]{display:none}
.share-feedback{overflow-wrap:anywhere}
/* Align contact cards and show the boutique map. */
.contact-main{align-items:stretch;gap:32px}
.contact-main .contact-aside,.contact-main .form-card{border:1px solid #e4d7ca}
.contact-main .contact-aside>div,.contact-main .form-card{padding:38px}
.contact-main .contact-aside h2,.contact-main .form-card h2{margin:16px 0 20px;line-height:1.15}
.contact-main .contact-details{margin-top:32px;gap:25px}
.contact-main .contact-details>div{padding-top:18px;border-top:1px solid #d8c6b5}
.contact-map{padding-bottom:65px}
.contact-map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact-map h2{margin:12px 0}
.contact-map>p{margin:8px 0 24px;font-size:14px}
.contact-map iframe{display:block;width:100%;height:420px;border:1px solid #ddcfc4;background:#f0e5da}
@media(max-width:760px){.contact-main{gap:24px}.contact-main .contact-aside>div,.contact-main .form-card{padding:25px}.contact-map-heading{align-items:start;flex-direction:column;gap:12px}.contact-map iframe{height:320px}.contact-map{padding-bottom:40px}}
/* Compact footer contact rows with icons. */
.footer-contact-rows{display:grid;gap:14px;margin-top:22px}
.footer .footer-contact-rows a{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:13px;line-height:1.7;color:var(--muted)}
.footer-contact-rows svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px;fill:none;stroke:var(--wine);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-rows span{min-width:0;overflow-wrap:anywhere}
.footer .footer-contact-rows a:hover{color:var(--wine)}
.footer .footer-grid>div{min-width:0}
.required-mark{color:var(--wine);font-weight:700}
/* Light hero palette with burgundy typography. */
.home .hero{background:var(--cream)}
.home .hero-copy{color:var(--ink)}
.home .hero-copy:before{background:var(--gold)}
.home .hero .eyebrow{color:var(--wine)}
.home .hero h1{color:var(--wine)}
.home .hero p{color:var(--muted)}
.home .hero a.button{background:var(--wine);color:#fff;border-color:var(--wine)}
.home .hero a.button:hover{background:#662530;color:#fff;border-color:#662530}
.home .hero-secondary{color:var(--wine);border-bottom-color:var(--wine)}
.home .slider-controls button{color:var(--wine)}
.home .slider-controls button.selected{color:var(--wine);border-bottom-color:var(--wine)}
.home .slider-controls [data-pause]{border-color:#85343d55}
@media(max-width:800px){.home .slider-controls{background:var(--cream)}}
