/* ===== EverDemand Product Page ===== */
.single-product .ed-home,.single-product .edh-hero{display:none;}
.single-product div.product{font-family:var(--ed-font);}
.single-product div.product *[class^="edp-"],.single-product div.product *[class*=" edp-"]{box-sizing:border-box;}

/* layout polish */
.single-product div.product{display:flex;flex-wrap:wrap;gap:48px;}
.single-product div.product .woocommerce-product-gallery{width:48%;margin:0!important;float:none!important;position:relative;}
.single-product div.product .summary.entry-summary{width:46%;margin:0!important;float:none!important;}
@media(max-width:880px){.single-product div.product{gap:26px;}.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary.entry-summary{width:100%;}}

/* gallery */
.single-product .woocommerce-product-gallery__image img{border-radius:18px!important;}
.single-product .woocommerce-product-gallery .flex-control-thumbs{margin-top:14px!important;display:flex;gap:10px;flex-wrap:wrap;padding:0;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{width:72px!important;margin:0!important;}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{border-radius:10px;border:2px solid transparent;transition:border-color .2s;opacity:.8;}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,.single-product .woocommerce-product-gallery .flex-control-thumbs .flex-active img{border-color:var(--ed-accent);opacity:1;}
.single-product .woocommerce-product-gallery__trigger{background:#fff;border-radius:50%;box-shadow:var(--ed-shadow);}

/* summary typography */
.single-product div.product .product_title.entry-title{font-family:var(--edh-display)!important;font-size:clamp(24px,3vw,34px)!important;font-weight:800!important;color:var(--ed-ink)!important;letter-spacing:-.02em;line-height:1.15;margin:6px 0 0!important;display:block!important;}
.single-product div.product p.price,.single-product div.product .woocommerce-variation-price .price{color:var(--ed-ink)!important;font-family:var(--edh-display);font-weight:800!important;font-size:26px!important;margin:14px 0!important;}
.single-product div.product p.price del{color:var(--ed-muted)!important;font-weight:500;font-size:18px;opacity:1;}
.single-product div.product p.price ins{text-decoration:none;color:var(--ed-accent-ink)!important;}
.single-product div.product .woocommerce-product-details__short-description{color:var(--ed-ink-2);font-size:15px;line-height:1.65;}

.edp-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--edh-display);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ed-accent);background:rgba(226,86,47,.08);padding:6px 13px;border-radius:999px;margin-bottom:4px;}
.edp-eyebrow svg{width:15px;height:15px;}

/* social proof */
.edp-social{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0 4px;font-size:14px;}
.edp-stars{display:inline-flex;gap:1px;color:var(--ed-gold);}
.edp-stars svg{width:16px;height:16px;}
.edp-social__rate{font-weight:800;color:var(--ed-ink);font-family:var(--edh-display);}
.edp-social__sep{color:var(--ed-line);}
.edp-social__txt{color:var(--ed-muted);}
.edp-social__pill{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:12px;font-weight:700;color:var(--ed-accent-ink);background:rgba(226,86,47,.1);padding:5px 11px;border-radius:999px;}
.edp-social__pill svg{width:13px;height:13px;color:var(--ed-accent);}

