/* ===== v3: Google Sans everywhere + inner page templates ===== */
body{font-family:var(--sans);letter-spacing:.005em}
h1,h2,h3,h4,.h-serif,.h-title,.tx-title{font-family:var(--sans)}
.h-serif{font-weight:400;letter-spacing:-.025em}
.h-title,.tx-title{font-weight:500;letter-spacing:-.035em}
.h-cta__quote p{font-family:var(--sans);font-weight:400}
.brand__text strong{font-family:var(--sans);font-weight:500;letter-spacing:-.02em}
.page-hero h1{font-family:var(--sans);font-weight:500;letter-spacing:-.03em}
.btn{font-family:var(--sans)}
.crumbs--dark{color:#6b7690}.crumbs--dark a{color:var(--navy)}.crumbs span{opacity:.5;margin:0 .2rem}
.container--read{max-width:860px}
.r-body p,.r-body li{color:#3b4b68;line-height:1.75}
.r-body--lead p{font-size:1.15rem;color:#22355a}

/* Treatment / course hero */
.tx-hero{background:linear-gradient(180deg,#f2f3ef,#f8f8f6);padding:2rem 0 3rem;overflow:hidden}
.tx-hero__grid{display:grid;gap:2rem;align-items:center}
.tx-title{font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.05;color:var(--navy);margin:0 0 1rem}
.tx-tagline{font-size:1.25rem;color:var(--sage);font-weight:500;margin:0 0 .8rem}
.tx-lead{font-size:1.08rem;line-height:1.65;color:#22355a;max-width:34rem}
.tx-hero .h-actions{margin-top:1.6rem}
.tx-hero .h-stats{margin-top:2rem}
.tx-hero__media{position:relative}
.tx-hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px 28px 28px 120px;box-shadow:0 30px 60px -30px rgba(15,39,71,.35)}
.tx-hero__chip,.price-card{position:absolute;left:1rem;bottom:1rem;display:flex;gap:.8rem;align-items:center;max-width:300px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:16px;padding:.9rem 1.1rem;box-shadow:0 12px 30px rgba(15,39,71,.15);font-size:.82rem;color:#5d6a80}
.tx-hero__chip strong{display:block;color:var(--navy);font-size:.95rem;font-weight:500}
.tx-hero__chip .icon{width:34px;height:34px;padding:7px;border-radius:50%;background:#e8efe9;color:var(--green-800);flex:none}
.price-card{flex-direction:column;align-items:flex-start;gap:.15rem;right:auto}
.price-card strong{font-size:1.9rem;font-weight:500;color:var(--navy);letter-spacing:-.02em}
.price-card del{font-size:1rem;color:#9aa3b2;margin-left:.3rem}
.course-by{display:inline-flex;align-items:center;gap:.7rem;color:var(--navy);font-weight:500}
.course-by .icon{width:40px;height:40px;padding:9px;border-radius:50%;background:#e8efe9;color:var(--green-800)}
.course-by small{display:block;font-size:.75rem;color:#6b7690;font-weight:400}
@media (min-width:900px){.tx-hero{padding:3rem 0 4.5rem}.tx-hero__grid{grid-template-columns:1.05fr 1fr;gap:4rem}.tx-hero__chip,.price-card{left:-2rem;bottom:2rem}}

/* Intro */
.tx-intro{padding:var(--section) 0;background:#fff}
.tx-intro__grid{display:grid;gap:2.5rem}
.tx-panel{background:var(--navy);color:#d6dee6;border-radius:24px;padding:2.2rem;align-self:start;position:relative;overflow:hidden}
.tx-panel::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(93,134,112,.45),transparent 70%)}
.tx-panel h3{color:#fff;font-weight:500;font-size:1.35rem}
.tx-panel p{color:#cdd7e1;line-height:1.7;font-size:.97rem}
.tx-panel__icon .icon{width:44px;height:44px;color:var(--cream-2);stroke-width:1.2;margin-bottom:1rem}
@media (min-width:900px){.tx-intro__grid{grid-template-columns:1.5fr 1fr;gap:4rem}.tx-panel{position:sticky;top:110px}}

/* Benefits */
.tx-benefits{padding:var(--section) 0;background:#f2f3ef}
.tx-benefits__grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr}
.tx-benefits__grid li{display:flex;align-items:flex-start;gap:1rem;background:#fff;border-radius:16px;padding:1.3rem 1.4rem;color:var(--navy);font-weight:500;box-shadow:0 6px 22px rgba(15,39,71,.05);line-height:1.45}
.tx-num{flex:none;display:inline-grid;place-items:center;min-width:40px;height:40px;border-radius:12px;background:#e8efe9;color:var(--green-800);font-weight:600;font-size:.88rem}
@media (min-width:600px){.tx-benefits__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.tx-benefits__grid{grid-template-columns:repeat(3,1fr)}}

/* Physio modalities */
.tx-mods{padding:var(--section) 0;background:#fff}
.tx-mods__grid{display:grid;gap:1.4rem}
.tx-mod{background:#f8f8f6;border:1px solid #edf0ee;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.tx-mod img{width:100%;aspect-ratio:16/9;object-fit:cover}
.tx-mod__body{padding:1.5rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.tx-mod h3{margin:0;font-weight:500;color:var(--navy);font-size:1.25rem}
.tx-mod p{margin:0;color:#5d6a80;font-size:.93rem;line-height:1.65}
.tx-mod .h-more{margin-top:auto;align-self:flex-start}
.tx-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.tx-chips li{font-size:.78rem;background:#fff;border:1px solid #e1e6e3;color:#3b4b68;border-radius:99px;padding:.3rem .7rem}
.tx-chips a{text-decoration:none;color:inherit}
@media (min-width:700px){.tx-mods__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.tx-mods__grid{grid-template-columns:repeat(3,1fr)}}

/* What to expect (dark) */
.tx-expect{background:radial-gradient(ellipse at 15% 30%,#1b4a4a 0%,#0b3341 45%,#062a44 100%);color:#d6dee6;padding:var(--section) 0}
.tx-expect .h-serif{color:#fff}
.tx-steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem;counter-reset:s}
.tx-steps li{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:1.6rem}
.tx-steps span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cream-2);color:var(--navy);font-weight:600;margin-bottom:1rem}
.tx-steps strong{display:block;color:#fff;font-weight:500;font-size:1.1rem;margin-bottom:.4rem}
.tx-steps p{margin:0;color:#c5d0dc;font-size:.92rem}
.tx-expect__split{display:grid;gap:2rem;align-items:center}
.tx-expect__split .btn{margin-top:1rem}
.tx-checklist{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.tx-checklist li{display:flex;gap:.8rem;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1rem 1.2rem;color:#e6ebf0}
.tx-checklist .icon{color:var(--cream-2);margin-top:.15rem}
@media (min-width:800px){.tx-steps{grid-template-columns:repeat(3,1fr)}.tx-expect__split{grid-template-columns:1fr 1.3fr;gap:4rem}}

/* Types */
.tx-types{padding:var(--section) 0;background:#f8f8f6}
.tx-types__grid{display:grid;gap:1.2rem}
.tx-type{background:#fff;border-radius:18px;padding:1.6rem;box-shadow:0 6px 24px rgba(15,39,71,.05);border-top:3px solid var(--sage)}
.tx-type h3{font-weight:500;color:var(--navy);font-size:1.12rem;margin:.6rem 0 .5rem}
.tx-type p{margin:0;color:#5d6a80;font-size:.92rem;line-height:1.65}
.tx-type__group{font-size:.72rem!important;letter-spacing:.18em;text-transform:uppercase;color:var(--sage)!important}
.tx-extra{max-width:760px;margin-top:1.5rem}
@media (min-width:700px){.tx-types__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.tx-types__grid{grid-template-columns:repeat(3,1fr)}}
.tx-benefits .tx-types__grid .tx-type{border-top:0}
@media (min-width:1080px){.h-treat__grid--3{grid-template-columns:repeat(3,1fr)}}

/* Gallery */
.g-intro{max-width:760px;font-size:1.1rem;line-height:1.75;color:#3b4b68;margin:0 0 2.5rem}
.g-head{margin-top:2.5rem}
.g-quote{font-size:1.15rem;color:var(--sage);font-style:italic;margin:0}
.g-masonry{columns:2 160px;column-gap:1rem}
.g-item{display:block;break-inside:avoid;margin:0 0 1rem;border-radius:16px;overflow:hidden;position:relative;cursor:zoom-in}
.g-item img{width:100%;transition:transform .5s}
.g-item:hover img{transform:scale(1.04)}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,39,71,.35),transparent 40%);opacity:0;transition:.3s}
.g-item:hover::after{opacity:1}
@media (min-width:900px){.g-masonry{columns:3}}
.lb{position:fixed;inset:0;z-index:200;background:rgba(5,18,32,.94);display:grid;place-items:center;padding:4rem 1rem}
.lb[hidden]{display:none}
.lb__img{max-width:min(1100px,100%);max-height:80vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.25)}
.lb__close{top:1rem;right:1rem}.lb__prev{left:1rem;top:50%;transform:translateY(-50%)}.lb__next{right:1rem;top:50%;transform:translateY(-50%)}
.lb__count{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:#c5d0dc;font-size:.85rem;margin:0}
body.lb-open{overflow:hidden}

/* Testimonials page */
.t-intro{max-width:820px;margin:0 auto 3rem;text-align:center}
.t-grid-cards .h-qcard{position:relative}
.q-mark{position:absolute;right:1.4rem;top:.4rem;font-size:5rem;line-height:1;color:#e8efe9;font-weight:500}

/* Reading / legal */
.r-hero{background:linear-gradient(180deg,#f2f3ef,#f8f8f6);padding:3rem 0 2.5rem;border-bottom:1px solid #e9ece9}
.r-hero h1{font-size:clamp(2.2rem,6vw,3.4rem);font-weight:500;letter-spacing:-.03em;color:var(--navy);margin:0 0 .5rem}
.r-meta{color:#6b7690;margin:0}
.r-wrap{padding:3rem 0 var(--section);background:#fff}
.r-grid{display:grid;gap:2rem;max-width:1080px}
.r-article{max-width:760px}
.r-article h2{font-size:1.45rem;font-weight:500;color:var(--navy);margin:2.2rem 0 .7rem;letter-spacing:-.015em;scroll-margin-top:110px}
.r-article h2:first-child{margin-top:0}
.r-article ul{padding-left:0;list-style:none}
.r-article ul li{position:relative;padding-left:1.6rem;margin-bottom:.5rem}
.r-article ul li::before{content:"";position:absolute;left:.2rem;top:.7em;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.r-dl{margin:1rem 0;display:grid;gap:.6rem}
.r-dl div{display:grid;gap:.2rem;background:#f8f8f6;border-radius:12px;padding:.9rem 1.1rem}
.r-dl dt{font-weight:500;color:var(--navy)}
.r-dl dd{margin:0;color:#5d6a80;line-height:1.6}
.r-toc{background:#f8f8f6;border-radius:16px;padding:1.3rem 1.4rem;align-self:start;font-size:.9rem}
.r-toc p{margin:0 0 .6rem;font-weight:500;color:var(--navy)}
.r-toc ol{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.r-toc a{color:#4b5870;text-decoration:none}.r-toc a:hover{color:var(--green-800)}
.r-contact{display:flex;gap:1rem;align-items:center;margin-top:2.5rem;padding:1.2rem 1.4rem;border-radius:16px;background:#e8efe9}
.r-contact .icon{color:var(--green-800);flex:none}
.r-contact p{margin:0;color:var(--navy)}
@media (min-width:1000px){.r-grid{grid-template-columns:240px 1fr;gap:4rem}.r-toc{position:sticky;top:110px}.r-grid>.r-article:only-child{grid-column:1/-1;margin-inline:auto}}

/* Diet */
.diet-cards{display:grid;gap:1.3rem;margin:3rem 0}
.diet-card{background:#f8f8f6;border-radius:22px;padding:1.8rem;border-top:4px solid var(--sage)}
.diet-card:nth-child(2){border-color:var(--gold)}.diet-card:nth-child(3){border-color:var(--navy)}
.diet-card h3{font-size:1.8rem;font-weight:500;color:var(--navy);margin:0 0 1rem}
.diet-card dl{margin:0;display:grid;gap:.75rem}
.diet-card dt{font-weight:500;color:var(--navy);font-size:.88rem}
.diet-card dd{margin:0;color:#5d6a80;font-size:.9rem;line-height:1.55}
@media (min-width:900px){.diet-cards{grid-template-columns:repeat(3,1fr)}}

/* Search + 404 */
.s-form{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #e1e6e3;border-radius:999px;padding:.4rem .4rem .4rem 1.1rem;max-width:620px;margin-top:1.4rem;box-shadow:0 8px 24px rgba(15,39,71,.06)}
.s-form .icon{color:#6b7690;flex:none}
.s-form input{flex:1;min-width:0;border:0;font:inherit;padding:.6rem 0;background:transparent;color:var(--ink)}
.s-form input:focus{outline:none}
.s-form .btn{min-height:46px;padding:.6rem 1.3rem}
.s-results{display:grid;gap:1rem;max-width:860px}
.s-item{background:#fff;border:1px solid #edf0ee;border-radius:18px;padding:1.5rem 1.6rem}
.s-type{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin:0 0 .3rem}
.s-item h2{font-size:1.3rem;font-weight:500;margin:0 0 .4rem}.s-item h2 a{color:var(--navy);text-decoration:none}
.s-item p{color:#5d6a80;margin:0 0 .8rem}
.e404{padding:4rem 0 var(--section);background:linear-gradient(180deg,#f2f3ef,#f8f8f6)}
.e404__grid{display:grid;gap:2rem;align-items:center}
.e404 .h-actions{margin-top:1.8rem}
.e404__art{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:420px;width:100%;margin:auto;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e8efe9,#d6e2da)}
.e404__art span{font-size:clamp(5rem,16vw,9rem);font-weight:500;color:var(--navy);letter-spacing:-.05em}
.e404__art .icon{position:absolute;right:16%;top:16%;width:70px;height:70px;color:var(--sage);stroke-width:1.2}
@media (min-width:900px){.e404__grid{grid-template-columns:1.2fr 1fr;gap:4rem}}

/* Team photos */
.team__photo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 1rem;background:#e8efe9}

/* ===== WooCommerce ===== */
.woo-wrap{display:block}
.woocommerce .woocommerce-result-count{color:#6b7690;font-size:.9rem;margin:0 0 1rem}
.woocommerce .woocommerce-ordering select{border:1px solid #e1e6e3;border-radius:999px;padding:.6rem 1rem;font:inherit;background:#fff}
.woo-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem}
.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid!important;grid-template-columns:repeat(2,1fr);gap:1rem}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{position:relative;width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid #edf0ee;border-radius:18px;padding:.9rem .9rem 1.1rem;display:flex;flex-direction:column;transition:.25s;text-align:left}
.woocommerce ul.products li.product:hover{box-shadow:0 14px 34px rgba(15,39,71,.08);transform:translateY(-3px)}
.woocommerce ul.products li.product a{text-decoration:none}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:1;object-fit:contain;background:#f4f6f3;border-radius:12px;margin:0 0 .9rem}
.woocommerce-loop-product__title,.woocommerce ul.products li.product h2{font-size:.98rem!important;font-weight:500;color:var(--navy);margin:0 0 .4rem!important;line-height:1.35;padding:0!important}
.woocommerce .price{color:var(--green-800)!important;font-weight:600;font-size:1rem;display:flex;gap:.45rem;align-items:baseline;flex-wrap:wrap}
.woocommerce .price del{color:#9aa3b2;font-weight:400;font-size:.88em;opacity:1}
.woocommerce .price ins{text-decoration:none}
.woocommerce span.onsale{position:absolute;top:1.3rem;left:1.3rem;z-index:2;min-height:0;min-width:0;line-height:1;padding:.4rem .7rem;border-radius:99px;background:var(--cream-2);color:var(--navy);font-size:.72rem;font-weight:600;margin:0}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.65rem 1.2rem!important;border-radius:999px!important;background:var(--navy)!important;color:#fff!important;font:500 .88rem/1.2 var(--sans)!important;border:0;cursor:pointer;margin-top:auto}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:#1b3a63!important}
.woocommerce ul.products li.product .button{margin-top:.9rem;align-self:flex-start}
.woocommerce .star-rating{display:none}
@media (min-width:900px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
/* single */
.woocommerce div.product{display:grid;gap:2.5rem}
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:22px;background:#f4f6f3;width:100%;aspect-ratio:1;object-fit:contain}
.woocommerce div.product .summary{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product .product_title{font-size:clamp(2rem,5vw,2.8rem);font-weight:500;letter-spacing:-.03em;color:var(--navy);margin:0 0 .6rem}
.woocommerce div.product p.price{font-size:1.6rem!important;margin:0 0 1.2rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:#3b4b68;line-height:1.7}
.woocommerce div.product form.cart{display:flex;gap:.8rem;align-items:center;margin:1.5rem 0;padding:1.2rem 0;border-block:1px solid #edf0ee}
.woocommerce .quantity .qty{width:84px;min-height:48px;border:1px solid #e1e6e3;border-radius:999px;text-align:center;font:inherit}
.woocommerce div.product form.cart .button{min-height:50px;padding:.8rem 1.8rem!important;margin:0}
.product_meta{font-size:.88rem;color:#6b7690}.product_meta a{color:var(--green-800)}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem;border-bottom:1px solid #edf0ee}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;background:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:.8rem 1rem;color:#6b7690;text-decoration:none;font-weight:500;border-bottom:2px solid transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy);border-color:var(--green-800)}
.woocommerce-Tabs-panel{color:#3b4b68;line-height:1.75;max-width:820px}
.woocommerce-Tabs-panel h2{font-size:1.3rem;font-weight:500;color:var(--navy)}
.related.products{grid-column:1/-1;margin-top:1rem}
.related.products>h2{font-size:1.8rem;font-weight:400;color:var(--navy);letter-spacing:-.02em}
@media (min-width:900px){.woocommerce div.product{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}}
/* cart + checkout (classic + blocks) */
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #edf0ee;border-radius:18px;overflow:hidden;background:#fff}
.woocommerce table.shop_table th{background:#f8f8f6;color:var(--navy);font-weight:500;font-size:.85rem;text-align:left;padding:1rem}
.woocommerce table.shop_table td{padding:1rem;border-top:1px solid #edf0ee;vertical-align:middle;color:#3b4b68}
.woocommerce table.shop_table img{width:64px;border-radius:10px;background:#f4f6f3}
.woocommerce table.shop_table td.product-name a{color:var(--navy);font-weight:500;text-decoration:none}
.woocommerce a.remove{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f4f1ef;color:#b24a3a!important;text-decoration:none;font-size:1.2rem}
.woocommerce .coupon{display:flex;gap:.5rem;flex-wrap:wrap}
.woocommerce .coupon .input-text,.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea,.wc-block-components-text-input input{min-height:48px;border:1px solid #e1e6e3!important;border-radius:12px!important;padding:.7rem 1rem!important;font:inherit;background:#fff;width:100%}
.woocommerce .coupon .input-text{width:auto}
.cart-collaterals{margin-top:2rem}
.cart_totals,.woocommerce-checkout-review-order,#order_review{background:#f8f8f6;border-radius:20px;padding:1.6rem}
.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3{font-size:1.4rem;font-weight:500;color:var(--navy);margin:0 0 1rem}
.cart_totals table{border:0!important;background:transparent!important}
.cart_totals .wc-proceed-to-checkout .button{width:100%;min-height:54px;margin-top:1rem}
.woocommerce form .form-row{margin:0 0 1rem;padding:0}
.woocommerce form .form-row label{display:block;font-size:.85rem;font-weight:500;color:var(--navy);margin-bottom:.35rem}
.woocommerce .col2-set{display:grid;gap:2rem}
.woocommerce-checkout .checkout-grid{display:grid;gap:2rem}
#payment{background:#fff;border-radius:14px;padding:1rem;margin-top:1rem}
#payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0}
#payment li{padding:.7rem 0;border-bottom:1px solid #edf0ee}
#payment .button{width:100%;min-height:54px}
.woocommerce-info,.woocommerce-message,.woocommerce-error{list-style:none;background:#e8efe9;border-radius:14px;padding:1rem 1.2rem;color:var(--navy);border:0;margin:0 0 1.5rem}
@media (min-width:900px){.woocommerce-cart .woo-wrap>.woocommerce{display:grid;grid-template-columns:1.7fr 1fr;gap:2rem;align-items:start}.woocommerce-cart .woo-wrap>.woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}.cart-collaterals{margin:0}.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.4fr 1fr;gap:0 2.5rem;align-items:start}.woocommerce-checkout #customer_details{grid-row:1/span 2}.woocommerce-checkout #order_review_heading{margin-top:0}}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
@media (min-width:600px){.woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.woocommerce-billing-fields__field-wrapper .form-row-wide{grid-column:1/-1}}
@media (max-width:700px){
 .woocommerce table.shop_table_responsive thead{display:none}
 .woocommerce table.shop_table_responsive tr{display:block;border-top:1px solid #edf0ee}
 .woocommerce table.shop_table_responsive td{display:flex;justify-content:space-between;align-items:center;border:0;padding:.6rem 1rem;text-align:right}
 .woocommerce table.shop_table_responsive td::before{content:attr(data-title);font-weight:500;color:var(--navy);text-align:left}
 .woocommerce table.shop_table_responsive td.product-remove::before,.woocommerce table.shop_table_responsive td.product-thumbnail::before,.woocommerce table.shop_table_responsive td.actions::before{content:none}
 .woocommerce table.shop_table_responsive td.actions{display:block}
}
.tx-title{overflow-wrap:anywhere}.h-eyebrow{max-width:100%;white-space:normal}
.e404__grid{grid-template-columns:minmax(0,1fr)}.e404__grid>*{min-width:0}.s-form{max-width:100%}.s-form input{min-width:0;flex:1 1 0}@media (min-width:900px){.e404__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
/* ---- Plugin-conflict hardening (Elementor kit / ElementsKit / Woo link + button colours) ---- */
html body a.btn--navy,html body .btn--navy{color:#fff!important;background:var(--navy)!important}
html body a.btn--green,html body .btn--green{color:#fff!important}
html body a.btn--cream,html body .btn--cream{color:var(--navy)!important}
html body a.btn--primary{color:#fff!important}
html body .site-header a,html body .site-footer a{text-decoration:none}
html body,html body button,html body input,html body select,html body textarea{font-family:var(--sans)}
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{font-family:var(--sans)}
html body .elementor-invisible{visibility:visible!important;opacity:1!important}
/* Woo sets the gallery to opacity:0 until its JS runs; never leave it hidden if a plugin script errors. */
html body .woocommerce-product-gallery{opacity:1!important}
/* 3.2: product gallery fit + zoom trigger placement */
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery__image img,.woocommerce-product-gallery img.wp-post-image{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain;border-radius:18px}
.woocommerce-product-gallery__trigger{position:absolute;top:.9rem;right:.9rem;z-index:5;width:40px;height:40px;display:grid;place-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 14px rgba(15,39,71,.12);text-decoration:none;font-size:0}
.woocommerce-product-gallery__trigger::before{content:"";width:14px;height:14px;border:2px solid var(--navy);border-radius:50%;box-shadow:5px 5px 0 -3px var(--navy)}
.woocommerce-product-gallery__trigger img{display:none}
/* 3.2.1: WooCommerce Blocks checkbox tick (don't let generic svg caps / input styles move it) */
.woo-wrap .wc-block-components-checkbox{position:relative}
.woo-wrap .wc-block-components-checkbox label{position:relative;display:flex;align-items:center;gap:.6rem}
.woo-wrap .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{-webkit-appearance:none;appearance:none;width:1.25rem;height:1.25rem;min-height:0;margin:0;padding:0;flex:0 0 auto;border:1.5px solid #b9c1cc;border-radius:5px;background:#fff;position:relative}
.woo-wrap .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--navy);border-color:var(--navy)}
.woo-wrap .wc-block-components-checkbox svg.wc-block-components-checkbox__mark{position:absolute;left:.2rem;top:50%;transform:translateY(-50%);width:.85rem!important;height:.85rem!important;max-width:none;max-height:none;fill:#fff;pointer-events:none;display:none;margin:0}
.woo-wrap .wc-block-components-checkbox__input:checked+svg.wc-block-components-checkbox__mark{display:block}
/* 3.3: shop toolbar + styled sorting select */
.woo-wrap .woocommerce .woocommerce-result-count,.woo-wrap .woocommerce .woocommerce-ordering{float:none;margin:0}
.woo-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;width:100%;margin:0 0 1.8rem;padding:0}
.woo-toolbar__left{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;min-width:0}
.woo-toolbar__right{margin-left:auto}
.shop-cats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.shop-cats a{display:inline-flex;align-items:center;min-height:36px;padding:.35rem 1rem;border:1px solid #e1e6e3;border-radius:999px;background:#fff;color:#3b4b68;font:500 .85rem/1 var(--sans);text-decoration:none;transition:.2s}
.shop-cats a:hover{border-color:var(--navy);color:var(--navy)}
.shop-cats a[aria-current=page]{background:var(--navy);border-color:var(--navy);color:#fff}
.woo-wrap .woocommerce-result-count{color:#6b7690;font:400 .9rem/1.4 var(--sans)}
.woocommerce-ordering{position:relative;margin:0}
.woocommerce-ordering::after{content:"";position:absolute;right:1.1rem;top:50%;width:7px;height:7px;margin-top:-6px;border-right:1.6px solid var(--navy);border-bottom:1.6px solid var(--navy);transform:rotate(45deg);pointer-events:none}
html body .woocommerce-ordering select.orderby,html body .woocommerce .woocommerce-ordering select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;min-width:220px;padding:.6rem 2.8rem .6rem 1.2rem;border:1px solid #dfe4e1;border-radius:999px;background:#fff;color:var(--navy);font:500 .9rem/1.2 var(--sans);cursor:pointer;box-shadow:0 2px 8px rgba(15,39,71,.04);background-image:none}
html body .woocommerce-ordering select:hover{border-color:#b9c3cf}
html body .woocommerce-ordering select:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.woo-wrap .woocommerce ul.products{margin-left:0;margin-right:0;padding:0}
@media (max-width:640px){
 .woo-toolbar{flex-direction:column;align-items:stretch}
 .woo-toolbar__left{flex-direction:column;align-items:flex-start}
 .shop-cats{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:.25rem;scrollbar-width:none}
 .shop-cats li{flex:0 0 auto}
 .woo-toolbar__right{margin-left:0}
 html body .woocommerce-ordering select{width:100%;min-width:0}
}
.woo-toolbar__left{max-width:100%}
/* 3.4: dynamic gallery */
.g-filters{margin:0 0 1.8rem}
.g-filters ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.g-filters a{display:inline-flex;align-items:center;min-height:40px;padding:.4rem 1.15rem;border:1px solid #e1e6e3;border-radius:999px;background:#fff;color:#3b4b68;font:500 .9rem/1 var(--sans);text-decoration:none;transition:.2s}
.g-filters a:hover{border-color:var(--navy);color:var(--navy)}
.g-filters a[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}
.g-grid{columns:2;column-gap:.75rem}
.g-grid .g-item{display:block;break-inside:avoid;margin:0 0 .75rem;border-radius:14px;overflow:hidden;position:relative;background:#eef0ec}
.g-grid .g-item[hidden]{display:none}
.g-grid .g-item a{display:block;cursor:zoom-in;position:relative}
.g-grid .g-item img{display:block;width:100%;height:auto;transition:transform .5s}
.g-grid .g-item a:hover img{transform:scale(1.04)}
.g-grid .g-item a:focus-visible{outline:3px solid var(--navy);outline-offset:-3px}
.g-grid .g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .9rem .7rem;font-size:.82rem;color:#fff;background:linear-gradient(0deg,rgba(15,39,71,.7),transparent);opacity:0;transition:.3s;pointer-events:none}
.g-grid .g-item:hover figcaption,.g-grid .g-item:focus-within figcaption{opacity:1}
.g-grid .g-item::after{display:none}
.g-empty{color:#6b7690}
@media (min-width:768px){.g-grid{columns:3;column-gap:1rem}.g-grid .g-item{margin-bottom:1rem}.g-grid--2{columns:2}}
@media (min-width:1200px){.g-grid--4{columns:4}.g-grid--5{columns:5}}
.lb{padding:4.5rem 4.5rem 4rem}
.lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:.8rem;max-width:min(1100px,100%)}
.lb__img{max-height:calc(100vh - 11rem);width:auto;height:auto}
.lb__cap{color:#e6ecf2;font-size:.95rem;text-align:center;max-width:60ch}
.lb__cap[hidden]{display:none}
.lb button span{font-size:2rem;line-height:1}
.lb .lb__close span{font-size:1.8rem}
.lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:640px){.lb{padding:4rem .75rem 3.5rem}.lb__prev,.lb__next{top:auto!important;bottom:.6rem;transform:none!important}.lb__prev{left:.75rem}.lb__next{right:.75rem}.lb__count{bottom:1.4rem}}
/* 3.5: team */
.tm-intro{max-width:760px;margin:0 0 2rem}
.tm-filters button{display:inline-flex;align-items:center;min-height:40px;padding:.4rem 1.15rem;border:1px solid #e1e6e3;border-radius:999px;background:#fff;color:#3b4b68;font:500 .9rem/1 var(--sans);cursor:pointer;transition:.2s}
.tm-filters button:hover{border-color:var(--navy);color:var(--navy)}
.tm-filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.tm-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:1fr}
.tm-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(15,39,71,.07);transition:transform .3s,box-shadow .3s}
.tm-card[hidden]{display:none}
.tm-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(15,39,71,.11)}
.tm-card__media{aspect-ratio:1/1;background:linear-gradient(160deg,#eef2ee,#dfe7e1);overflow:hidden}
.tm-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tm-initials{display:grid;place-items:center;width:100%;height:100%;font:500 clamp(2.6rem,7vw,3.6rem)/1 var(--sans);letter-spacing:.04em;color:var(--navy);background:radial-gradient(circle at 30% 25%,#f4f7f4,#d8e3db)}
.tm-card__body{display:flex;flex-direction:column;gap:.45rem;flex:1;padding:1.2rem 1.25rem 1.3rem}
.tm-name{margin:0;font:500 1.15rem/1.3 var(--sans);color:var(--navy)}
.tm-role{margin:0;font:600 .74rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage,#5a8a6e)}
.tm-sub{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--green-800,#2c6e49)}
.tm-quals{margin:0;font-size:.88rem;line-height:1.5;color:#5a6680}
.tm-chips{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.tm-chips li{font-size:.76rem;padding:.25rem .65rem;border-radius:999px;background:#f1f4f1;border:1px solid #e3e8e4;color:#3b4b68}
.tm-card__foot{margin-top:auto;padding-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.tm-more{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;font-size:.9rem;color:var(--navy);text-decoration:none}
.tm-more .icon{width:16px;height:16px;transition:transform .2s}.tm-more:hover .icon{transform:translateX(3px)}
.tm-links{list-style:none;margin:0;padding:0;display:flex;gap:.35rem}
.tm-links a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #e1e6e3;color:var(--navy);background:#fff;transition:.2s}
.tm-links a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.tm-links .icon{width:16px;height:16px}
.tm-all{text-align:center;margin:2rem 0 0}
.tm-empty{color:#6b7690}
@media (min-width:560px){.tm-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.tm-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
/* profile (modal + single) */
.tm-profile{display:grid;gap:1.5rem}
.tm-profile__media{border-radius:18px;overflow:hidden;aspect-ratio:1/1;max-width:340px;width:100%;background:linear-gradient(160deg,#eef2ee,#dfe7e1)}
.tm-profile__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tm-profile__body{display:flex;flex-direction:column;gap:.6rem;min-width:0}
.tm-profile__name{margin:0;font:500 clamp(1.6rem,3vw,2.2rem)/1.15 var(--sans);color:var(--navy)}
.tm-meta{margin:0;color:#5a6680}
.tm-bio{color:#33415c;line-height:1.7}
.tm-profile__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.6rem}
.tm-profile__foot .btn .icon{width:18px;height:18px}
@media (min-width:760px){.tm-profile{grid-template-columns:minmax(220px,340px) 1fr;align-items:start;gap:2.5rem}}
.tm-single .tm-back{margin-top:2.5rem}
.tm-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1rem;background:rgba(10,24,42,.6);backdrop-filter:blur(3px)}
.tm-modal[hidden]{display:none}
.tm-modal__box{position:relative;width:min(880px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:22px;padding:2rem 1.5rem 1.6rem;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.tm-modal__close{position:absolute;top:.8rem;right:.8rem;width:42px;height:42px;border-radius:50%;border:0;background:#f1f4f1;color:var(--navy);cursor:pointer;display:grid;place-items:center;font-size:1.6rem;line-height:1}
.tm-modal__close:hover{background:#e3e8e4}
.tm-modal__close:focus-visible,.tm-more:focus-visible,.tm-links a:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.tm-modal .tm-profile__media{max-width:260px}
@media (min-width:760px){.tm-modal__box{padding:2.6rem}.tm-modal .tm-profile{grid-template-columns:240px 1fr}}
body.tm-open{overflow:hidden}
/* 3.6: team card footer with appointment button */
.tm-card__foot{flex-direction:column;align-items:stretch;gap:.75rem}
.tm-card__row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;min-height:34px}
.btn--block{display:flex;width:100%;justify-content:center}
.tm-book{gap:.5rem;min-height:44px;font-size:.9rem}
.tm-book .icon{width:17px;height:17px}
.tm-lead{margin:0;font-size:1.05rem;color:#22355a;font-weight:500}
/* ===== 3.7 premium single product ===== */
.woocommerce div.product.dxp,.dxp-single .woocommerce div.product.type-product:has(>.dxp-top){display:block;width:100%;max-width:none;float:none}
.dxp>.dxp-top,.dxp>.woocommerce-tabs,.dxp>.dxp-why,.dxp>.related,.dxp>.upsells{width:100%;max-width:none;float:none;clear:both}
.dxp-top{display:grid;gap:2rem;align-items:start}
@media (min-width:900px){.dxp-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,4.5rem)}.dxp .summary{position:sticky;top:110px}}
.dxp-gallery{position:relative;background:linear-gradient(160deg,#faf6ec,#f1ead8);border:1px solid #ece3cc;border-radius:28px;padding:clamp(.9rem,2.5vw,1.6rem)}
.dxp-gallery .woocommerce-product-gallery{margin:0!important;width:100%!important;float:none!important}
.dxp-gallery .woocommerce-product-gallery__image img,.dxp-gallery img.wp-post-image{border-radius:20px;background:#fff}
.dxp-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:.6rem;margin:.9rem 0 0!important;padding:0;list-style:none}
.dxp-gallery .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.dxp-gallery .flex-control-thumbs img{border-radius:12px;border:2px solid transparent;opacity:.65;cursor:pointer;transition:.2s;background:#fff;aspect-ratio:1;object-fit:cover}
.dxp-gallery .flex-control-thumbs img.flex-active,.dxp-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--green-800)}
.dxp-gallery .flex-direction-nav{list-style:none;margin:0;padding:0}
.dxp-gallery .flex-direction-nav a{position:absolute;top:45%;z-index:3;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:0;display:grid;place-items:center;text-decoration:none}
.dxp-gallery .flex-direction-nav a::before{content:"";width:9px;height:9px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(135deg);margin-left:3px}
.dxp-gallery .flex-direction-nav .flex-prev{left:.6rem}.dxp-gallery .flex-direction-nav .flex-next{right:.6rem}.dxp-gallery .flex-direction-nav .flex-next::before{transform:rotate(-45deg);margin:0 3px 0 0}
.woocommerce .dxp-gallery span.dxp-badge{top:clamp(1.6rem,3.5vw,2.4rem);left:clamp(1.6rem,3.5vw,2.4rem);background:var(--navy);color:#fff;padding:.45rem .85rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.dxp-gallery .woocommerce-product-gallery__trigger{top:1rem;right:1rem}
.dxp-tagline{margin:-.3rem 0 1rem;font-size:1.05rem;color:var(--sage);font-weight:500;line-height:1.5}
.dxp-eyebrow{margin:0 0 .5rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.woocommerce div.product .dxp-title{font-size:clamp(2rem,4.2vw,3rem);line-height:1.08;margin:0 0 .8rem}
.dxp-rating{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;text-decoration:none;margin-bottom:.8rem}
.dxp-stars{position:relative;display:inline-block;color:#ddd3bb;letter-spacing:2px;line-height:1}.dxp-stars span+span{position:absolute;inset:0;width:var(--r);overflow:hidden;color:var(--gold);white-space:nowrap}
.dxp-price{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1rem;margin:.2rem 0 1.3rem}
.woocommerce div.product .dxp-price p.price{margin:0;color:var(--navy);font-size:1.9rem!important;font-weight:600}
.woocommerce div.product .dxp-price p.price del{color:#8c96a8;font-size:1.15rem;font-weight:400;opacity:1;margin-right:.35rem}
.woocommerce div.product .dxp-price p.price ins{text-decoration:none}
.dxp-save{display:inline-flex;align-items:center;padding:.4rem .8rem;border-radius:99px;background:#e6f0e9;color:var(--green-800);font-size:.82rem;font-weight:600}
.dxp-short{color:#3b4b68;line-height:1.75;font-size:1.02rem}.dxp-short p{margin:0 0 1rem}
.dxp-benefits{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.2rem;margin:1.2rem 0}
.dxp-benefits__h{margin:0 0 .7rem;font-weight:600;color:var(--navy);font-size:.95rem}
.dxp-benefits ul,.dxp-checks{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.dxp-benefits li,.dxp-checks li{display:flex;gap:.7rem;align-items:flex-start;color:#34445f;line-height:1.5;font-size:.95rem}
.dxp-tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--green-800);color:#fff;display:grid;place-items:center;margin-top:1px}.dxp-tick .icon{width:13px;height:13px;stroke-width:3}
.woocommerce div.product.dxp form.cart{display:grid;grid-template-columns:auto 1fr 1fr;gap:.7rem;margin:1.4rem 0 .8rem;padding:0;border:0}
.woocommerce div.product.dxp form.cart.variations_form{display:block}
.woocommerce div.product.dxp form.cart .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:auto 1fr 1fr;gap:.7rem}
.woocommerce div.product.dxp form.cart .button{min-height:54px;border-radius:999px;font-weight:600;font-size:1rem;width:100%;padding:.8rem 1.2rem!important}
.woocommerce div.product.dxp form.cart .single_add_to_cart_button{background:var(--navy);color:#fff}
.woocommerce div.product.dxp form.cart .single_add_to_cart_button:hover{background:var(--green-800)}
.woocommerce div.product.dxp form.cart .dxp-buynow{background:var(--gold);color:var(--navy)}
.woocommerce div.product.dxp form.cart .dxp-buynow:hover{background:var(--gold-soft)}
.dxp-qty{display:inline-flex;align-items:center;border:1px solid #dfe4e1;border-radius:999px;background:#fff;height:54px;overflow:hidden}
.dxp-qty button{width:42px;height:100%;border:0;background:none;font-size:1.3rem;color:var(--navy);cursor:pointer}.dxp-qty button:hover{background:var(--paper)}
.woocommerce .dxp-qty .qty{width:44px;min-height:0;height:100%;border:0;border-radius:0;padding:0;-moz-appearance:textfield;font-weight:600;color:var(--navy)}
.dxp-qty .qty::-webkit-inner-spin-button,.dxp-qty .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dxp-enquire{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;border-radius:999px;border:1.5px solid #25d366;color:#128c4a;font-weight:600;text-decoration:none;transition:.2s}
.dxp-enquire:hover{background:#25d366;color:#fff}.dxp-enquire .icon{width:20px;height:20px}
.dxp-trust{list-style:none;margin:1.3rem 0;padding:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;border-radius:18px;background:var(--paper);border:1px solid var(--line)}
@media (min-width:1100px){.dxp-trust{grid-template-columns:repeat(4,1fr)}.dxp-trust li{flex-direction:column;text-align:center}}
.dxp-trust li{display:flex;align-items:center;gap:.6rem;font-size:.82rem;font-weight:500;color:var(--navy);line-height:1.25}
.dxp-trust__ic{flex:none;width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid #e8e1cc;color:var(--green-800);display:grid;place-items:center}.dxp-trust__ic .icon{width:19px;height:19px}
.dxp-meta{border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.6rem}
.dxp-meta__row{display:flex;align-items:center;gap:1rem;margin:0;font-size:.88rem;color:var(--muted)}.dxp-meta__row>span:first-child{min-width:78px;font-weight:500}
.dxp-meta__row b{color:var(--navy);font-weight:600}
.dxp-chips{display:flex;flex-wrap:wrap;gap:.4rem}.dxp-chips a{padding:.3rem .75rem;border-radius:99px;background:#eef3ef;color:var(--green-800);text-decoration:none;font-size:.82rem;font-weight:500}.dxp-chips a:hover{background:var(--green-800);color:#fff}
.dxp-share__btns{display:flex;gap:.45rem}
.dxp-share__btns a,.dxp-copy{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;padding:0;transition:.2s}
.dxp-share__btns a:hover,.dxp-copy:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.dxp-share__btns .icon{width:16px;height:16px}
.dxp-copy__ok{position:absolute;bottom:115%;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:6px;opacity:0;pointer-events:none;transition:.2s}.dxp-copy.is-ok .dxp-copy__ok{opacity:1}
/* tabs */
.woocommerce div.product.dxp .woocommerce-tabs{margin-top:clamp(3rem,7vw,5rem)}
.woocommerce div.product.dxp .woocommerce-tabs ul.tabs{display:inline-flex;flex-wrap:wrap;gap:.3rem;padding:.35rem;border:1px solid var(--line);border-radius:999px;background:#fff;margin:0 0 1.8rem}
.woocommerce div.product.dxp .woocommerce-tabs ul.tabs::before,.woocommerce div.product.dxp .woocommerce-tabs ul.tabs li::before,.woocommerce div.product.dxp .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product.dxp .woocommerce-tabs ul.tabs li a{border:0;border-radius:999px;padding:.65rem 1.3rem;color:var(--muted)}
.woocommerce div.product.dxp .woocommerce-tabs ul.tabs li.active a{background:var(--navy);color:#fff}
.woocommerce div.product.dxp .woocommerce-Tabs-panel{max-width:none;width:100%}
.dxp .woocommerce-Tabs-panel>h2:first-child{display:none}
.dxp-desc__lead{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.75;color:#2d3d58;max-width:62rem;margin-bottom:1.8rem}.dxp-desc__lead p{margin:0 0 1rem}
.dxp-desc__grid{display:grid;gap:1.2rem}@media (min-width:800px){.dxp-desc__grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}
.dxp-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.5rem;box-shadow:0 6px 20px rgba(15,39,71,.04)}
.dxp-card--benefits{background:linear-gradient(160deg,#faf6ec,#f4efe0);border-color:#ece3cc}
.dxp-card h3,.dxp-maker h3{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;font-size:1.15rem;font-weight:600;color:var(--navy)}
.dxp-card p{color:#3b4b68;line-height:1.75;margin:0 0 .8rem}
.dxp-card__ic{flex:none;width:40px;height:40px;border-radius:12px;background:var(--green-800);color:#fff;display:grid;place-items:center}.dxp-card__ic .icon{width:20px;height:20px}
.dxp-maker{display:flex;gap:1rem;margin-top:1.2rem;padding:1.3rem 1.5rem;border-radius:22px;background:var(--paper);border:1px dashed #d8ddd9}
.dxp-maker h3{margin:0 0 .3rem;font-size:1rem}.dxp-maker p{margin:0;color:var(--muted);line-height:1.65;font-size:.93rem}.dxp-maker a{color:var(--green-800)}
.dxp-note{display:inline-flex;align-items:center;gap:.5rem;margin:1.2rem 0 0;padding:.55rem 1rem;border-radius:99px;background:#fdf3e2;color:#8a5a12;font-size:.8rem;font-weight:600;letter-spacing:.06em}.dxp-note .icon{width:16px;height:16px}
.dxp .woocommerce-Tabs-panel table.shop_attributes{border:1px solid var(--line);border-radius:18px;border-collapse:separate;overflow:hidden;width:100%;max-width:760px}
.dxp .woocommerce-Tabs-panel table.shop_attributes th,.dxp .woocommerce-Tabs-panel table.shop_attributes td{padding:.9rem 1.2rem;border-bottom:1px solid var(--line);text-align:left;font-style:normal}
.dxp .woocommerce-Tabs-panel table.shop_attributes th{width:34%;background:var(--paper);color:var(--navy);font-weight:600}
.dxp .woocommerce-Tabs-panel table.shop_attributes tr:last-child>*{border-bottom:0}.dxp table.shop_attributes td p{margin:0}
.dxp #reviews{max-width:860px}.dxp #reviews .woocommerce-Reviews-title{font-size:1.4rem;font-weight:500;color:var(--navy)}
.dxp #reviews .woocommerce-noreviews,.dxp #reviews .woocommerce-verification-required{padding:1.1rem 1.3rem;border-radius:16px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
.dxp #reviews ol.commentlist{list-style:none;padding:0;display:grid;gap:1rem}
.dxp #reviews .comment_container{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem;display:flex;gap:1rem}
.dxp #reviews .comment_container img.avatar{position:static;width:44px;height:44px;border-radius:50%;border:0;padding:0}
.dxp #reviews .comment-text{margin:0!important;border:0!important;padding:0!important;flex:1}
.dxp #review_form_wrapper{margin-top:1.5rem;padding:1.5rem;border:1px solid var(--line);border-radius:22px;background:#fff}
.dxp #review_form input[type=text],.dxp #review_form input[type=email],.dxp #review_form textarea{width:100%;border:1px solid #dfe4e1;border-radius:14px;padding:.75rem 1rem;font:inherit}
.dxp #review_form .stars a{color:var(--gold)}
/* why strip */
.dxp-why{margin:clamp(3rem,7vw,5rem) 0 0;padding:clamp(1.8rem,4vw,2.8rem);border-radius:28px;background:var(--navy);color:#fff}
.dxp-why h2{margin:0 0 1.6rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;letter-spacing:-.02em;color:#fff}
.dxp-why ul{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}@media (min-width:700px){.dxp-why ul{grid-template-columns:repeat(2,1fr)}}@media (min-width:1100px){.dxp-why ul{grid-template-columns:repeat(4,1fr)}}
.dxp-why li{display:flex;gap:.9rem;align-items:flex-start}
.dxp-why__ic{flex:none;width:46px;height:46px;border-radius:14px;background:rgba(239,227,198,.14);color:var(--gold-soft);display:grid;place-items:center}.dxp-why__ic .icon{width:22px;height:22px}
.dxp-why h3{margin:.15rem 0 .3rem;font-size:1rem;font-weight:600;color:#fff}.dxp-why p{margin:0;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.55}
.dxp .related.products,.dxp .upsells.products{margin-top:clamp(3rem,7vw,4.5rem)}
.woo-wrap .dxp .related ul.products,.woo-wrap .dxp .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:900px){.woo-wrap .dxp .related ul.products,.woo-wrap .dxp .upsells ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dxp .related.products>h2,.dxp .upsells.products>h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:500;color:var(--navy);letter-spacing:-.02em;margin:0 0 1.4rem}
/* sticky mobile bar */
.dxp-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(15,39,71,.1);transform:translateY(110%);transition:transform .25s}
.dxp-bar.is-on{transform:none}.dxp-bar[hidden]{display:none}
.dxp-bar img{width:46px;height:46px;border-radius:10px;object-fit:cover;background:var(--paper)}
.dxp-bar__t{flex:1;min-width:0;display:grid;line-height:1.25}.dxp-bar__t>span:first-child{font-weight:600;color:var(--navy);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dxp-bar .price{font-size:.88rem;color:var(--navy);font-weight:600}.dxp-bar .price del{color:#8c96a8;font-weight:400;margin-right:.25rem}.dxp-bar .price ins{text-decoration:none}.dxp-bar .screen-reader-text{display:none}
.dxp-bar__btn{display:inline-flex;align-items:center;gap:.45rem;border:0;border-radius:999px;background:var(--navy);color:#fff;font:600 .9rem var(--sans);padding:.8rem 1.1rem;cursor:pointer}.dxp-bar__btn .icon{width:18px;height:18px}
@media (min-width:900px){.dxp-bar{display:none!important}}
@media (max-width:899px){body.dxp-bar-on .wa-float{bottom:84px}}
@media (max-width:520px){.woocommerce div.product.dxp form.cart,.woocommerce div.product.dxp form.cart .woocommerce-variation-add-to-cart{grid-template-columns:auto 1fr}.woocommerce div.product.dxp form.cart .dxp-buynow{grid-column:1/-1}.dxp-gallery{border-radius:22px}}
.woocommerce div.product.dxp form.cart button.button.dxp-buynow{background:var(--gold)!important;color:var(--navy)!important}
.woocommerce div.product.dxp form.cart button.button.dxp-buynow:hover{background:var(--gold-soft)!important}
.woocommerce .dxp-qty input.qty,.woocommerce div.product.dxp form.cart .dxp-qty input.qty{border:0!important;box-shadow:none!important;background:transparent!important;width:44px!important;min-height:0!important;height:100%!important;margin:0!important;padding:0!important;text-align:center}
.woocommerce div.product.dxp form.cart .dxp-qty{margin:0!important;float:none}
.dxp .dxp-checks,.dxp .dxp-benefits ul{padding:0!important;margin:0!important}.dxp .dxp-checks li,.dxp .dxp-benefits li{margin:0!important}
.woocommerce .dxp-qty button,.dxp-qty button[type=button]{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;color:var(--navy)!important}
/* 3.9: Sunya Meditation page */
.sy-hero{position:relative;padding:clamp(3.5rem,10vw,7rem) 0 clamp(3.5rem,9vw,6rem);color:#fff;background-size:cover;background-position:center 35%;background-repeat:no-repeat}
.sy-hero h1{color:#fff;font-family:var(--sans);font-weight:500;letter-spacing:-.03em;font-size:clamp(2.4rem,6.5vw,4.4rem);margin:0 0 .35em;max-width:14ch}
.sy-eyebrow{font:600 .76rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft,#efe3c6);margin:0 0 .8rem}
.sy-hero__sub{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.6;color:rgba(255,255,255,.88);max-width:36rem;margin:0 0 1.4rem}
.sy-pills{list-style:none;margin:0 0 1.8rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.sy-pills li{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-size:.88rem;font-weight:500}.sy-pills .icon{width:16px;height:16px;color:var(--gold-soft,#efe3c6)}
.sy-actions{display:flex;flex-wrap:wrap;gap:.8rem}.sy-actions .icon{width:18px;height:18px}
.sy-about h2{font-family:var(--sans);font-weight:500;letter-spacing:-.02em;color:var(--navy);font-size:clamp(1.8rem,3.6vw,2.6rem)}
.sy-body p{font-size:1.08rem;line-height:1.8;color:#3b4b68}
.sy-about .split__media img{aspect-ratio:510/421;border-radius:28px}
.sy-cards{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sy-card{background:#fff;border:1px solid var(--line,#e6e8e4);border-radius:22px;padding:1.6rem;box-shadow:0 6px 20px rgba(15,39,71,.04)}
.sy-card h3{font-family:var(--sans);font-size:1.15rem;font-weight:600;color:var(--navy);margin:1rem 0 .5rem}.sy-card p{margin:0;color:#3b4b68;line-height:1.7;font-size:.97rem}
.sy-card__ic,.sy-belt__ic{width:48px;height:48px;border-radius:14px;background:var(--green-800);color:#fff;display:grid;place-items:center}.sy-card__ic .icon{width:24px;height:24px}
.sy-belt__box{display:flex;gap:1.4rem;align-items:flex-start;padding:clamp(1.6rem,4vw,3rem);border-radius:28px;background:var(--navy);color:#fff}
.sy-belt__box h2{color:#fff;font-weight:500;letter-spacing:-.02em;font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0 0 .6rem}.sy-belt__box p:last-child{margin:0;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.75;max-width:52rem}
.sy-belt__ic{flex:none;width:64px;height:64px;border-radius:18px;background:rgba(239,227,198,.14);color:var(--gold-soft,#efe3c6)}.sy-belt__ic .icon{width:32px;height:32px}
.sy-journey{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.sy-journey li{display:flex;gap:.9rem;padding:1.2rem;border:1px solid var(--line,#e6e8e4);border-radius:18px;background:#fff}.sy-journey h3{font-size:1rem;margin:.2rem 0 .3rem;color:var(--navy)}.sy-journey p{margin:0;font-size:.92rem;color:#3b4b68}
.sy-journey__n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-weight:600}
.sy-who{display:grid;gap:2rem;align-items:start}.sy-who h2{color:var(--navy);font-weight:500;letter-spacing:-.02em}
.sy-who__list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.sy-who__list li{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 1.3rem;background:#fff;border-radius:18px;border:1px solid var(--line,#e6e8e4)}
.sy-who__list strong{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:.2rem}.sy-who__list span:not(.sy-tick){color:#3b4b68;line-height:1.6}
.sy-tick{flex:none;width:28px;height:28px;border-radius:50%;background:var(--green-800);color:#fff;display:grid;place-items:center}.sy-tick .icon{width:15px;height:15px;stroke-width:3}
.sy-gallery{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sy-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.sy-faq details{border:1px solid var(--line,#e6e8e4);border-radius:16px;padding:1rem 1.2rem;margin:0 0 .8rem;background:#fff}.sy-faq summary{cursor:pointer;font-weight:600;color:var(--navy)}
.sy-cta{display:grid;gap:1.4rem;align-items:center;padding:clamp(1.8rem,4vw,3rem);border-radius:28px;background:linear-gradient(120deg,var(--green-800),var(--navy));color:#fff}
.sy-cta h2{color:#fff;font-weight:500;letter-spacing:-.02em;font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0 0 .4rem}.sy-cta p{margin:0;color:rgba(255,255,255,.8)}
.sy-cta__btns{display:flex;flex-wrap:wrap;gap:.7rem}.sy-cta__btns .icon{width:18px;height:18px}
@media (min-width:900px){.sy-who{grid-template-columns:1fr 1.4fr;gap:4rem}.sy-cta{grid-template-columns:1fr auto}}
@media (max-width:600px){.sy-belt__box{flex-direction:column}.sy-actions .btn,.sy-cta__btns .btn{width:100%;justify-content:center}}
/* 3.10: Testimonials */
.ts-stars{position:relative;display:inline-block;color:#e4dccb;letter-spacing:2px;line-height:1;font-size:1rem;margin:0 0 .9rem}.ts-stars span+span{position:absolute;inset:0;width:var(--r);overflow:hidden;color:var(--gold);white-space:nowrap}
.ts-stars--lg{font-size:1.35rem;margin:0 0 .3rem}
.ts-summary{display:flex;align-items:center;justify-content:center;gap:1rem;margin:-1rem auto 2.2rem;padding:1rem 1.6rem;border-radius:999px;background:var(--paper,#f8f8f6);border:1px solid var(--line,#e6e8e4);width:max-content;max-width:100%}
.ts-summary__n{font:500 2.6rem/1 var(--sans);color:var(--navy)}.ts-summary p{margin:0;color:#6b7690;font-size:.88rem}
.ts-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1.8rem}
.ts-chip{border:1px solid var(--line,#e6e8e4);background:#fff;border-radius:999px;padding:.5rem 1rem;font:500 .88rem var(--sans);color:var(--navy);cursor:pointer}.ts-chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.ts-card[hidden]{display:none}.ts-card blockquote{font-family:var(--sans)}
.ts-photo{object-fit:cover;padding:0}
.ts-tag{display:inline-block;margin-top:.35rem;padding:.15rem .6rem;border-radius:99px;background:#eef3ef;color:var(--green-800);font-size:.74rem;font-style:normal;font-weight:500}
.ts-card figcaption>span{display:flex;flex-direction:column;align-items:flex-start}
.ts-videos__head{text-align:center}.ts-videos__head h2{font-family:var(--sans);font-weight:500;letter-spacing:-.02em;color:var(--navy)}
.ts-vgrid{list-style:none;margin:0;padding:0;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.ts-v__btn{display:block;width:100%;height:100%;padding:0;border:0;background:#fff;border-radius:20px;overflow:hidden;cursor:pointer;text-align:left;font:inherit;box-shadow:0 8px 26px rgba(15,39,71,.07);transition:transform .25s,box-shadow .25s}
.ts-v__btn:hover,.ts-v__btn:focus-visible{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,39,71,.13)}.ts-v__btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ts-v__media{position:relative;display:block;aspect-ratio:9/12;background:linear-gradient(160deg,#22493a,#0f2747)}
.ts-v__media img,.ts-v__ph,.ts-v__ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ts-v__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,24,40,0) 50%,rgba(9,24,40,.45))}
.ts-v__play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.ts-v__play .icon{width:26px;height:26px;margin-left:3px;fill:currentColor}.ts-v__btn:hover .ts-v__play{transform:translate(-50%,-50%) scale(1.08)}
.ts-v__cap{display:block;padding:.9rem 1.1rem 1rem}.ts-v__cap .ts-stars{margin:0 0 .3rem;font-size:.85rem}.ts-v__cap strong{display:block;color:var(--navy);font-weight:600}.ts-v__cap span:not(.ts-stars):not([aria-hidden]){color:var(--navy);font-weight:500}
.ts-lb{padding:4rem 4.5rem}.ts-lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:.8rem;width:min(1000px,100%)}
.ts-lb__stage{width:100%;display:grid;place-items:center}.ts-lb__stage.is-embed{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}.ts-lb__stage iframe{width:100%;height:100%;border:0}
.ts-lb__stage video{max-width:100%;max-height:78vh;border-radius:12px;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.ts-lb .lb__cap{color:#e6ecf2;font-size:.95rem;text-align:center}
@media (max-width:600px){.ts-lb{padding:3.8rem .6rem 3.6rem}.ts-lb .lb__prev,.ts-lb .lb__next{top:auto;bottom:.6rem;transform:none}.ts-lb .lb__count{bottom:1.3rem}.ts-vgrid{grid-template-columns:repeat(2,1fr);gap:.8rem}.ts-v__play{width:50px;height:50px}.ts-summary{border-radius:20px}}

/* 3.10.1: video lightbox — near-opaque backdrop, large black player, portrait ≈ 80vh tall, landscape up to 960px wide. */
.lb.ts-lb{background:rgba(3,10,18,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100000}
.ts-lb .ts-lb__fig{width:auto;max-width:100%}
.ts-lb__stage.is-video{width:auto;display:block;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.ts-lb__stage.is-video video{display:block;background:#000;border-radius:0;box-shadow:none;max-width:none;max-height:none;object-fit:contain}
.ts-lb__stage.is-portrait video{height:min(80vh,calc(100vh - 9rem));width:auto;aspect-ratio:9/16;max-width:calc(100vw - 2rem)}
.ts-lb__stage.is-landscape video{width:min(960px,calc(100vw - 10rem));height:auto;aspect-ratio:auto;max-height:calc(100vh - 9rem)}
.ts-lb .ts-lb__stage.is-embed{width:min(960px,calc(100vw - 10rem))}
.ts-v__media img{object-fit:cover;object-position:center 30%}
@media (max-width:600px){.ts-lb__stage.is-portrait video{height:min(80vh,calc(100vh - 9.5rem))}.ts-lb__stage.is-landscape video,.ts-lb .ts-lb__stage.is-embed{width:calc(100vw - 1.2rem)}}
/* 3.10.2: buttons centre their content vertically — pin media to the top so nameless cards align with the rest. */
.ts-vgrid{align-items:stretch}.ts-v{display:flex}
.ts-v__btn{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;height:auto;flex:1 1 auto}
.ts-v__media{flex:0 0 auto;width:100%;aspect-ratio:9/12}
.ts-v__cap{flex:1 0 auto;min-height:3.6rem;box-sizing:border-box}
/* 3.10.3: centred initials avatar */
span.h-avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:58px!important;height:58px!important;min-width:58px;padding:0!important;margin:0;box-sizing:border-box;border-radius:50%;font:600 1.15rem/1 var(--sans)!important;letter-spacing:.02em;text-align:center;text-indent:0;overflow:hidden;vertical-align:middle}
/* 3.11: Contact page (panel-driven) */
.ct-hero--plain{background:var(--green-800)}
.ct-hero__eyebrow{margin:0 0 .4rem}
.contact-grid--single{grid-template-columns:1fr!important;max-width:820px}
.info-card h3 a{color:inherit;text-decoration:none}.info-card h3 a:hover{text-decoration:underline}
.info-card p a{word-break:break-word}
.ct-form__intro{margin:-.2rem 0 1.2rem;color:var(--muted,#5b6470)}
.ct-fields{display:grid;gap:0 1rem;grid-template-columns:1fr 1fr}
.ct-f{margin:0 0 1rem;min-width:0}.ct-f--wide{grid-column:1/-1}
.ct-f label{display:block;font-weight:500;font-size:.9rem;margin:0 0 .35rem;color:var(--navy)}
.ct-f label span{color:#b3261e}
.contact-form .ct-f textarea{min-height:140px;resize:vertical}
.contact-form .ct-f :is(input,select,textarea):focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
.ct-form .btn{display:inline-flex;align-items:center;gap:.5rem}
.ct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ct-msg{padding:.9rem 1.1rem;border-radius:12px;margin:0 0 1.2rem;font-weight:500}
.ct-msg--ok{background:#e7f4ea;color:#1e5631;border:1px solid #b7dcc1}.ct-msg--err{background:#fdecea;color:#8a1c14;border:1px solid #f3c1bb}
.map-wrap iframe{display:block}
.ct-social{margin-top:2.5rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;justify-content:center}
.ct-social__h{font-size:1.2rem;margin:0}
.ct-social ul{list-style:none;margin:0;padding:0;display:flex;gap:.7rem;flex-wrap:wrap}
.ct-social a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green-800);color:#fff;transition:transform .2s}
.ct-social a:hover,.ct-social a:focus-visible{transform:translateY(-2px)}.ct-social .icon{width:20px;height:20px}
.ct-cta__text{color:#e6ecf2;margin:.6rem 0 0}
@media (max-width:640px){.ct-fields{grid-template-columns:1fr}.map-wrap iframe{max-height:70vh}}
.contact-form .ct-f select{width:100%}
/* ===== 3.12: header account button ===== */
.header-actions>.hd-acc{display:none}
.hd-acc{position:relative}
.hd-acc--login,.hd-acc__btn{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.45rem .85rem;border-radius:999px;border:1px solid #dfe4e1;background:#fff;color:var(--navy);font:500 .88rem/1 var(--sans);text-decoration:none;cursor:pointer}
.hd-acc--login:hover,.hd-acc__btn:hover,.hd-acc.is-open .hd-acc__btn{border-color:var(--green-800);color:var(--green-800)}
.hd-acc .icon{width:20px;height:20px}.hd-acc__btn .icon-chev-d{width:16px;height:16px;transition:transform .2s}.hd-acc.is-open .icon-chev-d{transform:rotate(180deg)}
.hd-acc__name{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-acc__menu{position:absolute;right:0;top:calc(100% + .5rem);z-index:60;min-width:210px;margin:0;padding:.45rem;list-style:none;background:#fff;border:1px solid #e6e9e7;border-radius:14px;box-shadow:0 18px 40px rgba(15,39,71,.14)}
.hd-acc__menu a{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:10px;color:var(--navy);text-decoration:none;font-size:.92rem}
.hd-acc__menu a:hover,.hd-acc__menu a:focus-visible{background:#eef4f0;color:var(--green-800)}
.hd-acc__menu .icon{width:18px;height:18px;color:var(--green-800)}
.hd-acc__menu li:last-child{border-top:1px solid #eef0ee;margin-top:.3rem;padding-top:.3rem}
.nav-acc-mobile{margin-top:1.4rem}.nav-acc-mobile .hd-acc--login,.nav-acc-mobile .hd-acc__btn{width:100%;justify-content:center}
.nav-acc-mobile .hd-acc__menu{position:static;box-shadow:none;margin-top:.5rem}
@media (min-width:1080px){.header-actions>.hd-acc{display:block}.header-actions>.hd-acc--login{display:inline-flex}.nav-acc-mobile{display:none}}
.primary-nav a.menu-parent-link{cursor:default}

/* ===== 3.12: My Account ===== */
.dxa-hero h1{margin-bottom:.2rem}.dxa-hero__sub{margin:.3rem 0 0;color:#4b5870}
.dxa-section .woo-wrap{max-width:1200px}
.dxa{display:grid;gap:1.6rem;align-items:start}
@media (min-width:900px){.dxa{grid-template-columns:270px 1fr;gap:2rem}.dxa__side{position:sticky;top:110px}}
.dxa-card,.dxa-nav,.dxa__main>.woocommerce-orders-table,.dxa__main>form{background:#fff;border:1px solid #e6e9e7;border-radius:20px;box-shadow:0 10px 30px rgba(15,39,71,.05)}
.dxa__main{min-width:0}
.dxa-nav{padding:.8rem}
.dxa-nav__me{display:flex;align-items:center;gap:.75rem;padding:.6rem .6rem 1rem;border-bottom:1px solid #eef0ee;margin-bottom:.5rem}
.dxa-nav__me small{display:block;color:#6b7686;font-size:.75rem}.dxa-nav__me strong{color:var(--navy);font-weight:600}
.dxa-nav__av{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:var(--green-800);color:#fff;font-weight:600}
.dxa-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.dxa-nav a{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:12px;color:#33415c;text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.dxa-nav a .icon{width:20px;height:20px;color:#7a8698}
.dxa-nav a:hover{background:#f2f6f3;color:var(--green-800)}
.dxa-nav .is-active a,.dxa-nav a[aria-current]{background:#e7f1ea;color:var(--green-800)}.dxa-nav .is-active a .icon,.dxa-nav a[aria-current] .icon{color:var(--green-800)}
.dxa-nav .woocommerce-MyAccount-navigation-link--customer-logout{border-top:1px solid #eef0ee;margin-top:.4rem;padding-top:.4rem}
.dxa-nav .woocommerce-MyAccount-navigation-link--customer-logout a{color:#a03a2e}.dxa-nav .woocommerce-MyAccount-navigation-link--customer-logout a .icon{color:#a03a2e}
@media (max-width:899px){
 .dxa-nav__me{display:none}.dxa-nav{padding:.45rem}
 .dxa-nav ul{display:flex;overflow-x:auto;gap:.3rem;scrollbar-width:none}.dxa-nav ul::-webkit-scrollbar{display:none}
 .dxa-nav li{flex:0 0 auto}.dxa-nav a{padding:.6rem .8rem;white-space:nowrap;font-size:.9rem}
 .dxa-nav .woocommerce-MyAccount-navigation-link--customer-logout{border:0;margin:0;padding:0}
}
.dxa-welcome{padding:clamp(1.4rem,3vw,2rem);border-radius:20px;background:linear-gradient(135deg,#0f2e22,#1e4d33);color:#e9f1ec;margin-bottom:1.4rem}
.dxa-welcome .h-eyebrow{color:#cfe2d6}.dxa-welcome h2{color:#fff;margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.1rem)}
.dxa-welcome p{margin:0;max-width:44rem}.dxa-welcome a{color:#f3dfa2}
.dxa-tiles{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.dxa-tile{position:relative;display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.2rem 1.2rem 1.4rem;background:#fff;border:1px solid #e6e9e7;border-radius:18px;text-decoration:none;color:#4b5870;transition:transform .2s,box-shadow .2s,border-color .2s}
.dxa-tile:hover,.dxa-tile:focus-visible{transform:translateY(-2px);border-color:#cfe0d4;box-shadow:0 14px 30px rgba(15,39,71,.08)}
.dxa-tile strong{color:var(--navy);font-size:1.05rem}.dxa-tile span{font-size:.9rem}
.dxa-tile__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e7f1ea;color:var(--green-800);margin-bottom:.3rem}
.dxa-tile__go{position:absolute;right:1rem;top:1.2rem;color:#9aa4b1}.dxa-tile__go .icon{width:18px;height:18px}
.dxa-card{padding:clamp(1.1rem,2.5vw,1.6rem)}
.dxa-card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.dxa-card__head h3{margin:0;font-size:1.15rem;display:flex;align-items:center;gap:.6rem}
.dxa-card__head a{font-size:.9rem;font-weight:500}
.dxa-recent{list-style:none;margin:0;padding:0}
.dxa-recent a{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:.8rem .2rem;border-top:1px solid #f0f2f0;text-decoration:none;color:#4b5870}
.dxa-recent a:hover strong{color:var(--green-800)}.dxa-recent strong{color:var(--navy)}.dxa-recent__tot{font-weight:600;color:var(--navy)}
.dxa-st{display:inline-block;padding:.22rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500;background:#eef1f5;color:#44526a}
.dxa-st--completed{background:#e5f4e9;color:#1e6b3a}.dxa-st--processing{background:#e7effb;color:#1f4f99}.dxa-st--on-hold,.dxa-st--pending{background:#fdf3dc;color:#8a5a00}.dxa-st--cancelled,.dxa-st--failed,.dxa-st--refunded{background:#fbe8e6;color:#a03a2e}
.dxa-empty{color:#6b7686}.dxa-empty .btn{margin-left:.6rem}
.dxa-lead{color:#4b5870;margin:0 0 1.2rem}
.dxa-addr{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.dxa-addr__card{display:flex;flex-direction:column}
.dxa-addr__card address{font-style:normal;line-height:1.7;color:#33415c;flex:1;margin-bottom:1rem}
.dxa-addr__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e7f1ea;color:var(--green-800)}.dxa-addr__ic .icon{width:20px;height:20px}
.dxa-addr__edit{align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem}.dxa-addr__edit .icon{width:18px;height:18px}
/* orders table */
.dxa__main .woocommerce-orders-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}
.dxa__main .woocommerce-orders-table th{background:#f6f8f6;color:#4b5870;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:.9rem 1rem;border-bottom:1px solid #e6e9e7}
.dxa__main .woocommerce-orders-table td{padding:1rem;border-bottom:1px solid #f0f2f0;vertical-align:middle;color:#33415c}
.dxa__main .woocommerce-orders-table tr:last-child td{border-bottom:0}
.dxa__main .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a{font-weight:600;color:var(--navy)}
.dxa__main .woocommerce-orders-table .button,.dxa__main .woocommerce-pagination .button{display:inline-flex;align-items:center;min-height:38px;padding:.4rem 1rem;border-radius:999px;background:#e7f1ea;color:var(--green-800);font-weight:500;font-size:.85rem;text-decoration:none;border:0;margin:.15rem .25rem .15rem 0}
.dxa__main .woocommerce-orders-table .button:hover{background:var(--green-800);color:#fff}
@media (max-width:767px){
 .dxa__main .woocommerce-orders-table thead{display:none}
 .dxa__main .woocommerce-orders-table tr{display:block;padding:.6rem 1rem;border-bottom:1px solid #eef0ee}
 .dxa__main .woocommerce-orders-table td{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border:0;text-align:right}
 .dxa__main .woocommerce-orders-table td::before{content:attr(data-title);font-weight:600;color:#6b7686;text-align:left}
 .dxa__main .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{content:""}
 .dxa-recent a{grid-template-columns:1fr auto;row-gap:.25rem}
}
/* forms: edit address / account details / login */
.dxa__main>form,.dxa__main .woocommerce-address-fields{padding:clamp(1.1rem,2.5vw,1.8rem)}
.dxa__main>form h3,.dxa__main form>h2{margin-top:0}
.dxa__main .woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.dxa__main .form-row{margin:0 0 1rem;padding:0}.dxa__main .form-row-wide,.dxa__main #billing_address_1_field,.dxa__main #billing_address_2_field,.dxa__main #shipping_address_1_field,.dxa__main #shipping_address_2_field,.dxa__main #billing_country_field,.dxa__main #shipping_country_field{grid-column:1/-1}
.dxa__main .form-row-first,.dxa__main .form-row-last{float:none;width:auto}
@media (max-width:640px){.dxa__main .woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}}
.dxa__main label,.dxa-f label{display:block;font-weight:500;font-size:.9rem;color:var(--navy);margin:0 0 .35rem}
.dxa__main input.input-text,.dxa__main select,.dxa__main textarea,.dxa-auth input.input-text,.dxa__main .select2-container .select2-selection--single{width:100%;min-height:48px;padding:.7rem 1rem;border:1px solid #dfe4e1;border-radius:12px;background:#fbfcfb;font:inherit;color:var(--ink);box-sizing:border-box}
.dxa__main .select2-container .select2-selection--single{display:flex;align-items:center;padding:0 .6rem}.dxa__main .select2-selection__arrow{top:10px!important;right:8px!important}
.dxa__main input.input-text:focus,.dxa__main select:focus,.dxa-auth input.input-text:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent;background:#fff}
.dxa__main fieldset{border:1px solid #e6e9e7;border-radius:14px;padding:1rem 1.2rem;margin:1rem 0 1.2rem}.dxa__main legend{padding:0 .4rem;font-weight:600;color:var(--navy)}
.dxa__main button.button,.dxa__main .woocommerce-Button{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.8rem 1.6rem;border-radius:999px;border:0;background:var(--green-800);color:#fff;font:600 .95rem/1 var(--sans);cursor:pointer}
.dxa__main button.button:hover{background:#163c28}
.dxa__main .woocommerce-message,.dxa__main .woocommerce-info,.dxa-section .woocommerce-error,.dxa-section .woocommerce-message,.dxa-section .woocommerce-info{list-style:none;margin:0 0 1.2rem;padding:1rem 1.2rem;border-radius:14px;background:#eef4f0;border:1px solid #d3e5d9;color:#1e4d33}
.dxa-section .woocommerce-error{background:#fbe8e6;border-color:#f3c9c3;color:#8a1c14}
/* login / register */
.dxa-auth{display:grid;gap:1.6rem;max-width:520px;margin:0 auto}
.dxa-auth--two{max-width:1000px}
@media (min-width:900px){.dxa-auth--two{grid-template-columns:1fr 1fr}}
.dxa-auth__card{padding:clamp(1.4rem,3vw,2.2rem)}
.dxa-auth__card h2{margin:0 0 1.2rem;font-size:clamp(1.6rem,3vw,2rem)}
.dxa-auth__card--reg{background:linear-gradient(180deg,#f6faf7,#fff)}
.dxa-f{margin:0 0 1rem}
.dxa-auth__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.2rem 0 1.2rem}
.dxa-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;color:#4b5870;cursor:pointer}.dxa-check input{width:18px;height:18px;accent-color:var(--green-800)}
.dxa-auth__lost{font-size:.9rem}
.dxa-auth__btn{width:100%;justify-content:center;min-height:52px;display:inline-flex;align-items:center;gap:.5rem}
.dxa-auth__btn .icon{width:20px;height:20px}
.dxa-note{font-size:.9rem;color:#6b7686;background:#f3f6f4;border-radius:12px;padding:.8rem 1rem}
.dxa-auth .woocommerce-privacy-policy-text{font-size:.82rem;color:#6b7686}
.dxa{grid-template-columns:minmax(0,1fr)}.dxa__side,.dxa__main{min-width:0}
@media (min-width:900px){.dxa{grid-template-columns:270px minmax(0,1fr)}}
@media (min-width:1080px) and (max-width:1359px){.header-actions .hd-acc__name{display:none}.header-actions .hd-acc__btn{padding:.45rem .6rem}}

/* 3.12.1 */
.dxa-nav__me{display:flex;flex-wrap:nowrap;align-items:center;min-width:0}
.dxa-nav__me .dxa-nav__av{flex:0 0 44px;width:44px}
.dxa-nav__who{display:block;flex:1 1 auto;min-width:0;width:auto;line-height:1.3;white-space:normal}
.dxa-nav__who small,.dxa-nav__who strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.map-wrap iframe{display:block;width:100%;min-height:240px}
/* WooCommerce woocommerce-layout.css floats the nav at width:30% (and content at 68%) — neutralise inside the .dxa grid */
.woocommerce-account .dxa .woocommerce-MyAccount-navigation,.woocommerce-account .dxa .woocommerce-MyAccount-content,.dxa .woocommerce-MyAccount-navigation,.dxa .woocommerce-MyAccount-content{float:none!important;width:auto!important;max-width:100%}

/* 3.13: service overview pages (template-overview.php) */
.ov-hero .tx-title{font-size:clamp(2.3rem,6.4vw,3.9rem)}
.ov-hero__lead{font-weight:500;color:var(--navy)}
.ov-hero__text p{color:#3b4b68;line-height:1.75;max-width:36rem}
.ov-hero__media img{aspect-ratio:4/4.2;object-position:center 30%}
.ov-avail{display:inline-flex;gap:.55rem;align-items:flex-start;margin:.4rem 0 0;padding:.6rem 1rem;border-radius:14px;background:#e8efe9;color:var(--green-800);font-weight:500;font-size:.95rem;line-height:1.45}
.ov-avail .icon{flex:none;width:18px;height:18px;margin-top:.1rem}
.ov-avail--center{margin-inline:auto}
.ov-sec{padding:var(--section) 0;background:#fff}
.ov-sec--alt{background:#f8f8f6}
.ov-head{max-width:760px;margin:0 0 2.2rem}
.ov-head--center{text-align:center;margin-inline:auto}
.ov-head .h-serif{margin:0 0 .8rem}
.ov-intro p,.ov-split .ov-intro p{color:#3b4b68;line-height:1.75;font-size:1.02rem}
.ov-split .ov-head{margin:0}
.ov-split .split__media img{aspect-ratio:4/3.2;border-radius:28px}
.ov-sub{font-weight:500;color:var(--navy);font-size:1.2rem;margin:0 0 1.2rem}
.ov-cards{display:grid;gap:1.2rem}
.ov-card h3{margin-top:.8rem}
.ov-cards--groups .ov-card h3{margin-top:0;font-size:1.08rem}
.ov-ticks{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.5rem}
.ov-ticks li{display:flex;gap:.55rem;align-items:flex-start;color:#3b4b68;font-size:.93rem;line-height:1.5}
.ov-ticks .icon{flex:none;width:16px;height:16px;margin-top:.2rem;color:var(--green-800);stroke-width:2.6}
.ov-note{display:flex;gap:.6rem;align-items:flex-start;margin:1.8rem 0 0;padding:1rem 1.2rem;border-radius:16px;background:#f2f3ef;color:#3b4b68;font-size:.93rem;line-height:1.6}
.ov-note .icon{flex:none;width:18px;height:18px;margin-top:.15rem;color:var(--sage)}
.ov-note--plain{background:none;padding:0;margin-top:1rem}
.ov-steps__list li p{margin-top:.2rem}
.ov-assess__grid{margin-bottom:2rem}
.ov-assess__item img{aspect-ratio:4/3;object-fit:cover;background:#fff}
.ov-assess__n{font-size:.78rem;font-weight:600;letter-spacing:.14em;color:var(--sage)}
.ov-action{display:grid;gap:1.6rem;align-items:center;padding:clamp(1.6rem,4vw,2.6rem);border-radius:28px;background:var(--navy);color:#d6dee6}
.ov-action h3{color:#fff;font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 .3rem}
.ov-action__tag{color:var(--cream-2);font-weight:500;margin:0 0 .8rem}
.ov-action p{color:#cdd7e1;line-height:1.7}
.ov-action__media img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:20px}
.ov-access{display:grid;gap:1.2rem}
.ov-access__card{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.8rem}
.ov-access__card h3{margin:.6rem 0 0;color:var(--navy);font-weight:500;font-size:1.25rem}
.ov-access__card p{margin:0 0 .6rem;color:#3b4b68;line-height:1.7}
.ov-access__card .btn{margin-top:auto}
.ov-cta-wrap{background:#fff}
.ov-cta__side{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.ov-cta__loc{display:flex;gap:.55rem;align-items:flex-start;margin:0;color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.5}
.ov-cta__loc strong{display:block;color:#fff;font-weight:500}
.ov-cta__loc .icon{flex:none;width:18px;height:18px;margin-top:.1rem;color:var(--cream-2)}
.ov-cta p+p{margin-top:.6rem}
@media (min-width:700px){.ov-cards--2,.ov-cards--3,.ov-cards--4{grid-template-columns:repeat(2,1fr)}.ov-access{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.ov-split{grid-template-columns:1fr 1.1fr;gap:4rem}.ov-action{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem}.ov-cta{grid-template-columns:1.4fr auto;gap:2.5rem}.ov-assess__grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.ov-cards--3{grid-template-columns:repeat(3,1fr)}.ov-cards--4{grid-template-columns:repeat(4,1fr)}.ov-steps__list{grid-template-columns:repeat(4,1fr)}}

/* 3.13: Services page sections */
.svc-jump{background:rgba(248,248,246,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.svc-jump ul{list-style:none;margin:0;padding:.7rem 0;display:flex;gap:.5rem;overflow-x:auto;justify-content:center}
.svc-jump a{display:inline-block;white-space:nowrap;padding:.45rem 1rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:500;font-size:.9rem;text-decoration:none}
.svc-jump a:hover{border-color:var(--green-800);color:var(--green-800)}
.svc-sec{scroll-margin-top:140px}
.svc-sec__cta{margin:1.4rem 0 0}

/* 3.13: clinic branches (Contact page + homepage) */
.br-grid{display:grid;gap:1.2rem}
.br-card{display:flex;flex-direction:column;gap:.7rem;background:var(--cream);border-radius:var(--radius);padding:1.5rem 1.5rem 1.3rem}
.br-card__name{margin:0 0 .2rem;font-size:1.2rem;font-weight:600;color:var(--navy)}
.br-card__row{display:flex;gap:.75rem;align-items:flex-start;margin:0;color:#3b4b68;line-height:1.55;font-size:.95rem}
.br-card__row .icon{flex:none;width:34px;height:34px;padding:8px;border-radius:50%;background:var(--green-800);color:var(--gold-soft)}
.br-card__row a{color:inherit;text-decoration:none}.br-card__row a:hover{color:var(--green-800);text-decoration:underline}
.br-card__dir{margin-top:auto;align-self:flex-start}
.ct-branches{display:grid;gap:1rem}
.br-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .8rem}
.br-tabs [role=tab]{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font:500 .92rem/1.2 var(--sans);cursor:pointer}
.br-tabs [role=tab] .icon{width:16px;height:16px}
.br-tabs [role=tab][aria-selected=true]{background:var(--green-800);border-color:var(--green-800);color:#fff}
.br-tabs [role=tab]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.br-map iframe{border-radius:var(--radius)}
@media (min-width:700px){.br-grid--2,.br-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.br-grid--3{grid-template-columns:repeat(3,1fr)}}

/* 3.14: About Us + DXN Spa (sections from template-parts/ov-section.php) */
.ov-stats .stats{margin:0}
.ov-stats--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.ov-stats--4{grid-template-columns:repeat(4,1fr)}}
.ov-sec .h-svc__card{border:1px solid var(--line);box-shadow:none}
.spa-list{display:grid;gap:1.2rem}
.spa-item{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ov-sec--alt .spa-item{border-color:transparent}
.spa-item__media img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.spa-item__body{display:flex;flex-direction:column;padding:1.2rem 1.3rem 1.3rem}
.spa-item__body h3{margin:0 0 .4rem;font-size:1.12rem;font-weight:600;color:var(--navy)}
.spa-item__body p{margin:0 0 .8rem;color:#3b4b68;font-size:.93rem;line-height:1.6}
.spa-item__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.88rem!important;color:var(--green-800)!important;font-weight:500}
.spa-item__meta span{display:inline-flex;gap:.35rem;align-items:center}.spa-item__meta .icon{width:16px;height:16px}
.spa-item__price{padding:.15rem .7rem;border-radius:99px;background:var(--cream);color:var(--navy)}
.spa-item__br{display:flex;gap:.45rem;align-items:flex-start;font-size:.85rem!important;color:var(--green-800)!important}
.spa-item__br .icon{flex:none;width:16px;height:16px;margin-top:.15rem}
.spa-item .h-svc__link{margin-top:auto}
.spa-pack .spa-item__meta{margin:.2rem 0 .6rem}
.spa-here .icon{background:var(--sage)!important}
@media (min-width:600px){.spa-item{grid-template-columns:200px 1fr}.spa-item__media img{aspect-ratio:auto;min-height:100%}}
@media (min-width:1080px){.spa-list{grid-template-columns:repeat(2,1fr)}}

/* ===== 3.15 Prescription ordering ===== */
.dxp-rx{margin:1rem 0 1.25rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-left:4px solid var(--green-800);border-radius:14px;background:#fff}
.dxp-rx__t{display:flex;align-items:center;gap:.55rem;margin:0 0 .35rem;font-weight:600;color:var(--green-900)}
.dxp-rx__t .icon{color:var(--green-800)}
.dxp-rx__s{margin:0 0 .85rem;font-size:.92rem;color:var(--muted)}
.dxp-rx__b{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}
.dxp-rx-tag{display:inline-flex;align-items:center;gap:.35rem;margin:.35rem 0;font-size:.78rem;font-weight:600;color:var(--green-800)}
.dxp-rx-tag .icon{width:1em;height:1em}
.dxp-rx-loop.button{display:inline-flex;align-items:center;justify-content:center}
.dxa-nav__pid{display:block;margin-top:.1rem;font-size:.74rem;color:var(--green-700);letter-spacing:.02em}
.dxrx-pid{display:inline-block;padding:.12rem .55rem;border-radius:999px;background:var(--cream);color:var(--green-800);font-weight:600;font-size:.82rem;letter-spacing:.02em}
.dxa-st--rx-issued{background:#e7effb;color:#1f4f99}.dxa-st--rx-partial{background:#efe3c6;color:#6d5320}.dxa-st--rx-full{background:#e5f4e9;color:#1e6b3a}
.dxa-st--rx-declined,.dxa-st--rx-expired{background:#eef1f5;color:#5d6a80}.dxa-st--rx-change,.dxa-st--rx-repeat{background:#fdf3dc;color:#8a5a00}.dxa-st--rx-draft{background:#eef1f5;color:#44526a}
.dxrx-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.dxrx-list a{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.4rem 1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:.15s}
.dxrx-list a:hover{border-color:var(--green-600);box-shadow:var(--shadow)}
.dxrx-list a>span:nth-of-type(1){color:var(--muted);font-size:.88rem}
.dxrx-list__v{font-size:.85rem;color:var(--muted)}
.dxrx-list__go{color:var(--green-700)}
.dxrx-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.8rem}
.dxrx-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem 1.2rem;margin:0 0 1rem;padding:0}
.dxrx-meta>div,.dxrx-meta dt,.dxrx-meta dd{margin:0}
.dxrx-meta dt,.dxrx-meta b{display:block;font-size:.76rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.dxrx-tbl-wrap{overflow-x:auto;margin:0 0 1rem}
.dxrx-tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.dxrx-tbl th,.dxrx-tbl td{padding:.6rem .55rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.dxrx-tbl th{font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.dxrx-notes{padding:.8rem 1rem;border-radius:12px;background:var(--cream);margin:0 0 1rem}
.dxrx-orders{margin:0 0 1rem}
.dxrx-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.dxrx-more,.dxrx-det{margin:.8rem 0;border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem;background:#fff}
.dxrx-more summary,.dxrx-det summary{cursor:pointer;font-weight:600;color:var(--green-800)}
.dxrx-form{margin:.8rem 0}
.dxrx-form textarea,.dxrx-form input[type=text],.dxrx-form input[type=tel],.dxrx-form input[type=email],.dxrx-form select{width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.dxrx-accept{padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.dxrx-qty{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.dxrx-qty li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .8rem;border-radius:10px;background:#fff;border:1px solid var(--line)}
.dxrx-qty__in{display:inline-flex;align-items:center;gap:.4rem}
.dxrx-qty__in input{width:5rem;padding:.45rem .5rem;border:1px solid var(--line);border-radius:8px;font:inherit;text-align:center}
.dxrx-qty__in small{color:var(--muted)}
.dxrx-opts,.dxrx-addr{margin:0 0 1rem;padding:0;border:0}
.dxrx-opts legend,.dxrx-addr legend{font-weight:600;color:var(--green-900);margin-bottom:.45rem}
.dxrx-opt{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;margin:0 0 .4rem;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.dxrx-opt:has(input:checked){border-color:var(--green-700);box-shadow:0 0 0 1px var(--green-700)}
.dxrx-opt input{margin-top:.3rem;accent-color:var(--green-800)}
.dxrx-opt small{display:block;color:var(--muted);font-size:.84rem}
.dxrx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem .9rem}
.dxrx-grid label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.2rem}
.dxrx-hint{font-size:.86rem;color:var(--muted)}
.dxrx-legal{margin-top:1.2rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.dxrx-back{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .8rem}
.dxrx-print{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.35rem .9rem;font:inherit;font-size:.85rem;cursor:pointer}
[hidden]{display:none!important}
@media (max-width:640px){.dxrx-list a{grid-template-columns:1fr auto}.dxrx-list a>span:nth-of-type(1),.dxrx-list__v{grid-column:1/-1}.dxrx-list__go{display:none}}
@media print{.site-header,.site-footer,.dxa-nav,.dxrx-actions,.dxrx-back,.dxrx-form,.dxrx-more,.dxrx-orders,.dxn-sticky,.dxa-side{display:none!important}.dxrx-view{border:0;box-shadow:none}body{background:#fff}}

/* =========================================================
 * 3.16 Book a Consultation + My Account › Consultations
 * ======================================================= */
.dxbk-section .container--narrow{max-width:920px}
.dxbk-intro{margin-bottom:1.5rem}
.dxbk-form{display:grid;gap:1.25rem}
.dxbk-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem 1.5rem;box-shadow:var(--shadow)}
.dxbk-step h2{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;font-family:var(--sans);font-size:1.2rem;font-weight:600;color:var(--green-900)}
.dxbk-step h2 span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green-800);color:#fff;font-size:.95rem;flex:0 0 auto}
.dxbk-step fieldset{border:0;margin:0 0 1rem;padding:0}.dxbk-step legend{font-weight:600;color:var(--green-900);margin-bottom:.5rem}
.dxbk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem}
.dxbk-card{position:relative;cursor:pointer}.dxbk-card input{position:absolute;opacity:0;inset:0}
.dxbk-card__b{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;align-items:center;height:100%;box-sizing:border-box;padding:1rem;border:1.5px solid var(--line);border-radius:14px;background:var(--paper,#fff);transition:border-color .15s,box-shadow .15s}
.dxbk-card__b svg{grid-row:span 2;width:26px;height:26px;color:var(--green-700)}.dxbk-card__b b{color:var(--green-900)}.dxbk-card__b small{grid-column:2;color:var(--muted);font-size:.84rem;line-height:1.35}
.dxbk-card input:checked+.dxbk-card__b{border-color:var(--green-700);box-shadow:0 0 0 2px var(--green-700);background:#f6faf7}
.dxbk-card input:focus-visible+.dxbk-card__b,.dxbk-chip input:focus-visible+span,.dxbk-tab input:focus-visible+span,.dxbk-time input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.dxbk-chips,.dxbk-times{display:flex;flex-wrap:wrap;gap:.5rem}
.dxbk-chip,.dxbk-time,.dxbk-tab{position:relative;cursor:pointer}.dxbk-chip input,.dxbk-time input,.dxbk-tab input{position:absolute;opacity:0;width:1px;height:1px}
.dxbk-chip span,.dxbk-time span{display:inline-block;padding:.55rem 1rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-size:.92rem;color:var(--ink)}
.dxbk-time span{min-width:92px;text-align:center;border-radius:10px;font-weight:500}
.dxbk-chip input:checked+span,.dxbk-time input:checked+span{background:var(--green-800);border-color:var(--green-800);color:#fff}
.dxbk-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.dxbk-tab span{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:12px;font-weight:600;color:var(--green-900);background:#fff}
.dxbk-tab span svg{width:20px;height:20px}.dxbk-tab input:checked+span{border-color:var(--green-700);box-shadow:0 0 0 2px var(--green-700);background:#f6faf7}
.dxbk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.4rem 1rem}
.dxbk-f{margin:0 0 .9rem}.dxbk-f label{display:block;font-weight:500;font-size:.92rem;margin-bottom:.3rem;color:var(--green-900)}
.dxbk-f input,.dxbk-f select,.dxbk-f textarea{width:100%;box-sizing:border-box;min-height:46px;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.dxbk-f textarea{min-height:70px}.dxbk-date{max-width:260px}
.dxbk-slots{min-height:48px}.dxbk-hint{color:var(--muted);font-size:.88rem;margin:.4rem 0}.dxbk-none{color:#8a3b00;background:#fdf3dc;padding:.7rem 1rem;border-radius:10px;margin:.3rem 0}
.dxbk-me{font-weight:500;margin:0 0 .8rem}.dxbk-check{display:flex;align-items:flex-start;margin:.2rem 0 .9rem;line-height:1.45}.dxbk-check input{margin-top:.15rem;flex:0 0 auto}
.dxbk-fee{font-size:1.05rem;margin:0 0 1rem}.dxbk-fee b{font-size:1.3rem;color:var(--green-900)}
.dxbk-actions{margin:.5rem 0 0}.dxbk-actions .btn{width:100%;justify-content:center}
.dxbk-err{background:#fbe8e6;color:#8a2a1f;border:1px solid #f1c2bc;padding:.8rem 1rem;border-radius:12px;margin:0 0 1rem;font-weight:500}
.dxbk-off{background:var(--cream);padding:1.2rem 1.4rem;border-radius:14px}
.dxbk [hidden]{display:none!important}
.dxbk-done{text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem 1.5rem;box-shadow:var(--shadow)}
.dxbk-done__ic svg{width:48px;height:48px;padding:10px;border-radius:50%;background:#e5f4e9;color:#1e6b3a}.dxbk-done h2{font-family:var(--sans);margin:.3rem 0 .5rem}
.dxbk-sum{display:grid;gap:0;margin:1.2rem auto;max-width:520px;text-align:left;border-top:1px solid var(--line)}.dxbk-sum div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.dxbk-sum dt{color:var(--muted)}.dxbk-sum dd{margin:0;font-weight:500}
.dxbk--thanks{margin:0 0 2rem}
/* My Account */
.dxbk-item{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:0 0 .75rem;background:#fff}
.dxbk-item__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.dxbk-item__top span{display:block;color:var(--muted);font-size:.88rem;margin-top:.2rem}
.dxbk-item__pay{margin:.5rem 0 0;font-size:.9rem}.dxbk-item__btns{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0}.dxbk-item__btns svg{width:16px;height:16px;margin-right:.3rem}
.dxbk-chg{margin-top:.75rem}.dxbk-chg summary{cursor:pointer;color:var(--green-800);font-weight:500;font-size:.92rem}
.dxbk-chg__in{display:grid;gap:.9rem;margin-top:.6rem}.dxbk-chg__f label{display:block;font-size:.9rem;margin-bottom:.4rem}
.dxbk-chg__f textarea,.dxbk-chg__f input{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;font:inherit}
.dxbk-acc__more{margin:.5rem 0 0}
.btn--danger{border-color:#b3261e;color:#b3261e;background:#fff}.btn--danger:hover{background:#b3261e;color:#fff}
.dxa-st--bk-unpaid{background:#fdf3dc;color:#8a5a00}.dxa-st--bk-received{background:#e7effb;color:#1f4f99}.dxa-st--bk-confirmed,.dxa-st--bk-completed{background:#e5f4e9;color:#1e6b3a}
.dxa-st--bk-callback,.dxa-st--bk-called{background:#fde7c8;color:#8a3b00}.dxa-st--bk-cancelled,.dxa-st--bk-noshow{background:#eef1f5;color:#5d6a80}
@media(max-width:600px){.dxbk-step{padding:1.1rem 1rem}.dxbk-tabs{grid-template-columns:1fr}.dxbk-sum div{grid-template-columns:1fr;gap:.1rem}.dxbk-time span{min-width:80px}}

/* ===== 3.19 Physiotherapy (shared: My Account + staff portal) ===== */
.dxph-counter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:.4rem 0 .5rem}
.dxph-c{background:#f3f7f4;border:1px solid #dfe9e2;border-radius:12px;padding:.7rem .6rem;text-align:center}
.dxph-c b{display:block;font-size:1.6rem;line-height:1.1;color:#1e4d33}
.dxph-c span{display:block;font-size:.78rem;color:#5b6b62;margin-top:.15rem}
.dxph-c--left{background:#2c6e49;border-color:#2c6e49}.dxph-c--left b,.dxph-c--left span{color:#fff}
.dxph-counter--sm .dxph-c{padding:.45rem .4rem}.dxph-counter--sm .dxph-c b{font-size:1.2rem}
.dxph-exp{font-size:.88rem;color:#4c5a53;margin:.2rem 0 .6rem}
.dxph-bad{color:#b32d2e;font-weight:600}.dxph-due{color:#a15c00;font-weight:600}
.dxph-pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#e7f1ea;color:#1e4d33;vertical-align:middle}
.dxph-pill--recovered{background:#dbeafe;color:#1e3a8a}.dxph-pill--closed{background:#eceff1;color:#455a64}
.dxph-dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:.6rem 0 1rem}.dxph-dl dt{color:#5b6b62;font-weight:600}.dxph-dl dd{margin:0}
.dxph-exlist{margin:.3rem 0 1rem 1.2rem;padding:0}.dxph-exlist li{margin:.35rem 0}
.dxph-rec{background:#fff8e6;border:1px solid #f1e0b0;border-radius:12px;padding:.7rem 1rem;margin:.6rem 0 1rem}.dxph-rec h4{margin:0 0 .3rem}.dxph-rec p{margin:0}
.dxph-files{list-style:none;margin:.3rem 0 .8rem;padding:0}.dxph-files li{display:flex;gap:.7rem;align-items:center;padding:.5rem 0;border-bottom:1px solid #eef1ef}
.dxph-ft{flex:0 0 auto;font-size:.7rem;font-weight:700;background:#2c6e49;color:#fff;border-radius:6px;padding:.2rem .4rem}
.dxph-fn{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.dxph-fn small{display:block;color:#6b7a72;font-size:.78rem}
.dxph-none{color:#6b7a72}.dxph-hint{display:block;color:#6b7a72;font-size:.8rem;margin-top:.25rem}
.dxph-up input[type=file],.dxph-upl input[type=file]{display:block;max-width:100%;margin-top:.3rem}
.dxph-rule{font-size:.88rem;margin:.2rem 0 .5rem}.dxph-rulet{display:flex;gap:.4rem;align-items:flex-start;font-size:.85rem;color:#4c5a53;background:#f3f7f4;border-radius:10px;padding:.55rem .75rem}
.dxph-rulet svg{flex:0 0 auto;width:16px;height:16px;margin-top:2px}
.dxph-packl{list-style:none;margin:.3rem 0 .8rem;padding:0}.dxph-packl li{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid #eef1ef}.dxph-packl small{display:block;color:#6b7a72}
.dxph-pbtn{display:flex;flex-wrap:wrap;gap:.4rem}
.dxph-packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin:.4rem 0}
.dxph-packopt{display:block;cursor:pointer}.dxph-packopt input{position:absolute;opacity:0}
.dxph-packopt span{display:block;border:1.5px solid #d6e2da;border-radius:12px;padding:.6rem .7rem;background:#fff}
.dxph-packopt b{display:block}.dxph-packopt em{display:block;font-style:normal;font-weight:700;color:#1e4d33}.dxph-packopt small{display:block;color:#6b7a72;font-size:.75rem}
.dxph-packopt input:checked+span{border-color:#2c6e49;box-shadow:0 0 0 2px rgba(44,110,73,.18);background:#f3f7f4}
.dxph-packopt input:focus-visible+span{outline:2px solid #2c6e49;outline-offset:2px}
.dxph-qty input{width:5rem}
.dxph-af{margin:.4rem 0}.dxph-af label{display:block;margin:.3rem 0}.dxph-af input[type=text]{width:100%;max-width:420px}
.dxph-buy,.dxph-past{margin:.6rem 0}.dxph-buy summary,.dxph-past summary{cursor:pointer;font-weight:600;color:#2c6e49}
.dxph-pl{margin:.4rem 0 0 1rem}.dxph-acc h4{margin:1rem 0 .4rem}
@media (max-width:600px){.dxph-counter{grid-template-columns:repeat(2,minmax(0,1fr))}.dxph-dl{grid-template-columns:1fr}.dxph-dl dt{margin-top:.3rem}}
.dxph-err{display:block;color:#b32d2e;font-weight:600;font-size:.82rem;margin-top:.25rem}
