/* Product / category pages — extends site.css */
.product{padding-top:8px}
.pd-hero{display:grid;gap:22px;margin:14px 0 6px;align-items:center}
.pd-media{position:relative;margin:0;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#fff3d6,#f6ecd9);border:1px solid var(--card-border);box-shadow:0 10px 30px rgba(115,92,0,.14);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;animation:popIn .7s cubic-bezier(.2,.8,.2,1) both}
.pd-media img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;padding:14px}
.pd-glow{position:absolute;inset:-30%;background:radial-gradient(circle at 30% 25%,rgba(224,165,38,.38),transparent 55%),radial-gradient(circle at 75% 80%,rgba(115,92,0,.18),transparent 50%);background-image:radial-gradient(circle at 30% 25%,rgba(224,165,38,.38),transparent 55%),radial-gradient(circle at 75% 80%,rgba(115,92,0,.18),transparent 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 2l26 15v30L28 62 2 47V17z' fill='none' stroke='%23e0a526' stroke-opacity='.28' stroke-width='1.4'/%3E%3C/svg%3E");background-size:auto,auto,56px 97px}
.pd-info{display:flex;flex-direction:column;align-items:flex-start;gap:10px;animation:fadeSlideIn .6s .1s ease both}
.pd-chip{display:inline-block;background:var(--beige);border:1px solid var(--card-border);color:var(--accent);border-radius:999px;padding:3px 14px;font-size:.88rem;text-decoration:none;font-weight:600}
.pd-chip:hover{background:var(--gold);color:#1d1b16}
.pd-info h1{margin:0;font-size:1.75rem;line-height:1.35;color:#3a2c00}
.pd-en{margin:0;color:var(--accent);font-family:'Noto Serif',Georgia,serif;font-style:italic;font-size:1.05rem}
.pd-price{margin:6px 0 2px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pd-price span{font-size:1.9rem;font-weight:800;color:var(--accent)}
.pd-price small{color:#6b5d3a;font-size:.95rem}
.cta{position:relative;overflow:hidden;display:inline-block;background:var(--gold);color:#1d1b16;font-weight:800;font-size:1.1rem;padding:14px 30px;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px rgba(115,92,0,.3);transition:transform .15s ease,box-shadow .15s ease}
.cta:hover{color:#1d1b16;transform:translateY(-2px);box-shadow:0 10px 24px rgba(115,92,0,.38)}
.cta:focus-visible,.pcard:focus-visible,.pd-chip:focus-visible{outline:3px solid #3a2c00;outline-offset:3px}
.cta::after{content:"";position:absolute;top:0;bottom:0;width:60px;inset-inline-start:-90px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg)}
.pd-notes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem}
.pd-notes a{text-decoration:none;border-bottom:1px dotted var(--accent)}
.price-table th[scope=row]{font-weight:600}
.price-table .en{display:block;font-weight:400;color:#6b5d3a;font-size:.85rem}
.price-table td{font-weight:800;color:var(--accent);font-size:1.1rem}
.price-table thead th{background:var(--beige);color:var(--accent)}
table.ship-table.price-table{min-width:0}
.price-table tbody tr:hover{background:#fff8e6}
.fine{font-size:.85rem;color:#6b5d3a;margin:12px 2px 0}
.desc h3{color:var(--accent);margin:1.2em 0 .3em;font-size:1.08rem}
.desc p{margin:.6em 0}
ul.benefits{margin:.4em 0 .8em;padding:0;list-style:none}
ul.benefits li{position:relative;margin:.35em 0;padding-inline-start:1.5em}
ul.benefits li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:.7em;height:.7em;background:var(--gold);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.related h2{color:var(--accent);margin:34px 0 12px}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pcard{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--card-border);border-radius:18px;padding:10px 10px 14px;text-decoration:none;color:var(--text);box-shadow:0 1px 3px rgba(29,27,22,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pcard:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(115,92,0,.16);border-color:var(--gold);color:var(--text)}
.pcard-img{display:block;aspect-ratio:1/1;border-radius:12px;background:linear-gradient(145deg,#fff3d6,#f6ecd9);overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.pcard-name{font-weight:700;line-height:1.4;margin-top:6px;font-size:.98rem}
.pcard-en{font-size:.8rem;color:#6b5d3a;line-height:1.3;font-style:italic}
.pcard-price{color:var(--accent);font-size:.92rem;margin-top:2px}
.pcard-price b{font-size:1.02rem}
.buy-bar{display:none}
@media (min-width:700px){
  .pd-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px}
  .pd-info h1{font-size:2.2rem}
  .pd-media{aspect-ratio:1/1}
  .pgrid{grid-template-columns:repeat(4,1fr)}
  .wrap.product{max-width:1040px}
}
@media (max-width:699px){
  .buy-bar{position:fixed;inset-inline:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,249,240,.97);border-top:1px solid var(--card-border);box-shadow:0 -4px 14px rgba(29,27,22,.12)}
  .buy-bar .bb-price{font-weight:800;color:var(--accent);font-size:1.05rem}
  .buy-bar .cta{padding:11px 22px;font-size:1rem}
  body{padding-bottom:70px}
}
@media (prefers-reduced-motion: no-preference){
  .pd-glow{animation:drift 22s linear infinite}
  .cta::after{animation:shimmer 3.6s ease-in-out 1.2s infinite}
  .price-table tbody tr{animation:fadeSlideIn .5s ease both;animation-delay:calc(.25s + var(--i,0)*.09s)}
  .pcard{animation:fadeSlideIn .5s ease both}
  .pcard:nth-child(2){animation-delay:.06s}.pcard:nth-child(3){animation-delay:.12s}.pcard:nth-child(4){animation-delay:.18s}
}
@keyframes popIn{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:translate(0,0) rotate(0)}to{transform:translate(56px,97px) rotate(0)}}
@keyframes shimmer{0%,55%{inset-inline-start:-90px}100%{inset-inline-start:120%}}
