/*
Theme Name: Direct Chemist
Theme URI: https://example.com/direct-chemist
Author: Direct Chemist
Description: Proper WordPress/WooCommerce/Elementor-ready theme for Direct Chemist.
Version: 2.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: direct-chemist
*/
:root{--dc-green:#0f9f7d;--dc-dark:#04382c;--dc-light:#e6f7f1;--dc-border:#e0ece6;--dc-muted:#3a5f53}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--dc-dark);-webkit-font-smoothing:antialiased}
a{color:var(--dc-green);text-decoration:none}
a:hover{color:var(--dc-green)}
img{max-width:100%;height:auto}
.dc-container{width:min(1340px,100%);margin-inline:auto;padding-inline:24px}
.dc-topbar{background:var(--dc-dark);color:#e8f8f1;font-size:.875rem}
.dc-topbar-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dc-topbar a{color:#e8f8f1}
.dc-site-header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 var(--dc-border)}
.dc-main-header{padding:16px 0}
.dc-main-header-inner{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.dc-brand{display:inline-flex;align-items:center;gap:11px;color:var(--dc-dark);flex:0 0 auto}
.dc-brand-mark{width:44px;height:44px;background:var(--dc-green);color:#fff;display:grid;place-items:center;font-size:1.5rem;font-weight:800;border-radius:14px 14px 14px 4px}
.dc-brand-text{display:flex;flex-direction:column;line-height:1.05}
.dc-brand-the{font-size:.75rem;font-weight:700;color:var(--dc-green);letter-spacing:.04em}
.dc-brand-name{font-size:1.4375rem;font-weight:900;letter-spacing:-.03em}
.dc-brand-name span{color:var(--dc-green);font-weight:600}
.dc-header-search{flex:1 1 300px;max-width:520px;margin:0 auto;position:relative}
.dc-header-search form{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #d8f1e7;border-radius:12px;padding:9px 14px}
.dc-header-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:600 .9688rem Nunito,sans-serif;color:var(--dc-dark)}
.dc-header-search button{border:0;background:transparent;color:var(--dc-green);padding:0;cursor:pointer}
.dc-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.dc-header-action{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--dc-light);color:var(--dc-green)}
.dc-header-action:hover{background:var(--dc-green);color:#fff}
.dc-header-action svg{display:block}
.dc-cart-count{position:absolute;top:-5px;right:-5px;background:var(--dc-dark);color:#fff;font-size:.6875rem;font-weight:800;border-radius:999px;padding:2px 6px;line-height:1.2}
.dc-nav{border-top:1px solid var(--dc-border);background:#fff;position:relative}
.dc-nav-inner{display:flex;align-items:center;min-height:53px}
.dc-primary-menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:0;width:100%}
.dc-primary-menu>li{margin:0;position:relative}
.dc-primary-menu>li>a{display:flex;align-items:center;gap:7px;padding:14px 15px;color:var(--dc-dark);font-size:.9688rem;font-weight:700;border-bottom:3px solid transparent;white-space:nowrap}
.dc-primary-menu>li>a:hover,.dc-primary-menu>li.current-menu-item>a,.dc-primary-menu>li.current-menu-ancestor>a{color:var(--dc-green);border-bottom-color:var(--dc-green);text-decoration:none}
.dc-primary-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:230px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--dc-border);border-radius:14px;box-shadow:0 18px 40px #04382c26;z-index:110}
.dc-primary-menu li:hover>.sub-menu,.dc-primary-menu li:focus-within>.sub-menu{display:block}
.dc-primary-menu .sub-menu a{display:block;padding:10px 12px;border-radius:9px;color:var(--dc-dark);font-weight:700}
.dc-primary-menu .sub-menu a:hover{background:var(--dc-light);color:var(--dc-green)}
.dc-primary-menu li.dc-has-mega{position:static}
.dc-primary-menu li.dc-has-mega:hover>.sub-menu,.dc-primary-menu li.dc-has-mega:focus-within>.sub-menu{display:none}
.dc-primary-menu li.dc-has-mega>a{color:var(--dc-dark)}
.dc-primary-menu li.dc-has-mega>a:after{content:"";display:inline-block;width:9px;height:9px;margin-left:4px;border-right:2px solid #0f9f7d;border-bottom:2px solid #0f9f7d;transform:rotate(45deg);translate:0 -2px}

/* Mega menu panel (assets/js/mega-menu.js) */
.dc-mega-panel{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--dc-border);box-shadow:0 22px 44px #04382c1f;z-index:150}
.dc-mega-panel.is-open{display:block}
.dc-mega-panel-inner{width:min(1340px,100%);margin:0 auto;padding:22px clamp(16px,3vw,24px);display:flex;flex-wrap:wrap;gap:0;box-sizing:border-box}
.dc-mega-cats{flex:0 1 300px;min-width:min(100%,240px);border-right:1px solid var(--dc-border);padding-right:22px;display:flex;flex-direction:column;max-height:420px;overflow-y:auto}
.dc-mega-cats button{border:0;cursor:pointer;font-family:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:10px;font-size:.9688rem;font-weight:700;background:transparent;color:var(--dc-dark)}
.dc-mega-cats button.is-active{background:var(--dc-light);color:var(--dc-green)}
.dc-mega-links-col{padding:4px 0 4px 30px;min-width:240px}
.dc-mega-title{font-size:.7813rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--dc-green);margin-bottom:14px}
.dc-mega-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 24px;max-height:340px;overflow-y:auto}
.dc-mega-links a{font-size:.9375rem;font-weight:600;color:var(--dc-dark);padding:7px 0}
.dc-mega-links a:hover{color:var(--dc-green)}
.dc-mega-foot{border-top:1px solid var(--dc-border);background:#f4fbf8}
.dc-mega-foot-inner{width:min(1340px,100%);margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-sizing:border-box}
.dc-mega-footnote{font-size:.9063rem;color:var(--dc-muted)}
@media(max-width:900px){.dc-mega-panel{position:static;box-shadow:none}.dc-mega-panel-inner{flex-direction:column}.dc-mega-cats{border-right:0;border-bottom:1px solid var(--dc-border);padding-right:0;max-height:none}.dc-mega-links-col{padding-left:0}}
.dc-site-footer{background:var(--dc-dark);color:#b6d3c8;margin-top:40px}
.dc-footer-grid{padding-block:50px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:34px}
.dc-footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.dc-footer-menu a{color:#b6d3c8}
.dc-footer-menu a:hover{color:#fff}
.dc-footer-bottom{border-top:1px solid #124a3a}
.dc-footer-bottom-inner{padding-block:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.875rem;color:#8fb3a5}
@media(max-width:900px){.dc-main-header-inner{gap:14px}.dc-header-search{order:3;flex-basis:100%;max-width:none;margin:0}.dc-header-actions{margin-left:auto}.dc-primary-menu{overflow-x:auto}.dc-primary-menu>li>a{padding-inline:11px}}


/* Dynamic WooCommerce catalogue */
.dc-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:30px 0;padding:0;list-style:none}
.dc-products-grid:before,.dc-products-grid:after{content:none!important;display:none!important}

/* WooCommerce's own default product loop (Shop page, category archives
   without their own POM template, search results) — replaces WC's
   float-based .products layout with a responsive CSS Grid, matching
   the reference (Shop Category.dc.html). */
ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px!important;list-style:none;margin:30px 0!important;padding:0!important;clear:none!important}
ul.products::before,ul.products::after{content:none!important;display:none!important}

.dc-products-grid li.dc-product-card,ul.products li.dc-product-card{width:100%!important;margin:0!important;float:none!important}
.dc-product-card{position:relative;background:#fff;border:1px solid var(--dc-border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}
.dc-product-card:hover{border-color:var(--dc-green);box-shadow:0 16px 38px #008a641f}
.dc-product-card-media{position:relative;height:220px;background:#f4fbf8}
.dc-product-card-media-link{position:absolute;inset:0;z-index:1;display:block}
.dc-product-card-media img{width:100%;height:100%;object-fit:contain;padding:16px;box-sizing:border-box}
.dc-product-card .onsale{position:absolute;top:12px;left:12px;z-index:2;margin:0!important;min-height:0!important;min-width:0!important;line-height:1!important;background:linear-gradient(120deg,#22c197,var(--dc-green))!important;color:#fff!important;font-size:.75rem!important;font-weight:800;letter-spacing:.05em;padding:6px 11px;border-radius:8px;text-transform:uppercase}
.dc-product-card-body{padding:18px;display:flex;flex-direction:column;gap:7px;flex:1}
.dc-product-card-brand{font-size:.7813rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--dc-green)}
.dc-product-card-name{font-size:1.0625rem;font-weight:800;line-height:1.35;color:var(--dc-dark);text-decoration:none}
.dc-product-card-name:hover{color:var(--dc-green)}
.dc-product-card-form{font-size:.875rem;color:var(--dc-muted)}
.dc-product-card-rating{display:flex;align-items:center;gap:8px;font-size:.8438rem;color:var(--dc-muted)}
.dc-product-card-rating .star-rating{font-size:.8125rem;color:#e7e4ea}
.dc-product-card-rating .star-rating span{color:#f5a623}
.dc-product-card-rating .star-rating span::before{color:#f5a623}
.dc-product-card-price{font-size:1.375rem;font-weight:900;margin-top:4px;color:var(--dc-dark);display:flex;align-items:baseline;gap:9px}
.dc-product-card-price .price{display:flex;align-items:baseline;gap:9px;font-size:1em;font-weight:inherit;color:inherit}
.dc-product-card-price .price del{font-size:.6591rem;font-weight:700;color:#5a7d70;text-decoration:line-through;opacity:1}
.dc-product-card-price .price ins{text-decoration:none}
.dc-product-stock{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:700}
.dc-product-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;display:block}
.dc-product-stock--instock{color:var(--dc-green)}
.dc-product-stock--outofstock{color:#c0392b}
.dc-product-stock--onbackorder{color:#b8860b}
.dc-product-card-cta{margin-top:auto}
.dc-product-card-cta .button{width:100%;display:flex!important;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;font-family:inherit;background:linear-gradient(120deg,#22c197,var(--dc-green))!important;color:#fff!important;font-size:.9688rem;font-weight:800;padding:14px;border-radius:12px;text-align:center;text-decoration:none!important}
.dc-product-card-cta .button:hover{filter:brightness(.95)}
.dc-product-card-cta .button::before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;-webkit-mask:url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%2220%22 r=%221.6%22/%3E%3Ccircle cx=%2218%22 cy=%2220%22 r=%221.6%22/%3E%3Cpath d=%22M2 3h2.5l2.6 12.2h11.6l2.3-8.7H6%22/%3E%3C/svg%3E') center/contain no-repeat;mask:url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%2220%22 r=%221.6%22/%3E%3Ccircle cx=%2218%22 cy=%2220%22 r=%221.6%22/%3E%3Cpath d=%22M2 3h2.5l2.6 12.2h11.6l2.3-8.7H6%22/%3E%3C/svg%3E') center/contain no-repeat}
.dc-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px 0 18px}
.dc-section-heading h2{margin:0;font-size:1.875rem;font-weight:900;letter-spacing:-.035em;color:var(--dc-dark)}
.dc-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:25px 0}
.dc-category-card{padding:22px;border:1px solid #e7e7e7;border-radius:12px;text-decoration:none;display:flex;flex-direction:column;gap:8px}
@media(max-width:1024px){.dc-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dc-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dc-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}ul.products{gap:14px!important}.dc-product-card-media{height:160px}.dc-product-card-body{padding:14px;gap:5px}.dc-category-grid{grid-template-columns:1fr}}

/* =========================================================
   Buttons, forms, notices (shared)
   ========================================================= */
.dc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:.9688rem;padding:14px 22px;border-radius:12px;text-decoration:none}
.dc-btn-primary{background:linear-gradient(120deg,#22c197,var(--dc-green));color:#fff}
.dc-btn-primary:hover{filter:brightness(.95);color:#fff}
.dc-btn-outline{background:#fff;border:1.5px solid var(--dc-border);color:var(--dc-dark)}
.dc-btn-outline:hover{border-color:var(--dc-green)}
.dc-form{display:flex;flex-direction:column;gap:16px;max-width:760px}
.dc-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.dc-form label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:800;color:var(--dc-dark)}
.dc-form input[type=text],.dc-form input[type=email],.dc-form input[type=tel],.dc-form input[type=password],.dc-form textarea,.dc-form select{border:1.5px solid #dfeceb;border-radius:11px;padding:13px 15px;outline:0;font:600 .9688rem Nunito,sans-serif;color:var(--dc-dark);background:#fff}
.dc-checkbox-label{flex-direction:row!important;align-items:flex-start;gap:10px;font-weight:600!important;color:var(--dc-muted)}
.dc-notice{padding:14px 18px;border-radius:12px;font-weight:600;margin-bottom:18px}
.dc-notice-success{background:var(--dc-light);color:var(--dc-dark);border:1px solid #b6e6d5}
.dc-notice-error{background:#fdeceb;color:#8a1f14;border:1px solid #f3c6c1}
.dc-notice-error ul{margin:0;padding-left:18px}
.dc-eyebrow{display:inline-block;background:#fff;color:var(--dc-green);font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:10px}

/* Contact page */
.dc-contact-hero{padding:44px 0 18px;text-align:left}
.dc-contact-hero h1{font-size:2.25rem;letter-spacing:-.03em;margin:0 0 8px}
.dc-contact-quick{display:flex;gap:22px;flex-wrap:wrap;margin-top:14px;font-weight:800}
.dc-contact-quick a{color:var(--dc-dark)}
.dc-contact-quick a:hover{color:var(--dc-green)}
.dc-contact-form-wrap{background:#f4fbf8;border:1px solid var(--dc-border);border-radius:20px;padding:30px;margin:20px auto 60px}

/* =========================================================
   WooCommerce – Cart / Checkout / My Account / Login
   Styling the default WooCommerce markup so cart, checkout,
   login/register and order history stay fully functional
   while matching the brand.
   ========================================================= */
/* width:100vw + the left:50%/margin:-50vw breakout (not plain width:100%)
   for the same reason the breadcrumb bar needed it: on pages like Cart
   where this renders inside page.php's <main class="dc-container"> (itself
   capped at max-width:1340px), "100%" in the padding calc() below would
   resolve against that 1340px box instead of the real viewport, collapsing
   the alignment math to its 24px fallback — full-bleed in name only,
   boxed in practice. 100vw sidesteps the containing block entirely. */
.woocommerce-message,.woocommerce-info,.woocommerce-error{margin:0 0 20px!important;padding:14px 24px!important;border-top:0!important;border-bottom:2px solid transparent;border-radius:14px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 10px;font-size:.9063rem;font-weight:600;line-height:1.5;text-align:left;outline:0!important;box-shadow:none!important}
/* Full-bleed breakout — Cart/Checkout (no sidebar to collide with) and the
   single-product page's own .dc-notices wrapper (content-single-product.php
   renders the breadcrumb + notices with no .dc-container around them at
   all, on purpose, so the breadcrumb can run edge-to-edge — the notice
   needs the same treatment or it's left stranded at the bare viewport edge
   with no gutter). Everywhere else (My Account, etc.) the notice just
   stays contained to its own column — see the 100vw note further up for
   why it's 100vw and not width:100%. */
body.woocommerce-cart .woocommerce-message,body.woocommerce-cart .woocommerce-info,body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,body.woocommerce-checkout .woocommerce-info,body.woocommerce-checkout .woocommerce-error,
.dc-notices .woocommerce-message,.dc-notices .woocommerce-info,.dc-notices .woocommerce-error{width:100vw!important;max-width:none!important;position:relative!important;left:50%!important;right:50%!important;margin-left:-50vw!important;margin-right:-50vw!important;padding:14px max(24px,calc((100vw - 1340px)/2 + 24px))!important;border-radius:0}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none!important}
.woocommerce-message li,.woocommerce-info li,.woocommerce-error li{padding:0!important;margin:0!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 10px}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:none!important;order:2;background:none!important;color:var(--dc-green)!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;font:inherit;font-weight:800!important;text-decoration:underline!important}
.woocommerce-message .button:hover,.woocommerce-info .button:hover,.woocommerce-error .button:hover{background:none!important;color:var(--dc-dark)!important}
.woocommerce-message,.woocommerce-info,.woocommerce-noticebox-content{background:var(--dc-light)!important;border-bottom-color:var(--dc-green)!important;color:var(--dc-dark)}
.woocommerce-error{background:#fdeceb!important;border-bottom-color:#c0392b!important;color:#8a1f14}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce-page a.button{background:linear-gradient(120deg,#22c197,var(--dc-green));color:#fff;border-radius:12px;font-weight:800;padding:13px 22px;border:0}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--dc-dark);color:#fff}
.woocommerce a.button.alt,.woocommerce #payment #place_order{background:var(--dc-dark)}
.woocommerce table.shop_table{border:1px solid var(--dc-border);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{background:var(--dc-light);color:var(--dc-dark);font-weight:800}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:1px solid var(--dc-border);padding:14px}
.woocommerce .quantity .qty{border:1.5px solid #dfeceb;border-radius:10px;padding:10px}
.woocommerce .variations select{border:1.5px solid #dfeceb;border-radius:11px;padding:10px 14px;font:600 .9375rem Nunito,sans-serif;color:var(--dc-dark);background:#fff}
.woocommerce .single_add_to_cart_button{background:linear-gradient(120deg,#22c197,var(--dc-green))!important;background-color:transparent!important;font-family:Nunito,sans-serif!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1.5px solid #dfeceb!important;border-radius:11px!important;padding:13px 15px!important;font:600 .9688rem Nunito,sans-serif;color:var(--dc-dark)}
.woocommerce-EditAccountForm select,.woocommerce-EditAccountForm input.input-text{width:100%;border:1.5px solid #dfeceb!important;border-radius:11px!important;padding:13px 15px!important;outline:0;font:600 .9688rem Nunito,sans-serif;color:var(--dc-dark);background:#fff;box-sizing:border-box}
.woocommerce-EditAccountForm select:focus,.woocommerce-EditAccountForm input.input-text:focus{border-color:var(--dc-green)!important}
.woocommerce-EditAccountForm .mwp-dob-selects select{width:100%}
.woocommerce form .form-row{margin: 0px;}
.woocommerce-cart table.cart img{border-radius:10px;width:64px;height:auto}
.woocommerce-cart .cart-collaterals .cart_totals{background:#f4fbf8;border:1px solid var(--dc-border);border-radius:16px;padding:22px}
.woocommerce-cart .cart-collaterals .cart_totals h2{margin-top:0}
.mwp-raf-auth-note{max-width:460px;margin:40px auto -14px;font-size:.9375rem;font-weight:700;color:var(--dc-dark);text-align:center}
.woocommerce-account .addresses .title .edit{color:var(--dc-green);font-weight:800}

/* Sidebars / widgets */
.dc-with-sidebar{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start}
.dc-with-sidebar.dc-sidebar-right{grid-template-columns:1fr 260px}
.dc-sidebar .widget{background:#f4fbf8;border:1px solid var(--dc-border);border-radius:14px;padding:18px;margin-bottom:18px}
.dc-sidebar .widget-title{margin:0 0 12px;font-size:1rem;font-weight:900}
@media(max-width:900px){.dc-with-sidebar{grid-template-columns:1fr}}

/* =========================================================
   Basket (custom woocommerce/cart/cart.php)
   ========================================================= */
.dc-page-title{font-size:2.25rem;letter-spacing:-.03em;margin:28px 0 18px;font-weight:600;color:var(--dc-dark)}
.dc-cart-title{margin:28px 0 22px;line-height:1.22}
.dc-cart-count-inline{display:block;font-weight:900;font-size:2.25rem;color:var(--dc-green);letter-spacing:-.03em}
/* page.php wraps this whole template in <main class="dc-container"
   style="padding-top:40px">, so the breadcrumb bar (now the true first
   child — see cart.php) would otherwise sit 40px below the header with an
   odd gap of plain white above its own background band, instead of
   flush under the header like every other page's breadcrumb. Pull it up
   by exactly that padding; anything after it (notices, the title) just
   flows normally once this one has "spent" the negative margin. */
.dc-cart-page>.dc-cat-breadcrumb-bar:first-child,.dc-checkout-page>.dc-cat-breadcrumb-bar:first-child{margin-top:-40px!important}
.dc-cart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:28px;align-items:start}
.dc-cart-main{display:flex;flex-direction:column;gap:26px;min-width:0}
.dc-cart-items{display:flex;flex-direction:column;gap:16px}
.dc-cart-item{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--dc-border);border-radius:18px;padding:18px}
.dc-cart-item-photo{flex:0 0 auto}
.dc-cart-item-photo img{width:96px;height:96px;object-fit:contain;border-radius:14px;background:#f4fbf8}
.dc-cart-item-info{display:flex;flex-direction:column;gap:5px;flex:1 1 200px;min-width:0}
.dc-cart-item-name{display:flex;flex-direction:column;gap:4px;font-weight:800;line-height:1.3;color:var(--dc-dark)}
.dc-cart-item-name a{color:var(--dc-dark);text-decoration:none}
.dc-cart-item-name a:hover{color:var(--dc-green)}
/* wc_get_formatted_cart_item_data() outputs a raw <dl class="variation">
   (e.g. "Strength: 0.15%") right after the name — un-bold it into a
   muted subtitle line instead of inheriting the title's bold weight and
   the browser's default dl/dt/dd spacing. */
.dc-cart-item-name dl.variation{margin:0;font-size:.8438rem;font-weight:600;line-height:1.4;color:var(--dc-muted)}
.dc-cart-item-name dl.variation dt{display:inline;margin:0 4px 0 0;font-weight:600}
.dc-cart-item-name dl.variation dt:not(:first-of-type){margin-left:10px}
.dc-cart-item-name dl.variation dd{display:inline;margin:0}
.dc-cart-item-name dl.variation dd p{display:inline;margin:0}
.dc-cart-item-stock{font-size:.8125rem;font-weight:700;color:#a3342b}
.dc-cart-item-end{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;min-height:96px}
.dc-cart-item-price{font-weight:800;white-space:nowrap;font-size:1.125rem}
.dc-cart-item-actions{display:flex;align-items:center;gap:14px}
.dc-qty-stepper{display:inline-flex;align-items:center;border:1.5px solid #d8f1e7;border-radius:10px;overflow:hidden}
.dc-qty-stepper button{border:0;cursor:pointer;width:34px;height:34px;background:#f4fbf8;color:#008a64;font-weight:800;font-size:1rem;line-height:1}
.dc-qty-stepper button:hover{background:var(--dc-light)}
.dc-qty-stepper .quantity{display:contents}
.dc-qty-stepper input.qty{width:40px!important;text-align:center;border:0!important;padding:0!important;height:34px;font-weight:800;outline:0!important;box-shadow:none!important;background:transparent;-moz-appearance:textfield}
.dc-qty-stepper input.qty::-webkit-inner-spin-button,.dc-qty-stepper input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dc-qty-stepper:focus-within{border-color:var(--dc-green)}
.dc-cart-item-remove{color:#5a7d70;display:grid;place-items:center}
.dc-cart-item-remove:hover{color:var(--dc-dark)}
.dc-cart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dc-cart-continue{display:flex;align-items:center;gap:9px;font-size:.9688rem;font-weight:800;color:var(--dc-dark)}
.dc-cart-continue:hover{color:var(--dc-green)}
.dc-cart-update-link{border:0;background:transparent;font-family:inherit;font-size:.9063rem;font-weight:800;color:#5a7d70;padding:0;cursor:pointer}
.dc-cart-update-link:hover{color:var(--dc-dark)}
/* Qty +/- already auto-submits (assets/js/cart.js) by clicking this button
   programmatically — kept in the DOM for that, just not shown as its own
   control since there's nothing left for a shopper to manually trigger. */
.dc-cart-toolbar button[name=update_cart]{display:none}
.dc-cart-crosssell h2{margin:0 0 16px;font-size:1.5rem;font-weight:900;letter-spacing:-.03em}
.dc-crosssell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,220px));justify-content:start;gap:16px}
.dc-crosssell-card{background:#fff;border:1px solid var(--dc-border);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}
.dc-crosssell-card:hover{border-color:var(--dc-green)}
.dc-crosssell-photo{position:relative;display:block}
.dc-crosssell-photo-link{position:absolute;inset:0;z-index:1}
.dc-crosssell-photo img{width:100%;height:130px;object-fit:contain;background:#f4fbf8;border-radius:12px}
.dc-crosssell-name{font-size:.9688rem;font-weight:800;line-height:1.3;color:var(--dc-dark);text-decoration:none}
.dc-crosssell-name:hover{color:var(--dc-green)}
.dc-crosssell-price{font-size:1.0625rem;font-weight:900;margin-top:2px}
.dc-crosssell-price-from{font-size:.8125rem;font-weight:700;color:var(--dc-muted)}
.dc-crosssell-cta{margin-top:auto;width:100%;justify-content:center}
.dc-btn-sm{padding:9px 16px;font-size:.875rem;border-radius:10px}
.dc-cart-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}
.dc-cart-summary-card{background:#fff;border:1px solid var(--dc-border);border-radius:20px;box-shadow:0 14px 34px #04382c12;padding:24px;display:flex;flex-direction:column;gap:14px}
.dc-cart-summary-card h2{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-summary-row{display:flex;justify-content:space-between;gap:10px;font-size:.9688rem;color:var(--dc-muted)}
.dc-summary-row>span:last-child{font-weight:800;color:var(--dc-dark)}
.dc-summary-discount>span:last-child{color:var(--dc-green)!important}
.dc-summary-divider{height:1px;background:var(--dc-border)}
.dc-summary-total{align-items:baseline}
.dc-summary-total>span:first-child{font-size:1.0625rem;font-weight:800;color:var(--dc-dark)}
.dc-summary-total>span:last-child{font-size:1.625rem;font-weight:900}
.dc-cart-checkout-btn{width:100%;font-size:1.0313rem;padding:16px}
.dc-secure-note{display:flex;align-items:center;justify-content:center;gap:9px;font-size:.8438rem;color:var(--dc-muted)}
.dc-cart-coupon-card{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px}
.dc-coupon-label{font-size:.9688rem;font-weight:800}
.dc-coupon-row{display:flex;gap:10px;flex-wrap:wrap}
.dc-coupon-row .dc-btn-outline{background:#f4fbf8;border-color:#d8f1e7;color:#008a64}
.dc-coupon-row .dc-btn-outline:hover{border-color:var(--dc-green)}
.dc-coupon-row input{flex:1 1 140px;min-width:0;border:1.5px solid #dfeceb!important;border-radius:11px;padding:12px 15px;outline:0!important;box-shadow:none!important;font-family:inherit;font-size:.9375rem;color:var(--dc-dark);background:#fff}
.dc-coupon-row input:focus{border-color:var(--dc-green)!important}
.dc-cart-coupon-card .woocommerce-form-coupon-toggle,.dc-cart-coupon-card .woocommerce-form-coupon>p:first-child{display:none}
.dc-cart-reassurance{background:#f4fbf8;border:1px solid var(--dc-border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px}
.dc-reassurance-line{display:flex;align-items:flex-start;gap:11px;font-size:.9063rem;line-height:1.55;color:var(--dc-dark)}
.dc-reassurance-line svg{flex:0 0 17px;margin-top:3px}
.dc-cart-empty{padding:56px 0;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.dc-cart-empty-icon{width:66px;height:66px;border-radius:20px 20px 20px 6px;background:var(--dc-light);color:var(--dc-green);display:grid;place-items:center}
.dc-cart-empty-title{font-size:1.5rem;font-weight:900;letter-spacing:-.03em}
.dc-cart-empty-text{font-size:.9688rem;line-height:1.6;color:var(--dc-muted);max-width:34ch}
@media(max-width:900px){.dc-cart-grid{grid-template-columns:1fr}.dc-cart-aside{position:static}}
@media(max-width:640px){.dc-cart-item{padding:14px}.dc-cart-item-photo img{width:72px;height:72px}.dc-cart-item-end{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between;min-height:0}}

/* =========================================================
   Distraction-free checkout header + layout
   (woocommerce/checkout/thankyou.php uses the same header)
   ========================================================= */
.dc-checkout-header{background:#fff;box-shadow:0 1px 0 var(--dc-border);position:sticky;top:0;z-index:100}
.dc-checkout-header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.dc-checkout-header-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.dc-secure-note-header{display:flex;align-items:center;gap:8px;color:var(--dc-green);font-weight:700;font-size:.8438rem}
.dc-checkout-back{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:800;color:var(--dc-muted)}
.dc-checkout-back:hover{color:var(--dc-green);text-decoration:none}

/* =========================================================
   Order received / "Thank you" (woocommerce/checkout/thankyou.php)
   ========================================================= */
.dc-thankyou{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;padding:16px 0 40px}
.dc-thankyou-check{width:96px;height:96px;border-radius:50%;background:linear-gradient(150deg,#22c197,#008a64);color:#fff;display:grid;place-items:center;box-shadow:0 16px 38px #008a6440}
.dc-thankyou-heading h1{margin:0;font-size:2.875rem;line-height:1.2;letter-spacing:-.04em;font-weight:600}
.dc-thankyou-heading h1 span{display:block;font-weight:900;color:var(--dc-green)}
.dc-thankyou-heading p{margin:10px 0 0;font-size:1.0938rem;line-height:1.6;color:var(--dc-muted);max-width:52ch}
.dc-thankyou-facts{width:100%;background:#fff;border:1px solid var(--dc-border);border-radius:20px;box-shadow:0 14px 34px #04382c12;padding:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:22px;text-align:left}
.dc-fact{display:flex;flex-direction:column;gap:5px}
.dc-fact-label{font-size:.7813rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#00714f}
.dc-fact-value{font-size:1.0625rem;font-weight:800;letter-spacing:-.02em}
.dc-fact-note{font-size:.8438rem;color:var(--dc-muted)}
.dc-thankyou-steps{width:100%;background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:18px;text-align:left}
.dc-thankyou-steps h2{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-step-row{display:flex;gap:15px;align-items:flex-start}
.dc-step-n{flex:0 0 40px;width:40px;height:40px;border-radius:13px 13px 13px 4px;background:var(--dc-light);color:var(--dc-green);display:grid;place-items:center;font-size:1rem;font-weight:900}
.dc-step-copy{display:flex;flex-direction:column;gap:3px}
.dc-step-title{font-size:1.0313rem;font-weight:800}
.dc-step-desc{font-size:.9063rem;line-height:1.55;color:var(--dc-muted)}
.dc-thankyou-help{width:100%;background:linear-gradient(155deg,#04382c 0%,#008a64 52%,#22c197 100%);border-radius:20px;padding:28px;color:#fff;display:flex;flex-direction:column;gap:12px;text-align:left}
.dc-help-title{font-size:1.25rem;font-weight:900;letter-spacing:-.025em}
.dc-help-copy{font-size:.9375rem;line-height:1.6;color:#dbf4ea;max-width:56ch}
.dc-thankyou-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.dc-thankyou-footnote{display:flex;align-items:center;gap:9px;font-size:.8438rem;color:var(--dc-muted);margin-top:4px}

/* =========================================================
   Gravity Forms — RAF assessment flow, one question per page,
   restyled to match Assessment Form.dc.html. Selectors are scoped to
   plain .gform_wrapper (not .gravity-theme — this GF install actually
   renders .gform-theme--orbital, so a .gravity-theme-scoped rule here
   never matched anything).
   ========================================================= */
.mwp-raf-wrap{max-width:800px;margin:0 auto}
.mwp-raf-result-wrap{max-width:1100px}
.mwp-raf-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.mwp-raf-title{font-size:.9375rem;font-weight:800;color:var(--dc-dark)}
.mwp-raf-close{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:800;color:var(--dc-muted)}
.mwp-raf-close:hover{color:var(--dc-green)}
.mwp-raf-complete{font-size:.875rem;font-weight:700;color:var(--dc-muted)}
.mwp-raf-result-wrap .dc-med-grid{margin:0}
body.mwp-raf-page{background:#f4fbf8}
.dc-med-card-dose{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.dc-med-card-dose-label{font-size:.8438rem;font-weight:800;color:var(--dc-dark)}
.dc-med-card-dose-select-wrap{position:relative;display:block}
.dc-med-card-dose-select{width:100%;border:1.5px solid #dfeceb;border-radius:11px;padding:13px 42px 13px 15px;outline:0;font:700 .9688rem Nunito,sans-serif;color:var(--dc-dark);background:#fff;appearance:none}
.dc-med-card-dose-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--dc-green);display:grid;place-items:center}
.gform_wrapper{max-width:none;margin:0;background:#fff;border:1px solid var(--dc-border);border-radius:22px;box-shadow:0 18px 44px #04382c14;padding:34px}

/* Progress bar */
.gform_wrapper .gf_progressbar_wrapper{margin-bottom:22px}
.gform_wrapper .gf_progressbar_title{margin:0 0 10px;font-size:.875rem;font-weight:700;color:var(--dc-muted)}
.gform_wrapper .gf_progressbar{height:6px;background:var(--dc-light);border-radius:999px;overflow:hidden}
.gform_wrapper .gf_progressbar_percentage{background:linear-gradient(90deg,#22c197,var(--dc-green))!important;height:100%;transition:width .4s ease}
.gform_wrapper .gf_progressbar_percentage span{display:none}

/* Question title — one per page, so it reads like the mockup's h1 */
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font-size:1.75rem;font-weight:900;letter-spacing:-.03em;line-height:1.25;color:var(--dc-dark);margin-bottom:8px;text-wrap:pretty}
.gform_wrapper .gfield_required{display:none}
.gform_wrapper .gfield_description{font-size:.9688rem;line-height:1.6;color:var(--dc-muted);margin:0 0 20px}
.gform_wrapper .gsection_title{font-size:2rem;font-weight:600;letter-spacing:-.035em;line-height:1.22;color:var(--dc-dark);margin:0;text-wrap:pretty}
.gform_wrapper .dc-raf-heading-accent{display:block;font-size:2rem;font-weight:900;letter-spacing:-.035em;line-height:1.22;color:#008a64}
.gform_wrapper .gsection_description{font-size:1rem;line-height:1.65;color:var(--dc-muted);margin:14px 0 18px}
.gform_wrapper .gsection{border-bottom:0;padding-bottom:0;margin-bottom:22px}

/* Yes/No (and any other choice) pills — native input hidden but present
   for a11y/keyboard use; :checked+label carries the active state, since
   GF renders <input><label> as adjacent siblings inside .gchoice. */
.gform_wrapper .gfield_radio,.gform_wrapper .gfield_checkbox{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.gform_wrapper .gchoice{list-style:none}
.gform_wrapper .gchoice input.gfield-choice-input{position:absolute;opacity:0;width:1px;height:1px}
.gform_wrapper .gchoice{width:100%;display:block!important}
.gform_wrapper .gchoice label{display:flex;align-items:center;gap:13px;cursor:pointer;border:1.5px solid #dfeceb;border-radius:13px;padding:16px 18px;font-size:1rem;font-weight:700;color:var(--dc-dark);background:#fff;transition:border-color .15s ease,background .15s ease,color .15s ease;width:100%;box-sizing:border-box;margin:0!important}
.gform_wrapper .gchoice label:hover{border-color:#b6e8d4}
.gform_wrapper .gchoice label::before{content:'';flex:0 0 20px;height:20px;border-radius:50%;border:2px solid #c3ddd3;background:#fff;display:block;transition:border-color .15s ease,background .15s ease}
.gform_wrapper .gchoice input.gfield-choice-input:checked+label{border-color:var(--dc-green);background:var(--dc-light);color:#008a64}
.gform_wrapper .gchoice input.gfield-choice-input:checked+label::before{border-color:var(--dc-green);background:var(--dc-green);box-shadow:inset 0 0 0 3px #fff}
.gform_wrapper .gchoice input.gfield-choice-input:focus-visible+label{outline:2px solid var(--dc-green);outline-offset:2px}

/* Text-style inputs (name/email/phone/text/textarea/select) */
.gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper input[type=tel],.gform_wrapper input[type=number],.gform_wrapper input[type=password],.gform_wrapper textarea,.gform_wrapper select{border:1.5px solid #dfeceb!important;border-radius:11px!important;padding:13px 15px!important;font:600 .9688rem Nunito,sans-serif!important;color:var(--dc-dark)!important;width:100%}
.gform_wrapper input[type=text]:focus,.gform_wrapper input[type=email]:focus,.gform_wrapper input[type=tel]:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{border-color:var(--dc-green)!important;outline:0}
.gform_wrapper .ginput_container{margin-top:0}
.gform_wrapper .gform_fields{display:flex;flex-direction:column;gap:22px}

/* Consent / plain checkbox */
.gform_wrapper .ginput_container_consent{display:flex;align-items:flex-start;gap:12px}
.gform_wrapper .ginput_container_consent input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--dc-green);cursor:pointer}
.gform_wrapper .gfield_consent_label{font-size:.9688rem;line-height:1.55;color:var(--dc-dark);cursor:pointer}

/* Next / Previous / Submit */
.gform_wrapper .gform-page-footer,.gform_wrapper .gform_footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px;padding-top:0;border-top:0}
/* Page 1 (the disclaimer) has no Previous button — its lone Next button
   goes full width, matching the "Before you continue" CTA in the reference
   design, rather than sitting fit-content like every other page's pair. */
.gform_wrapper .gform-page-footer:not(:has(.gform_previous_button)) .gform_next_button{width:100%!important;justify-content:center}
.gform_wrapper .gform_next_button,.gform_wrapper .gform_button,.gform_wrapper .gform_footer input.gform_button{background:linear-gradient(120deg,#22c197,var(--dc-green))!important;color:#fff!important;border:0!important;border-radius:12px!important;font-weight:800!important;padding:16px 26px!important;font-size:1.0313rem!important;font-family:Nunito,sans-serif!important;display:inline-flex;align-items:center;gap:10px}
.gform_wrapper .gform_next_button::after,.gform_wrapper .gform_button::after{content:'';display:inline-block;flex:0 0 17px;width:17px;height:17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13.5 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.gform_wrapper .gform_next_button:hover,.gform_wrapper .gform_button:hover{filter:brightness(.95)}
.gform_wrapper .gform_previous_button{border:1.5px solid #d8f1e7!important;background:#fff!important;color:var(--dc-dark)!important;border-radius:12px!important;font-weight:800!important;padding:14px 24px!important;font-size:.9688rem!important;font-family:Nunito,sans-serif!important;display:inline-flex;align-items:center;gap:9px}
.gform_wrapper .gform_previous_button::before{content:'';display:inline-block;flex:0 0 16px;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304382c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6l-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.gform_wrapper .gform_previous_button:hover{border-color:var(--dc-green)!important;background:#f4fbf8!important}

.gform_wrapper .gfield_validation_message,.gform_wrapper .validation_message{color:#8a1f14;font-weight:700;font-size:.875rem;margin-top:8px}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error textarea,.gform_wrapper .gfield_error select{border-color:#c0392b!important}
.gform_validation_errors{background:#fdeceb;border:1px solid #e6b3ac;border-radius:14px;padding:18px;margin-bottom:20px;color:#8a1f14}

@media(max-width:600px){.gform_wrapper{padding:22px;border-radius:18px}.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font-size:1.375rem}}

/* =========================================================
   My Account — Dashboard / Repeat prescriptions / GP surgery
   (woocommerce/myaccount/dashboard.php, repeat-prescriptions.php,
   gp-surgery.php, plus the Rx status badge on view-order.php)
   ========================================================= */
.dc-dash-lead{margin:0;color:var(--dc-muted)}
.dc-dash-card{background:#fff;border:1px solid var(--dc-border);border-radius:16px;padding:22px;margin-bottom:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.dc-dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%}
.dc-dash-card-head h2{margin:0;font-size:1.125rem;font-weight:900}
.dc-dash-card-meta{margin:0;color:var(--dc-muted);font-size:.9063rem}
.dc-order-status-pill{background:var(--dc-light);color:#00714f;font-size:.8125rem;font-weight:800;padding:6px 13px;border-radius:999px;white-space:nowrap}
.dc-dash-quicklinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;width:100%}
.dc-dash-quicklink{background:#f4fbf8;border:1px solid var(--dc-border);border-radius:14px;padding:14px 16px;font-weight:800;color:var(--dc-dark);display:flex;align-items:center;gap:12px}
.dc-dash-quicklink:hover{border-color:var(--dc-green);color:var(--dc-green);text-decoration:none}
.dc-dash-quicklink-icon{flex:0 0 38px;height:38px;border-radius:12px 12px 12px 3px;background:var(--dc-light);color:var(--dc-green);display:grid;place-items:center}

/* ---- Account shell (My Account: dashboard, orders, gp-surgery, etc.) ---- */
.dc-account-title{margin:28px 0 4px;line-height:1.22}
.dc-account-title-accent{display:block;font-weight:900;color:var(--dc-green)}
.dc-account-sub{margin:0 0 28px;font-size:1rem;color:var(--dc-muted)}
.dc-account-layout{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.dc-account-content{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:20px}

/* WooCommerce's own bundled woocommerce-layout.css still enqueues a
   classic float-based 2-column rule for these exact two classes
   (nav:float:left;width:30% / content:float:right;width:68%) — it's core
   CSS, not something to edit directly, so reset it here instead. Same
   .woocommerce-MyAccount-navigation/-content elements also carry our own
   dc-account-aside/dc-account-content classes, which do the real layout. */
.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{float:none!important;width:auto!important}
.dc-account-aside{flex:0 1 300px;min-width:270px;position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}
.dc-account-who{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:20px;display:flex;align-items:center;gap:14px}
.dc-account-avatar{flex:0 0 50px;height:50px;border-radius:50%;background:var(--dc-light);color:var(--dc-green);display:grid;place-items:center;font-size:1.1rem;font-weight:900}
.dc-account-who-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.dc-account-who-name{font-size:1rem;font-weight:800}
.dc-account-who-email{font-size:.8125rem;color:var(--dc-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-account-nav{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:10px}
.dc-account-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.dc-account-nav li{margin:0}
.dc-account-nav-link{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;font-size:.9375rem;font-weight:800;color:var(--dc-dark);white-space:nowrap}
.dc-account-nav-link:hover{background:var(--dc-light);color:var(--dc-green);text-decoration:none}
.dc-account-nav-link.is-active{background:var(--dc-light);color:var(--dc-green)}
.dc-account-nav-icon{flex:0 0 auto;display:grid;place-items:center;color:inherit}
.dc-account-nav-label{flex:1;min-width:0}
.dc-account-signout{display:flex;align-items:center;justify-content:center;gap:9px;border:1.5px solid var(--dc-border);border-radius:14px;padding:13px;font-size:.9063rem;font-weight:800;color:var(--dc-muted);background:#fff}
.dc-account-signout:hover{border-color:var(--dc-green);background:var(--dc-light);color:var(--dc-dark);text-decoration:none}
.dc-account-cta{background:linear-gradient(155deg,#04382c 0%,#008a64 52%,#22c197 100%);border-radius:20px;padding:20px;color:#fff;display:flex;flex-direction:column;gap:8px}
.dc-account-cta-title{font-size:1.0625rem;font-weight:900;letter-spacing:-.02em}
.dc-account-cta-copy{font-size:.9063rem;line-height:1.55;color:#dbf4ea}
.dc-account-cta .dc-btn{margin-top:6px;background:#fff;color:var(--dc-dark);text-align:center;justify-content:center}
.dc-account-cta .dc-btn:hover{background:var(--dc-light)}
.dc-account-section-title{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-account-card{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:18px}
.dc-account-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dc-account-card-head h2{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-account-empty{align-items:center;text-align:center;gap:12px;padding:40px 22px}

/* Overview stat cards */
.dc-dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.dc-stat-card{background:#fff;border:1px solid var(--dc-border);border-radius:18px;padding:20px;display:flex;gap:13px;align-items:flex-start}
.dc-stat-icon{flex:0 0 40px;height:40px;border-radius:13px 13px 13px 4px;background:linear-gradient(150deg,#22c197,#008a64);color:#fff;display:grid;place-items:center}
.dc-stat-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.dc-stat-label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#00714f}
.dc-stat-value{font-size:1.5rem;font-weight:900;letter-spacing:-.03em;line-height:1.15}
.dc-stat-value--sm{font-size:1.0625rem}

/* Order cards (orders.php) */
.dc-order-list{display:flex;flex-direction:column;gap:14px}
.dc-order-card{background:#fff;border:1px solid var(--dc-border);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}
.dc-order-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dc-order-card-ref-wrap{display:flex;flex-direction:column;gap:3px}
.dc-order-card-ref{font-size:1.0625rem;font-weight:900}
.dc-order-card-date{font-size:.8438rem;color:var(--dc-muted)}
.dc-order-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dc-order-card-total{font-size:1.125rem;font-weight:900}
.dc-order-card-items{margin:0;font-size:.9063rem;line-height:1.55;color:var(--dc-muted)}
.dc-order-card-actions{display:flex;gap:10px;flex-wrap:wrap}
.dc-account-pagination{display:flex;gap:10px;justify-content:center;margin-top:4px}

/* form-edit-account.php field grouping */
.dc-account-field-group{display:flex;flex-direction:column;gap:14px}
.dc-account-eyebrow{font-size:.7813rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#00714f}
.dc-account-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dc-account-field-grid .form-row-wide{grid-column:1/-1}
.dc-account-field-grid .form-row-first,.dc-account-field-grid .form-row-last{width:100%!important}
.dc-account-form-submit{margin:0}
@media(max-width:480px){.dc-account-field-grid{grid-template-columns:1fr}}
@media(max-width:820px){.dc-account-aside{flex:1 1 100%;position:static}}
.dc-rx-status{display:inline-block;margin-top:6px;font-size:.8125rem;font-weight:800;padding:5px 11px;border-radius:999px}
.dc-rx-status--amber{background:#fdf3e0;color:#8a5a00}
.dc-rx-status--green{background:var(--dc-light);color:#00714f}
.dc-rx-status--red{background:#fdeceb;color:#a3342b}
.dc-rx-list{display:flex;flex-direction:column;gap:14px}
.dc-rx-row{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--dc-border);border-radius:16px;padding:16px}
.dc-rx-row-photo img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#f4fbf8}
.dc-rx-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.dc-rx-row-name{font-weight:800}
.dc-rx-row-meta{font-size:.8438rem;color:var(--dc-muted)}
@media(max-width:600px){.dc-rx-row{flex-wrap:wrap}}

/* =========================================================
   Treatments archive (template-parts/content/treatments.php)
   ========================================================= */
.dc-treatments-hero{background:linear-gradient(165deg,#e2f7ef 0%,#f1fbf7 48%,#e9f6f2 100%);padding-block:clamp(28px,5vw,52px) 44px}
.dc-treatments-hero-inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.dc-treatments-hero h1{margin:0;font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.2;letter-spacing:-.04em;font-weight:600;max-width:20ch}
.dc-treatments-hero p{margin:0;font-size:1.0938rem;line-height:1.6;color:var(--dc-muted);max-width:56ch}
.dc-treatments-search{width:100%;max-width:560px;display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #d8f1e7;border-radius:14px;padding:6px 8px}
.dc-treatments-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:600 1rem Nunito,sans-serif;color:var(--dc-dark);padding:10px 12px}
.dc-treatments-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-block:30px}
.dc-treatments-filters a{background:#fff;border:1px solid var(--dc-border);color:var(--dc-dark);font-weight:700;font-size:.9375rem;padding:9px 16px;border-radius:999px}
.dc-treatments-filters a:hover{border-color:var(--dc-green);color:var(--dc-green);text-decoration:none}
.dc-treatments-groups{display:flex;flex-direction:column;gap:40px;margin-block:20px 56px}
.dc-treatment-group-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;scroll-margin-top:90px}
.dc-treatment-group-initial{width:44px;height:44px;background:linear-gradient(150deg,#22c197,#008a64);border-radius:14px 14px 14px 4px;color:#fff;display:grid;place-items:center;font-size:1.0625rem;font-weight:900}
.dc-treatment-group-head h2{margin:0;font-size:1.625rem;font-weight:900;letter-spacing:-.03em}
.dc-treatment-group-count{font-size:.875rem;font-weight:700;color:var(--dc-green);background:var(--dc-light);padding:5px 12px;border-radius:999px}
.dc-treatments-no-results{text-align:center;padding:40px 0;color:var(--dc-muted)}
.dc-treatments-how{background:#f4fbf8;border-top:1px solid var(--dc-border);padding:clamp(28px,5vw,52px) 0;margin-top:clamp(28px,5vw,44px);width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.dc-treatments-how h2{max-width:1340px;margin:0 auto 26px;padding:0 clamp(16px,3vw,24px);font-size:1.875rem;font-weight:900;letter-spacing:-.035em;text-align:left}
.dc-treatments-how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;max-width:1340px;margin:0 auto;padding:0 clamp(16px,3vw,24px)}
.dc-step-card{background:#fff;border:1px solid var(--dc-border);border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.dc-treatments-cta{padding:clamp(28px,5vw,56px) 0}
.dc-treatments-cta-inner{background:linear-gradient(155deg,#04382c 0%,#008a64 52%,#22c197 100%);border-radius:22px;padding:44px;color:#fff;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px;align-items:center}
.dc-treatments-cta-copy h2{margin:0;font-size:2rem;font-weight:900;letter-spacing:-.035em;line-height:1.15}
.dc-treatments-cta-copy p{margin:8px 0 0;color:#dbf4ea;max-width:52ch}
.dc-treatments-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-self:end}

/* =========================================================
   GP surgery (woocommerce/myaccount/gp-surgery.php) — NHS
   ODS-backed search + change history (assets/js/gp-surgery.js)
   ========================================================= */
.dc-gp-current-card,.dc-gp-change-card,.dc-gp-history-card{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:22px;margin-bottom:20px}
.dc-gp-current-card .dc-account-card-head{margin-bottom:16px}
.dc-gp-current-label{display:block;font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dc-green);margin-bottom:8px}
.dc-gp-current-name{display:block;font-size:1.1875rem;font-weight:900;margin-bottom:3px}
.dc-gp-current-address{display:block;color:var(--dc-muted);font-size:.9375rem}
.dc-gp-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--dc-border);color:var(--dc-muted);font-size:.875rem;line-height:1.55}
.dc-gp-change-card h2,.dc-gp-history-card h2{margin:0 0 14px;font-size:1.25rem;font-weight:900}
.dc-gp-search input{width:100%;border:1.5px solid #dfeceb;border-radius:11px;padding:13px 15px;font:600 .9688rem Nunito,sans-serif;color:var(--dc-dark)}
.dc-gp-status{min-height:1.2em;color:#a3342b;font-size:.875rem;font-weight:700;margin:8px 0 0}
.dc-gp-results{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.dc-gp-result{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;background:#f4fbf8;border:1px solid var(--dc-border);border-radius:12px;padding:13px 16px;cursor:pointer;font-family:inherit}
.dc-gp-result:hover{border-color:var(--dc-green)}
.dc-gp-result--loading{opacity:.6}
.dc-gp-result-name{font-weight:800;color:var(--dc-dark)}
.dc-gp-result-postcode{font-size:.8438rem;font-weight:700;color:var(--dc-muted);white-space:nowrap}
.dc-gp-empty{color:var(--dc-muted);font-size:.9063rem;margin:0}
.dc-gp-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.dc-gp-history-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #f0f6f3}
.dc-gp-history-list li:last-child{border-bottom:0;padding-bottom:0}
.dc-gp-history-date{font-size:.8438rem;color:var(--dc-muted);white-space:nowrap}

/* =========================================================
   Product category landing page (template-parts/content/category.php)
   ========================================================= */
/* Full-bleed breakout: on pages where this sits inside a max-width:1340px
   ancestor (e.g. the Cart page's page.php wrapper), plain width:100% stays
   capped at that ancestor's width, so the max()/calc() alignment trick
   below would resolve against 1340px instead of the real viewport — width
   never reaching past it in the first place. 100vw + the negative-margin
   recentring trick escapes that regardless of ancestor width. */
.dc-cat-breadcrumb-bar{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;box-sizing:border-box;background:#f4fbf8;border-bottom:1px solid var(--dc-border);padding:14px max(24px,calc((100vw - 1340px)/2 + 24px));font-size:.9063rem;color:var(--dc-muted)}
.dc-cat-breadcrumb-bar .woocommerce-breadcrumb{margin:0}
.dc-cat-breadcrumb-bar .woocommerce-breadcrumb a{color:var(--dc-muted)}
.dc-raf-submitted-banner{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--dc-border);border-radius:22px;box-shadow:0 18px 44px #04382c14;padding:34px;margin:22px 0}
.dc-raf-submitted-badge{align-self:flex-start;display:flex;align-items:center;gap:9px;background:var(--dc-light);color:#008a64;font-size:.8438rem;font-weight:800;padding:8px 14px;border-radius:999px}
.dc-raf-submitted-banner h2{margin:0;font-size:2.125rem;font-weight:600;letter-spacing:-.035em;line-height:1.24;color:var(--dc-dark);text-wrap:pretty}
.dc-raf-submitted-banner h2 span{font-weight:900;color:#008a64}
.dc-raf-submitted-banner p{margin:0;color:var(--dc-muted);font-size:1rem;line-height:1.65;max-width:60ch}
@media(max-width:600px){.dc-raf-submitted-banner{padding:22px}.dc-raf-submitted-banner h2{font-size:1.5rem}}
.mwp-raf-pharmacist-note{margin-top:20px;background:#fff;border:1px solid var(--dc-border);border-radius:18px;padding:22px;display:flex;align-items:flex-start;gap:12px;font-size:.9063rem;line-height:1.6;color:var(--dc-muted)}
.mwp-raf-pharmacist-note svg{flex:0 0 19px;margin-top:2px}
.mwp-raf-pharmacist-note a{font-weight:700}
.dc-cat-hero{background:linear-gradient(165deg,#e2f7ef 0%,#f1fbf7 48%,#e9f6f2 100%);padding:clamp(28px,5vw,48px) 0}
.dc-cat-hero-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:34px;align-items:center}
.dc-cat-hero-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.dc-cat-hero-copy h1{margin:0;font-size:clamp(2.25rem,4vw,3rem);line-height:1.2;letter-spacing:-.04em;font-weight:600;color:var(--dc-dark)}
.dc-cat-hero-accent{font-weight:800;color:var(--dc-green)}

/* Richer medication card — category landing pages only (see medication-card.php) */
.dc-med-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;margin:30px 0;padding:0;list-style:none}
.dc-med-grid:before,.dc-med-grid:after{content:none!important;display:none!important}
.dc-med-card{width:100%!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--dc-border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}
.dc-med-card:hover{border-color:var(--dc-green);box-shadow:0 16px 38px #008a641f}
.dc-med-card-media{position:relative;height:190px;background:#f4fbf8}
.dc-med-card:not(:has(.dc-med-card-facts)) .dc-med-card-media{height:230px}
.dc-med-card-media-link{position:absolute;inset:0;z-index:1;display:block}
.dc-med-card-media img{width:100%;height:100%;object-fit:contain;padding:14px;box-sizing:border-box}
.dc-med-card-media .mwp-badge-rx{position:absolute;top:12px;left:12px;z-index:2;padding:6px 11px;font-size:.6875rem}
.dc-med-card-body{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1}
.dc-med-card-name{font-size:1.1875rem;font-weight:900;letter-spacing:-.02em;color:var(--dc-dark);line-height:1.3;min-height:52px}
.dc-med-card-name:hover{color:var(--dc-green)}
.dc-med-card-facts{display:flex;flex-direction:column;gap:7px;margin-top:6px;padding:14px;background:#f4fbf8;border-radius:12px;min-height:160px}
.dc-med-card-facts span{display:flex;align-items:flex-start;gap:9px;font-size:.8438rem;line-height:1.45;color:var(--dc-dark)}
.dc-med-card-facts svg{flex:0 0 15px;margin-top:2px}
.dc-med-card-price{font-size:1.4375rem;font-weight:900;margin-top:4px;color:var(--dc-dark)}
.dc-med-card-price .price{font-size:1em;font-weight:inherit;color:var(--dc-dark)}
.dc-med-card-price-from{font-size:.8125rem;font-weight:700;color:var(--dc-muted)}
.dc-med-card-cta{margin-top:auto}
.dc-med-card[hidden]{display:none}
@media(max-width:700px){.dc-med-grid{gap:14px}.dc-med-card-body{padding:16px}}
.dc-cat-hero-copy p{margin:0;font-size:1.0625rem;line-height:1.6;color:var(--dc-muted);max-width:48ch}
.dc-cat-hero-cta{margin-top:4px;padding:16px 30px;font-size:1rem}
.dc-cat-hero-cleared{margin-top:4px;display:inline-flex;align-items:center;gap:9px;background:var(--dc-light);color:#008a64;font-size:.9375rem;font-weight:800;padding:12px 18px;border-radius:999px}
.dc-cat-hero-photo{height:320px;border-radius:22px;overflow:hidden;background:#d8f1e7;box-shadow:0 18px 44px #04382c1f}
.dc-cat-hero-photo img{width:100%;height:100%;object-fit:cover}
.dc-cat-hero-photo--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#5fa88f;text-align:center;padding:24px}
.dc-cat-hero-photo--placeholder span{font-size:.8438rem;font-weight:700;color:#3a7d68;max-width:26ch}
.dc-cat-products{padding-top:clamp(28px,5vw,40px)}
.dc-cat-count{font-size:.9375rem;color:var(--dc-muted)}
.dc-cat-info{padding-top:clamp(24px,4vw,32px)}
.dc-cat-info-box{background:#f4fbf8;border:1px solid var(--dc-border);border-radius:20px;padding:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:26px}
.dc-cat-info-col{display:flex;flex-direction:column;gap:12px}
.dc-cat-info-col h2{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-cat-info-col p{margin:0;font-size:.9375rem;line-height:1.6;color:var(--dc-muted)}
.dc-cat-warning{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid var(--dc-border);border-radius:12px;padding:14px;font-size:.875rem;line-height:1.55;color:var(--dc-muted)}
.dc-cat-warning svg{flex:0 0 18px;margin-top:2px}
.dc-also-available{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:11px 14px;background:#f4fbf8;border:1px solid var(--dc-border);border-radius:10px;font-size:.9063rem}
.dc-also-available-label{color:var(--dc-muted);font-weight:700}
.dc-also-available a{font-weight:800;color:var(--dc-green)}
.dc-also-available a:not(:last-child):after{content:",";color:var(--dc-muted);font-weight:400;margin-left:-4px}
.dc-cat-faq{padding:clamp(28px,5vw,44px) 0}
.dc-cat-faq-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:34px}
.dc-cat-faq-intro{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.dc-cat-faq-intro h2{margin:0;font-size:1.875rem;font-weight:900;letter-spacing:-.035em}
.dc-cat-faq-intro p{margin:0;font-size:.9688rem;line-height:1.6;color:var(--dc-muted);max-width:40ch}
.dc-cat-faq-contact{font-size:1rem;font-weight:800;color:var(--dc-dark)}
.dc-cat-faq-contact:hover{color:var(--dc-green)}
.dc-cat-faq-list{display:flex;flex-direction:column;gap:12px}
.dc-faq-item{border:1.5px solid var(--dc-border);border-radius:12px;background:#fff;overflow:hidden}
.dc-faq-item[open]{border-color:#0f9f7d}
.dc-faq-item summary{cursor:pointer;list-style:none;padding:19px 50px 19px 20px;font-size:1.0313rem;font-weight:800;color:var(--dc-dark);position:relative}
.dc-faq-item summary::-webkit-details-marker{display:none}
.dc-faq-item summary::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid #008a64;border-bottom:2px solid #008a64;transform:translateY(-70%) rotate(45deg);transition:transform .15s ease}
.dc-faq-item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.dc-faq-answer{padding:0 20px 20px;font-size:.9688rem;line-height:1.65;color:var(--dc-muted)}
.dc-faq-answer p{margin:0 0 .8em}
.dc-faq-answer p:last-child{margin-bottom:0}
.dc-cat-contact{padding:clamp(28px,5vw,40px) 0}
.dc-cat-contact-inner{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:34px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.dc-cat-contact-inner h2{margin:0;font-size:1.5rem;font-weight:900;letter-spacing:-.03em}
.dc-cat-contact-inner p{margin:0 0 6px;color:var(--dc-muted)}
.dc-cat-cta{padding:0 0 clamp(28px,5vw,52px)}
.dc-cat-cta-inner{background:linear-gradient(155deg,#04382c 0%,#008a64 52%,#22c197 100%);border-radius:22px;padding:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px;align-items:center;color:#fff}
.dc-cat-cta-copy h2{margin:0;font-size:2rem;font-weight:900;letter-spacing:-.035em;line-height:1.15}
.dc-cat-cta-copy p{margin:8px 0 0;color:#dbf4ea;max-width:48ch}
.dc-cat-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-self:end}
.dc-cat-cta-btn-light{background:#fff;color:var(--dc-dark)}
.dc-cat-cta-btn-light:hover{background:var(--dc-light);color:var(--dc-dark)}
.dc-cat-cta-btn-outline{border:1.5px solid #ffffff80;color:#fff}
.dc-cat-cta-btn-outline:hover{background:#ffffff26;color:#fff}

/* =========================================================
   Shop archive (All products)
   ========================================================= */
.dc-shop-cat-heading{padding:30px 0 0;display:flex;flex-direction:column;gap:8px}
.dc-shop-cat-heading h1{margin:0;font-size:2rem;font-weight:900;letter-spacing:-.035em;color:var(--dc-dark)}
.dc-shop-cat-heading-desc{font-size:1rem;line-height:1.7;color:var(--dc-muted);max-width:70ch}
.dc-shop-cat-heading-desc p{margin:0 0 10px}
.dc-shop-cat-heading-desc p:last-child{margin-bottom:0}
.dc-shop-layout{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;padding:34px 0 64px}
.dc-shop-sidebar{flex:0 1 272px;min-width:min(100%,250px);display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}
.dc-shop-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dc-shop-sidebar-title{font-size:1.25rem;font-weight:900;letter-spacing:-.03em}
.dc-shop-clear-all{font-size:.875rem;font-weight:800;color:var(--dc-green)}
.dc-shop-filter-box{background:#fff;border:1px solid var(--dc-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:4px}
.dc-shop-filter-label{font-size:.7813rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#00714f;margin-bottom:8px}
.dc-shop-filter-label--spaced{margin-top:14px}
.dc-shop-cat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:.9375rem;font-weight:700;color:var(--dc-dark)}
.dc-shop-cat-row:hover{background:#f4fbf8;text-decoration:none;color:var(--dc-dark)}
.dc-shop-cat-row.is-active{background:var(--dc-light);color:var(--dc-green)}
.dc-shop-cat-count{font-size:.7813rem;font-weight:800;padding:2px 8px;border-radius:999px;background:#f4fbf8;color:#5a7d70}
.dc-shop-cat-row.is-active .dc-shop-cat-count{background:#fff;color:var(--dc-green)}
.dc-shop-range{width:100%;accent-color:var(--dc-green);margin:6px 0}
.dc-shop-range-labels{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--dc-muted);margin-bottom:6px}
.dc-shop-range-current{font-weight:800;color:var(--dc-dark)}
.dc-shop-checkbox-row{display:flex;align-items:center;gap:11px;font-size:.9375rem;font-weight:600;color:var(--dc-dark);cursor:pointer;padding:6px 0}
.dc-shop-checkbox-row input{width:18px;height:18px;accent-color:var(--dc-green)}
.dc-shop-apply{width:100%;margin-top:14px}
.dc-shop-advice{background:linear-gradient(155deg,#04382c 0%,#008a64 52%,#22c197 100%);border-radius:16px;padding:22px;color:#fff;display:flex;flex-direction:column;gap:9px}
.dc-shop-advice-title{font-size:1.0625rem;font-weight:900;letter-spacing:-.02em}
.dc-shop-advice-copy{font-size:.9063rem;line-height:1.55;color:#dbf4ea}
.dc-shop-advice-btn{margin-top:6px;background:#fff;color:var(--dc-dark)}
.dc-shop-advice-btn:hover{background:var(--dc-light);color:var(--dc-dark)}

.dc-shop-main{flex:1 1 540px;min-width:0;display:flex;flex-direction:column;gap:22px}
.dc-shop-search{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #d8f1e7;border-radius:14px;padding:14px 18px;color:var(--dc-green)}
.dc-shop-search input{flex:1;min-width:0;border:0;background:transparent;outline:0;font:600 1rem Nunito,sans-serif;color:var(--dc-dark)}
.dc-shop-search-btn{border:0;background:transparent;font-family:inherit;font-weight:800;font-size:.9063rem;color:var(--dc-green);cursor:pointer;padding:0}
.dc-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dc-shop-toolbar .woocommerce-result-count{font-size:.9375rem;color:var(--dc-muted);margin:0}
.dc-shop-sorts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dc-shop-sorts-label{font-size:.875rem;font-weight:700;color:var(--dc-muted)}
.dc-shop-sort-pill{border:1.5px solid var(--dc-border);font-size:.875rem;font-weight:700;padding:9px 15px;border-radius:999px;background:#fff;color:var(--dc-muted)}
.dc-shop-sort-pill:hover{text-decoration:none;border-color:var(--dc-green);color:var(--dc-green)}
.dc-shop-sort-pill.is-active{border-color:var(--dc-green);background:var(--dc-light);color:var(--dc-green)}
.dc-shop-empty{padding:56px 0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.dc-shop-empty-title{font-size:1.1875rem;font-weight:800}
.dc-shop-empty-copy{font-size:.9375rem;line-height:1.55;color:var(--dc-muted);max-width:36ch}
.dc-shop-pom-results{padding:32px 0 8px;display:flex;flex-direction:column;align-items:center;text-align:center}
.dc-shop-pom-note{margin:8px 0 0;font-size:.9375rem;line-height:1.55;color:var(--dc-muted);max-width:48ch}
.dc-shop-pom-results .dc-med-grid{width:100%;text-align:left}

.woocommerce-pagination{margin:20px 0 0}
.woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.woocommerce-pagination .page-numbers li{display:contents}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:10px;border:1.5px solid var(--dc-border);font-size:.9063rem;font-weight:800;color:var(--dc-dark)}
.woocommerce-pagination .page-numbers a:hover{border-color:var(--dc-green);color:var(--dc-green);text-decoration:none}
.woocommerce-pagination .page-numbers span.current{background:var(--dc-green);border-color:var(--dc-green);color:#fff}

@media(max-width:900px){.dc-shop-sidebar{position:static;flex-basis:100%}}

/* Social icons (footer) */
.dc-social{display:flex;gap:12px;margin-top:14px}
.dc-social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);color:#5fe0b8;display:inline-flex;align-items:center;justify-content:center}
.dc-social a:hover{background:var(--dc-green);color:#fff}

/* Single product page (upper section) — see woocommerce/content-single-product.php */
.dc-pdp{padding:clamp(24px,4vw,38px) 24px 0}
.dc-pdp-grid{display:flex;gap:clamp(22px,3vw,40px);flex-wrap:wrap;align-items:flex-start}
.dc-pdp-gallery{flex:1 1 420px;min-width:min(100%,300px)}
.dc-pdp-gallery .woocommerce-product-gallery{margin:0;width:100%!important;float:none!important}
.dc-pdp-gallery .woocommerce-product-gallery__wrapper{border:1px solid var(--dc-border);border-radius:22px;overflow:hidden;background:#f4fbf8}
.dc-pdp .mwp-gallery-wrap .onsale{position:absolute;top:12px;left:12px;right:auto;z-index:5;margin:0!important;min-height:0!important;min-width:0!important;line-height:1!important;background:linear-gradient(120deg,#22c197,var(--dc-green))!important;color:#fff!important;font-size:.75rem!important;font-weight:800;letter-spacing:.05em;padding:6px 11px;border-radius:8px;text-transform:uppercase}
.dc-pdp-gallery .woocommerce-product-gallery__image{aspect-ratio:1/1}
.dc-pdp-gallery .woocommerce-product-gallery__image img{width:100%;height:100%;object-fit:contain;object-position:center}
.dc-pdp-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,96px));justify-content:start;gap:12px;margin:12px 0 0;padding:0;list-style:none}
.dc-pdp-gallery .flex-control-thumbs li{list-style:none;width:auto!important;float:none!important}
.dc-pdp-gallery .flex-control-thumbs img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;background:#f4fbf8;border:1.5px solid var(--dc-border);border-radius:14px;cursor:pointer}
.dc-pdp-gallery .flex-control-thumbs img.flex-active{border-color:var(--dc-green)}

.dc-pdp-summary{flex:1 1 440px;min-width:min(100%,300px);display:flex;flex-direction:column;gap:16px}
.dc-pdp-eyebrow{font-size:.8125rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--dc-green)}
.dc-pdp-summary .product_title{margin:0;font-size:2rem;line-height:1.22;letter-spacing:-.035em;font-weight:900}
.dc-pdp-form{font-size:1.5rem;font-weight:700;color:var(--dc-muted);text-transform:capitalize;letter-spacing:-.02em}
.dc-pdp-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dc-pdp-meta-row .woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin:0!important}
.dc-pdp-meta-row .woocommerce-product-rating::before,.dc-pdp-meta-row .woocommerce-product-rating::after{content:none!important;display:none!important}
.dc-pdp-meta-row .star-rating{color:#e7e4ea}
.dc-pdp-meta-row .star-rating span,.dc-pdp-meta-row .star-rating span::before{color:#f5a623}
.dc-pdp-stock{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:700;color:var(--dc-green)}
.dc-pdp-stock-dot{width:8px;height:8px;border-radius:50%;background:#22c197;display:block}
.dc-pdp-summary .woocommerce-product-details__short-description{font-size:1rem;line-height:1.7;color:var(--dc-muted);max-width:56ch}
.dc-pdp-summary .woocommerce-product-details__short-description p{margin:0}

.dc-pdp-purchase .variations{border:0;margin:0;width:100%}
.dc-pdp-purchase table.variations{display:none}
.dc-pdp-purchase form.cart{margin:0!important}
.dc-pdp-purchase .single_variation_wrap{margin:0!important}
.dc-pdp-picker{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}
.dc-pdp-picker-group{display:flex;flex-direction:column;gap:10px}
.dc-pdp-picker-label{font-size:.875rem;font-weight:800;color:var(--dc-dark)}
.dc-pdp-picker-options{display:flex;gap:10px;flex-wrap:wrap}
.dc-pdp-pill{border:1.5px solid var(--dc-border);cursor:pointer;font-family:inherit;font-size:.9688rem;font-weight:800;padding:12px 22px;border-radius:999px;background:#fff;color:var(--dc-muted)}
.dc-pdp-pill:hover{border-color:var(--dc-green)}
.dc-pdp-pill.is-active{border-color:var(--dc-green);background:var(--dc-light);color:var(--dc-green)}
.dc-pdp-purchase .reset_variations{font-size:.875rem;font-weight:700;margin-left:4px}

.dc-pdp-qty-options{display:flex;flex-direction:column;gap:10px;flex-wrap:nowrap}
.dc-pdp-qty-card{border:1.5px solid var(--dc-border);cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:14px;background:#fff;color:var(--dc-dark);text-align:left}
.dc-pdp-qty-card:hover{border-color:var(--dc-green)}
.dc-pdp-qty-card.is-active{border-color:var(--dc-green);background:#f9fdfb}
.dc-pdp-qty-card.is-unavailable{cursor:not-allowed;opacity:.45;background:#fafafa}
.dc-pdp-qty-card.is-unavailable .dc-pdp-qty-price{color:var(--dc-muted);font-weight:700;font-size:.875rem}
.dc-pdp-qty-dot{flex:0 0 20px;height:20px;border-radius:50%;border:2px solid #c3ddd3;background:#fff;display:block}
.dc-pdp-qty-card.is-active .dc-pdp-qty-dot{border-color:var(--dc-green);background:var(--dc-green);box-shadow:inset 0 0 0 3px #fff}
.dc-pdp-qty-labels{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;text-align:left}
.dc-pdp-qty-label{font-size:1rem;font-weight:800}
.dc-pdp-qty-per{font-size:.8438rem;color:var(--dc-muted)}
.dc-pdp-qty-price{font-size:1.0625rem;font-weight:900;white-space:nowrap}

.dc-pdp-purchase .single_variation_wrap,.dc-pdp-purchase>.mwp-purchase-box{display:flex;flex-direction:column;gap:12px;padding:20px 20px 16px;background:#f4fbf8;border-radius:16px}
.dc-pdp-purchase .mwp-rx-disclaimer{line-height:1.4;margin:0}
.dc-pdp-purchase .woocommerce-variation-availability p{line-height:1.4;margin:0;display:flex;align-items:center;gap:8px;font-weight:800}
.dc-pdp-purchase .woocommerce-variation-availability p::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;display:block;flex:0 0 8px}
.dc-pdp-purchase .woocommerce-variation-availability .stock.in-stock{color:var(--dc-green)}
.dc-pdp-purchase .woocommerce-variation-availability .stock.out-of-stock{color:#c0392b}
.dc-pdp-purchase .woocommerce-variation-availability .stock.available-on-backorder{color:#b8860b}
.dc-pdp-total-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dc-pdp-total-label,.dc-pdp-price-label{font-size:.8125rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#00714f}
.dc-pdp-total-summary{margin:0;font-size:.9375rem;line-height:1.5;color:var(--dc-muted)}
.dc-pdp-purchase .woocommerce-variation-price,.dc-pdp-purchase .woocommerce-variation-price .price,.dc-pdp-purchase .woocommerce-variation-price .price *{font-size:2rem;font-weight:900;letter-spacing:-.03em;color:var(--dc-dark)!important}
.dc-pdp-purchase .woocommerce-variation-price{display:flex;flex-direction:column;gap:2px}
.dc-pdp-purchase .woocommerce-variation-availability{font-size:.875rem;color:var(--dc-muted)}
.dc-pdp-purchase form.variations_form .quantity{display:none!important}
.dc-pdp-purchase .single_add_to_cart_button,.dc-pdp-purchase .mwp-btn-assessment{display:flex!important;align-items:center;justify-content:center;gap:10px;background:linear-gradient(120deg,#22c197,var(--dc-green))!important;color:#fff!important;font-size:1.0313rem;font-weight:800;padding:16px 26px;border:0;border-radius:12px;width:100%;float:none!important}
.dc-pdp-purchase .single_add_to_cart_button:hover,.dc-pdp-purchase .mwp-btn-assessment:hover{filter:brightness(.95)}
.dc-pdp-purchase .price ins{text-decoration:none}

/* Price box + qty stepper — simple (non-variable) products only, e.g. Nasonex */
.dc-pdp-price-box{display:flex;flex-direction:column;gap:6px;padding:18px;background:#f4fbf8;border-radius:16px}
.dc-pdp-price-box .price,.dc-pdp-price-box .price .woocommerce-Price-amount{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;font-size:2rem;font-weight:900;letter-spacing:-.03em;color:var(--dc-dark)!important}
.dc-pdp-price-box .price del{order:2;font-size:1.0625rem;font-weight:400;color:#5a7d70!important;text-decoration:line-through}
.dc-pdp-price-box .price ins{order:1;text-decoration:none}
.dc-pdp-purchase form.cart:not(.variations_form){display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}
.dc-pdp-purchase form.cart:not(.variations_form) .quantity{display:flex;align-items:center;border:1.5px solid var(--dc-border);border-radius:14px;overflow:hidden;flex:0 0 auto}
.dc-pdp-purchase form.cart:not(.variations_form) .quantity input{border:0;width:56px;height:58px;padding:0;text-align:center;font-size:1.125rem;font-weight:800;font-family:inherit;color:var(--dc-dark);background:transparent;-moz-appearance:textfield}
.dc-pdp-purchase form.cart:not(.variations_form) .quantity input::-webkit-inner-spin-button,.dc-pdp-purchase form.cart:not(.variations_form) .quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dc-pdp-qty-step{border:0;cursor:pointer;width:50px;height:58px;background:#f4fbf8;color:var(--dc-green);display:grid;place-items:center;font-family:inherit}
.dc-pdp-qty-step svg{width:18px;height:18px}
.dc-pdp-qty-step:hover{background:var(--dc-light)}
.dc-pdp-purchase form.cart:not(.variations_form) .single_add_to_cart_button{width:auto;flex:1 1 220px;min-height:58px}
.dc-pdp-purchase form.cart:not(.variations_form) .single_add_to_cart_button svg{flex:0 0 auto}

.dc-pdp-reassurance{display:flex;flex-direction:column;gap:11px}
.dc-pdp-reassurance span{display:flex;align-items:flex-start;gap:11px;font-size:.9375rem;line-height:1.6;color:var(--dc-dark)}
.dc-pdp-reassurance svg{flex:0 0 17px;margin-top:4px}

/* PDP tabs (Drug info / Dosage / Side effects / Ingredients / PIL / Reviews)
   — restyles WooCommerce's default tabs markup/JS, doesn't replace it. */
.dc-pdp .woocommerce-tabs{margin-top:clamp(28px,4vw,44px);padding-top:0}
.dc-pdp .woocommerce-tabs ul.tabs{display:flex;gap:8px;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;padding:0 0 4px!important;margin:0 0 26px!important;border-bottom:1.5px solid var(--dc-border)!important;list-style:none}
.dc-pdp .woocommerce-tabs ul.tabs::before{content:none!important}
.dc-pdp .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;background:none!important;border-radius:0!important;box-shadow:none!important;flex:0 0 auto}
.dc-pdp .woocommerce-tabs ul.tabs li::before,.dc-pdp .woocommerce-tabs ul.tabs li::after{content:none!important;border:0!important;box-shadow:none!important}
.dc-pdp .woocommerce-tabs ul.tabs li a{display:block;white-space:nowrap;padding:13px 18px!important;border-bottom:3px solid transparent;font-size:1rem;font-weight:800;color:var(--dc-muted);text-decoration:none}
.dc-pdp .woocommerce-tabs ul.tabs li.active{background:none!important}
.dc-pdp .woocommerce-tabs ul.tabs li.active a{border-bottom-color:var(--dc-green)!important;color:var(--dc-green)!important}
.dc-pdp .woocommerce-tabs .woocommerce-Tabs-panel{max-width:70ch;border:0!important;box-shadow:none!important;background:none!important;padding:0!important}
.dc-pdp .woocommerce-tabs .woocommerce-Tabs-panel h2{margin:0 0 16px;font-size:1.5rem;font-weight:900;letter-spacing:-.03em;color:var(--dc-dark)}
.dc-pdp .dc-pdp-tab-content p{margin:0 0 16px;font-size:1rem;line-height:1.75;color:var(--dc-muted)}
.dc-pdp .dc-pdp-tab-content p:last-child{margin-bottom:0}
.dc-pdp .dc-pdp-tab-content ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.dc-pdp .dc-pdp-tab-content ul:last-child{margin-bottom:0}
.dc-pdp .dc-pdp-tab-content ul li{display:flex;align-items:flex-start;gap:11px;font-size:.9688rem;line-height:1.65;color:var(--dc-dark)}
.dc-pdp .dc-pdp-tab-content ul li::before{content:"\2713";flex:0 0 17px;color:var(--dc-green);font-weight:900}
.dc-pdp .dc-pdp-tab-content ol{margin:0 0 16px;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.dc-pdp .dc-pdp-tab-content ol:last-child{margin-bottom:0}
.dc-pdp .dc-pdp-tab-content ol li{font-size:.9688rem;line-height:1.65;color:var(--dc-dark)}
.dc-pdp .dc-pdp-tab-content a{font-weight:800;text-decoration:underline}
.dc-pdp #reviews .star-rating span,.dc-pdp #reviews .star-rating span::before{color:#f5a623}
.dc-pdp #reviews p.stars a{color:#f5a623!important;text-decoration:none!important}
@media(max-width:700px){.dc-pdp{padding-inline:16px}}

/* "You might also like" — related products on the PDP (see
   woocommerce/single-product/related.php). Cards reuse the same
   medication-card.php / .dc-med-grid component as the POM category
   pages — this block is just the section wrapper + heading row. */
.dc-related-products{max-width:1340px;margin:clamp(28px,4vw,46px) auto 0;padding:0 0 clamp(34px,5vw,56px)}
.dc-related-products .dc-med-grid{margin:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),300px))}
.dc-related-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.dc-related-heading-row h2{margin:0;font-size:1.5rem;font-weight:900;letter-spacing:-.03em;color:var(--dc-dark)}
.dc-related-shop-all{font-size:.9375rem;font-weight:800}
@media(max-width:700px){.dc-related-products{padding-inline:16px}}

/* Auth (logged-out My Account: login / register / lost-password) — matches
   Login.dc.html: logo-only header, full-bleed gradient hero, real footer. */
.dc-auth-header{background:#fff;box-shadow:0 1px 0 var(--dc-border);position:sticky;top:0;z-index:100;display:flex;justify-content:center;padding:18px 24px}
.dc-auth-page{width:100%;min-height:calc(100vh - 300px)}
.dc-auth-hero{width:100%;background:linear-gradient(160deg,#e2f7ef 0%,#f1fbf7 50%,#e6f0fa 100%);display:flex;justify-content:center;padding:clamp(28px,5vw,56px) clamp(16px,3vw,24px)}
.dc-auth-shell{width:100%;max-width:470px}
.dc-auth-shell-wide{max-width:1180px}
.dc-auth-columns{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.dc-auth-columns-single{justify-content:center}
.dc-auth-card{flex:1 1 400px;min-width:0;background:#fff;border:1px solid var(--dc-border);border-radius:20px;box-shadow:0 22px 54px #04382c1f;padding:26px;display:flex;flex-direction:column;gap:16px}
.dc-auth-card-wide{flex:1.6 1 480px}
.dc-auth-card-head{display:flex;flex-direction:column;gap:4px}
.dc-auth-card-head h1{margin:0;font-size:1.5rem;font-weight:900;letter-spacing:-.03em}
.dc-auth-card-head p{margin:0;font-size:.875rem;line-height:1.5;color:var(--dc-muted)}
.dc-auth-form{display:flex;flex-direction:column;gap:12px}
.dc-auth-form .form-row{margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:6px}
.dc-auth-form .form-row label{font-size:.8438rem;font-weight:800;color:var(--dc-dark)}
.dc-auth-form .form-row .required{color:#c0392b}
.dc-auth-form .form-row .optional{font-weight:600;color:var(--dc-muted);font-size:.75rem}
.dc-auth-page .dc-auth-form .form-row input.input-text{padding:11px 14px!important}
.dc-auth-page .dc-auth-form .form-row select{border:1.5px solid #dfeceb!important;border-radius:11px!important;padding:11px 14px!important;background-color:#fff!important;color:var(--dc-dark)!important}
.dc-auth-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dc-auth-forgot{font-size:.8125rem;font-weight:700}
.dc-auth-form .password-input{position:relative;display:block}
.dc-auth-form .password-input input{width:100%;padding-right:44px!important}
.dc-auth-form .show-password-input{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;cursor:pointer;border-radius:8px;color:#5a7d70}
.dc-auth-form .show-password-input:hover{background:var(--dc-light);color:var(--dc-green)}
.dc-auth-form .show-password-input::before{content:'';display:block;width:19px;height:19px;margin:0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a7d70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12s4-5.8 9-5.8S21 12 21 12s-4 5.8-9 5.8S3 12 3 12z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E") center/contain no-repeat}
.dc-auth-form .show-password-input.display-password::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008a64' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 6.3A9.6 9.6 0 0 1 12 6.2c5 0 9 5.8 9 5.8a17 17 0 0 1-2.6 3.1M6.1 8.1A17.6 17.6 0 0 0 3 12s4 5.8 9 5.8a8.9 8.9 0 0 0 3.4-.7'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E")}
.dc-auth-form .woocommerce-password-strength{margin-top:8px;border:1px solid transparent;border-radius:8px}
.dc-auth-form .woocommerce-password-hint{display:block;margin-top:6px;font-size:.8125rem;line-height:1.5;color:var(--dc-muted)}
.dc-auth-checkbox{display:flex;align-items:center;gap:10px;font-size:.9063rem;color:var(--dc-muted);cursor:pointer}
.dc-auth-checkbox input{width:18px;height:18px;accent-color:var(--dc-green)}
.dc-auth-submit{width:100%;margin-top:4px}
.dc-auth-switch{text-align:center;font-size:.9063rem;color:var(--dc-muted)}
.dc-auth-switch a{font-weight:800}
.dc-auth-section{display:flex;flex-direction:column;gap:10px}
.dc-auth-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#00714f}
.dc-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.dc-auth-grid .form-row-wide{grid-column:1/-1}
.dc-auth-grid select{outline:0;font:600 .9688rem Nunito,sans-serif}
.mwp-dob-selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px}
@media(max-width:560px){.dc-auth-grid{grid-template-columns:1fr}}
.mwp-dob-selects select{width:100%}
.dc-id-upload-row{display:flex;flex-direction:column;gap:6px}
.dc-id-upload-row input[type="file"]{width:100%;box-sizing:border-box;border:1.5px solid #dfeceb;border-radius:11px;padding:10px 12px;font:600 .9063rem Nunito,sans-serif;color:var(--dc-dark);background:#fff}
.dc-id-upload-row .description{font-size:.8125rem;font-weight:600;color:var(--dc-muted);line-height:1.4}
.dc-auth-consent{display:flex;flex-direction:column;gap:10px}
.mwp-consent-row{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.5;color:var(--dc-muted);cursor:pointer}
.mwp-consent-row input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--dc-green)}
.mwp-consent-row a{font-weight:700}
.dc-auth-trust{display:flex;align-items:center;justify-content:center;gap:9px;font-size:.8438rem;color:var(--dc-muted);margin-top:22px}
.dc-auth-trust svg{color:var(--dc-green);flex:0 0 auto}
@media(max-width:600px){.dc-auth-card{padding:24px}}

/* ---- Checkout ---- */
.dc-checkout-title{margin:28px 0 4px;line-height:1.22}
.dc-checkout-title-accent{display:block;font-weight:900;color:var(--dc-green)}
.dc-checkout-sub{margin:0 0 26px;font-size:1rem;color:var(--dc-muted)}
.dc-checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:28px;align-items:start}
.dc-checkout-main{display:flex;flex-direction:column;gap:18px}
.dc-checkout-card{background:#fff;border:1px solid var(--dc-border);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:18px}
.dc-step-head{display:flex;align-items:center;gap:13px}
.dc-step-badge{flex:0 0 auto;width:36px;height:36px;background:var(--dc-light);color:var(--dc-green);border-radius:12px 12px 12px 3px;display:grid;place-items:center;font-size:1rem;font-weight:900}
.dc-step-head h2{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-checkout-aside{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}

/* Billing / shipping-address / order-notes fields (real WC markup, styled) */
.woocommerce-billing-fields>h3,.woocommerce-additional-fields>h3{display:none}
.woocommerce-billing-fields__field-wrapper,.dc-checkout-shipping-address .woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.woocommerce-billing-fields__field-wrapper .form-row-wide,.dc-checkout-shipping-address .form-row-wide,.woocommerce-additional-fields__field-wrapper .form-row-wide,.woocommerce-additional-fields__field-wrapper .form-row{grid-column:1/-1}
.woocommerce-billing-fields__field-wrapper .form-row-first,.woocommerce-billing-fields__field-wrapper .form-row-last,.dc-checkout-shipping-address .form-row-first,.dc-checkout-shipping-address .form-row-last,.woocommerce-additional-fields__field-wrapper .form-row-first,.woocommerce-additional-fields__field-wrapper .form-row-last{width:100%!important}
@media(max-width:480px){.woocommerce-billing-fields__field-wrapper,.dc-checkout-shipping-address .woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}}
.dc-checkout-form .form-row{margin:0;padding:0}
.dc-checkout-form .form-row label{display:block;font-size:.875rem;font-weight:800;margin-bottom:7px;color:var(--dc-dark)}
.dc-checkout-form .form-row label .required{color:#c0392b;text-decoration:none}
.dc-checkout-form .form-row label .optional{font-weight:600;color:var(--dc-muted)}
.dc-checkout-form .woocommerce-input-wrapper{display:block}
.dc-checkout-page .dc-checkout-form .form-row input.input-text,.dc-checkout-page .dc-checkout-form .form-row textarea,.dc-checkout-page .dc-checkout-form .form-row select{width:100%!important;border:1.5px solid var(--dc-border)!important;border-radius:11px!important;padding:13px 15px!important;outline:0;font-family:inherit;font-size:1.0625rem!important;color:var(--dc-dark);background:#fff;box-sizing:border-box}
.dc-checkout-form input.input-text:focus,.dc-checkout-form textarea:focus,.dc-checkout-form select:focus{border-color:var(--dc-green)}
.dc-checkout-form textarea{resize:vertical;min-height:90px}
.dc-checkout-form .select2-container .select2-selection--single{height:auto;border:1.5px solid var(--dc-border);border-radius:11px;padding:9px 18px;font-size:1.0625rem}
.woocommerce-account-fields{margin-top:4px}
.dc-checkout-form .form-row.create-account label.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:700;font-size:.9375rem;cursor:pointer}
.dc-checkout-form .form-row.create-account input{flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--dc-green)}

/* Delivery method — radio cards (see direct_chemist_checkout_shipping_methods()) */
.dc-ship-methods{display:flex;flex-direction:column;gap:12px}
.dc-ship-method{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:13px;border:1.5px solid var(--dc-border);background:#fff;cursor:pointer;font-family:inherit;color:var(--dc-dark);transition:border-color .15s ease,background .15s ease}
.dc-ship-method.is-active{border-color:var(--dc-green);background:var(--dc-light)}
.dc-ship-method-input{position:absolute;opacity:0;pointer-events:none}
.dc-ship-method-dot{flex:0 0 20px;height:20px;border-radius:50%;border:2px solid #c3ddd3;background:#fff;box-sizing:border-box}
.dc-ship-method.is-active .dc-ship-method-dot{border-color:var(--dc-green);background:var(--dc-green);box-shadow:inset 0 0 0 3px #fff}
.dc-ship-method-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;text-align:left}
.dc-ship-method-name{font-size:1rem;font-weight:800}
.dc-ship-method-eta{font-size:.875rem;font-weight:600;color:var(--dc-muted)}
.dc-ship-method-price{font-size:1rem;font-weight:900;white-space:nowrap}
.dc-ship-none{font-size:.9375rem;color:var(--dc-muted);margin:0}

/* Deliver-to-a-different-address toggle + Collect-from-Store note */
.dc-checkout-shipping-fields{margin-top:4px;display:flex;flex-direction:column;gap:14px}
.dc-checkout-ship-toggle-block{display:flex;flex-direction:column;gap:14px}
.dc-checkout-shipping-fields[data-dc-ship-mode="pickup"] .dc-checkout-ship-toggle-block{display:none}
.dc-checkout-shipping-fields[data-dc-ship-mode="address"] .dc-checkout-note-pickup{display:none}
.dc-checkout-note-pickup{display:flex;align-items:flex-start;gap:11px;margin:0;background:var(--dc-light);border-radius:12px;padding:15px;font-size:.9063rem;line-height:1.55;color:var(--dc-dark)}
.dc-checkout-toggle{display:flex;align-items:flex-start;gap:11px;font-size:.9688rem;line-height:1.55;color:var(--dc-dark);cursor:pointer;font-weight:700}
.dc-checkout-toggle-input{flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--dc-green)}
.dc-checkout-note-same{margin:0;background:var(--dc-light);border-radius:12px;padding:15px;font-size:.9063rem;line-height:1.55;color:var(--dc-muted)}
.dc-checkout-shipping-address{display:none;flex-direction:column;gap:14px}
.dc-checkout-additional-fields{margin-top:0}

/* Payment methods (real WC gateway list, styled as radio cards) */
#payment{background:transparent!important;border-radius:0!important}
.payment_methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.wc_payment_method{list-style:none;border:1.5px solid var(--dc-border);border-radius:13px;background:#fff;overflow:hidden;transition:border-color .15s ease,background .15s ease}
.wc_payment_method:has(input:checked){border-color:var(--dc-green)}
.wc_payment_method input.input-radio{position:absolute;opacity:0;pointer-events:none}
.wc_payment_method>label{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;font-weight:800;font-size:1rem;color:var(--dc-dark);margin:0}
.wc_payment_method>label::before{content:'';flex:0 0 20px;height:20px;border-radius:50%;border:2px solid #c3ddd3;box-sizing:border-box}
.wc_payment_method:has(input:checked)>label::before{border-color:var(--dc-green);background:var(--dc-green);box-shadow:inset 0 0 0 3px #fff}
.wc_payment_method>label img{margin-left:auto;max-height:24px}
.payment_box{background:transparent!important;padding:0 18px 18px 52px;font-size:.9375rem;line-height:1.6;color:var(--dc-muted)}
.payment_box p{margin:0}
.payment_box fieldset{border:0;margin:0;padding:0}
.woocommerce-NoticeGroup .woocommerce-error,.woocommerce-NoPaymentMethods{font-size:.9375rem}

/* Terms + place order */
.woocommerce-terms-and-conditions-wrapper{margin-top:6px}
.woocommerce-terms-and-conditions-wrapper .form-row label{display:flex;align-items:flex-start;gap:10px;font-weight:700;font-size:.9375rem;cursor:pointer}
.woocommerce-terms-and-conditions-wrapper input{flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--dc-green)}
.dc-checkout-place-order{margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.dc-checkout-place-order .woocommerce-privacy-policy-text p{margin:0;color: #7a7a7a;}
#place_order{width:100%;border:0;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(120deg,#22c197,var(--dc-green));color:#fff;font-size:1.0313rem;font-weight:800;padding:16px;border-radius:12px}
#place_order:hover{filter:brightness(.95)}
#place_order.disabled,#place_order[disabled]{background:#cfe0d9;cursor:not-allowed}

/* Order summary sidebar */
.dc-checkout-summary-card{background:#fff;border:1px solid var(--dc-border);border-radius:20px;box-shadow:0 14px 34px #04382c12;padding:24px;display:flex;flex-direction:column;gap:16px}
.dc-checkout-summary-card h2{margin:0;font-size:1.375rem;font-weight:900;letter-spacing:-.03em}
.dc-checkout-order-table{width:100%;border-collapse:collapse;border:0!important;border-radius:0!important;overflow:visible!important;margin:0!important}
.dc-checkout-order-table tbody{display:flex;flex-direction:column;gap:14px}
.dc-checkout-order-table tr{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dc-checkout-order-table tr.dc-checkout-divider{height:1px}
.dc-checkout-order-table tr.dc-checkout-divider td{padding:0;height:1px;background:var(--dc-border)!important;width:100%}
.dc-checkout-order-table td,.dc-checkout-order-table th{padding:0!important;border:0!important;background:transparent!important;font-weight:inherit;text-align:left}
.dc-checkout-item-photo{flex:0 0 56px;height:56px;border-radius:12px;overflow:hidden;background:var(--dc-light);display:block}
.dc-checkout-item-photo img{width:100%;height:100%;object-fit:contain}
.dc-checkout-order-table tr.cart_item td.product-name{display:flex;align-items:center;gap:13px;flex:1;min-width:0}
.dc-checkout-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.dc-checkout-item-name{font-size:.9375rem;font-weight:800;line-height:1.3}
.dc-checkout-item-qty{font-size:.8125rem;color:var(--dc-muted)}
.dc-checkout-order-table tr.cart_item td.product-total{font-size:.9688rem;font-weight:900;white-space:nowrap}
.dc-checkout-order-table tr.cart-subtotal th,.dc-checkout-order-table tr.shipping th,.dc-checkout-order-table tr.fee th,.dc-checkout-order-table tr.tax-total th,.dc-checkout-order-table tr.tax-rate th,.dc-checkout-order-table tr.cart-discount th{font-size:.9688rem;font-weight:600;color:var(--dc-muted)}
.dc-checkout-order-table tr.cart-subtotal td,.dc-checkout-order-table tr.shipping td,.dc-checkout-order-table tr.fee td,.dc-checkout-order-table tr.tax-total td,.dc-checkout-order-table tr.tax-rate td,.dc-checkout-order-table tr.cart-discount td{font-size:.9688rem;font-weight:800}
.dc-checkout-order-table tr.order-total{align-items:baseline}
.dc-checkout-order-table tr.order-total th{font-size:1.0625rem;font-weight:800}
.dc-checkout-order-table tr.order-total td{font-size:1.625rem;font-weight:900}
@media(max-width:600px){.dc-checkout-card{padding:20px}.dc-checkout-summary-card{padding:20px}}
