/* Shared material finish — approved graphite / pearl / champagne / forest.
 * Gradients sit behind content. No filters, opacity, recolouring or blending
 * are applied to photographs, video, logos, pack artwork or type.
 * Static colour layers add depth without another animation loop. Existing
 * finite light sweeps remain the sole animation owner for these surfaces. */
@media screen {
 body.dhd {
  --material-dark:linear-gradient(118deg,rgba(109,119,113,.19),transparent 39%),linear-gradient(153deg,rgba(53,62,65,.96),rgba(24,34,30,.97));
  --material-pearl:radial-gradient(ellipse at 92% 8%,#D8C49829,transparent 46%),linear-gradient(140deg,#F0F2EE,#D9E0DB 58%,#C9D3CD);
  --material-edge:inset 0 1px 0 #F5F0E538,inset 1px 0 0 #E8EBE614,inset 0 -1px 0 #D8C49812;
  --material-shadow:0 12px 30px #07120D16;
 }

 /* The shell ties all page families together. Compact navigation is the
  * principal live glass surface; a dark tint preserves legible text. */
 body.dhd .site-head,
 body.dhd:has(.service-page) .site-head {
  background:linear-gradient(115deg,#59655C26,transparent 42%),linear-gradient(160deg,#303B3DEB,#171F1CEB);
  border-bottom-color:#D8C49842;
  box-shadow:inset 0 1px 0 #F5F0E515,0 5px 20px #09100D1A;
 }
 body.dhd :is(.navigation-dialog,.search-dialog) {
  background:radial-gradient(ellipse at 100% 0,#D8C49835,transparent 56%),linear-gradient(135deg,#EDF0EBF7,#D1DBD4F7);
  box-shadow:inset 0 1px 0 #FFFFFFB8,0 24px 70px #09100D40;
 }
 body.dhd .chapter-nav {background:linear-gradient(110deg,#EFF2EDD9,#D5DED7EF);box-shadow:inset 0 1px 0 #FFFFFF70;}
 body.dhd .site-footer {
  background:radial-gradient(ellipse at 95% 0,#49695636,transparent 55%),linear-gradient(120deg,#303A3C,#192320 67%,#18211F);
  box-shadow:inset 0 1px 0 #D8C49838;
 }
 body.dhd .site-footer .footer-base {background:linear-gradient(110deg,#E8EBE608,#171B1D12);border-color:#D8C49830;}

 /* Long reading pages use broad colour fields and selected inset surfaces,
  * rather than wrapping every paragraph in another card. */
 body.dhd .dhd-editorial {
  background:radial-gradient(ellipse 105% 580px at 100% 14%,#365D4B24,transparent 76%),linear-gradient(120deg,#20292B,#171F1D 64%,#212D27);
 }
 body.dhd .dhd-editorial :is(.ed-index,.ed-care-links) {background:linear-gradient(115deg,#E8EBE609,transparent 62%);box-shadow:inset 0 1px 0 #E8EBE611;}
 body.dhd .dhd-editorial :is(.ed-consequence,.ed-test,.ed-rejection) {
  background:var(--material-dark);box-shadow:var(--material-edge);border-color:#D8C49840;
 }
 body.dhd .dhd-editorial .ed-consequence {background:linear-gradient(112deg,#4D6B573D,#303A3BEB 52%,#1C2925F2);}
 body.dhd .dhd-editorial .ed-evidence[open] {background:linear-gradient(110deg,#E8EBE60B,#365D4B10);}
 body.dhd .dhd-editorial .ed-opening-copy {background-color:transparent;}
 body.dhd .dhd-editorial .dhd-process {background:radial-gradient(ellipse at 85% 20%,#4969562B,transparent 58%),linear-gradient(145deg,#293234,#18211E);}
 body.dhd .dhd-editorial .dhd-process :is(.process-evidence,.process-transfer-step) {
  background:var(--material-dark);box-shadow:var(--material-edge);border-color:#D8C49838;
 }
 body.dhd .dhd-editorial .ed-native-value .film-value {background:radial-gradient(ellipse at 90% 0,#D8C49816,transparent 56%),linear-gradient(125deg,#3A4645,#24342C);}

 /* Glass infographic panels retain opaque-enough reading areas. A broad
  * diagonal reflection and a pearl top edge suggest a single glass plane.
  * No backdrop blur is needed across dozens of diagrams. */
 body.dhd :is(.learning-graphic,.ingredient-window) {
  background:linear-gradient(115deg,#E8EBE617,transparent 37%,#D8C49808 78%,transparent),linear-gradient(143deg,#465452F7 0%,#2D3B39F7 42%,#192923FA 100%);
  border-color:#CCD2BE65;
  box-shadow:inset 0 1px 0 #F5F0E54D,inset 1px 0 0 #E8EBE621,inset 0 -1px 0 #D8C49821,var(--material-shadow);
 }
 body.dhd :is(.learning-graphic,.ingredient-window)::before {
  background:radial-gradient(ellipse at 12% 4%,#F5F0E51C,transparent 52%),radial-gradient(ellipse at 100% 95%,#537C5730,transparent 64%);
 }
 body.dhd .learning-graphic .lg-footer {border-top-color:#E0DEC64D;}

 /* Commerce alternates pearl reading surfaces with smoked display stages.
  * Approved pack geometry and the upper-right studio lighting stay intact. */
 body.dhd .product-ingredient-chapter,
 body.dhd .commerce-product-page .product-information {background:var(--material-pearl);}
 body.dhd .commerce-product-page .product-information :is(.recipe-facts,.technical-panel) {
  background:linear-gradient(115deg,#FFFFFF52,#E8EBE631 55%,#D8C49819);
  box-shadow:inset 0 1px 0 #FFFFFFA3,inset 0 -1px 0 #365D4B1A;
 }
 body.dhd.page-collection .commerce-catalogue,
 body.dhd .commerce-product-page .related-collection {background:radial-gradient(ellipse at 95% 0,#365D4B35,transparent 53%),linear-gradient(135deg,#20292B,#17211C 72%,#303B36);}
 body.dhd.page-collection .product-card .pack-stage,
 body.dhd .commerce-product-page .related-collection .pack-stage {
  background:radial-gradient(ellipse at 73% 18%,#D8C49821,transparent 54%),linear-gradient(145deg,#4A5657,#303D39 56%,#25352D);
  box-shadow:var(--material-edge);border-color:#D8C4983D;
 }
 body.dhd .product-card .product-card-copy {background:linear-gradient(130deg,#E8EBE607,transparent 60%);}
 body.dhd.page-collection .shop-group-jumps a {background:var(--material-dark);box-shadow:var(--material-edge);}
 body.dhd .commerce-product-page .product-purchase-dock,
 body.dhd.page-collection .dhd-fast-basket {background:linear-gradient(115deg,#53625124,transparent 54%),linear-gradient(145deg,#293434F2,#17221CF5);box-shadow:var(--material-edge),0 -4px 20px #08100C1A;}

 /* Forms keep their solid field backgrounds and native focus/stock states.
  * The surrounding panels share the finish without obscuring input text. */
 body.dhd:has(.service-page) .service-page {background:linear-gradient(135deg,#273233,#17231D);}
 body.dhd:has(.service-page) .woocommerce :is(.cart_totals,.woocommerce-checkout-review-order,form.login,form.register,.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content),
 body.dhd.page-contact .contact-form,
 body.dhd.page-stockists #wpsl-wrap .wpsl-search,
 body.dhd.page-stockists #wpsl-result-list,
 body.dhd:is(.page-collection,.page-account) .repeat-order {
  background:var(--material-dark);box-shadow:var(--material-edge),var(--material-shadow);border-color:#D8C49840;
 }

 /* Actual backdrop filtering is limited to small fixed surfaces. Larger
  * panels use layered translucent colour, preventing stacked blur costs. */
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body.dhd .site-head,
  body.dhd .commerce-product-page .product-purchase-dock,
  body.dhd.page-collection .dhd-fast-basket {-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
 }
 body.dhd .ed-consequence.atmo-surface,
 body.dhd:has(.service-page) .woocommerce :is(.cart_totals,form.login,form.register),
 body.dhd.page-contact .contact-form {-webkit-backdrop-filter:none;backdrop-filter:none;}
 @media (max-width:850px) {
  body.dhd .site-head,
  body.dhd .commerce-product-page .product-purchase-dock,
  body.dhd.page-collection .dhd-fast-basket {-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
 }
 @media (max-width:760px) {
  body.dhd .dhd-editorial .ed-opening-copy {background:linear-gradient(125deg,#283332,#19241E);}
 }
 @media (prefers-reduced-transparency:reduce), (prefers-reduced-motion:reduce) {
  body.dhd:has(.service-page) .site-head,
  body.dhd .site-head,
  body.dhd .commerce-product-page .product-purchase-dock,
  body.dhd.page-collection .dhd-fast-basket {background:#202B27;-webkit-backdrop-filter:none;backdrop-filter:none;}
 }
}

/* Shared footer reset. Its dedicated class retires the earlier brown cinema
 * layout; specificity also covers service routes. Artwork is never filtered. */
@media screen {
 body.dhd footer.site-footer.footer-refined {
  --footer-ink:#E8EBE6;--footer-soft:#C5CFCA;--footer-gold:#D8C498;--footer-line:#D8C4982E;
  position:relative;isolation:isolate;margin:0;
  padding:clamp(36px,4.8vw,68px) var(--gutter,clamp(20px,5vw,80px)) max(24px,env(safe-area-inset-bottom,0px));
  background:radial-gradient(ellipse at 92% 0,#365D4B35,transparent 55%),linear-gradient(130deg,#353C40F7,#202A2AFB 48%,#171B1D);
  color:var(--footer-ink);border-top:1px solid var(--footer-line);
  box-shadow:inset 0 1px 0 #E8EBE608;color-scheme:dark;
 }
 body.dhd .footer-refined .footer-main {
  display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,3fr);gap:32px clamp(36px,5vw,88px);
  max-width:1440px;margin:0 auto;
 }
 body.dhd .footer-refined .footer-brand {margin:3px 0 0;min-width:0;}
 body.dhd .footer-refined .footer-brand .wordmark {display:block;width:184px;max-width:100%;margin:0;line-height:1;}
 body.dhd .footer-refined .footer-brand .wordmark img {display:block;width:100%;height:auto;filter:none;opacity:1;}
 body.dhd .footer-refined .footer-links {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;
  gap:24px clamp(20px,2.4vw,42px);padding:0;margin:0;border:0;
  color:var(--footer-ink);font:400 16px/1.45 var(--sans);
 }
 body.dhd .footer-refined .footer-link-group {min-width:0;}
 body.dhd .footer-refined .footer-link-group h2 {
  margin:0 0 12px;color:var(--footer-gold);font-family:var(--font-label,"Arial Narrow",sans-serif)!important;
  font-size:14px;font-weight:500!important;letter-spacing:.09em!important;line-height:1.45;text-transform:uppercase;
 }
 body.dhd .footer-refined .footer-link-group ul {list-style:none;padding:0;margin:0;display:grid;gap:0;}
 body.dhd .footer-refined .footer-link-group li {list-style:none;padding:0;margin:0;min-width:0;}
 body.dhd .footer-refined .footer-links a {
  display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;padding:8px 0;margin:0;
  font:400 16px/1.4 var(--sans);letter-spacing:0;color:var(--footer-ink);text-transform:none;
  text-decoration:none;text-underline-offset:5px;text-decoration-thickness:1px;overflow-wrap:normal;
  transition:color 180ms ease;
 }
 body.dhd .footer-refined .footer-links a:hover {color:var(--footer-gold);text-decoration:underline;}
 body.dhd .footer-refined a:focus-visible {outline:2px solid var(--footer-gold);outline-offset:5px;border-radius:2px;}
 body.dhd .footer-refined .footer-base {
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;
  max-width:1440px;margin:30px auto 0;padding:18px 0 0;border-top:1px solid var(--footer-line);
  background:transparent;color:var(--footer-soft);font:400 13px/1.6 var(--sans);
 }
 body.dhd .footer-refined .footer-base>span {max-width:55ch;margin:0;}
 body.dhd .footer-refined .footer-payments {order:initial;gap:24px;padding:4px 0;min-height:36px;}
 body.dhd:has(.dhd-fast-basket,.preview-badge,.preview-usage) footer.site-footer.footer-refined {padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important;}
 /* These remaining shared amber literals used to escape the palette tokens. */
 body.dhd {--dhd-motion-gold:#D8C498;}
 body.dhd .site-head .desktop-nav a[aria-current=page] {color:#D8C498;}
 body.dhd .site-head :is(a,button):focus-visible {outline-color:#D8C498;}
 body.dhd .commerce-product-hero .commerce-inspect-link {color:#E8EBE6;}
 @media(max-width:1000px){
  body.dhd .footer-refined .footer-main {grid-template-columns:1fr;gap:30px;}
  body.dhd .footer-refined .footer-brand .wordmark {width:176px;}
 }
 @media(max-width:650px){
  body.dhd footer.site-footer.footer-refined {padding-top:34px;}
  body.dhd .footer-refined .footer-links {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;}
  body.dhd .footer-refined .footer-link-group h2 {margin-bottom:8px;}
  body.dhd .footer-refined .footer-base {margin-top:28px;gap:18px;flex-direction:column;align-items:flex-start;}
  body.dhd .footer-refined .footer-payments {order:-1;gap:24px;}
 }
 @media(prefers-reduced-motion:reduce){body.dhd .footer-refined .footer-links a {transition:none;}}
}
@media print {
 body.dhd .footer-refined {background:#fff;color:#222;padding:20px 0;border-top:1px solid #999;}
 body.dhd .footer-refined .footer-links,body.dhd .footer-refined .footer-payments {display:none;}
}

/* One approved studio surface for both current and original-artwork pack cards.
 * The legacy :has() rule reads this token; it must never revive brown tiles. */
body.dhd {
 --dhd-pack-surface:radial-gradient(ellipse at 73% 18%,#D8C49814,transparent 54%),linear-gradient(145deg,#4C5356,#353C40 58%,#2C3833);
}
body.dhd:is(.page-collection,.page-product) :is(.commerce-catalogue,.commerce-product-page) .product-card .pack-stage {
 background:var(--dhd-pack-surface);border-color:#D8C49830;box-shadow:inset 0 1px 0 #E8EBE614;
}

/* Real food keeps its own colour; its surrounding purchase surface follows the grey palette. */
body.dhd.page-product .commerce-product-hero.has-real-food {
 background:radial-gradient(ellipse at 82% 40%,#4C5356 0,#353C40 42%,#171B1D 76%);
}
body.dhd.page-product .commerce-product-hero.has-real-food .commerce-product-shade {
 background:linear-gradient(90deg,#171B1DF2 0,#171B1DB8 33%,#171B1D14 59%,transparent 78%);
}
@media(max-width:850px){
 body.dhd.page-product .commerce-product-hero.has-real-food .commerce-product-shade {
  background:linear-gradient(90deg,#171B1DD9,transparent 95%),linear-gradient(0deg,#171B1D 15%,#171B1DE8 35%,#171B1D22 75%);
 }
}

/* Keep enhanced kibble detail luminous; shade only where reading needs contrast. */
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-reference"] .commerce-product-scene {opacity:1;filter:none;}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-reference"] .commerce-product-shade {background:linear-gradient(90deg,#171B1D 0%,#171B1DF2 30%,#171B1D80 46%,transparent 67%);}
@media(max-width:850px){
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-reference"] {padding-top:clamp(290px,54vw,450px);background:#171B1D;}
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-reference"] .commerce-product-scene {right:0;width:100%;height:clamp(350px,65vw,530px);object-position:center;}
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-reference"] .commerce-product-shade {bottom:auto;height:clamp(350px,65vw,530px);background:linear-gradient(0deg,#171B1D 0%,#171B1DCC 12%,transparent 45%);}
}

/* Complete bowl composition: the transparent source remains uncropped and unaltered.
 * All dry dog, cat and small-breed recipe entries share this bowl presentation. */
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] {
 align-items:center;
 min-height:clamp(720px,100svh,1000px);
 padding:clamp(56px,7vw,104px) 5.8vw 72px;
 background:radial-gradient(ellipse at 77% 47%,#41494A 0%,#2A3233 38%,#171B1D 76%);
}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] .commerce-product-scene {
 left:auto;right:2.5%;top:8%;bottom:auto;width:51%;height:84%;
 object-fit:contain;object-position:center;opacity:1;filter:none;transform:none;
}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] .commerce-product-shade {display:none;}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] .product-layout {width:42%;max-width:520px;}
@media(max-width:850px) {
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] {
  display:flex;flex-direction:column;align-items:stretch;gap:20px;min-height:0;
  padding:24px 24px 30px;background:radial-gradient(ellipse at 50% 20%,#3C4545 0%,#252E2F 35%,#171B1D 67%);
 }
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] .commerce-product-scene {
  position:relative;inset:auto;order:0;width:100%;height:clamp(280px,82vw,560px);max-height:none;
  object-fit:contain;object-position:center;
 }
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] .product-layout {order:1;width:100%;max-width:none;}
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="enhanced-bowl"] .commerce-scene-caption {position:static;order:2;max-width:none;margin:10px 0 0;text-align:left;}
}

/* Wet-food macro presentation: one consistent crop of the original food photographs.
 * The source backdrop/lettering sits outside this central aperture. This is a CSS
 * composition only: colour, gravy/jelly texture and the raster files stay unchanged. */
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] {
 align-items:center;min-height:clamp(720px,100svh,1000px);
 padding:clamp(56px,7vw,104px) 5.8vw 72px;
 background:radial-gradient(ellipse at 77% 47%,#41494A 0%,#2A3233 38%,#171B1D 76%);
}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] .commerce-product-scene {
 left:auto;right:2.5%;top:50%;bottom:auto;width:55%;height:auto;aspect-ratio:1;
 object-fit:cover;object-position:center;opacity:1;filter:none;
 transform:translateY(-50%) scale(1.6);transform-origin:center;clip-path:inset(22% round 2px);
}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] .commerce-product-shade {display:none;}
body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] .product-layout {width:42%;max-width:520px;}
@media(max-width:850px) {
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] {
  display:flex;flex-direction:column;align-items:stretch;gap:20px;min-height:0;
  padding:24px 24px 30px;background:radial-gradient(ellipse at 50% 20%,#3C4545 0%,#252E2F 35%,#171B1D 67%);
 }
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] .commerce-product-scene {
  position:relative;inset:auto;order:0;width:100%;height:clamp(280px,82vw,560px);max-height:none;
  object-fit:cover;object-position:center;transform:scale(1.6);clip-path:inset(22% round 2px);
 }
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] .product-layout {order:1;width:100%;max-width:none;}
 body.dhd.page-product .commerce-product-hero.has-real-food[data-food-presentation="wet-macro"] .commerce-scene-caption {position:static;order:2;max-width:none;margin:10px 0 0;text-align:left;}
}
