/* Danish Fuel single product: gallery, buy box, swatches, add-ons, long-form sections, buy bar.
   Loaded on product pages only, after shop.css. */

.df-product{padding:0 var(--gut)}
.df-pd__crumbs{max-width:var(--w-max);margin:0 auto;padding:var(--s5) 0}
.df-pd{max-width:var(--w-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:var(--s16);align-items:start}

/* ---------- gallery ---------- */
.df-pd__media{position:sticky;top:calc(var(--header-h) + var(--s6));min-width:0}
.df-gallery{position:relative}
.df-gallery .woocommerce-product-gallery{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--s4);margin:0;opacity:1!important}
.df-gallery .woocommerce-product-gallery:not(.df-gal--multi){grid-template-columns:minmax(0,1fr)}
.df-gallery .woocommerce-product-gallery__wrapper{grid-column:-2/-1;grid-row:1;margin:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r);background:var(--stage);aspect-ratio:1;overscroll-behavior-x:contain}
.df-gallery .woocommerce-product-gallery__wrapper::-webkit-scrollbar{display:none}
.df-gallery .woocommerce-product-gallery__wrapper:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.df-gallery .woocommerce-product-gallery__image,.df-gallery .woocommerce-product-gallery__image--placeholder{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative}
.df-gallery .woocommerce-product-gallery__image a{display:block;width:100%;height:100%;cursor:zoom-in}
.df-gallery .woocommerce-product-gallery__image img,.df-gallery .woocommerce-product-gallery__image--placeholder img{width:100%;height:100%;object-fit:contain;padding:5%;mix-blend-mode:multiply}
.df-gal__thumbs{grid-column:1;grid-row:1;height:0;min-height:100%;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:var(--s2)}
.df-gal__thumbs::-webkit-scrollbar{display:none}
.df-gal__thumb{flex:0 0 auto;width:88px;height:88px;padding:0;border:1px solid transparent;border-radius:var(--r);background:var(--stage);overflow:hidden;transition:border-color var(--t-fast) var(--ease)}
.df-gal__thumb img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.df-gal__thumb:hover{border-color:var(--line-2)}
.df-gal__thumb[aria-current]{border-color:var(--t1)}
.df-gal__count{display:none;position:absolute;right:var(--s3);bottom:var(--s3);padding:4px 8px;border-radius:var(--r);background:rgba(22,21,18,.72);color:var(--d1);font:700 11px/1.2 var(--f-mono);letter-spacing:.08em;pointer-events:none}

/* ---------- buy panel ----------
   Order: sale flag, title, price (+ note), facts, options (variation swatches), Personalise
   (certificate + ID and name), Mounting (basic or deluxe), other add-ons, running total, quantity
   and button, delivery and returns, trust chips. Group gap 32, gap inside a group 12 to 16. */
.df-pd__summary{min-width:0;padding-top:var(--s2)}
.df-pd__sticky{max-width:560px}
.df-pd__eyebrow{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3);min-height:24px}
.df-pd__eyebrow .label{color:var(--brass-ink);text-decoration:none}
.df-pd__eyebrow .label:hover{text-decoration:underline}
.df-pd__title{font-size:var(--fs-48);font-weight:800;line-height:.98;letter-spacing:.01em;margin:0 0 var(--s4);text-wrap:balance}
.df-pd__summary>.df-pd__sticky>.price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--s3);font-size:var(--fs-28);line-height:1.15;margin:0 0 var(--s2)}
.df-pd__summary>.df-pd__sticky>.price del{font-size:var(--fs-18);order:2}
.df-pd__summary>.df-pd__sticky>.price ins{order:1}
.df-pd__summary>.df-pd__sticky>.price .df-price-note{order:3;flex:1 1 100%;margin-top:var(--s1)}
.df-pd__facts{margin:0 0 var(--s4);font:400 var(--fs-13)/1.4 var(--f-mono);color:var(--t3);letter-spacing:.02em}
.df-pd__summary .woocommerce-product-rating{margin-bottom:var(--s3);font-size:var(--fs-13)}
.df-pd__summary .stock{margin:0 0 var(--s4);display:inline-flex;align-items:center;gap:var(--s2);font:700 var(--fs-12)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}
.df-pd__summary .stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.df-pd__summary .stock.out-of-stock{color:var(--brass-ink)}
.df-pd__summary .stock.available-on-backorder{color:var(--t2)}
.df-pd__summary form.cart{margin:var(--s6) 0 var(--s6)}

