/* Service continuity: a full-width setting, with native tasks available immediately.
   Reuse existing fictional story frames as decoration; never imply a live customer or employee. */
body.dhd:has(.service-page){
 --paper:#1c1712;--stone:#2b241d;--ink:#fff2da;--muted:#d5c8b5;
 --line:#b99d6d45;--gold:#efc982;--gold-light:#f4d7a1;--forest:#efc982;
 --service-image:none;--service-focus:50% 45%;
 background:#1c1712;color:var(--ink);color-scheme:dark;
}
body.dhd:is(.page-cart,.page-checkout,.page-account){--service-image:url('narrative/journey/07-computer-current-ui-poster.png');--service-focus:45% 42%}
body.dhd.page-stockists{--service-image:url('narrative/journey/06-supermarket.png');--service-focus:46% 40%}
body.dhd:has(.service-page) .service-page{
 position:relative;isolation:isolate;width:100%;max-width:none;margin:0;
 min-height:calc(100svh - var(--header));
 padding:clamp(35px,4.2vw,66px) var(--gutter) clamp(60px,7vw,108px);
 background:#1c1712;
}
body.dhd:has(.service-page) .service-page::before,
body.dhd:has(.service-page) .service-page::after{
 content:"";position:absolute;inset:calc(-1 * var(--header)) 0 auto;
 height:100svh;pointer-events:none;
}
body.dhd:has(.service-page) .service-page::before{
 z-index:-2;background-image:var(--service-image);background-size:cover;
 background-position:var(--service-focus);background-repeat:no-repeat;
}
body.dhd:has(.service-page) .service-page::after{
 z-index:-1;background:linear-gradient(90deg,#1c1712f2 0%,#1c1712d9 52%,#1c1712a8 100%),linear-gradient(0deg,#1c1712 1%,#1c171200 65%);
}
body.dhd:has(.service-page) .service-page>.eyebrow{
 font:700 12px/1.5 var(--sans);letter-spacing:.1em;color:var(--gold);margin-bottom:18px;
}
body.dhd:has(.service-page) .service-page>h1{
 font:800 clamp(44px,5.7vw,82px)/1.02 var(--sans);letter-spacing:-.045em;
 color:var(--ink);max-width:17ch;margin:0 0 24px;text-wrap:balance;
}
body.dhd:has(.service-page) .service-page>h1 em{color:var(--gold);font:inherit}
body.dhd:has(.service-page) .service-page>.standfirst{
 max-width:54ch;font:500 clamp(18px,1.5vw,22px)/1.55 var(--sans);color:#e4d6c1;margin-bottom:28px;
}
body.dhd:has(.service-page) .service-page :is(h2,h3,h4){
 font-family:var(--sans);font-weight:750;color:var(--ink);letter-spacing:-.025em;
}
body.dhd:has(.service-page) .service-page h2{font-size:clamp(27px,2.7vw,40px);line-height:1.15}
body.dhd:has(.service-page) .service-page h3{font-size:clamp(23px,2vw,30px);line-height:1.25}
body.dhd:has(.service-page) .service-page :is(p,li,dd,address){color:var(--muted)}
body.dhd:has(.service-page) .service-page :is(a:not(.button),summary){text-underline-offset:5px}
body.dhd:has(.service-page) .service-page :is(p,li,dd,address) a:not(.button){color:var(--ink);text-decoration:underline;text-decoration-color:#efc98285}
body.dhd:has(.service-page) .service-page a:not(.button):hover{color:var(--gold-light)}
body.dhd:has(.service-page) .service-page :focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Keep labels, values, validation and native payment controls legible on the warm canvas. */
body.dhd:has(.service-page) .service-page :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea),
body.dhd:has(.service-page) .select2-container--default .select2-selection--single{
 background:#29221bf5;color:var(--ink);border:1px solid #9d886968;border-radius:2px;
 font:500 16px/1.5 var(--sans);min-height:48px;box-shadow:none;
}
body.dhd:has(.service-page) .service-page :is(input,textarea)::placeholder{color:#bdaf9d;opacity:1}
body.dhd:has(.service-page) .service-page :is(label,legend){color:var(--ink);font-weight:600}
body.dhd:has(.service-page) .service-page :is(input[type=checkbox],input[type=radio]){accent-color:var(--gold)}
body.dhd:has(.service-page) .service-page .required{color:#ffc1a9}
body.dhd:has(.service-page) .service-page :is(input,textarea):autofill{box-shadow:0 0 0 1000px #29221b inset;-webkit-text-fill-color:var(--ink)}
body.dhd:has(.service-page) .service-page .button,
body.dhd:has(.service-page) .service-page :is(a,button,input).button.alt,
body.dhd:has(.service-page) .contact-form button.button,
body.dhd:has(.service-page) #wpsl-search-btn{
 background:var(--gold);color:#21180e;border:1px solid var(--gold);border-radius:2px;
 font:750 14px/1.4 var(--sans);min-height:48px;padding:14px 22px;box-shadow:none;
}
body.dhd:has(.service-page) .service-page :is(a,button,input).button:hover,
body.dhd:has(.service-page) #wpsl-search-btn:hover{background:#ffe0a6;color:#21180e;border-color:#ffe0a6}
body.dhd:has(.service-page) .service-page .button.outline{background:#211a13;color:var(--ink);border-color:#c6ac785e}
body.dhd:has(.service-page) .service-page .button:disabled,
body.dhd:has(.service-page) .service-page .button.disabled{background:#574d3f;color:#ded3c3;border-color:#756653;opacity:.7;cursor:not-allowed}
body.dhd:has(.service-page) .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:46px;padding-inline:13px 32px}
body.dhd:has(.service-page) .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
body.dhd:has(.service-page) .select2-dropdown{background:#29221b;border-color:#9d8869;color:var(--ink)}
body.dhd:has(.service-page) .select2-container--default .select2-results__option--highlighted[aria-selected]{background:#efc982;color:#21180e}
body.dhd:has(.service-page) .select2-container--default .select2-results__option[aria-selected=true]{background:#574831;color:#fff2da}
body.dhd:has(.service-page) .select2-search__field{background:#211a13;color:var(--ink);border:1px solid #9d8869}

body.dhd:has(.service-page) .woocommerce :is(table.shop_table,.woocommerce-orders-table){background:#211b15e8;border:1px solid var(--line)}
body.dhd:has(.service-page) .woocommerce :is(table.shop_table th,table.shop_table td){color:var(--ink);border-color:var(--line)}
body.dhd:has(.service-page) .woocommerce table.shop_table th{font:700 13px/1.5 var(--sans);letter-spacing:.025em}
body.dhd:has(.service-page) .woocommerce :is(.cart_totals,.woocommerce-checkout-review-order,form.login,form.register){background:#211b15eb;border:1px solid var(--line);padding:clamp(20px,2.5vw,36px)}
body.dhd:has(.service-page) .woocommerce :is(.amount,.amount *){color:var(--ink);-webkit-text-fill-color:var(--ink)}
body.dhd:has(.service-page) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error),
body.dhd:has(.service-page) .form-notice{background:#30261b;color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--gold);border-top-width:1px;padding:18px 22px}
body.dhd:has(.service-page) .woocommerce .woocommerce-error{border-left-color:#eea18e}
body.dhd:has(.service-page) .woocommerce .woocommerce-error :is(li,a){color:#ffe0d5}
body.dhd:has(.service-page) .woocommerce .woocommerce-message{border-left-color:#b9cd9a}
body.dhd:has(.service-page) .woocommerce a.remove{color:#f5cbb1!important;background:transparent;min-width:32px;min-height:32px;line-height:32px}
body.dhd:has(.service-page) .woocommerce a.remove:hover{color:#21180e!important;background:#f5cbb1}
body.dhd:has(.service-page) .woocommerce #payment{background:#2b231b;border:1px solid var(--line);border-radius:2px}
body.dhd:has(.service-page) .woocommerce #payment .payment_box{background:#392e22;color:var(--ink);border-radius:2px}
body.dhd:has(.service-page) .woocommerce #payment .payment_box::before{border-bottom-color:#392e22}
body.dhd:has(.service-page) .woocommerce #payment ul.payment_methods{border-color:var(--line)}
body.dhd:has(.service-page) .woocommerce #payment .payment_box p{color:#e9ddcb}
body.dhd:has(.service-page) .woocommerce :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){background:#211b15d9}
body.dhd:has(.service-page) .woocommerce-MyAccount-navigation a{font-weight:600;padding:14px 16px}
body.dhd:has(.service-page) .woocommerce-MyAccount-navigation .is-active a{background:#3b2e20;color:var(--gold)}
body.dhd:has(.service-page) .woocommerce-MyAccount-content{padding:clamp(18px,2.5vw,34px)}

/* Contact remains a single reading/form sequence. No decorative half-width hero. */
body.dhd.page-contact .contact-layout{display:block;max-width:780px;margin-top:30px}
body.dhd.page-contact .contact-layout>div:first-child{margin-bottom:30px}
body.dhd.page-contact .contact-layout h2{font-size:25px;margin:0 0 10px}
body.dhd.page-contact .contact-email{color:var(--gold-light);font-weight:650;margin-bottom:10px}
body.dhd.page-contact .contact-layout>div>p{max-width:60ch;font-size:15px;margin:0}
body.dhd.page-contact .contact-form{gap:10px}
body.dhd.page-contact .contact-form label{margin-top:10px}
body.dhd.page-contact .contact-form .small-note{font-size:13px!important;color:var(--muted)}

/* The locator itself is a native tool. Keep map tiles and embedded provider controls untouched. */
body.dhd.page-stockists #wpsl-wrap .wpsl-search{background:#211b15f0;border-color:var(--line);color:var(--ink)}
body.dhd.page-stockists #wpsl-wrap label{color:var(--ink);font-size:13px}
body.dhd.page-stockists #wpsl-wrap input[type=text]{background:#29221b;color:var(--ink);border-color:#9d886968}
body.dhd.page-stockists #wpsl-result-list{background:#211b15f0;padding:16px;color:var(--ink)}
body.dhd.page-stockists #wpsl-result-list :is(p,li){color:var(--muted)}
body.dhd.page-stockists #wpsl-result-list a{color:var(--gold-light)}
body.dhd.page-stockists #wpsl-wrap .wpsl-dropdown{background:#29221b;color:var(--ink);border-color:#9d886968}
body.dhd.page-stockists #wpsl-wrap .wpsl-dropdown ul{background:#29221b;color:var(--ink)}
body.dhd.page-stockists #wpsl-wrap .wpsl-dropdown li{color:var(--ink)}

/* Long-form policy and help content uses an uninterrupted, quiet reading surface. */
body.dhd.page-page .service-page{--service-image:none}
body.dhd.page-page .service-page>h1{max-width:22ch;font-size:clamp(42px,5vw,72px)}
body.dhd.page-page .native-content{max-width:78ch;margin-top:36px}
body.dhd.page-page .native-content :is(p,li){font-size:17px;line-height:1.75}
body.dhd.page-page .native-content section+section{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
body.dhd.page-page .native-content :is(h2,h3){font-size:clamp(25px,2.5vw,34px);text-transform:none;margin-bottom:18px}
body.dhd.page-page .native-content table{border-collapse:collapse;background:#211b15}
body.dhd.page-page .native-content :is(th,td){padding:13px;border:1px solid var(--line);color:var(--ink)}
body.dhd.page-missing .empty-state{display:flex;flex-direction:column;justify-content:center}
body.dhd.page-missing .empty-state>p:not(.eyebrow){max-width:45ch;font-size:20px}
body.dhd:has(.service-page) .help-band{border-color:var(--line)}

body.dhd:has(.service-page) .site-head{background:#211a14ef;color:#fff2da;border-color:#efc98226}
body.dhd:has(.service-page) .desktop-nav a:hover{color:var(--gold-light)}
body.dhd:has(.service-page) .site-footer{background:#17120e;color:#f5e6ce;border-top:1px solid var(--line)}
body.dhd:has(.service-page) .footer-top p{font-family:var(--sans);font-weight:650;color:#e9c78b}
body.dhd:has(.service-page) :is(.footer-base,.footer-links){color:#d5c8b5}
body.dhd:has(.service-page) dialog{background:#211a14;color:var(--ink);border-color:var(--line)}
body.dhd:has(.service-page) dialog::backdrop{background:#130e0be8}
body.dhd:has(.service-page) .navigation-dialog nav :is(a,.menu-search){font-family:var(--sans);font-weight:650;color:var(--ink);border-color:var(--line)}
body.dhd:has(.service-page) .search-dialog :is(label,.eyebrow){color:var(--ink)}
body.dhd:has(.service-page) .search-dialog input{background:#29221b;color:var(--ink);border-color:#9d886968}
body.dhd:has(.service-page) .dialog-close{color:var(--ink);border-color:var(--line)}
body.dhd:has(.service-page) .basket-count{color:#21180e;background:var(--gold)}

@media(max-width:760px){
 body.dhd:has(.service-page) .service-page{padding-top:32px;padding-bottom:65px}
 body.dhd:has(.service-page) .service-page::after{background:linear-gradient(180deg,#1c1712bb,#1c1712ef 45%,#1c1712 90%)}
 body.dhd:has(.service-page) .service-page>h1{font-size:clamp(40px,10vw,62px);max-width:18ch;margin-bottom:20px}
 body.dhd:has(.service-page) .service-page>.standfirst{font-size:18px;line-height:1.55}
 body.dhd:has(.service-page) .woocommerce :is(.cart_totals,.woocommerce-checkout-review-order,form.login,form.register,.woocommerce-MyAccount-content){padding:18px}
 body.dhd:has(.service-page) .woocommerce table.shop_table_responsive tr td::before{color:var(--muted)}
 body.dhd:has(.service-page) .woocommerce table.shop_table_responsive tr:nth-child(2n) td{background:#2b231b}
 body.dhd:has(.service-page) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){padding:16px}
 body.dhd.page-page .native-content :is(p,li){font-size:16px}
 body.dhd.page-contact .contact-layout{margin-top:26px}
 body.dhd.page-stockists #wpsl-result-list{padding:12px}
}
/* Phone purchasing remains the native cart and checkout. Only the basket's
   next-step link sticks; payment consent and the order button stay in flow. */
@media(max-width:760px){
 body.dhd:is(.page-cart,.page-checkout) .service-page{padding-top:24px;padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
 body.dhd:is(.page-cart,.page-checkout) .service-page>.eyebrow{margin-bottom:8px}
 body.dhd:is(.page-cart,.page-checkout) .service-page>h1{font-size:clamp(38px,10vw,52px);margin-bottom:24px}
 body.dhd:is(.page-cart,.page-checkout) .service-page :is(input,select,textarea,button,a){touch-action:manipulation}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce :is(.button,button.button,a.button.alt){min-height:52px;font-size:16px;line-height:1.4;justify-content:center;text-align:center;white-space:normal}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){font-size:16px;line-height:1.55;overflow-wrap:anywhere}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce :is(.woocommerce-error,.form-row){scroll-margin-top:calc(var(--header) + 24px)}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce .woocommerce-message .button{float:none;display:flex;margin:0 0 12px}
 body.dhd.page-cart .woocommerce table.cart{border:0;background:transparent;border-spacing:0}
 body.dhd.page-cart .woocommerce table.cart tbody{display:block}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item{
  position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 44px;
  grid-template-areas:"image name remove" "price price price" "quantity quantity quantity" "subtotal subtotal subtotal";
  gap:0 12px;margin-bottom:16px;padding:16px;background:#211b15;border:1px solid var(--line);
 }
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td{display:block;min-width:0;width:auto;background:transparent;border:0;padding:12px 0;font-size:16px;line-height:1.5;grid-column:1/-1}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td.product-thumbnail{grid-area:image;padding:0 0 14px;text-align:left!important}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td.product-name{grid-area:name;padding:0 0 14px;text-align:left!important;overflow-wrap:anywhere}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td.product-remove{grid-area:remove;padding:0;text-align:right}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td.product-price{grid-area:price;border-top:1px solid var(--line)}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td.product-quantity{grid-area:quantity;display:flex;align-items:center;justify-content:space-between;gap:16px}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td.product-subtotal{grid-area:subtotal;border-top:1px solid var(--line);font-weight:750}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td:is(.product-name,.product-thumbnail,.product-remove)::before{display:none}
 body.dhd.page-cart .woocommerce table.cart tr.cart_item>td::before{font-weight:600;color:var(--muted);text-align:left}
 body.dhd.page-cart .woocommerce table.cart .product-name>a{display:block;color:var(--ink);font-size:18px;font-weight:750;line-height:1.35;text-decoration:none}
 body.dhd.page-cart .woocommerce table.cart .product-thumbnail :is(img,.cart-pack){width:64px!important;height:82px!important;max-width:64px;object-fit:contain}
 body.dhd.page-cart .woocommerce table.cart .product-name dl.variation{margin:9px 0 0;font-size:14px;line-height:1.5}
 body.dhd.page-cart .woocommerce table.cart .product-name dl.variation :is(dt,dd){margin-bottom:3px;color:var(--muted)}
 body.dhd.page-cart .woocommerce table.cart .product-name dl.variation p{margin:0;font-size:14px;line-height:1.5}
 body.dhd.page-cart .woocommerce a.remove{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;font-size:25px;line-height:1;border:1px solid var(--line)}
 body.dhd.page-cart .woocommerce table.cart .quantity{margin:0;max-width:100%;justify-content:flex-end}
 body.dhd.page-cart .woocommerce table.cart .quantity :is(input.qty,select){min-width:88px;max-width:140px;min-height:50px;font-size:18px;text-align:center}
 body.dhd.page-cart .woocommerce table.cart tr:not(.cart_item){display:block}
 body.dhd.page-cart .woocommerce table.cart td.actions{display:block;padding:0;border:0;background:transparent}
 body.dhd.page-cart .woocommerce table.cart td.actions .coupon{float:none;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 14px}
 body.dhd.page-cart .woocommerce table.cart td.actions .coupon :is(.input-text,.button){float:none;width:100%!important;margin:0;min-height:50px}
 body.dhd.page-cart .woocommerce table.cart td.actions>button.button{display:flex;width:100%;margin:0}
 body.dhd.page-cart .woocommerce .cart-collaterals .cart_totals{float:none;width:100%;margin-top:28px;padding:18px}
 body.dhd.page-cart .woocommerce .cart_totals h2{font-size:27px;margin:0 0 16px}
 body.dhd.page-cart .woocommerce .cart_totals table{border:0;margin-bottom:12px}
 body.dhd.page-cart .woocommerce .cart_totals table td{padding:15px 0;font-size:16px;line-height:1.55}
 body.dhd.page-cart .woocommerce .cart_totals .order-total :is(td,.amount){font-size:22px;font-weight:800}
 body.dhd.page-cart .woocommerce .wc-proceed-to-checkout{position:sticky;bottom:0;z-index:3;background:#211b15;padding:12px 0 max(8px,env(safe-area-inset-bottom,0px));box-shadow:0 -10px 16px #211b15}
 body.dhd.page-cart .woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;margin:0;font-size:17px}
 body.dhd.page-checkout .woocommerce form.checkout{margin-top:20px}
 body.dhd.page-checkout .woocommerce .col2-set :is(.col-1,.col-2){float:none;width:100%;min-width:0}
 body.dhd.page-checkout .woocommerce form.checkout .form-row{float:none;width:100%;padding:0;margin:0 0 18px}
 body.dhd.page-checkout .woocommerce form.checkout .form-row label{display:block;font-size:15px;line-height:1.5;margin:0 0 7px}
 body.dhd.page-checkout .woocommerce form.checkout .form-row label.checkbox{display:block;min-height:44px;line-height:1.6;padding:10px 0;margin:0}
 body.dhd.page-checkout .woocommerce form.checkout :is(input.input-text,select,textarea){min-height:52px;font-size:16px;line-height:1.5;border-radius:4px}
 body.dhd.page-checkout .woocommerce form.checkout textarea{min-height:100px}
 body.dhd.page-checkout .woocommerce form.checkout .select2-container{width:100%!important}
 body.dhd.page-checkout .select2-container--default .select2-selection--single{min-height:52px;border-radius:4px}
 body.dhd.page-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:50px}
 body.dhd.page-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
 body.dhd.page-checkout .woocommerce form.checkout :is(input[type=checkbox],input[type=radio]){width:20px;height:20px;vertical-align:middle;margin-right:9px}
 body.dhd.page-checkout .woocommerce form.checkout .woocommerce-invalid :is(input.input-text,select,textarea,.select2-selection){border-color:#eea18e;box-shadow:0 0 0 1px #eea18e}
 body.dhd.page-checkout .woocommerce :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields){margin-bottom:30px}
 body.dhd.page-checkout .woocommerce #order_review_heading{font-size:28px;margin:32px 0 16px}
 body.dhd.page-checkout .woocommerce #order_review{padding:16px}
 body.dhd.page-checkout .woocommerce #order_review table.shop_table{border:0;background:transparent;table-layout:fixed}
 body.dhd.page-checkout .woocommerce #order_review table.shop_table :is(th,td){font-size:15px;line-height:1.5;padding:14px 8px;overflow-wrap:anywhere}
 body.dhd.page-checkout .woocommerce #order_review table.shop_table .product-total{width:34%;text-align:right}
 body.dhd.page-checkout .woocommerce #order_review .order-total :is(th,td,.amount){font-size:20px;font-weight:800}
 body.dhd.page-checkout .woocommerce #payment{margin-top:20px}
 body.dhd.page-checkout .woocommerce #payment :is(ul.payment_methods,div.form-row){padding:16px}
 body.dhd.page-checkout .woocommerce #payment ul.payment_methods li{font-size:16px;line-height:1.6;padding:10px 0}
 body.dhd.page-checkout .woocommerce #payment ul.payment_methods li>label{font-size:17px;font-weight:700}
 body.dhd.page-checkout .woocommerce #payment .payment_box{font-size:15px;line-height:1.6;padding:16px}
 body.dhd.page-checkout .woocommerce #payment :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper){font-size:14px;line-height:1.6;overflow-wrap:anywhere}
 body.dhd.page-checkout .woocommerce #payment .place-order{position:static;margin:0}
 body.dhd.page-checkout .woocommerce #payment #place_order{position:static;float:none;display:flex;width:100%;min-height:56px;margin:18px 0 0;font-size:18px;font-weight:800}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce :is(#shipping_method,.woocommerce-shipping-destination){font-size:15px;line-height:1.6}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce ul#shipping_method li{padding:7px 0}
 body.dhd:is(.page-cart,.page-checkout) .woocommerce ul#shipping_method li label{font-size:15px;line-height:1.6}
}
/* Shared closing statement. footer-cinema supersedes earlier route-specific
   footer rules so shopping, story and service pages finish in the same world. */
body.dhd .site-footer,
body.dhd .site-footer.footer-cinema{
 --footer-ink:#fff2da;--footer-gold:#efc982;--footer-line:#bb986449;
 padding:clamp(38px,4.5vw,68px) var(--gutter) 28px;
 background:#18120e;color:var(--footer-ink);border-top:1px solid var(--footer-line);
}
body.dhd .site-footer.footer-cinema .footer-top{
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px 48px;
 padding-bottom:34px;
}
body.dhd .site-footer.footer-cinema .footer-top>.wordmark{grid-column:2;grid-row:1;display:block;width:clamp(170px,18vw,245px);margin-top:12px}
body.dhd .site-footer.footer-cinema .footer-top>.wordmark img{width:100%;height:auto}
body.dhd .site-footer.footer-cinema .footer-top>p{grid-column:1;grid-row:1;font-family:var(--sans);font-weight:650;color:var(--footer-ink);margin:0}
body.dhd .site-footer.footer-cinema .footer-declaration{
 display:block;font:800 clamp(76px,8.4vw,120px)/.98 var(--sans);letter-spacing:-.065em;
 color:var(--footer-ink);text-wrap:balance;margin-bottom:17px;
}
body.dhd .site-footer.footer-cinema .footer-bond{
 display:block;max-width:30ch;font:650 clamp(24px,2.15vw,30px)/1.35 var(--sans);
 letter-spacing:-.025em;color:var(--footer-gold);text-wrap:balance;
}
body.dhd .site-footer.footer-cinema .footer-links{
 display:flex;flex-wrap:wrap;gap:2px 30px;padding:17px 0;
 border-block:1px solid var(--footer-line);color:var(--footer-ink);font:650 17px/1.4 var(--sans);
}
body.dhd .site-footer.footer-cinema .footer-links a{
 display:flex;align-items:center;min-height:44px;padding:8px 0;color:inherit;
 text-decoration:none;text-underline-offset:6px;
}
body.dhd .site-footer.footer-cinema .footer-links a:hover{color:var(--footer-gold);text-decoration:underline}
body.dhd .site-footer.footer-cinema :is(a,button):focus-visible{outline:2px solid var(--footer-gold);outline-offset:4px}
body.dhd .site-footer.footer-cinema .footer-base{
 display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
 padding:20px 0 0;color:#cbbb9f;font:500 12px/1.65 var(--sans);
}
body.dhd .site-footer.footer-cinema .footer-base>*{margin:0}
body.dhd .site-footer.footer-cinema .footer-base button{font:inherit;min-height:44px;padding:8px 0;color:inherit}
@media(max-width:760px){
 body.dhd .site-footer.footer-cinema{padding-top:32px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 body.dhd .site-footer.footer-cinema .footer-top{grid-template-columns:minmax(0,1fr);gap:23px;padding-bottom:24px}
 body.dhd .site-footer.footer-cinema .footer-top>.wordmark{grid-column:1;grid-row:2;width:170px;margin:0}
 body.dhd .site-footer.footer-cinema .footer-top>p{grid-column:1;grid-row:1;margin:0}
 body.dhd .site-footer.footer-cinema .footer-declaration{font-size:clamp(56px,15vw,74px);letter-spacing:-.06em;margin-bottom:13px}
 body.dhd .site-footer.footer-cinema .footer-bond{max-width:25ch;font-size:24px;line-height:1.35}
 body.dhd .site-footer.footer-cinema .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;padding:14px 0;font-size:16px}
 body.dhd .site-footer.footer-cinema .footer-links a{min-height:48px;overflow-wrap:anywhere}
 body.dhd .site-footer.footer-cinema .footer-base{padding-top:18px;font-size:12px;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){body.dhd:has(.service-page) *{scroll-behavior:auto!important}}
@media print{
 body.dhd:has(.service-page){--paper:#fff;--stone:#fff;--ink:#111;--muted:#333;--line:#bbb;background:#fff;color:#111;color-scheme:light}
 body.dhd:has(.service-page) .service-page{background:#fff;padding:0;min-height:0}
 body.dhd:has(.service-page) .service-page::before,body.dhd:has(.service-page) .service-page::after{display:none}
 body.dhd:has(.service-page) .service-page :is(h1,h2,h3,h4,p,li,a,span,strong,th,td,address){color:#111!important;-webkit-text-fill-color:#111!important}
 body.dhd:has(.service-page) .service-page :is(table.shop_table,.cart_totals,.woocommerce-checkout-review-order){background:#fff}
}

body.dhd .site-footer.footer-compact{padding-top:26px;padding-bottom:38px}body.dhd .site-footer.footer-compact .footer-links{border-top:0;padding-top:0;margin-top:0}

/* Utility footer: the brand statement belongs to the story, once. */
body.dhd .site-footer .footer-brand{margin:0 0 24px}
body.dhd .site-footer .footer-brand .wordmark{width:220px;max-width:65vw}
body.dhd .site-footer.footer-cinema .footer-base{align-items:center;gap:20px 24px}
body.dhd .footer-payments{display:flex;align-items:center;gap:24px;padding:8px 0;min-height:48px;max-width:100%;background:none;border:0;border-radius:0;}
body.dhd .footer-payments .payment-mark{position:relative;display:block;overflow:hidden;flex-shrink:0;}
body.dhd .footer-payments .payment-mark img{position:absolute;display:block;max-width:none!important;height:auto!important;object-fit:contain;}
body.dhd .footer-payments .payment-payfast{width:88px;aspect-ratio:4014/1433}
body.dhd .footer-payments .payment-payfast img{width:100.9467%;left:-.4733%;top:-28.6113%}
body.dhd .footer-payments .payment-visa{width:40px;aspect-ratio:1581/511}
body.dhd .footer-payments .payment-visa img{width:175.9013%;left:-37.9507%;top:-115.6556%}
body.dhd .footer-payments .payment-mastercard{display:block;width:34px;height:21px;max-width:none;object-fit:contain}
@media(max-width:650px){body.dhd .site-footer .footer-brand .wordmark{width:180px}body.dhd .footer-payments{order:-1;gap:26px}}

/* Private review badges must not cover the payment marks. */
body.dhd:has(.preview-badge,.preview-usage) .site-footer{padding-bottom:84px}
