/* ZVVEN product buy CTA layout, 2026-11-03
   Desktop: JD + Tmall equal primary CTAs near first screen; phone/size/config secondary.
   Mobile: single sticky dock, equal 3 columns; hide in-body buy duplicates; pad page bottom.
*/
.zf-product-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}
.zf-product-actions__buy{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.zf-product-actions__buy a.zf-product-action--buy,
.zf-product-dock a.zf-product-action--buy{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #8f3025;
  border-radius:9px;
  background:#8f3025;
  color:#fff;
  text-decoration:none;
  text-align:center;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
.zf-product-actions__secondary{
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  align-items:center;
}
.zf-product-actions__secondary a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:#7c2c23;
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}
.zf-product-actions a:hover,
.zf-product-dock a:hover{filter:brightness(.96)}
.zf-product-actions a:focus-visible,
.zf-product-dock a:focus-visible{outline:3px solid #b38a51;outline-offset:3px}
.zf-product-dock{display:none}

/* Pull hero CTAs into first screen on desktop; tighten title (esp. rosewood) */
@media (min-width:821px){
  .product-hero{
    padding:16px 0 40px!important;
    gap:36px!important;
    align-items:start!important;
  }
  .product-hero h1{
    margin:10px 0 12px!important;
    font-size:clamp(30px,3.5vw,48px)!important;
    line-height:1.2!important;
    letter-spacing:-.02em!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .product-hero__lead{
    margin:0!important;
    font-size:16px!important;
    line-height:1.65!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .hero-facts{margin-top:16px!important}
  .hero-facts div{padding:12px 14px!important}
  .zf-product-actions{margin-top:16px}
  #zf-size-guide,#zf-core-config{scroll-margin-top:88px}
}

@media (max-width:820px){
  /* One sticky bar only: hide in-body shop buttons; keep light in-page jumps */
  .zf-product-actions__buy{display:none!important}
  .zf-product-actions{
    margin-top:12px;
    gap:8px;
  }
  .zf-product-actions__secondary a[href^="tel:"]{display:none!important}
  body.zf-product-quickbuy{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
  .zf-product-dock{
    position:fixed;
    z-index:400;
    left:0;right:0;bottom:0;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    border-top:1px solid #e5d9ce;
    background:#fffaf5;
    box-shadow:0 -4px 18px rgba(49,30,18,.1);
  }
  .zf-product-dock a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:46px;
    padding:10px 6px;
    border:1px solid #cdbbb0;
    border-radius:9px;
    background:#fff;
    color:#7c2c23;
    text-decoration:none;
    text-align:center;
    font-size:13px;
    font-weight:700;
    line-height:1.3;
  }
  .zf-product-dock a.zf-product-action--buy{
    background:#8f3025;
    border-color:#8f3025;
    color:#fff;
    font-size:13px;
  }
  body.zf-menu-open .zf-product-dock{visibility:hidden}
  .product-hero h1{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  #zf-size-guide,#zf-core-config{scroll-margin-top:24px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
@media print{
  .zf-product-actions,.zf-product-dock{display:none!important}
  body.zf-product-quickbuy{padding-bottom:0!important}
}