/* add to cart row */
.df-pd__summary form.cart:not(.variations_form),.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:stretch}
.df-pd__summary form.cart:not(.variations_form)>*:not(.quantity):not(.single_add_to_cart_button){flex:1 1 100%}
.single_add_to_cart_button{flex:1 1 auto;min-height:56px!important;font-size:var(--fs-18)!important;padding:0 var(--s8)!important}
.df-pd__summary .single_add_to_cart_button.disabled{opacity:1;cursor:pointer}
.df-pd__summary .quantity:not(.df-qty){display:none}

/* ---------- variation picker ---------- */
.df-variations{display:grid;gap:var(--s6);margin:0 0 var(--s5);padding-top:var(--s6);border-top:1px solid var(--line)}
.df-var__head{display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);min-height:24px}
.df-var__legend{color:var(--t3)}
.df-var__value{font-weight:650;color:var(--t1);font-size:var(--fs-15)}
.df-var__delta{margin-left:auto;font:400 var(--fs-13)/1.3 var(--f-sans);color:var(--t3);font-feature-settings:"tnum";white-space:nowrap}
.df-var__msg{margin:calc(var(--s2) * -1) 0 var(--s3);font-size:var(--fs-13);color:var(--signal)}
.df-var.is-missing .df-swatches{animation:df-nudge .4s var(--ease)}
@keyframes df-nudge{0%,100%{transform:none}35%{transform:translateX(4px)}70%{transform:translateX(-3px)}}
.df-var__select{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.df-swatches{display:flex;flex-wrap:wrap;gap:var(--s2)}
.df-sw{position:relative;display:inline-grid;place-items:center;cursor:pointer}
.df-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}
.df-sw__delta:empty{display:none}
/* colour: round chips, name and price in the head */
.df-swatches--colour .df-sw{width:44px;height:44px}
.df-swatches--colour .df-sw__name,.df-swatches--colour .df-sw__delta{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.df-sw__chip{width:36px;height:36px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(22,21,18,.14),inset 0 -8px 12px rgba(0,0,0,.1),inset 0 6px 10px rgba(255,255,255,.22);transition:box-shadow var(--t-fast) var(--ease)}
.df-swatches--colour .df-sw input:checked+.df-sw__chip{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--t1),inset 0 0 0 1px rgba(22,21,18,.14)}
.df-swatches--colour .df-sw:hover input:not(:checked):not(:disabled)+.df-sw__chip{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--line-2),inset 0 0 0 1px rgba(22,21,18,.14)}
.df-swatches--colour .df-sw input:focus-visible+.df-sw__chip{outline:2px solid var(--ink);outline-offset:5px}
/* wood: labelled tiles with the price difference */
.df-swatches--wood{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:var(--s2)}
.df-swatches--wood .df-sw{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--s3);align-items:center;justify-items:start;min-height:56px;padding:var(--s2) var(--s3);border:1px solid var(--line-2);border-radius:var(--r);background:#fbfbfa;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
/* No wood picture: the product photo shows the wood (René, 2026-10-25). */
.df-swatches--wood .df-sw__chip{display:none}
.df-swatches--wood .df-sw__name{font:600 var(--fs-15)/1.25 var(--f-sans);color:var(--t1)}
.df-swatches--wood .df-sw__delta{font-size:var(--fs-13);line-height:1.3;color:var(--t3);font-feature-settings:"tnum"}
.df-swatches--wood .df-sw__name:only-of-type,.df-swatches--wood .df-sw:has(.df-sw__delta:empty) .df-sw__name{grid-row:1/3}
.df-swatches--wood .df-sw:hover{border-color:var(--t3)}
.df-swatches--wood .df-sw:has(input:checked){border-color:var(--t1);box-shadow:inset 0 0 0 1px var(--t1)}
.df-swatches--wood .df-sw:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
/* text options */
.df-swatches--text .df-sw{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--line-2);border-radius:var(--r);background:#fbfbfa;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.df-swatches--text .df-sw__name{font:600 var(--fs-15)/1.2 var(--f-sans);color:inherit}
.df-swatches--text .df-sw__delta{font-size:var(--fs-13);opacity:.75}
.df-swatches--text .df-sw:hover{border-color:var(--t1)}
.df-swatches--text .df-sw:has(input:checked){background:var(--t1);border-color:var(--t1);color:var(--d1)}
.df-swatches--text .df-sw:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.df-sw.is-unavailable{cursor:not-allowed}
.df-sw.is-unavailable .df-sw__chip,.df-sw.is-unavailable .df-sw__name,.df-sw.is-unavailable .df-sw__delta{opacity:.35}
.df-swatches--colour .df-sw.is-unavailable::after{content:"";position:absolute;width:44px;height:1.5px;background:var(--t2);transform:rotate(-45deg);pointer-events:none}
.df-variations .reset_variations[style*=hidden]{display:none}
.df-variations .reset_variations{justify-self:start;margin-top:calc(var(--s2) * -1);font:700 var(--fs-12)/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);min-height:24px;display:inline-flex;align-items:center}
.single_variation_wrap .woocommerce-variation{margin:0 0 var(--s4)}
.single_variation_wrap .woocommerce-variation:empty{display:none}
.woocommerce-variation-price .price{display:block;font-size:var(--fs-22);margin-bottom:var(--s1)}
.js .df-pd__summary .woocommerce-variation-price{display:none}
.df-product .df-rail{padding-inline:0}
@media (max-width:760px){.df-product .df-rail .df-rail__head{padding-inline:var(--gut)}}
.woocommerce-variation-description p{margin:0 0 var(--s2);color:var(--t3);font-size:var(--fs-15)}
.woocommerce-variation-availability .stock{margin:0}
.wc-no-matching-variations{margin:0 0 var(--s4)}

