/* Shop page — premium natural look (scoped under .sp) */
.sp{--sp-pine:#1f4a2a;--sp-pine2:#2d6a3d;--sp-ivory:#f7f2e7;--sp-cream:#fcfaf4;--sp-sage:#dde7d2;--sp-terra:#b9623e;--sp-ink:#26302a;--sp-mut:#5a6659;--sp-line:rgba(31,74,42,.14);background:var(--sp-cream);font-family:'Inter',system-ui,sans-serif;color:var(--sp-ink)}
.sp-hero{position:relative;background:radial-gradient(120% 140% at 85% 0%,#2f6b3d 0%,#1f4a2a 55%,#16351f 100%);color:#fff;padding:56px 0 64px;text-align:center;overflow:hidden}
.sp-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:28px;background:var(--sp-cream);border-radius:28px 28px 0 0}
.sp-crumb{display:flex;justify-content:center;gap:8px;font-size:.82rem;color:rgba(255,255,255,.75);margin-bottom:18px}
.sp-crumb a{color:inherit;text-decoration:none}.sp-crumb a:hover{color:#fff}
.sp-eyebrow{display:inline-block;font:600 .74rem/1 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#f2d98a;margin-bottom:14px}
.sp-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;margin:0 0 12px;color:#fff;letter-spacing:-.01em}
.sp-hero p{margin:0 auto;max-width:520px;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.6}
.sp-trust{list-style:none;margin:26px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.sp-trust li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.28);border-radius:99px;font-size:.8rem;font-weight:500;background:rgba(255,255,255,.07)}
.sp-trust i{color:#f2d98a;font-size:.8rem}
.sp-body{padding-top:8px;padding-bottom:72px}
.sp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:6px 0 28px;padding-bottom:18px;border-bottom:1px solid var(--sp-line)}
.sp-cats{display:flex;gap:8px;flex-wrap:wrap}
.sp-cats a{padding:9px 18px;border-radius:99px;border:1px solid var(--sp-line);background:#fff;color:var(--sp-pine);font-size:.86rem;font-weight:600;text-decoration:none;transition:.2s}
.sp-cats a:hover{border-color:var(--sp-pine2)}
.sp-cats a.active{background:var(--sp-pine);border-color:var(--sp-pine);color:#fff}
.sp-sortbox{display:flex;align-items:center;gap:14px}
.sp-sortbox form{margin:0}
.sp-count{font-size:.86rem;color:var(--sp-mut)}.sp-count strong{color:var(--sp-ink)}
.sp-sortbox select{appearance:none;-webkit-appearance:none;padding:10px 38px 10px 16px;border:1px solid var(--sp-line);border-radius:99px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%231f4a2a' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 15px center;font:500 .86rem 'Inter',sans-serif;color:var(--sp-ink);cursor:pointer;min-height:44px}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,340px));justify-content:center;gap:28px;max-width:1040px;margin:0 auto}
.sp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sp-line);border-radius:22px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.sp-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(31,74,42,.35);border-color:rgba(31,74,42,.28)}
.sp-media{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,var(--sp-ivory),var(--sp-sage));overflow:hidden}
.sp-media a{display:block;height:100%}
.sp-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.sp-media img.is-svg{object-fit:contain;padding:2rem}
.sp-card:hover .sp-media img{transform:scale(1.05)}
.sp-badge{position:absolute;top:14px;left:14px;background:var(--sp-terra);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:6px 11px;border-radius:99px}
.sp-wish{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--sp-pine);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.sp-wish.active{color:#c0392b}
.sp-info{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.sp-cat{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sp-terra)}
.sp-name{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:1.45rem;line-height:1.2;font-weight:600}
.sp-name a{color:var(--sp-pine);text-decoration:none}
.sp-desc{margin:0;font-size:.92rem;line-height:1.55;color:var(--sp-mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp-price{display:flex;align-items:baseline;gap:10px;margin-top:2px}
.sp-now{font-size:1.45rem;font-weight:700;color:var(--sp-pine)}
.sp-was{font-size:.95rem;color:#8a948a;text-decoration:line-through}
.sp-actions{display:flex;gap:10px;margin-top:auto;padding-top:8px}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:99px;font:600 .9rem 'Inter',sans-serif;text-decoration:none;cursor:pointer;transition:.2s;border:1.5px solid var(--sp-pine)}
.sp-btn-solid{flex:1;background:var(--sp-pine);color:#fff}
.sp-btn-solid:hover{background:var(--sp-pine2);border-color:var(--sp-pine2)}
.sp-btn-solid:disabled{opacity:.5;cursor:not-allowed}
.sp-btn-line{background:transparent;color:var(--sp-pine)}
.sp-btn-line:hover{background:var(--sp-sage)}
.sp-found{outline:3px solid var(--sp-pine2);box-shadow:0 0 0 8px rgba(45,106,61,.15)}
.sp-pages{display:flex;justify-content:center;gap:8px;margin-top:40px}
.sp-pages a{min-width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sp-line);background:#fff;color:var(--sp-pine);text-decoration:none;font-weight:600}
.sp-pages a.current{background:var(--sp-pine);color:#fff;border-color:var(--sp-pine)}
.sp-empty{text-align:center;padding:64px 20px;color:var(--sp-mut)}
.sp-empty i{font-size:2rem;color:var(--sp-pine2);margin-bottom:12px}
.sp-empty h3{font-family:'Playfair Display',serif;color:var(--sp-pine);margin:0 0 8px}
.sp-empty .sp-btn{margin-top:16px;display:inline-flex}
@media (max-width:640px){
  .sp-hero{padding:40px 0 52px}
  .sp-trust li{font-size:.76rem;padding:7px 12px}
  .sp-toolbar{flex-direction:column;align-items:stretch}
  .sp-cats{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.sp-cats::-webkit-scrollbar{display:none}
  .sp-cats a{white-space:nowrap}
  .sp-sortbox{justify-content:space-between}
  .sp-grid{grid-template-columns:1fr;gap:22px}
  .sp-info{padding:18px 18px 20px}
}

/* auto-changing product images */
.sp-stack{display:block;position:relative;height:100%}
.sp-multi img{position:absolute;inset:0;opacity:0;transition:opacity .9s ease,transform .6s}
.sp-multi img.on{opacity:1}

/* optional hero photo: upload assets/images/home/shop-hero.jpg */
.sp-hero.has-img{background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(14,38,22,.55) 0%,rgba(14,38,22,.2) 100%),linear-gradient(180deg,rgba(14,38,22,.28) 0%,rgba(14,38,22,.18) 50%,rgba(14,38,22,.5) 100%),var(--sp-hero-img) center 55%/cover no-repeat}
.sp-hero.has-img .sp-eyebrow{color:#ffe08a}
.sp-hero.has-img h1,.sp-hero.has-img p{text-shadow:0 1px 3px rgba(0,0,0,.45),0 2px 18px rgba(0,0,0,.4)}
