/* ============================================================
   Dogalicious PDP v2 — scoped styles (design 1C / 2A)
   Everything under .dga-pdp so nothing leaks into the theme.
   Tokens are redeclared locally so the page renders correctly
   even where the design-system CSS isn't loaded.
   ============================================================ */
.dga-pdp{
  --peach:#f6d4b4; --mint:#8ffcff; --teal:#00bbcc; --coral:#fc9f5b;
  --forest:#33673b; --lime:#a5e000; --spring:#2af47b;
  --ink:#1a1613; --charcoal:#5a4b40; --stone:#8a7a6e; --sand:#d8c6b5;
  --cream:#fff7ec; --paper:#fffaf2; --white:#ffffff;
  --border:#ead9c5; --border-strong:#d8c6b5;
  --brand:#00bbcc; --brand-hover:#009dac; --brand-press:#008795;
  --success-ink:#33673b;
  --font-display:'Baloo 2','Fredoka','GenSenRounded2 TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
  --font-ui:'Fredoka','Nunito','GenSenRounded2 TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
  --font-body:'Nunito','GenSenRounded2 TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
  --ease-out:cubic-bezier(.22,1,.36,1);
  background:var(--paper); color:var(--ink); font-family:var(--font-body);
}
.dga-pdp *,.dga-pdp *::before,.dga-pdp *::after{box-sizing:border-box;}
.dga-pdp.lang-zh{--font-display:'GenSenRounded2 TC','Baloo 2','PingFang TC','Microsoft JhengHei',sans-serif;
  --font-ui:'GenSenRounded2 TC','Fredoka','PingFang TC','Microsoft JhengHei',sans-serif;
  --font-body:'GenSenRounded2 TC','Nunito','PingFang TC','Microsoft JhengHei',sans-serif;}

/* trust bar */
.dga-pdp__trustbar{background:var(--forest); color:var(--cream); text-align:center;
  padding:9px 16px; font-family:var(--font-ui); font-weight:600; font-size:13px; letter-spacing:.02em;}

.dga-pdp__wrap{max-width:1200px; margin:0 auto; padding:0 clamp(16px,4vw,36px) 40px;}

/* breadcrumb */
.dga-pdp__crumb{font-family:var(--font-ui); font-weight:600; font-size:12.5px; color:var(--stone); padding:16px 0 0;}
.dga-pdp__crumb a{color:var(--stone); text-decoration:none;}
.dga-pdp__crumb a:hover{color:var(--brand);}
.dga-pdp__crumb .is-current{color:var(--ink);}
.dga-pdp__crumb .sep{opacity:.5;}

/* hero grid */
.dga-pdp__hero{display:grid; grid-template-columns:0.95fr 1.05fr; gap:36px; padding:20px 0 36px; align-items:start;}

/* gallery */
.dga-pdp__gallery{position:relative; background:var(--white); border:2px solid var(--ink); border-radius:18px; overflow:hidden; aspect-ratio:1/1;}
.dga-pdp__mainimg{width:100%; height:100%; object-fit:cover; display:block;}
.dga-pdp__mainimg[hidden]{display:none;}
.dga-pdp__badge{position:absolute; top:12px; left:12px; z-index:2; background:var(--coral); color:var(--ink);
  font-family:var(--font-ui); font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px; border:2px solid var(--ink);}
.dga-pdp.lang-zh .dga-pdp__badge{text-transform:none; letter-spacing:.02em;}
.dga-pdp__thumbs{display:flex; gap:10px; margin-top:12px;}
.dga-pdp__thumb{flex:1 1 0; aspect-ratio:1/1; border-radius:12px; overflow:hidden; padding:0; cursor:pointer;
  background:var(--white); border:2px solid var(--ink); transition:transform var(--dur-fast,120ms) var(--ease-out);}
.dga-pdp__thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.dga-pdp__thumb.is-active{outline:2px solid var(--brand); outline-offset:2px;}

/* trust badges 2x2 */
.dga-pdp__trustgrid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px;}
.dga-pdp__trustbadge{display:flex; gap:9px; align-items:flex-start; background:var(--cream);
  border:1px solid var(--border); border-radius:12px; padding:11px 12px;}
.dga-pdp__trustbadge svg{flex:none; margin-top:2px; color:var(--brand);}
.dga-pdp__trustbadge .t{font-family:var(--font-ui); font-weight:700; font-size:12.5px; color:var(--ink); line-height:1.2;}
.dga-pdp__trustbadge .s{font-size:11px; color:var(--stone); line-height:1.35; margin-top:2px;}