/* ---------- Product Add-Ons as option groups (plugin CSS is not loaded) ---------- */
.wc-pao-addons-container{display:grid;gap:var(--s8);margin:0 0 var(--s8)}
.wc-pao-addon-container{margin:0}
.wc-pao-addon-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s2);margin-bottom:var(--s2);font:650 var(--fs-15)/1.35 var(--f-sans);color:var(--t1)}
.wc-pao-addon-name .wc-pao-addon-price,.wc-pao-addon-wrap .wc-pao-addon-price{font-weight:400;font-size:var(--fs-13);color:var(--t3);font-feature-settings:"tnum"}
.wc-pao-addon-name .required,.wc-pao-addon-container .required{color:var(--signal);font-style:normal;text-decoration:none}
.wc-pao-addon-description{margin:0 0 var(--s2);font-size:var(--fs-13);color:var(--t3)}
.wc-pao-addon-description p{margin:0}
.wc-pao-addon-wrap{margin:0}
.wc-pao-addon-wrap input[type=text],.wc-pao-addon-wrap textarea,.wc-pao-addon-wrap select{margin:0}
.df-ao .wc-pao-addon-description{display:none}
.df-ao:has(.wc-pao-validation-notice) input[type=text],.df-ao.is-invalid input[type=text]{border-color:var(--signal);box-shadow:inset 0 0 0 1px var(--signal)}
.wc-pao-validation-notice,.df-field-msg{display:block;margin-top:var(--s2);font-size:var(--fs-13);line-height:1.4;color:var(--signal)}
.df-field-msg:empty{display:none}
#required_addons_validation_message:empty,.validation_message:empty{display:none}
/* the plugin's own totals table keeps calculating; .df-sum shows it */
.df-pd__summary #product-addons-total{display:none}

