/* Shop page (shop.php) v2 – compact, modern. Uses theme variables, so every theme keeps working. */

/* hero: small and tidy (no big empty band) */
.shop-hero{position:relative}
html[data-theme] .page-head.shop-hero{padding:22px 0 6px}
.shop-hero h1{margin:0 0 6px;font-size:clamp(1.9rem,3.6vw,2.6rem);letter-spacing:-.025em}
.shop-hero p{margin:0 auto;max-width:520px;font-size:1rem}
.shop-perks{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.shop-perks span{display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 11px;border-radius:99px;font-weight:600;font-size:.82rem;background:color-mix(in srgb,var(--card) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);color:var(--text)}
.shop-perks svg{color:var(--accent);flex:none}

/* main block */
html[data-theme] .section.shop-main{padding:16px 0 56px}

/* toolbar: pills wrap onto a second line when needed (nothing hidden, no sliding); search sits on the right */
.shop-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 24px;padding:8px;border-radius:26px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid var(--line);box-shadow:0 10px 30px rgba(19,26,58,.07)}
.shop-search{order:2;position:relative;flex:0 0 230px;max-width:100%;margin-left:auto}
.shop-search .ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:grid;color:var(--muted);pointer-events:none}
.shop-search::before{content:none}
.shop-search input{width:100%;height:42px;padding:0 14px 0 42px;border-radius:99px;border:0;background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text);font:inherit;font-size:.93rem}
.shop-search input::placeholder{color:var(--muted)}
.shop-search input:focus{outline:none;background:var(--card);box-shadow:0 0 0 2px var(--accent)}
.shop-cats{order:1;display:flex;flex-wrap:wrap;gap:6px;flex:1 1 420px;min-width:0;padding:0}
.shop-cats button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:99px;border:0;background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text);font:inherit;font-weight:700;font-size:.89rem;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.shop-cats button:hover{background:color-mix(in srgb,var(--text) 10%,transparent);transform:none;box-shadow:none}
.shop-cats button.on{background:var(--accent);color:var(--on-accent,#fff);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 36%,transparent)}
.shop-cats small{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:color-mix(in srgb,var(--text) 10%,transparent);font-size:.72rem;font-weight:800;opacity:1}
.shop-cats button.on small{background:rgba(255,255,255,.28)}

/* category blocks */
.shop-sec{margin:0 0 38px;scroll-margin-top:150px}
.shop-sec-h{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.shop-sec-h h2{margin:0;font-size:1.35rem;letter-spacing:-.02em;color:var(--heading);white-space:nowrap}
.shop-sec-h::after{content:"";order:2;flex:1;height:1px;background:var(--line)}
.shop-sec-h .cnt{order:3;margin:0;color:var(--muted);font-weight:600;font-size:.85rem;white-space:nowrap}

/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.pcard{position:relative;display:flex;flex-direction:column;border-radius:22px;background:var(--card);border:1px solid var(--line);overflow:hidden;box-shadow:0 2px 10px rgba(19,26,58,.05);transition:transform .25s,box-shadow .25s,border-color .25s}
.pcard:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 22px 44px color-mix(in srgb,var(--accent) 16%,transparent)}
.pcard-link{position:absolute;inset:0;z-index:2}
.pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--soft),color-mix(in srgb,var(--accent) 13%,var(--card)));display:grid;place-items:center}
.pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard-media img{transform:scale(1.06)}
.pcard-media svg{max-width:60%;max-height:76%}
.pcard-badge{position:absolute;top:12px;left:12px;z-index:3;padding:5px 11px;border-radius:99px;background:var(--accent);color:var(--on-accent,#fff);font-weight:800;font-size:.74rem;box-shadow:0 6px 14px rgba(0,0,0,.16)}
.pcard-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 16px;flex:1}
.pcard-body h3{margin:0;font-size:1.1rem;letter-spacing:-.01em;color:var(--heading)}
.pcard-text{color:var(--muted);font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard-foot{margin-top:auto;padding-top:12px;flex-wrap:wrap;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pcard-price{display:flex;flex-direction:column;line-height:1.15}
.pcard-price small{color:var(--muted);font-weight:600;font-size:.76rem}
.pcard-price b{font-size:1.2rem;color:var(--heading)}
.pcard-go{position:relative;z-index:1;display:inline-flex;white-space:nowrap;align-items:center;gap:6px;padding:9px 15px;border-radius:99px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:800;font-size:.85rem;transition:background .2s,color .2s,gap .2s}
.pcard:hover .pcard-go{background:var(--accent);color:var(--on-accent,#fff);gap:10px}

.shop-empty{display:none;text-align:center;padding:50px 10px;color:var(--muted);font-weight:700}
.shop-empty b{display:block;font-size:2.4rem;margin-bottom:6px}

/* tablet / phone */
@media(max-width:860px){
  html[data-theme] .page-head.shop-hero{padding:6px 0 0}
  .shop-hero h1{font-size:1.6rem;margin-bottom:4px}
  .shop-hero p{font-size:.86rem;margin:0 0 8px}
  .shop-perks{display:flex;flex-wrap:wrap;overflow:visible;justify-content:center;gap:5px;margin:6px 0 0;padding:0}
  .shop-perks span{flex:none;padding:4px 10px;font-size:.7rem;gap:0}
  .shop-perks svg{display:none}
  html[data-theme] .section.shop-main{padding:8px 0 40px}
  .shop-tools{position:static;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px;border-radius:20px;padding:8px;margin:0 0 16px}
  .shop-search{order:1;flex:0 0 auto;max-width:none;width:100%;margin:0}
  .shop-cats{display:none!important}
  .shop-sel{order:2;display:block;position:relative}
  .shop-sec{margin-bottom:26px;scroll-margin-top:90px}
  .shop-sec-h h2{font-size:1.05rem}
  .shop-sec-h .cnt{font-size:.74rem}
  .pgrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
}
@media(min-width:861px){.shop-sel{display:none}}
.shop-sel select{width:100%;height:42px;appearance:none;-webkit-appearance:none;border:0;border-radius:99px;padding:0 42px 0 16px;background:color-mix(in srgb,var(--text) 6%,transparent) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 16px center;color:var(--heading);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
.shop-sel select:focus{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:520px){
  .pgrid{grid-template-columns:1fr 1fr;gap:10px}
  .pcard{border-radius:16px}
  .pcard-media{aspect-ratio:1/1}
  .pcard-body{padding:9px 10px 10px;gap:3px}
  .pcard-body h3{font-size:.86rem;line-height:1.25}
  .pcard-text{-webkit-line-clamp:2;font-size:.72rem;line-height:1.4}
  .pcard-foot{padding-top:6px;gap:6px}
  .pcard-go{padding:5px 9px;font-size:.7rem}
  .pcard-price small{font-size:.64rem}
  .pcard-price b{font-size:.95rem}
}
@media(prefers-reduced-motion:reduce){.pcard,.pcard-media img,.shop-cats button,.site-header{transition:none}}

/* homepage "Order online": same category bar as the shop page (chips on desktop, dropdown on mobile) */
.home-shop-tools{position:static}
