[hidden]{display:none!important}
.shop-page{background:var(--paper);color:var(--ink)}
.shop-page .hdr{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.shop-page .hdr .logo--w{opacity:0}.shop-page .hdr .logo--c{opacity:1}
.shop-cart-btn{display:flex;align-items:center;gap:8px;border:0;background:var(--navy);color:#fff;border-radius:999px;padding:10px 14px;font:700 .9rem var(--f-display);cursor:pointer;min-height:44px}.shop-cart-btn svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}.shop-cart-btn b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:.78rem}
.shop-hero{position:relative;overflow:hidden;padding:clamp(120px,14vw,190px) 0 clamp(70px,10vw,130px);background:linear-gradient(145deg,#fff 0%,#F5FAFD 58%,#FFF7DF 100%)}
.shop-hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(254,191,0,.13);right:-80px;top:80px}.shop-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(120,173,63,.09);left:-80px;bottom:-80px}
.shop-hero__grid{position:relative;z-index:1;display:grid;gap:40px;align-items:center}.shop-title{font-size:clamp(3rem,2rem + 5.6vw,7rem);line-height:.92;letter-spacing:-.055em;max-width:8em}.shop-title span{color:var(--orange);position:relative}.shop-title span:after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.13em;background:var(--yellow);z-index:-1}.shop-lead{max-width:37rem;margin:1.6rem 0 2rem;font-size:clamp(1.15rem,1rem + .65vw,1.45rem);color:var(--ink-2)}
.shop-hero__art{position:relative}.shop-hero__art img{width:min(100%,660px);margin:auto;filter:drop-shadow(0 28px 30px rgba(3,79,143,.16));transform:rotate(1deg)}.shop-sun{position:absolute;right:6%;top:8%;width:90px;height:90px;background:var(--yellow);border-radius:50%;opacity:.28}
.shop-products{background:var(--ice)}.shop-section-head{max-width:770px;margin-bottom:clamp(48px,8vw,96px)}.shop-section-head>p:last-child{max-width:40rem;color:var(--ink-2);font-size:1.15rem}
.product{display:grid;gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(26px,4vw,54px);background:#fff;border:1px solid rgba(3,79,143,.09);border-radius:clamp(26px,5vw,54px);box-shadow:0 24px 70px rgba(6,38,63,.08);margin-bottom:clamp(34px,6vw,70px)}
.product:nth-of-type(odd){background:linear-gradient(145deg,#fff,#FFF9EB)}
.product__gallery{min-width:0}.product__main{overflow:hidden;border-radius:clamp(20px,4vw,38px);background:#fff;aspect-ratio:1}.product__main img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}.product:hover .product__main img{transform:scale(1.025)}.product__thumbs{display:flex;gap:10px;margin-top:12px}.product__thumbs button{width:74px;height:74px;padding:3px;background:#fff;border:2px solid transparent;border-radius:16px;overflow:hidden;cursor:pointer;transition:.25s}.product__thumbs button.is-active{border-color:var(--blue)}.product__thumbs img{width:100%;height:100%;object-fit:cover;border-radius:11px}
.product__tag{display:inline-flex;padding:.35em .7em;border-radius:999px;background:rgba(254,191,0,.18);color:var(--navy);font:800 .82rem var(--f-display);letter-spacing:.06em;text-transform:uppercase}.product__tag--green{background:rgba(120,173,63,.14)}.product__info h3{font-size:clamp(2.4rem,1.7rem + 2.8vw,4.5rem);margin:.55rem 0 .15rem}.product__price{font:800 clamp(2rem,1.5rem + 1.8vw,3.3rem) var(--f-display);color:var(--orange);margin-bottom:1rem}.product__price small{font-size:.45em;color:var(--ink-2)}.product__desc{font-size:1.12rem;color:var(--ink-2);max-width:36rem}.product__field{margin-top:1.7rem}.product__label{display:block;font:800 .92rem var(--f-display);margin-bottom:.65rem}.sizes{display:flex;gap:8px;flex-wrap:wrap}.sizes button{min-width:50px;height:48px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font:800 1rem var(--f-display);cursor:pointer;transition:.25s}.sizes button:hover,.sizes button.is-active{border-color:var(--navy);background:var(--navy);color:#fff;transform:translateY(-2px)}
.product__buyrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:1.7rem}.qty{display:flex;align-items:center;border:2px solid var(--line);border-radius:999px;background:#fff;min-height:54px}.qty button{width:48px;height:50px;border:0;background:transparent;font-size:1.45rem;color:var(--navy);cursor:pointer}.qty output{min-width:34px;text-align:center;font:800 1rem var(--f-display)}.product__add{min-height:54px}.product__hint{font-size:.9rem;color:var(--ink-3);margin-top:.65rem}
.shop-purpose{position:relative;padding:clamp(80px,11vw,150px) 0;background:linear-gradient(135deg,#FE6C00 0%,#E95800 100%);color:#fff;overflow:hidden}.shop-purpose:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(254,191,0,.22);right:-80px;top:-120px}.shop-purpose:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);left:-70px;bottom:-110px}.shop-purpose__grid{position:relative;z-index:1;display:grid;gap:36px;align-items:end}.shop-purpose__big{font:700 clamp(2.8rem,1.8rem + 4vw,6.5rem)/.98 var(--f-display);letter-spacing:-.045em}.shop-purpose__big span{color:#FFF1A8}.shop-purpose__copy p{font-size:1.15rem;color:#FFF3EB;max-width:34rem;margin-bottom:1.4rem}.shop-purpose .btn--line{border-color:#fff;color:#fff}.shop-purpose .btn--line:hover{background:#fff;color:#D95200}
.cart-overlay{position:fixed;inset:0;background:rgba(3,33,55,.52);backdrop-filter:blur(4px);z-index:399}.cart{position:fixed;z-index:400;right:0;top:0;height:100dvh;width:min(430px,94vw);background:#fff;box-shadow:-20px 0 60px rgba(6,38,63,.18);padding:24px;transform:translateX(105%);transition:transform .45s var(--ease);display:flex;flex-direction:column}.cart.is-open{transform:none}.cart__head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line)}.cart__eyebrow{font:800 .78rem var(--f-display);text-transform:uppercase;letter-spacing:.12em;color:var(--orange)}.cart__head h2{font-size:2rem}.cart__close,.checkout__close{border:0;background:var(--ice);width:42px;height:42px;border-radius:50%;font-size:1.8rem;cursor:pointer;color:var(--navy)}.cart__items{padding:18px 0;overflow:auto;flex:1}.cart__empty{color:var(--ink-3)}.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.cart-item img{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:14px}.cart-item h3{font-size:1rem;margin:0}.cart-item p{font-size:.9rem;color:var(--ink-3)}.cart-item__remove{border:0;background:transparent;color:#9a3a20;cursor:pointer;text-decoration:underline}.cart__summary{display:flex;justify-content:space-between;align-items:end;padding:18px 0;font:700 1rem var(--f-display)}.cart__summary strong{font-size:1.6rem;color:var(--navy)}
.checkout{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:18px;background:rgba(3,33,55,.62);backdrop-filter:blur(7px);overflow:auto}.checkout__dialog{position:relative;width:min(780px,100%);max-height:94dvh;overflow:auto;background:#fff;border-radius:34px;padding:clamp(24px,5vw,54px);box-shadow:0 30px 90px rgba(0,0,0,.2)}.checkout__close{position:absolute;right:18px;top:18px}.checkout__dialog h2{font-size:clamp(2.2rem,1.6rem + 2.5vw,4rem)}.checkout__intro{color:var(--ink-2);margin:.7rem 0 1.7rem}.checkout__grid{display:grid;gap:15px}.checkout label span{display:block;font:800 .87rem var(--f-display);margin-bottom:.4rem}.checkout input,.checkout textarea{width:100%;border:2px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;outline:none;background:#fff}.checkout input:focus,.checkout textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(9,143,233,.1)}.checkout__wide{display:block;margin-top:15px}.checkout__order{margin-top:18px;padding:16px 18px;border-radius:18px;background:var(--ice)}.checkout__order p{display:flex;justify-content:space-between;gap:12px;font-size:.95rem}.checkout__order strong{color:var(--navy)}.checkout__note{font-size:.9rem;color:var(--ink-3);margin:16px 0}.checkout__send{min-height:58px}
.toast{position:fixed;z-index:700;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;background:var(--navy);color:#fff;border-radius:999px;padding:12px 18px;font:700 .9rem var(--f-display);transition:.3s;pointer-events:none}.toast.is-show{transform:translate(-50%,0);opacity:1}
@media(min-width:820px){.shop-hero__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.product{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.product--keychain .product__gallery{order:2}.product--keychain .product__info{order:1}.shop-purpose__grid{grid-template-columns:1.25fr .75fr}.checkout__grid{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.shop-page .nav{display:none}.shop-cart-btn span{display:none}}
@media(max-width:700px){.shop-hero{padding-top:105px}.shop-hero__grid{gap:8px}.shop-title{font-size:clamp(3rem,14vw,4.7rem)}.shop-hero__art img{width:110%;max-width:none;margin-left:-5%}.product{padding:18px;border-radius:28px}.product__info{padding:6px 4px 12px}.product__buyrow{align-items:stretch}.product__add{flex:1}.shop-cart-btn{padding:9px 10px}.shop-cart-btn b{min-width:22px;height:22px}.cart{padding:20px}.checkout{padding:8px}.checkout__dialog{border-radius:24px;padding:26px 18px}.shop-purpose__big{font-size:clamp(2.7rem,12vw,4.4rem)}}
@media(prefers-reduced-motion:reduce){.product__main img,.cart{transition:none!important}.product:hover .product__main img{transform:none}}


/* ===== Merch responsive + form quality v6 ===== */
.checkout input:invalid:not(:placeholder-shown),.checkout textarea:invalid:not(:placeholder-shown){border-color:#c94f39}
.checkout input:valid:not(:placeholder-shown){border-color:rgba(120,173,63,.65)}
@media(min-width:701px) and (max-width:1024px){
  .shop-hero__grid,.product,.shop-purpose__grid{gap:clamp(24px,4vw,48px)}
  .product{padding:clamp(22px,3vw,34px)}
  .product__info{align-self:center}
}
@media(max-width:700px){
  .shop-section-head{margin-bottom:34px}
  .product{margin-bottom:28px}
  .product__gallery{min-width:0}
  .product__main{aspect-ratio:1/1}
  .product__buyrow{gap:10px;flex-wrap:wrap}
  .product__add{min-height:52px}
  .checkout input,.checkout textarea{font-size:16px}
}