/* group frame: a ruled section with a legend row, never a bordered box around bordered boxes */
.df-opt{min-width:0;margin:0;padding:var(--s6) 0 0;border:0;border-top:1px solid var(--line)}
.df-opt__legend{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);width:100%;float:left;margin:0 0 var(--s4);padding:0}
.df-opt__legend+*{clear:both}
.df-opt__title{font:800 var(--fs-22)/1.1 var(--f-display);letter-spacing:.02em;color:var(--t1)}
.df-opt__tag{font:400 var(--fs-13)/1.3 var(--f-sans);color:var(--t4)}
.df-opt--other .wc-pao-addon-name{font:700 var(--fs-12)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:var(--s3)}
.df-opt--other .wc-pao-addon-name .wc-pao-addon-price{font-family:var(--f-sans);letter-spacing:0;text-transform:none}
.df-help{margin:var(--s2) 0 0;font-size:var(--fs-13);line-height:1.5;color:var(--t3)}
.df-help summary{list-style:none;cursor:pointer}
.df-help summary::-webkit-details-marker{display:none}
.df-help__more{font-weight:650;color:var(--t1);text-decoration:underline;text-underline-offset:.18em;white-space:nowrap}
.df-help[open] .df-help__more{display:none}
.df-help__rest{margin:var(--s1) 0 0}

/* Personalise: the certificate beside the two fields */
.df-opt__body{display:grid;grid-template-columns:152px minmax(0,1fr);gap:var(--s6);align-items:start}
.df-opt__cert{display:grid;justify-items:center;gap:var(--s2);position:sticky;top:calc(var(--header-h) + var(--s4))}
.df-opt__cert .df-cert{--cert-w:152px;cursor:pointer}
.df-opt__fields{display:grid;gap:var(--s5);min-width:0}
.df-opt__intro{margin:0;font-size:var(--fs-13);line-height:1.5;color:var(--t3)}
.df-opt--personalise .df-ao input[type=text]{font:650 var(--fs-16)/1.2 var(--f-mono);letter-spacing:.08em}
.df-opt--personalise .df-ao--serial input[type=text]{letter-spacing:.24em}
.df-opt--personalise .df-ao input::placeholder{color:var(--t4);opacity:.7}

/* Mounting: two choices side by side */
.df-opt__choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.df-choice,.df-ao--mount{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;column-gap:var(--s3);align-items:center;align-content:start;min-height:64px;padding:var(--s3) var(--s4);border:1px solid var(--line-2);border-radius:var(--r);background:#fbfbfa;text-align:left;font:inherit;color:var(--t1);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.df-choice:hover,.df-ao--mount:hover{border-color:var(--t3)}
.df-choice[aria-pressed=true],.df-ao--mount:has(input:checked){border-color:var(--t1);box-shadow:inset 0 0 0 1px var(--t1)}
.df-choice__mark{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff0}
.df-choice[aria-pressed=true] .df-choice__mark{border-color:var(--t1);background:radial-gradient(circle,var(--t1) 0 4px,transparent 4.5px)}
.df-choice__name{font:600 var(--fs-15)/1.3 var(--f-sans)}
.df-choice__price{font-size:var(--fs-13);color:var(--t3);white-space:nowrap}
.df-ao--mount>.wc-pao-addon-name,.df-ao--mount>.wc-pao-addon-description{display:none}
.df-ao--mount>.wc-pao-addon-wrap{grid-column:1/-1;order:1}
.df-ao--mount>.df-help{grid-column:2/-1;order:2;margin-top:var(--s1)}
.df-ao--mount .wc-pao-addon-wrap>div{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:var(--s3);align-items:center}
.df-ao--mount input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:50%;border:1.5px solid var(--line-2);background:#fff0;cursor:pointer}
.df-ao--mount input[type=checkbox]:checked{border-color:var(--t1);background:radial-gradient(circle,var(--t1) 0 4px,transparent 4.5px)}
.df-ao--mount input[type=checkbox]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.df-ao--mount .wc-pao-addon-wrap label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);font:600 var(--fs-15)/1.3 var(--f-sans);color:var(--t1);cursor:pointer}
.df-ao--mount .wc-pao-addon-wrap label::before{content:"";position:absolute;inset:0}
.df-ao--mount .wc-pao-addon-price{font-weight:400}