/* urgency + stock */
.edp-urgency{margin:16px 0;padding:16px;border:1px solid var(--ed-line);border-radius:14px;background:var(--ed-bg-soft);}
.edp-viewers{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ed-ink-2);}
.edp-viewers svg{width:16px;height:16px;color:var(--ed-accent);}
.edp-viewers b{color:var(--ed-accent-ink);}
.edp-stockbar{margin:12px 0 4px;}
.edp-stockbar__track{height:8px;border-radius:999px;background:#E7E3DC;overflow:hidden;}
.edp-stockbar__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ed-accent),var(--ed-accent-2));}
.edp-stockbar__label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1f9d55;margin-top:8px;}
.edp-stockbar__label svg{width:15px;height:15px;}
.edp-stockbar__label b{color:var(--ed-accent-ink);}
.edp-oos{color:var(--ed-muted)!important;}
.edp-countdown{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ed-ink-2);margin-top:10px;}
.edp-countdown__ic{display:inline-flex;color:var(--ed-accent);}
.edp-countdown__ic svg{width:15px;height:15px;}
.edp-countdown b{color:var(--ed-ink);}
.edp-cd{font-variant-numeric:tabular-nums;background:var(--ed-ink);color:#fff;padding:2px 8px;border-radius:6px;font-family:var(--edh-display);}

/* cart form + buttons */
.single-product .summary form.cart{margin:18px 0!important;}
.single-product .summary .variations{margin-bottom:14px;}
.single-product .summary .variations td,.single-product .summary .variations th{padding:6px 0;}
.single-product .summary .variations label{font-weight:700;color:var(--ed-ink);font-family:var(--edh-display);}
.single-product .summary table.variations select{border:1.5px solid var(--ed-line)!important;border-radius:10px;padding:11px 14px;min-height:46px;background:#fff;}
.single-product .summary .quantity input.qty{height:54px;border:1.5px solid var(--ed-line)!important;border-radius:12px;width:74px;font-weight:700;}
.single-product .summary .single_add_to_cart_button{background:var(--ed-ink)!important;color:#fff!important;border-radius:14px!important;font-family:var(--edh-display);font-weight:800!important;font-size:16px!important;padding:16px 26px!important;min-height:54px;letter-spacing:.01em;text-transform:none;transition:background .2s,transform .2s;flex:1;}
.single-product .summary .single_add_to_cart_button:hover{background:#000!important;transform:translateY(-1px);}
.single-product .summary form.cart:not(.variations_form){display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.single-product .summary .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}

.edp-buynow{flex:1 1 100%;background:linear-gradient(135deg,var(--ed-accent),var(--ed-accent-2))!important;color:#fff!important;border:0!important;border-radius:14px!important;font-family:var(--edh-display);font-weight:800!important;font-size:16px!important;padding:16px 26px!important;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;box-shadow:0 10px 26px rgba(226,86,47,.32);transition:transform .2s,box-shadow .2s;margin-top:12px!important;}
.edp-buynow svg{width:19px;height:19px;}
.edp-buynow:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(226,86,47,.45);}
.edp-express{flex:1 1 100%;background:#fff!important;color:var(--ed-ink)!important;border:1.5px solid var(--ed-ink)!important;border-radius:14px!important;font-family:var(--edh-display);font-weight:700!important;font-size:14.5px!important;padding:14px 22px!important;cursor:pointer;margin-top:10px!important;transition:background .2s,color .2s;}
.edp-express:hover{background:var(--ed-ink)!important;color:#fff!important;}
.edp-express__divide{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:var(--ed-muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;}
.edp-express__divide::before,.edp-express__divide::after{content:"";flex:1;height:1px;background:var(--ed-line);}
/* Airwallex express buttons on product page */
.single-product .summary .airwallex-express-checkout,.single-product .summary [class*="airwallex-express"]{margin:4px 0 6px!important;}
.edp-express__note{display:flex;align-items:center;gap:7px;justify-content:center;font-size:12px;color:var(--ed-muted);margin-top:10px;}
.edp-express__note svg{width:14px;height:14px;color:#1f9d55;}

/* assurances */
.edp-assure{margin:22px 0 14px;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--ed-line);border-radius:16px;}
.edp-assure__row{display:flex;gap:13px;align-items:flex-start;font-size:13.5px;color:var(--ed-ink-2);line-height:1.5;}
.edp-assure__row svg{width:24px;height:24px;color:var(--ed-accent);flex:0 0 auto;margin-top:1px;}
.edp-assure__row b{color:var(--ed-ink);}
.edp-trust{margin-top:8px;text-align:center;}
.edp-trust__lbl{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--ed-muted);}
.edp-trust__lbl svg{width:15px;height:15px;color:#1f9d55;}
.edp-pay{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:10px;}
.edp-pay svg{height:26px;width:40px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.12);}

/* below-summary sections */
.edp-sec{margin:46px 0;}
.edp-wrap{max-width:1180px;}
.edp-h2{font-family:var(--edh-display);font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--ed-ink);letter-spacing:-.02em;margin:0 0 4px;}
.edp-sub{color:var(--ed-muted);font-size:15px;margin:0 0 24px;}

/* UGC / lifestyle */
.edp-ugc__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.edp-ugc__cell{border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:var(--ed-bg-soft);}
.edp-ugc__cell img,.edp-ugc__cell video{width:100%;height:100%;object-fit:cover;display:block;}
.edp-ugc__video{grid-column:span 2;grid-row:span 2;}
@media(max-width:700px){.edp-ugc__grid{grid-template-columns:repeat(2,1fr);}.edp-ugc__video{grid-column:span 2;grid-row:auto;}}

/* frequently bought together */
.edp-fbt__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.edp-fbt__item{position:relative;flex:1;min-width:150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:18px 14px;border:1px solid var(--ed-line);border-radius:16px;background:#fff;text-decoration:none;transition:box-shadow .25s,transform .25s;}
.edp-fbt__item:hover{box-shadow:var(--ed-shadow);transform:translateY(-3px);}
.edp-fbt__item.is-this{border-color:var(--ed-accent);}
.edp-fbt__imgwrap{width:96px;height:96px;border-radius:12px;overflow:hidden;background:var(--ed-bg-soft);}
.edp-fbt__imgwrap img{width:100%;height:100%;object-fit:cover;}
.edp-fbt__name{font-size:13px;font-weight:600;color:var(--ed-ink);line-height:1.35;}
.edp-fbt__price{font-family:var(--edh-display);font-weight:800;color:var(--ed-accent-ink);}
.edp-fbt__tag{position:absolute;top:10px;left:10px;background:var(--ed-accent);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:999px;}
.edp-fbt__plus{font-size:24px;font-weight:300;color:var(--ed-muted);}
.edp-fbt__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding:18px 22px;background:var(--ed-bg-soft);border-radius:16px;}
.edp-fbt__totlbl{display:block;font-size:12px;color:var(--ed-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;}
.edp-fbt__tot{font-family:var(--edh-display);font-size:26px;font-weight:800;color:var(--ed-ink);}
.edp-fbt__btn{display:inline-flex;align-items:center;gap:9px;background:var(--ed-ink);color:#fff;font-family:var(--edh-display);font-weight:700;padding:14px 26px;border-radius:12px;text-decoration:none;transition:background .2s;}
.edp-fbt__btn:hover{background:var(--ed-accent);color:#fff;}
.edp-fbt__btn svg{width:18px;height:18px;}
.edp-fbt__hint{font-size:12px;color:var(--ed-muted);margin-top:10px;}

/* related cards reuse WooCommerce loop; brand handled by shop CSS */
.edp-cards{margin:0!important;}

/* sticky desktop bar */
.edp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:9300;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--ed-line);box-shadow:0 -8px 30px rgba(20,22,28,.10);transform:translateY(110%);transition:transform .35s cubic-bezier(.4,0,.2,1);}
.edp-sticky.is-on{transform:translateY(0);}
.edp-sticky__in{max-width:1180px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.edp-sticky__info{display:flex;align-items:center;gap:14px;min-width:0;}
.edp-sticky__info img{width:50px;height:50px;border-radius:10px;object-fit:cover;}
.edp-sticky__name{display:block;font-weight:700;color:var(--ed-ink);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px;}
.edp-sticky__price{display:block;font-family:var(--edh-display);font-weight:800;color:var(--ed-accent-ink);font-size:16px;}
.edp-sticky__cta{display:flex;gap:10px;flex:0 0 auto;}
.edp-sticky__btn{display:inline-flex;align-items:center;gap:8px;background:var(--ed-ink);color:#fff;border:0;border-radius:12px;padding:13px 24px;font-family:var(--edh-display);font-weight:700;font-size:14px;cursor:pointer;transition:background .2s;}
.edp-sticky__btn:hover{background:#000;}
.edp-sticky__btn svg{width:17px;height:17px;}
.edp-sticky__buy{background:linear-gradient(135deg,var(--ed-accent),var(--ed-accent-2));color:#fff;border:0;border-radius:12px;padding:13px 24px;font-family:var(--edh-display);font-weight:700;font-size:14px;cursor:pointer;}
@media(max-width:880px){.edp-sticky{display:none;}}

/* floating mobile bar */
.edp-mobilebar{display:none;}
@media(max-width:880px){
  .edp-mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9300;background:#fff;border-top:1px solid var(--ed-line);box-shadow:0 -6px 24px rgba(20,22,28,.12);padding:10px 14px;align-items:center;gap:12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));}
  .edp-mobilebar__price{font-family:var(--edh-display);font-weight:800;font-size:18px;color:var(--ed-ink);white-space:nowrap;}
  .edp-mobilebar__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--ed-accent),var(--ed-accent-2));color:#fff;border:0;border-radius:12px;padding:15px;font-family:var(--edh-display);font-weight:800;font-size:15px;cursor:pointer;}
  .edp-mobilebar__btn svg{width:18px;height:18px;}
  body.single-product{padding-bottom:74px;}
}
.edp-pulse{animation:edp-pulse 1s ease 2;}
@keyframes edp-pulse{0%,100%{box-shadow:0 0 0 0 rgba(226,86,47,.5);}50%{box-shadow:0 0 0 10px rgba(226,86,47,0);}}
@media(prefers-reduced-motion:reduce){.edp-sticky,.edp-mobilebar{transition:none;}.edp-pulse{animation:none;}}

/* ===== Visual variation swatches ===== */
.edp-hidden-select{display:none!important;}
.single-product .summary table.variations,.single-product .summary table.variations tbody,.single-product .summary table.variations tr,.single-product .summary table.variations td,.single-product .summary table.variations th{display:block;width:100%;border:0;padding:0;}
.single-product .summary table.variations tr{margin-bottom:16px;}
.single-product .summary table.variations td.label label,.single-product .summary table.variations th label{display:block;margin:0 0 9px;font-family:var(--edh-display);font-weight:700;font-size:14px;color:var(--ed-ink);}
.edp-selname{font-family:var(--ed-font);font-weight:600;color:var(--ed-muted);}
.single-product .summary .woocommerce-variation-add-to-cart{margin-top:6px;}
.single-product .summary a.reset_variations{display:inline-block;margin-top:6px;font-size:12px;color:var(--ed-muted);}
.edp-swatches{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0;}
.edp-sw{cursor:pointer;border:0;background:transparent;padding:0;font-family:var(--ed-font);position:relative;line-height:1.2;}
.edp-sw.is-disabled{opacity:.32;cursor:not-allowed;}
.edp-sw--image{display:flex;flex-direction:column;align-items:center;gap:6px;width:78px;}
.edp-sw__imgwrap{width:74px;height:74px;border-radius:14px;overflow:hidden;border:2px solid var(--ed-line);background:#fff;transition:border-color .2s,transform .2s,box-shadow .2s;}
.edp-sw__imgwrap img{width:100%;height:100%;object-fit:cover;display:block;}
.edp-sw--image:hover .edp-sw__imgwrap{border-color:var(--ed-accent-2);transform:translateY(-2px);}
.edp-sw--image.is-active .edp-sw__imgwrap{border-color:var(--ed-accent);box-shadow:0 0 0 3px rgba(226,86,47,.18);}
.edp-sw__cap{font-size:11.5px;color:var(--ed-ink-2);text-align:center;line-height:1.25;max-width:80px;}
.edp-sw--image.is-active .edp-sw__cap{color:var(--ed-ink);font-weight:600;}
.edp-sw--color{display:flex;flex-direction:column;align-items:center;gap:6px;}
.edp-sw__dot{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);transition:transform .2s,box-shadow .2s;}
.edp-sw--color:hover .edp-sw__dot{transform:scale(1.08);}
.edp-sw--color.is-active .edp-sw__dot{box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 0 0 2px #fff,0 0 0 4px var(--ed-accent);}
.edp-sw--size{min-width:54px;height:52px;padding:0 14px;border:1.5px solid var(--ed-line);border-radius:12px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--edh-display);font-weight:700;font-size:15px;color:var(--ed-ink);transition:background .18s,border-color .18s,color .18s,transform .18s;}
.edp-sw--size:hover{border-color:var(--ed-ink);transform:translateY(-1px);}
.edp-sw--size.is-active{background:var(--ed-ink);border-color:var(--ed-ink);color:#fff;}
.edp-sw--size.is-disabled{text-decoration:line-through;}
.edp-sw--label{padding:11px 17px;border:1.5px solid var(--ed-line);border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:var(--ed-ink);transition:background .18s,border-color .18s,color .18s;}
.edp-sw--label:hover{border-color:var(--ed-ink);}
.edp-sw--label.is-active{background:var(--ed-accent);border-color:var(--ed-accent);color:#fff;}

/* ===== Volume bundle tiers ===== */
.edp-bundle{margin:18px 0;display:flex;flex-direction:column;gap:11px;}
.edp-bundle__head{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ed-ink-2);}
.edp-bundle__head svg{width:17px;height:17px;color:var(--ed-accent);flex:0 0 auto;}
.edp-bundle__head b{color:var(--ed-ink);font-family:var(--edh-display);font-weight:800;}
.edp-tier{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--ed-line);border-radius:15px;padding:15px 18px;cursor:pointer;font-family:var(--ed-font);transition:border-color .2s,box-shadow .2s,background .2s;}
.edp-tier:hover{border-color:var(--ed-accent-2);}
.edp-tier[data-badge="MOST POPULAR"]{border-color:rgba(226,86,47,.5);}
.edp-tier.is-active{border-color:var(--ed-accent);background:rgba(226,86,47,.04);box-shadow:0 0 0 3px rgba(226,86,47,.13);}
.edp-tier__radio{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--ed-line);position:relative;transition:border-color .2s;}
.edp-tier.is-active .edp-tier__radio{border-color:var(--ed-accent);}
.edp-tier.is-active .edp-tier__radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ed-accent);}
.edp-tier__main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;}
.edp-tier__label{font-family:var(--edh-display);font-weight:800;font-size:17px;color:var(--ed-ink);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.edp-tier__badge{font-family:var(--ed-font);font-size:10px;font-weight:800;letter-spacing:.05em;color:#fff;background:var(--ed-accent);padding:3px 9px;border-radius:999px;text-transform:uppercase;}
.edp-tier[data-badge="BEST VALUE"] .edp-tier__badge{background:var(--ed-ink);}
.edp-tier__sub{font-size:12.5px;color:var(--ed-muted);}
.edp-tier__save{font-size:12.5px;font-weight:800;color:#1f9d55;}
.edp-tier__free{display:none;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:var(--ed-accent-ink);margin-top:1px;}
.edp-tier__free svg{width:14px;height:14px;}
.edp-tier.is-free .edp-tier__free{display:inline-flex;}
.edp-tier__price{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:1px;}
.edp-tier__now{font-family:var(--edh-display);font-weight:800;font-size:21px;color:var(--ed-ink);line-height:1.1;}
.edp-tier__was{font-size:13px;color:var(--ed-muted);text-decoration:line-through;}
.edp-bundle__note{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--ed-muted);margin-top:2px;}
.edp-bundle__note svg{width:14px;height:14px;color:var(--ed-accent);}
.edp-bundle__note b{color:var(--ed-ink);}