/* buy column */
.dga-pdp__title{font-family:var(--font-display); font-weight:800; font-size:clamp(27px,3.4vw,38px);
  line-height:1.02; letter-spacing:-.02em; color:var(--ink); margin:0 0 8px;}
.dga-pdp.lang-zh .dga-pdp__title{letter-spacing:.01em; line-height:1.2; font-weight:900;}
.dga-pdp__meta{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
.dga-pdp__stars{color:var(--coral); font-size:16px; letter-spacing:1px;}
.dga-pdp__ratingtxt{font-family:var(--font-ui); font-weight:600; font-size:13px; color:var(--charcoal); text-decoration:none;}
a.dga-pdp__ratingtxt:hover{color:var(--brand);}
.dga-pdp__instock{font-family:var(--font-ui); font-weight:700; font-size:11px; color:var(--success-ink);
  background:rgba(42,244,123,.18); padding:3px 9px; border-radius:999px;}
.dga-pdp__intro{font-size:15px; line-height:1.55; color:var(--charcoal); margin:0 0 16px;}

/* benefits checklist */
.dga-pdp__benefits{list-style:none; padding:0; margin:0 0 20px; display:grid; grid-template-columns:1fr 1fr; gap:8px 16px;}
.dga-pdp__benefits li{display:flex; gap:8px; align-items:flex-start; font-family:var(--font-body);
  font-size:13.5px; color:var(--ink); line-height:1.4;}
.dga-pdp__benefits svg{flex:none; margin-top:2px; color:var(--brand);}
.dga-pdp__benefits strong{font-weight:800;}

/* buy card */
.dga-pdp__buycard{background:var(--cream); border:2px solid var(--ink); border-radius:18px; padding:20px;}
/* my controllable unit price at the top of the buy card */
.dga-pdp__priceline{display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; margin:0 0 2px;}
.dga-pdp__unit{font-family:var(--font-ui); font-weight:600; font-size:13.5px; color:var(--stone);}
.dga-pdp__price{display:block; font-family:var(--font-display); font-weight:800; font-size:32px; color:var(--ink); line-height:1.05; margin:0;}
.dga-pdp__price .woocommerce-Price-amount{font-family:var(--font-display); font-weight:800;}
.dga-pdp__price del{opacity:.5; font-size:.55em; font-weight:600;}
.dga-pdp__price ins{text-decoration:none;}
/* hide native variation price text + duplicate availability (our top price + top pill replace them); keep subscribe options */
.dga-pdp__wooform .woocommerce-variation-price > .price,
.dga-pdp__wooform .woocommerce-variation-price > br,
.dga-pdp__wooform .woocommerce-variation-availability,
.dga-pdp__wooform .woocommerce-variation-description{display:none!important;}
/* hide the plugin points line (we show our own "Earn up to X") and the duplicate discount promo bar */
.dga-pdp .wc-points-rewards-product-message{display:none!important;}
.dga-pdp__wooform .awdr_discount_bar{display:none!important;}
/* WooCommerce Subscriptions one-time / subscribe options -> clean card */
.dga-pdp .wcsatt-options-wrapper{background:var(--white); border:2px solid var(--ink); border-radius:12px;
  padding:12px 14px; margin:12px 0 0; font-family:var(--font-ui); font-size:13px; color:var(--ink);}
.dga-pdp .wcsatt-options-product-prompt{font-weight:700; margin-bottom:8px;}
.dga-pdp .wcsatt-options-product-wrapper li,.dga-pdp .wcsatt-options-product-wrapper label{margin:4px 0; line-height:1.4;}
.dga-pdp .wcsatt-options-product-wrapper input[type=radio]{accent-color:var(--brand); margin-right:6px;}
/* delivery-frequency dropdown (shown when Subscribe is selected) */
.dga-pdp .wcsatt-options-product-wrapper{margin-top:10px;}
.dga-pdp .wcsatt-options-product-wrapper > label,.dga-pdp .wcsatt-options-product-title{display:block; font-weight:600; font-size:12px; color:var(--charcoal); margin:0 0 4px;}
.dga-pdp .wcsatt-options-product-wrapper select{width:100%; max-width:100%; padding:8px 28px 8px 10px; border:1.5px solid var(--ink); border-radius:9px; font-family:var(--font-ui); font-size:12.5px; color:var(--ink);
  -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer;
  background-color:var(--white);
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%231a1613'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:10px 6px;}
.dga-pdp__points{font-family:var(--font-ui); font-size:12.5px; color:var(--brand); font-weight:700; margin:10px 0 12px;}
.dga-pdp__label{font-family:var(--font-ui); font-weight:700; font-size:13px; color:var(--ink); margin:6px 0 8px;}

/* weight selector */
.dga-pdp__weights{display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap;}
.dga-pdp__weight{flex:1 1 0; min-width:110px; padding:12px; border-radius:12px; cursor:pointer;
  font-family:var(--font-ui); font-weight:700; font-size:14px; background:var(--white); color:var(--ink);
  border:2px solid var(--ink); transition:transform var(--ease-out) .12s;}
.dga-pdp__weight.is-active{background:var(--ink); color:var(--cream);}
.dga-pdp__weight:hover{transform:translateY(-1px);}

/* native Woo form — restyle in place */
.dga-pdp__wooform .variations{margin:0 0 12px;}
.dga-pdp__wooform .variations label{font-family:var(--font-ui); font-weight:700; font-size:13px; color:var(--ink);}
/* Hide the raw single-attribute select row — our weight buttons drive it */
.dga-pdp__wooform.has-weights .variations{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.dga-pdp__wooform .woocommerce-variation-price{margin:0 0 12px;}
.dga-pdp__wooform .woocommerce-variation-price .price{font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--ink);}
.dga-pdp__wooform .woocommerce-variation-availability{font-family:var(--font-ui); font-size:12px; color:var(--forest); margin-bottom:8px;}
.dga-pdp__wooform .reset_variations{font-family:var(--font-ui); font-size:12px; color:var(--stone);}

.dga-pdp__wooform form.cart{margin:0; width:100%; display:block;}
/* Quantity + Add-to-cart on the left, subscription options on the right.
   Robust flex (no display:contents) so plugin inline styles can't break it. */
.dga-pdp__wooform .single_variation_wrap{display:flex; flex-wrap:nowrap; gap:14px; align-items:flex-start; width:100%; margin-top:4px;}
.dga-pdp__wooform .single_variation{order:2; flex:1 1 auto; min-width:0; margin:0;}
.dga-pdp__wooform .woocommerce-variation-add-to-cart{order:1; flex:0 0 132px; display:flex; flex-direction:column; gap:12px; margin:0;}
.dga-pdp__wooform .woocommerce-variation-add-to-cart .quantity{width:100%;}
.dga-pdp__wooform .single_add_to_cart_button{width:100%; min-width:0; justify-content:center; padding-left:6px; padding-right:6px;}
.dga-pdp__wooform .wcsatt-options-wrapper{margin:0;}
.dga-pdp__wooform .quantity{display:flex; align-items:center; border:2px solid var(--ink); border-radius:12px;
  overflow:hidden; background:var(--white); position:relative;}
/* Blocksy injects its own overlay +/- spans that block clicks + typing — hide them, use ours */
.dga-pdp__wooform .quantity .ct-increase,
.dga-pdp__wooform .quantity .ct-decrease{display:none!important;}
.dga-pdp__wooform .quantity .dga-qtybtn{width:40px; height:50px; border:0; background:transparent; cursor:pointer;
  font-size:22px; font-weight:700; line-height:1; color:var(--ink); z-index:2; flex:none;}
.dga-pdp__wooform .quantity input.qty{width:46px; height:50px; border:0; text-align:center; background:transparent;
  font-family:var(--font-ui); font-weight:700; font-size:17px; -moz-appearance:textfield; z-index:2; pointer-events:auto;
  padding:0!important; color:var(--ink)!important; -webkit-text-fill-color:var(--ink);}
.dga-pdp__wooform .quantity input.qty::-webkit-outer-spin-button,
.dga-pdp__wooform .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.dga-pdp__wooform .single_add_to_cart_button{flex:1 1 auto; min-width:180px; padding:14px 16px; border-radius:12px;
  cursor:pointer; font-family:var(--font-ui); font-weight:700; font-size:16px; color:var(--white);
  background:var(--brand); border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink);
  transition:transform .12s var(--ease-out),background .12s var(--ease-out); text-transform:none; letter-spacing:0;}
.dga-pdp__wooform .single_add_to_cart_button:hover{background:var(--brand-hover); transform:translateY(-2px);}
.dga-pdp__wooform .single_add_to_cart_button:active{background:var(--brand-press); transform:translate(0,0);}
.dga-pdp__wooform .single_add_to_cart_button.disabled{opacity:.5; box-shadow:none;}
/* subscription options (WCS / All-Products) if the product exposes them */
.dga-pdp__wooform .wcsatt-options-wrapper,.dga-pdp__wooform .subscription-details{font-family:var(--font-ui); font-size:13px; margin:4px 0 12px;}

.dga-pdp__mixmatch{font-family:var(--font-ui); font-size:12.5px; color:var(--charcoal); margin:14px 0 0; line-height:1.5;
  background:#fff1e2; border:1px solid #f4cfa8; border-radius:12px; padding:12px 14px;}
.dga-pdp__mixmatch strong{font-weight:800; color:#b5651d;}

/* ingredients + nutrition */
.dga-pdp__innut{display:grid; grid-template-columns:1.3fr 1fr; gap:32px; padding:8px 0 40px;}
.dga-pdp__ingredients h2,.dga-pdp__faq h2,.dga-pdp__cross h2{font-family:var(--font-display); font-weight:800;
  font-size:clamp(20px,2.4vw,26px); color:var(--ink); margin:0 0 14px;}
.dga-pdp__chips{display:flex; flex-wrap:wrap; gap:8px;}
.dga-pdp__chip{font-family:var(--font-ui); font-weight:600; font-size:13px; color:var(--ink);
  background:var(--cream); border:1px solid var(--border-strong); border-radius:999px; padding:6px 13px;}
.dga-pdp__nutrition{background:var(--peach); border:2px solid var(--ink); border-radius:18px; padding:20px 22px;}
.dga-pdp__nutrition h3{font-family:var(--font-display); font-weight:800; font-size:18px; color:var(--ink); margin:0 0 12px;}
.dga-pdp__nutrition .row{display:flex; justify-content:space-between; padding:8px 0;
  border-bottom:1px solid rgba(26,22,19,.14); font-family:var(--font-ui); font-size:14px;}
.dga-pdp__nutrition .row:last-child{border-bottom:0;}
.dga-pdp__nutrition .l{font-weight:600; color:var(--charcoal);}
.dga-pdp__nutrition .v{font-weight:700; color:var(--ink);}

/* about + lab analysis (richer / therapeutic products) */
.dga-pdp__details,.dga-pdp__aboutsec{margin:0 0 40px;}
.dga-pdp__details h2,.dga-pdp__aboutsec h2{font-family:var(--font-display); font-weight:800; font-size:clamp(20px,2.4vw,24px); color:var(--ink); margin:0 0 14px;}
.dga-pdp__about{max-width:820px; font-size:15px; line-height:1.65; color:var(--charcoal);}
.dga-pdp__about p{margin:0 0 12px;}
.dga-pdp__labtitle{font-family:var(--font-display); font-weight:800; font-size:18px; color:var(--ink); margin:26px 0 14px;}
.dga-pdp__labgrid{display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start;}
.dga-pdp__labbox{background:var(--peach); border:2px solid var(--ink); border-radius:18px; padding:16px 18px;}
.dga-pdp__labbox h4{font-family:var(--font-display); font-weight:800; font-size:15px; color:var(--ink); margin:0 0 10px; text-transform:capitalize;}
.dga-pdp__labbox table{border-collapse:collapse; width:100%; font-size:13px; font-family:var(--font-ui);}
.dga-pdp__labbox td{padding:6px 2px; border-bottom:1px solid rgba(26,22,19,.16);}
.dga-pdp__labbox tr:last-child td{border-bottom:0;}
.dga-pdp__labbox td:first-child{color:var(--charcoal);}
.dga-pdp__labbox td:last-child{text-align:right; font-weight:700; color:var(--ink); white-space:nowrap; padding-left:10px;}

/* FAQ */
.dga-pdp__faq{background:var(--cream); border:1px solid var(--border); border-radius:18px; padding:32px clamp(20px,3vw,36px); margin-bottom:40px;}
.dga-pdp__faqlist{display:flex; flex-direction:column; max-width:900px;}
.dga-pdp__faqitem{border-bottom:1px solid var(--border);}
.dga-pdp__faqq{width:100%; display:flex; justify-content:space-between; gap:14px; text-align:left; padding:14px 2px;
  background:transparent; border:0; cursor:pointer; font-family:var(--font-ui); font-weight:700; font-size:15px; color:var(--ink);}
.dga-pdp__faqq .plus{color:var(--brand); font-size:20px; transition:transform .22s var(--ease-out);}
.dga-pdp__faqitem.is-open .plus{transform:rotate(45deg);}
.dga-pdp__faqa{overflow:hidden; max-height:0; transition:max-height .22s var(--ease-out);}
.dga-pdp__faqa p{padding:0 2px 16px; font-size:14px; line-height:1.55; color:var(--charcoal); margin:0;}

/* cross-sell */
.dga-pdp__crossgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.dga-pdp__crosscard{background:var(--white); border:2px solid var(--ink); border-radius:16px; overflow:hidden;
  text-decoration:none; color:inherit; display:block; transition:transform .12s var(--ease-out);}
.dga-pdp__crosscard:hover{transform:translateY(-3px);}
.dga-pdp__crosscard .img{aspect-ratio:1.3/1; overflow:hidden;}
.dga-pdp__crosscard .img img{width:100%; height:100%; object-fit:cover; display:block;}
.dga-pdp__crosscard .body{padding:12px 15px;}
.dga-pdp__crosscard h3{font-family:var(--font-ui); font-weight:700; font-size:14.5px; color:var(--ink); margin:0 0 3px;}
.dga-pdp__crosscard .price{font-family:var(--font-ui); font-weight:700; font-size:14px; color:var(--brand); margin:0;}
.dga-pdp__crosscard .price del{opacity:.5; font-weight:600;}
.dga-pdp__crosscard .price ins{text-decoration:none;}

/* ===== STICKY MOBILE BUY BAR (hidden on desktop) ===== */
.dga-pdp__stickybar{display:none;}

/* ===== TABLET ===== */
@media (max-width:1024px){
  .dga-pdp__hero{grid-template-columns:0.9fr 1.1fr; gap:24px;}
  .dga-pdp__innut{grid-template-columns:1fr; gap:24px;}
}
/* ===== MOBILE (2A) ===== */
@media (max-width:640px){
  .dga-pdp__hero{grid-template-columns:1fr; gap:18px;}
  .dga-pdp__trustgrid{margin-top:14px;}
  .dga-pdp__crossgrid{grid-template-columns:1fr 1fr; gap:12px;}
  .dga-pdp__labgrid{grid-template-columns:1fr;}
  .dga-pdp__title{font-size:27px;}
  .dga-pdp__wooform form.cart{gap:10px;}
  /* leave room for the fixed bar */
  .dga-pdp{padding-bottom:88px;}
  /* qty + add-to-cart move into the sticky bar; keep price + subscribe visible in the card */
  .dga-pdp__wooform .single_variation_wrap{display:block;}
  .dga-pdp__wooform .woocommerce-variation-add-to-cart{display:none!important;}
  .dga-pdp__stickybar{display:flex; align-items:center; gap:12px; position:fixed; left:0; right:0; bottom:0; z-index:9999;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:var(--paper); border-top:2px solid var(--ink);
    box-shadow:0 -6px 18px rgba(26,22,19,.12);}
  .dga-pdp__stickybar .sb-qty{display:flex; align-items:center; border:2px solid var(--ink); border-radius:11px;
    overflow:hidden; background:var(--white); flex:none;}
  .dga-pdp__stickybar .sb-qty button{width:34px; height:44px; border:0; background:transparent; cursor:pointer;
    font-size:20px; font-weight:700; color:var(--ink); line-height:1;}
  .dga-pdp__stickybar .sb-qtyval{min-width:26px; text-align:center; font-family:var(--font-ui); font-weight:700; font-size:16px;}
  .dga-pdp__stickybar .sb-price{display:flex; flex-direction:column; line-height:1.05; flex:none;}
  .dga-pdp__stickybar .sb-weight{font-family:var(--font-ui); font-weight:600; font-size:11px; color:var(--stone);}
  .dga-pdp__stickybar .sb-total{font-family:var(--font-display); font-weight:800; font-size:24px; color:var(--ink);}
  .dga-pdp__stickybar .sb-add{flex:1 1 auto; padding:14px; border-radius:12px; cursor:pointer; font-family:var(--font-ui);
    font-weight:700; font-size:16px; color:var(--white); background:var(--brand); border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink);}
  .dga-pdp__stickybar .sb-add:active{background:var(--brand-press); box-shadow:none; transform:translate(2px,2px);}
}
@media (max-width:420px){
  .dga-pdp__benefits{grid-template-columns:1fr;}
  .dga-pdp__crossgrid{grid-template-columns:1fr;}
}