/* other checkbox and radio add-ons: plain option rows */
.df-opt--other .wc-pao-addon-wrap>div:has(>input[type=checkbox]),.df-opt--other .wc-pao-addon-wrap>div:has(>input[type=radio]),.df-opt--other .wc-pao-addon-wrap p:has(>label>input[type=radio]){position:relative;display:flex;align-items:center;gap:var(--s3);min-height:52px;padding:var(--s2) var(--s4);border:1px solid var(--line-2);border-radius:var(--r);background:#fbfbfa;transition:border-color var(--t-fast) var(--ease)}
.df-opt--other .wc-pao-addon-wrap>div:has(>input:checked){border-color:var(--t1);box-shadow:inset 0 0 0 1px var(--t1)}
.df-opt--other .wc-pao-addon-wrap>div+div{margin-top:var(--s2)}
.df-opt--other .wc-pao-addon-wrap input[type=checkbox],.df-opt--other .wc-pao-addon-wrap input[type=radio]{width:20px;height:20px;margin:0;accent-color:var(--olive);flex:0 0 auto}
.df-opt--other .wc-pao-addon-wrap>div>label{flex:1;display:flex;justify-content:space-between;gap:var(--s3);cursor:pointer;font-size:var(--fs-15);color:var(--t1);font-weight:600}
.df-opt--other .wc-pao-addon-wrap>div>label::before{content:"";position:absolute;inset:0}

/* running total */
.df-sum{flex:1 1 100%;margin:0 0 var(--s2);padding-top:var(--s4);border-top:1px solid var(--line)}
.df-sum__lines{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.df-sum__lines:empty{display:none}
.df-sum__lines li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);font-size:var(--fs-13);color:var(--t3)}
.df-sum__lines li span:first-child{min-width:0;overflow-wrap:anywhere}
.df-sum__lines li b{font-weight:650;color:var(--t2)}
.df-sum__lines li span:last-child{white-space:nowrap;font-feature-settings:"tnum";color:var(--t2)}
.df-sum__lines:not(:empty)+.df-sum__total{margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--line-2)}
.df-sum__total{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);margin:0}
.df-sum__total span{font:650 var(--fs-15)/1.3 var(--f-sans);color:var(--t2)}
.df-sum__total strong{font:650 var(--fs-22)/1.2 var(--f-sans);color:var(--t1);font-feature-settings:"tnum"}
.df-sum__total strong.is-pending{font-size:var(--fs-15);font-weight:400;color:var(--t3)}

