/* First-round improvements. Retains the original palette, type and illustrations. */
[hidden]{display:none!important}
.pill,button{font-family:var(--sans)}
.hero{padding-block:36px 48px}
.hero .wrap{grid-template-columns:1.08fr .92fr;gap:48px}
.hero-copy{gap:20px}
.hero h1{font-size:clamp(2.8rem,5.2vw,4.6rem);line-height:1.12}
.hero-lead{max-width:38ch;font-size:1.08rem}
.hero-figure{width:min(390px,100%)}
.next-market{display:grid;gap:4px;width:100%;max-width:440px;padding:15px 18px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:var(--surface)}
.next-market .label{display:flex;justify-content:space-between;font-size:.66rem}
.next-market strong{font-size:1.05rem;font-weight:600}
.next-market>span:last-child{font-size:.87rem;color:var(--muted);line-height:1.45}
.next-market:hover{border-color:var(--cocoa)}
.product-price{font-weight:600;color:var(--cocoa);line-height:1.2}
.product-price span,.choux-price span{font-size:.85rem;font-weight:400;color:var(--muted)}
.flavour{gap:10px;align-content:start}
.choux-price{font:400 1.8rem var(--display);color:var(--cocoa)!important}
.price-guide{margin-top:36px;border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--bg)}
.price-guide-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.price-guide-title p{color:var(--muted);font-size:.95rem}
.price-options{display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0 16px;gap:12px}
.price-options>div{padding:14px 12px;border-radius:14px;background:var(--surface)}
.price-options dt{font-size:.84rem;color:var(--muted)}
.price-options dd{margin:6px 0 0;font:400 1.65rem var(--display);color:var(--cocoa);white-space:nowrap}
.price-fine{font-size:.82rem;color:var(--muted)}
.order-section{padding-block:64px 72px;border-bottom:1px solid var(--line)}
.order-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.order-intro{display:grid;gap:18px}
.order-intro h2{font-size:clamp(2rem,3.7vw,3rem)}
.order-intro>p:last-child{max-width:43ch;color:var(--muted)}
.order-options{display:grid;gap:12px;min-width:0}
.contact-card{display:grid;grid-template-columns:30px 1fr 16px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);padding:18px;text-decoration:none;text-align:left;font:inherit;cursor:pointer;width:100%}
.contact-card:hover{background:var(--surface);border-color:var(--cocoa)}
.contact-number{font-size:.75rem;color:var(--muted)}
.contact-card strong{display:block;font-size:1rem;font-weight:600}
.contact-card small{display:block;font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
.order-hint{color:var(--muted);font-size:.85rem;margin-top:4px}
.ticket-actions{display:flex;flex-wrap:wrap;gap:10px}
.ticket-actions .pill{padding-inline:18px;font-size:.85rem}
.time-zone{font-size:.8rem;color:var(--muted);white-space:nowrap}
.market-source{font-size:.78rem;color:var(--muted);line-height:1.5}
.follow button{display:grid;gap:2px;padding:16px 18px;border:0;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);text-align:left;font:inherit;background:none;color:inherit;cursor:pointer}
.follow button:hover{background:var(--surface)}
.follow button em{font-style:normal;font-size:.8rem;color:var(--muted)}
.wechat-dialog{width:min(380px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:24px;padding:26px;background:var(--bg);color:var(--ink);text-align:center}
.wechat-dialog::backdrop{background:rgb(44 24 15/.45)}
.wechat-dialog h2{font-size:1.7rem;margin:12px 0 16px}
.wechat-dialog img{max-height:40dvh;object-fit:contain;margin:0 auto 12px;width:auto}
.wechat-dialog>.pill{border:0;cursor:pointer;margin-top:12px}
.dialog-close{display:block;margin:-10px -10px 6px auto;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:1.5rem;background:none;color:var(--ink);cursor:pointer}
.copy-status{font-size:.82rem;min-height:1.6em;margin-top:8px;color:var(--muted)}
.skip:focus{left:12px!important;top:12px;z-index:100;background:var(--bg);padding:12px}
/* The production Netlify iframe has inline positioning; keep it above the phone dock. */
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:32px}
  .hero-figure{width:min(360px,80%)}
  .order-section .wrap{grid-template-columns:1fr;gap:28px}
  #nl-badge-frame{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}
  .dock a{font-size:.78rem;text-align:center;min-width:0;line-height:1.25}
}
@media(max-width:640px){
  .hero{padding:28px 0 40px}
  .hero-copy{gap:18px}
  .hero h1{font-size:clamp(2.15rem,8.8vw,3.1rem)}
  .hero-lead{font-size:1rem;line-height:1.55}
  .hero-actions{flex-wrap:nowrap;gap:8px;width:100%}
  .hero-actions .pill{padding-inline:16px;justify-content:center;font-size:.85rem;flex:1}
  .hero-figure{order:0;width:min(285px,78%)}
  .next-market{padding:13px 16px}
  .price-guide{padding:18px}
  .price-options{grid-template-columns:repeat(2,1fr);gap:10px}
  .price-options dd{font-size:1.4rem}
  .contact-card{padding:15px;gap:8px;grid-template-columns:24px 1fr 14px}
  .order-section{padding-block:48px}
  .ticket-main{padding:24px}
  .wechat-dialog{padding:20px}
}
