/* ============================================================
   Padel54 — Pro Shop page (by NinePadel)
   (loaded after style.css)
   ============================================================ */

/* hero (reuses .feature for full-bleed + parallax) */
.shop-hero{height:clamp(540px,88vh,840px)}
.shop-hero .cap{display:block;max-width:700px}
.shop-hero .lab{color:var(--signal);margin-bottom:14px}
.shop-hero h1{font-weight:900;text-transform:uppercase;font-size:clamp(46px,9.2vw,140px);line-height:.86;letter-spacing:-.03em}
.shop-hero .sub{margin-top:20px;max-width:46ch;font-size:clamp(13px,1.2vw,16px);color:#cdccc7}
.shop-hero .sub strong{font-weight:700;color:#f4f3f0}
.shop-hero .cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

/* intro (light) */
.shop-intro{padding-top:clamp(80px,11vw,150px);padding-bottom:clamp(70px,9vw,120px)}
.shop-intro .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:start}
@media(max-width:860px){.shop-intro .grid{grid-template-columns:1fr;gap:24px}}
.shop-intro h2{font-weight:900;text-transform:uppercase;font-size:clamp(28px,3.8vw,56px);line-height:.95;letter-spacing:-.025em}
.shop-intro h2 .s{color:var(--signal)}
.shop-intro p{color:#3f3e3a;max-width:52ch}
.shop-intro p + p{margin-top:16px}
.shop-intro .byline{margin-top:20px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#6c6b65}
.brands{margin-top:clamp(42px,5vw,64px);border-top:1px solid rgba(12,13,15,.16);padding-top:26px;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center}
.brands .bl{font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(14px,1.5vw,19px);color:#b3b1a9;transition:color .3s}
.brands .bl:hover{color:var(--ink)}

/* what's in store grid (light) */
.instore{margin-top:clamp(46px,5vw,72px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(12,13,15,.16)}
@media(max-width:820px){.instore{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.instore{grid-template-columns:1fr}}
.instore .it{padding:30px 26px 30px 0;border-left:1px solid rgba(12,13,15,.1)}
.instore .it:first-child{border-left:0}
.instore .it:nth-child(n+2){padding-left:26px}
.instore .it .n{font-weight:600;font-size:11px;color:var(--signal);letter-spacing:.1em}
.instore .it h3{margin-top:14px;font-weight:800;text-transform:uppercase;font-size:18px;letter-spacing:-.01em;color:var(--ink)}
.instore .it p{margin-top:10px;color:#6c6b65;font-size:13.5px}

/* gallery (dark) */
.shop-gallery-sec{padding-top:clamp(80px,10vw,140px);padding-bottom:clamp(80px,10vw,140px);background:var(--ink-2)}
.shop-gallery-sec .top{border-top:1px solid var(--line);padding-top:22px;margin-bottom:clamp(36px,4vw,56px);display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.shop-gallery-sec .top h2{font-weight:900;text-transform:uppercase;font-size:clamp(26px,3.4vw,48px);letter-spacing:-.025em;line-height:.95}
.shop-gallery-sec .top p{max-width:34ch;color:var(--paper-dim);font-size:15px}
.shop-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,1.6vw,22px)}
.shop-gallery .g{aspect-ratio:3/4;overflow:hidden;border-radius:2px}
.shop-gallery .g img{transition:transform .8s var(--ease)}
.shop-gallery .g:hover img{transform:scale(1.045)}

/* cta band (reuses .book over an image) */
.shop-cta .lab{color:var(--signal)}
.shop-cta h2{font-size:clamp(40px,8vw,120px)}