/* delivery, returns, trust chips */
.df-deliv{list-style:none;margin:0 0 var(--s5);padding:var(--s5) 0 0;border-top:1px solid var(--line);display:grid;gap:var(--s3)}
.df-deliv li{display:flex;align-items:flex-start;gap:var(--s3)}
.df-deliv .df-icon{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--t1)}
.df-deliv p{margin:0;font-size:var(--fs-13);line-height:1.5;color:var(--t3)}
.df-deliv strong{font-weight:650;color:var(--t1);margin-right:var(--s1)}
.df-deliv__link{color:var(--t1);font-weight:650;white-space:nowrap}
.df-trust--pd{display:flex;flex-wrap:wrap;gap:var(--s2)}
.df-trust--pd li{display:inline-flex;align-items:center;gap:var(--s2);min-height:32px;padding:var(--s1) var(--s3);border:1px solid var(--line);border-radius:var(--pill);background:#fbfbfa;font-size:var(--fs-12);line-height:1.25;color:var(--t2)}
.df-trust--pd .df-icon{width:14px;height:14px}

/* ---------- long-form sections ---------- */
.df-pd-info{max-width:var(--w-max);margin:var(--band) auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:var(--s24);align-items:start}
.df-pd-info__main,.df-pd-info__side{min-width:0}
.df-pd-info__side{position:sticky;top:calc(var(--header-h) + var(--s6))}
.df-acc{border-top:1px solid var(--line)}
.df-acc:last-child{border-bottom:1px solid var(--line)}
.df-acc>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);min-height:72px;cursor:pointer;list-style:none}
.df-acc>summary::-webkit-details-marker{display:none}
.df-acc>summary::after{content:"";flex:0 0 14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 14px no-repeat;color:var(--t1);transition:transform var(--t-mid) var(--ease)}
.df-acc[open]>summary::after{transform:rotate(45deg)}
.df-acc__title{font-size:var(--fs-28);letter-spacing:.02em;line-height:1.05}
.df-acc__body{padding:0 0 var(--s10)}
.df-pdesc{max-width:68ch}
.df-pdesc>*:first-child{margin-top:0}
.df-pdesc h2{font-size:var(--fs-28)}
.df-pdesc h3,.df-pdesc h4{font-size:var(--fs-22)}
.df-pdesc ul{padding-left:1.1em}
/* Some old descriptions put the spec table inside a list item; no bullet beside it (QA-052). */
.df-pdesc li:has(>table){list-style:none;margin-left:-1.1em}
/* Legacy descriptions: short h5/h6 labels become h3.df-pdesc__label, long ones become <p> (inc/legacy-content.php).
   Anything still left in h5/h6 is set as body copy, never in the condensed display face. */
