/* Giftimo product experience – presentation only. No duplicate business logic.
   Compatible with the Interface V2 preset AND the child product pattern.
   All rules scoped to the Interface product route. */
.gui-product-template{--gf-product-border:var(--global-palette7,#e9ded3);--gf-product-ink:var(--global-palette3,#292522);--gf-product-muted:var(--global-palette4,#5c534e);--gf-product-brand:var(--global-palette1,#813b31);--gf-product-panel:var(--global-palette9,#fff);--gf-product-soft:var(--global-palette8,#f7f3ee);color:var(--gf-product-ink);width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.gui-product-template :where(.gui-product,.wp-block-kadence-rowlayout,.wp-block-kadence-column,.kt-inside-inner-col,.gui-block){min-width:0;box-sizing:border-box}
.gui-product-template :where(.gui-atf,.gui-editor-row,.gui-offers-row,.gui-details-row){width:min(100%,1320px);max-width:1320px;margin-inline:auto}
.gui-product-template :where(.gui-atf,.gui-editor-row,.gui-offers-row,.gui-details-row)>.kt-row-column-wrap{width:100%;max-width:100%;box-sizing:border-box}
/* Three functional columns: gallery / dispatch and trust / direct order. */
.gui-product-template .gui-atf>.kt-row-column-wrap{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(0,.95fr) minmax(0,2.05fr)!important;gap:clamp(16px,1.6vw,26px)!important;align-items:start!important}
.gui-product-template .gui-atf>.kt-row-column-wrap>.wp-block-kadence-column{float:none!important;width:auto!important;max-width:100%!important;margin:0!important;flex:initial!important;min-width:0}
.gui-product-template :where(.gui-atf-images,.gui-atf-delivery,.gui-atf-order){min-width:0;align-self:start}
/* On first paint these zones must be scannable; owner slots may be legitimately empty. */
.gui-product-template .gui-atf-order .gui-product-title{font-family:Manrope,system-ui,sans-serif;font-size:clamp(1.5rem,2vw,2rem);font-weight:750;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 10px}
.gui-product-template .gui-atf-order .gui-product-description{margin-block:6px 8px;color:var(--gf-product-muted);font-size:clamp(.91rem,1.1vw,1rem);line-height:1.58}
.gui-product-template .gui-atf-order .gui-product-description :where(p,ul){margin:0 0 8px}
.gui-product-template .gui-atf-order .gui-product-benefits{margin:2px 0 12px}
.gui-product-template .gui-benefit-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.gui-product-template .gui-benefit-list li{font-size:.78rem;line-height:1.35;padding:7px 10px;border:1px solid var(--gf-product-border);border-radius:7px;background:var(--gf-product-soft);max-width:100%;overflow-wrap:anywhere}
.gui-product-template .gui-atf-order .gui-product-price{margin:6px 0 0}
.gui-product-template .gui-atf-order .gui-price{font:750 clamp(1.2rem,1.6vw,1.55rem)/1.4 Manrope,system-ui,sans-serif;color:var(--gf-product-ink);margin:8px 0 10px}
.gui-product-template .gui-purchase{max-width:100%;padding:0;margin:0}
.gui-product-template .gui-purchase form.cart{display:block!important;margin:0;width:100%;max-width:100%;padding:clamp(14px,1.5vw,22px);border:1px solid var(--gf-product-border);border-radius:12px;background:var(--gf-product-panel);box-shadow:0 8px 30px rgba(41,37,34,.045)}
.gui-product-template .gui-purchase form.cart :where(input[type=file],input[type=text],input[type=number],input[type=tel],textarea,select){max-width:100%;box-sizing:border-box;min-height:44px;font-size:16px}
.gui-product-template .gui-purchase form.cart textarea{min-height:88px;resize:vertical}
.gui-product-template .gui-purchase .single_add_to_cart_button{width:100%;max-width:100%;min-height:52px;border-radius:7px!important;white-space:normal;line-height:1.4;padding:12px 16px!important;background:var(--gf-product-brand);color:#fff}
.gui-product-template .gui-purchase :where(.quantity,.variations,.woocommerce-variation-add-to-cart){max-width:100%;min-width:0}
.gui-product-template .gui-purchase :where(.variations select,.quantity input){max-width:100%}
.gui-product-template .gui-purchase .gui-help{line-height:1.55;margin:10px 0 0;color:var(--gf-product-muted);font-size:.78rem}
.gui-product-template .gui-atf-images :where(.woocommerce-product-gallery,.flex-viewport,.woocommerce-product-gallery__wrapper){width:100%;max-width:100%;float:none}
.gui-product-template .gui-atf-images .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:contain;background:var(--gf-product-panel);border-radius:10px}
.gui-product-template .gui-atf-images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none}
.gui-product-template .gui-atf-images .flex-control-thumbs li{margin:0;float:none;width:100%;min-width:0}
.gui-product-template .gui-atf-images .flex-control-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:6px}
.gui-product-template .gui-atf-delivery .gui-delivery{padding:clamp(12px,1.4vw,19px);background:var(--gf-product-soft);border:1px solid var(--gf-product-border);border-radius:10px;color:var(--gf-product-ink)}
.gui-product-template .gui-delivery h2{font:750 .96rem/1.4 Manrope,system-ui,sans-serif;margin:0 0 12px}
.gui-product-template .gui-delivery :where(p,.stock){font-size:.83rem;line-height:1.6;overflow-wrap:anywhere}
.gui-product-template .gui-delivery-note{font-size:.78rem;color:var(--gf-product-muted);margin-bottom:0}
/* The inline editor remains open. No theme fake form, no overlay, no duplicated media storage. */
.gui-product-template :where(.gui-editor-row,.gui-offers-row,.gui-details-row){margin-block:clamp(24px,4vw,60px)}
.gui-product-template .gui-editor-row{scroll-margin-top:calc(var(--wp-admin--admin-bar--height,0px) + 16px)}
.gui-product-template .gui-editor-row .gui-expanded-editor{max-width:100%;overflow:visible}
.gui-product-template .gui-editor-row :where(.gp-editor,.gp-intake){max-width:100%;width:100%;min-width:0}
.gui-product-template :where(.gp-editor,.gp-intake) :where(button,input,select,textarea):focus-visible,.gui-product-template :where(button,a,summary):focus-visible{outline:3px solid #125a78;outline-offset:3px}
.gui-product-template .gui-editor-row button{min-height:44px}
/* Owner-sourced real-stock and artwork offer cards – never fake CTA via theme. */
.gui-product-template .gui-offers-row .gui-same-design-cross-sell{min-width:0}
.gui-product-template .gui-offers-row :where(.gg-same-design,.gg-same-design-offers){width:100%;max-width:100%;min-width:0}
.gui-product-template .gui-offers-row img{max-width:100%;height:auto}
/* Long description + approved product facts + native reviews; never reprint attributes. */
.gui-product-template .gui-details-row :where(.gui-long-description,.gui-facts,.gui-review-section){max-width:100%;min-width:0}
.gui-product-template .gui-long-description{max-width:80ch;line-height:1.75;color:var(--gf-product-ink)}
.gui-product-template .gui-long-description :where(h2,h3){font-family:Manrope,system-ui,sans-serif;letter-spacing:-.02em;line-height:1.32}
.gui-product-template .gui-long-description h2{font-size:clamp(1.3rem,1.8vw,1.75rem);margin:1.5em 0 .55em}
.gui-product-template .gui-long-description h3{font-size:clamp(1.08rem,1.4vw,1.35rem);margin:1.35em 0 .5em}
.gui-product-template .gui-long-description :where(p,ul,ol){margin-block:0 1.05em}
.gui-product-template .gui-long-description :where(ul,ol){padding-inline-start:1.5em}
.gui-product-template .gui-long-description :where(img,figure,iframe){max-width:100%;height:auto}
.gui-product-template .gui-facts{padding:clamp(16px,2vw,28px);border:1px solid var(--gf-product-border);border-radius:12px;background:var(--gf-product-panel)}
.gui-product-template .gui-facts h2{font:750 clamp(1.16rem,1.5vw,1.5rem)/1.4 Manrope,system-ui,sans-serif;margin:0 0 12px}
.gui-product-template .gui-facts-scroll{overflow-x:auto;max-width:100%}
.gui-product-template .gui-facts table{border-collapse:collapse;width:100%;margin:0;table-layout:fixed}
.gui-product-template .gui-facts :where(th,td){text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--gf-product-border);overflow-wrap:anywhere;font-size:.94rem;line-height:1.45}
.gui-product-template .gui-facts th{width:38%;font-weight:750}
.gui-product-template .gui-facts tr:last-child :where(th,td){border-bottom:0}
.gui-product-template .gui-review-section{margin-block:40px}
.gui-product-template .gui-related-products{margin-block:32px}
.gui-product-template .gui-related-products h2{font:750 clamp(1.3rem,1.8vw,1.7rem)/1.35 Manrope,system-ui,sans-serif}
/* Mobile order control remains Interface-owned; this does not create a second cart. */
.gui-product-template .gui-sticky-buy{box-sizing:border-box;gap:12px;max-width:100vw;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.gui-product-template .gui-sticky-buy .gui-sticky-price{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gui-product-template .gui-sticky-buy .gui-sticky-link{min-height:48px;max-width:60vw;white-space:normal;flex-shrink:0}
@media(min-width:1181px){.gui-product-template .gui-atf>.kt-row-column-wrap{grid-template-columns:minmax(0,2fr) minmax(0,.95fr) minmax(0,2.05fr)!important}}
/* Laptop: gallery left, order right, delivery under gallery. */
@media(max-width:1180px) and (min-width:721px){.gui-product-template .gui-atf>.kt-row-column-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important}.gui-product-template .gui-atf-images{grid-column:1;grid-row:1}.gui-product-template .gui-atf-order{grid-column:2;grid-row:1 / span 2}.gui-product-template .gui-atf-delivery{grid-column:1;grid-row:2}}
/* Phone/tablet: gallery, direct order, then delivery. Avoid the old Kadence reversed stacking. */
@media(max-width:720px){.gui-product-template .gui-atf>.kt-row-column-wrap{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.gui-product-template .gui-atf-images{grid-column:1;grid-row:1}.gui-product-template .gui-atf-order{grid-column:1;grid-row:2}.gui-product-template .gui-atf-delivery{grid-column:1;grid-row:3}.gui-product-template .gui-atf-order .gui-product-title{font-size:clamp(1.4rem,5.3vw,1.85rem)}.gui-product-template .gui-purchase form.cart{padding:14px}.gui-product-template .gui-sticky-buy{width:100%;justify-content:space-between}}
@media(max-width:380px){.gui-product-template .gui-benefit-list li{font-size:.74rem;padding:6px 8px}.gui-product-template .gui-facts{padding:12px}.gui-product-template .gui-facts :where(th,td){padding:9px 6px;font-size:.82rem}.gui-product-template .gui-purchase form.cart{padding:12px}.gui-product-template .gui-sticky-buy .gui-sticky-price{font-size:.82rem}.gui-product-template .gui-sticky-buy .gui-sticky-link{font-size:.82rem;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.gui-product-template *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