.df-pdesc .df-pdesc__label{margin:1.6em 0 .6em;font:700 var(--fs-13)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t1)}
.df-pdesc h5,.df-pdesc h6{font:650 var(--fs-16)/1.6 var(--f-sans);letter-spacing:0;text-transform:none;color:var(--t1)}
.df-pdesc p:empty{display:none}
.df-pdesc table.shop_attributes{width:100%;border-collapse:collapse;margin:var(--s6) 0;font-size:var(--fs-15)}
.df-pdesc table.shop_attributes th,.df-pdesc table.shop_attributes td{padding:var(--s3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.df-pdesc table.shop_attributes th{width:38%;font:700 var(--fs-12)/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t2);padding-right:var(--s4)}
.df-pdesc table.shop_attributes td{color:var(--t1)}
.df-pdesc table.shop_attributes td p{margin:0}
.df-pdesc img{height:auto}
.df-ship{width:100%;border-collapse:collapse;margin:0 0 var(--s6);font-size:var(--fs-15)}
.df-ship th,.df-ship td{padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.df-ship th{font:700 var(--fs-12)/1.6 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t2);white-space:nowrap}
.df-ship td{color:var(--t1)}
.df-ship__cost{text-align:right!important;white-space:nowrap;font-weight:650;padding-right:0!important}
.df-ship__more{margin:var(--s6) 0 0}

/* reviews (when enabled) */
#reviews .commentlist{list-style:none;margin:0;padding:0;display:grid;gap:var(--s6)}
#reviews .comment-text{border-top:1px solid var(--line);padding-top:var(--s4)}
#reviews .avatar{display:none}
.star-rating{font-family:var(--f-mono);color:var(--t1)}

/* ---------- zoom dialog ---------- */
.df-zoom{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:var(--s10) var(--gut);border:0;background:var(--stage)}
.df-zoom::backdrop{background:rgba(22,21,18,.6)}
.df-zoom img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.df-zoom__close{position:fixed;top:var(--s4);right:var(--s4);width:48px;height:48px;border:0;border-radius:var(--r);background:var(--ink);color:var(--d1);font-size:28px;line-height:1}

/* ---------- sticky buy bar (phones) ---------- */
.df-buybar{display:none}
@media (max-width:900px){
  body.single-product{padding-bottom:76px}
  .df-buybar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(247,247,245,.97);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(40,34,20,.06);padding:var(--s3) var(--gut) calc(var(--s3) + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform var(--t-mid) var(--ease)}
  .df-buybar.is-on{transform:none}
  .df-buybar__in{display:flex;align-items:center;gap:var(--s4)}
  .df-buybar__info{flex:1;min-width:0;display:grid}
  .df-buybar__title{font:800 var(--fs-16)/1.1 var(--f-display);letter-spacing:.02em;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .df-buybar__price{font-size:var(--fs-15);font-weight:650;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .df-buybar__price .df-price-note{display:none}
  .df-buybar .df-btn{min-height:48px;padding:0 var(--s5)}
  .df-buybar__oos{font:700 var(--fs-12)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass-ink)}
}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .df-pd{gap:var(--s10)}
  .df-pd__title{font-size:var(--fs-48)}
  .df-pd-info{gap:var(--s12);grid-template-columns:minmax(0,1fr) 360px}
}
@media (max-width:900px){
  .df-product{padding:0}
  .df-pd__crumbs{padding:var(--s3) var(--gut)}
  .df-pd{grid-template-columns:1fr;gap:var(--s5)}
  .df-pd__media{position:static}
  .df-gallery .woocommerce-product-gallery{grid-template-columns:1fr;gap:0}
  .df-gallery .woocommerce-product-gallery__wrapper{grid-column:1;border-radius:0;aspect-ratio:4/3}
  .df-gal__thumbs{display:none}
  .df-gal__count{display:block}
  .df-pd__summary{padding:0 var(--gut)}
  .df-pd__eyebrow{margin-bottom:var(--s2)}
  .df-pd__title{font-size:var(--fs-36);margin-bottom:var(--s3)}
  .df-pd__summary>.df-pd__sticky>.price{font-size:var(--fs-22)}
  .df-pd__facts{margin-bottom:var(--s4)}
  .df-pd-info{grid-template-columns:1fr;gap:0;margin-top:var(--s12);padding:0 var(--gut)}
  .df-pd-info__side{position:static}
  .df-pd-info__main .df-acc:last-child{border-bottom:0}
  .df-acc>summary{min-height:64px}
  .df-acc__title{font-size:var(--fs-22)}
}
@media (max-width:560px){
  .df-pd__crumbs .df-crumbs{font-size:var(--fs-12)}
  .df-trust{gap:var(--s3)}
  .df-trust li{font-size:var(--fs-12)}
  .single_add_to_cart_button{font-size:var(--fs-16)!important;padding:0 var(--s4)!important}
}
@media (min-width:761px) and (max-width:900px){.df-product .df-rail{padding-inline:var(--gut)}}
@media (max-width:900px){
  .df-pd__sticky{max-width:none}
  .df-pd__summary form.cart{margin-top:var(--s5)}
}
@media (max-width:560px){
  .df-opt__body{grid-template-columns:116px minmax(0,1fr);gap:var(--s4)}
  .df-opt__cert{position:static}
  .df-opt__intro{display:none}
  .df-opt__cert .df-cert{--cert-w:116px}
  .df-opt__choices{grid-template-columns:1fr}
  .df-choice,.df-ao--mount{min-height:56px}
  .df-swatches--wood{grid-template-columns:1fr 1fr}
  .df-trust--pd{gap:var(--s2)}
  .df-trust--pd li{font-size:var(--fs-12)}
}
@media (prefers-reduced-motion:reduce){.df-var.is-missing .df-swatches{animation:none}}
