:root{
  --it-g:#009246; --it-r:#ce2b37;
  --flag:linear-gradient(90deg,#009246 0 33.34%,#fff 33.34% 66.67%,#ce2b37 66.67% 100%);
  --red:#c8102e; --red-d:#a00d25;
  --ink:#121212; --g9:#1c1c1c; --g7:#4a4a4a; --g5:#8a8a8a; --g3:#d9d9d9; --g1:#f3f3f3; --white:#fff;
  --head:'Anton',Impact,sans-serif; --serif:'Playfair Display',serif; --body:'Montserrat',sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--body);color:var(--g7);background:var(--white);line-height:1.7;font-size:15px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--head);color:var(--ink);font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:1.02}
.it-a{font-family:var(--serif);font-style:italic;font-weight:700;text-transform:none;color:var(--red);letter-spacing:0}

/* progress */
.prog{position:fixed;top:0;left:0;right:0;height:4px;z-index:120;background:rgba(0,0,0,.08)}
.prog i{position:absolute;inset:0 auto 0 0;width:0;background:var(--red)}

/* header */
header.top{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,padding .3s;padding:26px 0}
header.top.solid{background:rgba(18,18,18,.96);padding:14px 0}
header.top .wrap{display:flex;align-items:center;justify-content:space-between}
.logo{display:inline-flex;flex-direction:column;align-items:stretch;gap:5px;color:#fff;font-family:'Italiana',serif;font-size:32px;letter-spacing:.14em;line-height:1;text-transform:uppercase;transition:font-size .3s}
.logo::after{content:"";height:4px;width:62%;align-self:center;background:var(--flag)}
header.top.solid .logo{font-size:27px}
.logo b{font-weight:400;color:inherit}
.hdr-r{display:flex;align-items:center;gap:40px}
nav ul{display:flex;gap:34px;list-style:none;align-items:center}
nav a{color:#fff;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent;transition:border .2s}
nav a:hover{border-color:var(--red)}
.cart-btn{position:relative;background:none;border:0;color:#fff;cursor:pointer;display:flex;align-items:center;padding:4px;transition:transform .3s var(--ease)}
.cart-btn:hover{transform:scale(1.12) rotate(-6deg)}
.cart-btn svg{width:26px;height:26px}
.cart-btn span{position:absolute;top:-6px;right:-8px;background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:grid;place-items:center}
.cart-btn.bump span{animation:bump .5s}
@keyframes bump{40%{transform:scale(1.7)}}
.burger{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:#111;color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:-6% 0;background:url(../img/hero.webp) 70% center/cover no-repeat;animation:kb 22s ease-in-out infinite alternate;will-change:transform}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1) translateX(-1.5%)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.6) 45%,rgba(10,10,10,.05) 78%)}
.hero::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:8px;background:var(--flag)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero small{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.35em;text-transform:uppercase;font-weight:700;margin-bottom:22px}
.hero small::before{content:"";width:46px;height:3px;background:var(--red)}
.hero h1{color:#fff;font-size:clamp(60px,10.5vw,170px);line-height:.92;max-width:900px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:block;transform:translateY(110%);animation:up 1s var(--ease) forwards}
.hero h1 .ln:nth-child(2)>span{animation-delay:.15s}
.hero h1 .it-a{font-size:.95em;display:inline-block}
@keyframes up{to{transform:none}}
.hero p{max-width:470px;margin:28px 0 38px;color:#e3e3e3;font-size:16px}
.fade{opacity:0;transform:translateY(24px);animation:fin .9s var(--ease) forwards}
@keyframes fin{to{opacity:1;transform:none}}
.d1{animation-delay:.5s}.d2{animation-delay:.7s}.d3{animation-delay:.9s}
@keyframes float{50%{transform:translateY(-26px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:17px 34px;border:2px solid var(--red);background:var(--red);color:#fff;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}
.btn:hover{background:var(--red-d);border-color:var(--red-d);transform:translateY(-3px);box-shadow:0 10px 20px rgba(200,16,46,.35)}
.btn.ghost{background:transparent;border-color:#fff}
.btn.ghost:hover{background:#fff;color:var(--ink);box-shadow:none}
.btn.dark{background:var(--ink);border-color:var(--ink)}
.btn.dark:hover{background:var(--red);border-color:var(--red)}

/* marquee */
.marq{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;padding:16px 0;transform:rotate(-1.2deg);margin:-14px -20px 0;position:relative;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.marq div{display:inline-flex;gap:34px;align-items:center;animation:mq 28s linear infinite;font-family:var(--head);font-size:26px;letter-spacing:.06em;text-transform:uppercase;padding-right:34px}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
section{padding:120px 0;position:relative}
.sec-head{text-align:center;max-width:680px;margin:0 auto 64px}
.sec-head .k{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--red)}
.sec-head h2{font-size:clamp(44px,6vw,84px);margin:10px 0 18px}
.sec-head i{display:block;width:84px;height:5px;background:var(--flag);margin:0 auto 20px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.grey{background:var(--g1)}
.dark-sec{background:var(--ink);color:#bdbdbd;overflow:hidden}
.dark-sec h2,.dark-sec h3{color:#fff}
.pitch{position:absolute;inset:0;opacity:.07;pointer-events:none;background:
  radial-gradient(circle at 50% 50%,transparent 118px,#fff 118px 121px,transparent 121px),
  linear-gradient(90deg,transparent calc(50% - 1.5px),#fff calc(50% - 1.5px) calc(50% + 1.5px),transparent calc(50% + 1.5px));}
.mask{display:block;overflow:hidden;padding-bottom:.08em}
.mask>span{display:block;transform:translateY(110%);transition:transform 1s var(--ease)}
.in .mask>span,.mask.in>span{transform:none}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about .img{position:relative}
.about .img .frame{overflow:hidden;position:relative}
.about .img img{width:100%;height:560px;object-fit:cover;object-position:68% 25%;filter:grayscale(1) contrast(1.05);transition:filter .6s,transform 1.2s var(--ease)}
.about .img:hover img{filter:none;transform:scale(1.05)}
.about .img::after{content:"";position:absolute;left:-18px;bottom:-18px;width:55%;height:55%;border:4px solid var(--red);z-index:-1}
.about .badge{position:absolute;right:-24px;top:34px;background:var(--red);color:#fff;font-family:var(--head);font-size:70px;width:110px;height:110px;display:grid;place-items:center;line-height:1;animation:float 4s ease-in-out infinite}
.about .badge small{position:absolute;bottom:8px;font:700 9px var(--body);letter-spacing:.2em}
.about h2{font-size:clamp(40px,5vw,66px);margin:10px 0 22px}
.about p+p{margin-top:16px}
.k{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--red)}

/* scoreboard */
.score{background:var(--ink);color:#fff;padding:64px 0;overflow:hidden}
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid #333;text-align:center}
.board div{padding:34px 10px;border-right:2px solid #333}
.board div:last-child{border:0}
.board strong{display:block;font-family:var(--head);font-size:clamp(46px,6vw,84px);line-height:1;color:#fff;font-weight:400}
.board strong em{font-style:normal;color:var(--red)}
.board span{font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:600;color:#aaa}

/* timeline */
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:27px;height:3px;background:var(--g3)}
.tl>div{position:relative;padding:60px 24px 0 0}
.tl>div::before{content:"";position:absolute;left:0;top:16px;width:24px;height:24px;border-radius:50%;background:#fff;border:5px solid var(--red);transition:transform .3s}
.tl>div:hover::before{transform:scale(1.4);background:var(--red)}
.tl b{font-family:var(--head);font-size:46px;font-weight:400;color:var(--red);line-height:1;display:block}
.tl h3{font-size:24px;margin:8px 0 8px}
.tl p{font-size:14px}
@media(max-width:820px){.tl{grid-template-columns:1fr;gap:34px}.tl::before{left:11px;right:auto;top:0;bottom:0;width:3px;height:auto}.tl>div{padding:0 0 0 46px}.tl>div::before{top:6px}}

/* services — camisetas */
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.svc{padding:50px 28px 40px;border:1px solid #333;position:relative;overflow:hidden;transition:transform .4s var(--ease),background .4s,border-color .4s;background:rgba(255,255,255,.02)}
.svc:hover{background:var(--red);border-color:var(--red);transform:translateY(-10px)}
.svc .n{font-family:var(--head);font-size:150px;line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.25);position:absolute;right:-6px;top:10px;transition:all .4s}
.svc:hover .n{-webkit-text-stroke-color:rgba(255,255,255,.55);transform:scale(1.1) rotate(-4deg)}
.svc h3{font-size:36px;margin:70px 0 12px;position:relative}
.svc p{font-size:14px;color:#9a9a9a;transition:color .3s;position:relative}
.svc:hover p{color:#fff}
.svc .role{position:relative;font-size:11px;letter-spacing:.25em;font-weight:700;color:var(--red);text-transform:uppercase;transition:color .3s}
.svc:hover .role{color:#fff}

/* cancha */
.cancha{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.cancha h2{font-size:clamp(44px,6vw,84px);margin:10px 0 22px}
.cancha .big{position:relative;aspect-ratio:1;background:var(--ink);display:grid;place-items:center;overflow:hidden}
.cancha .big::before{content:"";position:absolute;inset:18px;border:3px solid rgba(255,255,255,.35)}
.cancha .big::after{content:"";position:absolute;left:18px;right:18px;top:50%;height:3px;background:rgba(255,255,255,.35)}
.cancha .big .c{position:absolute;width:38%;aspect-ratio:1;border:3px solid rgba(255,255,255,.35);border-radius:50%}
.cancha .big .num{font-family:var(--head);font-size:clamp(160px,26vw,340px);line-height:1;color:transparent;-webkit-text-stroke:3px rgba(255,255,255,.85);position:relative;z-index:2;animation:pulse 4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.06);-webkit-text-stroke-color:var(--red)}}
.marq .sep{width:14px;height:14px;background:#fff;transform:rotate(45deg);flex:none}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.chips span{border:2px solid var(--ink);padding:8px 16px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:all .25s}
.chips span:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-3px)}

.flagbar{display:block;width:84px;height:5px;background:var(--flag);box-shadow:0 0 0 1px rgba(0,0,0,.12);margin:0 0 22px}
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0 8px}
.lv{padding:14px 8px;text-align:center;font-family:var(--head);font-size:20px;letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--ink);transition:transform .3s var(--ease)}
.lv:hover{transform:translateY(-6px) rotate(-2deg)}
.lv.v{background:var(--it-g);border-color:var(--it-g);color:#fff}
.lv.b{background:#fff;color:var(--ink)}
.lv.r{background:var(--it-r);border-color:var(--it-r);color:#fff}
.lv.n{background:var(--ink);color:#fff}
.lvn{font-size:12px;color:var(--g5);margin-bottom:22px}
.phone .stripe{position:absolute;left:0;right:0;bottom:46px;height:12px;background:var(--flag)}
/* app */
.app{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.app h2{font-size:clamp(40px,5.4vw,74px);margin:10px 0 20px}
.app ul{list-style:none;margin:22px 0 34px}
.app li{padding-left:28px;position:relative;margin:8px 0;font-weight:500}
.app li::before{content:"";position:absolute;left:0;top:11px;width:14px;height:3px;background:var(--red)}
.stores{display:flex;gap:12px;flex-wrap:wrap}
.phone{width:260px;height:520px;margin:0 auto;border:10px solid var(--ink);border-radius:42px;background:linear-gradient(160deg,var(--red) 0%,var(--red-d) 100%);position:relative;display:grid;place-items:center;box-shadow:0 30px 60px rgba(0,0,0,.25);color:#fff;text-align:center;animation:float 6s ease-in-out infinite}
.phone::before{content:"";position:absolute;top:12px;width:80px;height:6px;border-radius:4px;background:rgba(0,0,0,.35)}
.phone div{font-family:var(--head);font-size:40px;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.phone small{display:block;font-family:var(--body);font-size:11px;letter-spacing:.3em;margin-top:10px;opacity:.9}

/* reels */

.reels-grid .instagram-media{margin:0!important;max-width:340px!important;min-width:0!important;width:100%!important}

/* shop */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;perspective:1000px}
.card{background:#fff;border:1px solid var(--g3);display:flex;flex-direction:column;transition:box-shadow .3s,transform .25s;position:relative;transform-style:preserve-3d}
.card:hover{box-shadow:0 22px 44px rgba(0,0,0,.14)}
.card .pic{aspect-ratio:1;background:var(--g1);overflow:hidden;position:relative}
.card .pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .pic img{transform:scale(1.1)}
.tag{position:absolute;left:0;top:14px;z-index:2;background:var(--red);color:#fff;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:5px 12px}
.card .body{padding:22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:16px;letter-spacing:.02em;line-height:1.35;text-transform:none;font-family:var(--body);font-weight:700}
.price{font-family:var(--head);font-size:28px;color:var(--red);letter-spacing:.03em}
.card .btn{margin-top:auto;padding:13px;text-align:center;font-size:11px}
.card.ml{background:var(--ink);border-color:var(--ink);color:#bbb;justify-content:center;text-align:center}
.card.ml .body{align-items:center;justify-content:center;gap:14px;padding:34px 26px}
.card.ml h3{color:#fff;font-family:var(--head);font-size:34px;letter-spacing:.02em;text-transform:uppercase;font-weight:400}
.card.ml .btn{margin-top:10px;background:#fff;color:var(--ink);border-color:#fff}
.card.ml .btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.note{text-align:center;margin-top:34px;font-size:13px;color:var(--g5)}
.note a{color:var(--red);font-weight:700;border-bottom:1px solid var(--red)}

/* contact */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--g3);background:#fff}
.contact .info{padding:54px 46px;background:var(--ink);color:#bbb}
.contact .info h2{color:#fff;font-size:48px;margin-bottom:26px}
.contact .row{margin-bottom:24px}
.contact .row b{display:block;color:var(--red);font-size:11px;letter-spacing:.25em;text-transform:uppercase;margin-bottom:4px}
.contact .row a,.contact .row span{color:#fff;font-size:17px}
.contact .row a:hover{color:var(--red)}
.contact iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(1)}

/* footer */
footer{border-top:6px solid transparent;border-image:var(--flag) 1;background:#0c0c0c;color:#8b8b8b;padding:60px 0 30px;font-size:13px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:34px;border-bottom:1px solid #222}
footer ul{display:flex;gap:26px;list-style:none;flex-wrap:wrap}
footer ul a:hover{color:var(--red)}
.copy{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px}
.copy a{color:#fff;font-weight:600}
.copy a:hover{color:var(--red)}

/* cart drawer */
.veil{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s;z-index:130}
.veil.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:140;transform:translateX(100%);transition:transform .4s var(--ease);display:flex;flex-direction:column}
.drawer.on{transform:none}
.drawer .dh{background:var(--ink);padding:22px 26px;display:flex;justify-content:space-between;align-items:center;color:#fff}
.drawer .dh h3{color:#fff;font-size:26px}
.drawer .dh button{background:none;border:0;color:#fff;font-size:28px;cursor:pointer;line-height:1}
.items{flex:1;overflow:auto;padding:10px 26px}
.empty{text-align:center;color:var(--g5);padding:70px 0}
.it{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--g3);align-items:center}
.it img{width:70px;height:70px;object-fit:cover}
.it h4{font-size:13px;color:var(--ink);line-height:1.35}
.qty{display:inline-flex;align-items:center;border:1px solid var(--g3);margin-top:6px}
.qty button{width:28px;height:28px;border:0;background:none;cursor:pointer;font-size:16px}
.qty span{min-width:26px;text-align:center;font-size:13px;font-weight:600}
.it .rm{background:none;border:0;color:var(--g5);cursor:pointer;font-size:11px;text-decoration:underline;margin-left:8px}
.it .p{font-family:var(--head);color:var(--red);font-size:20px;text-align:right}
.foot-cart{padding:22px 26px;border-top:1px solid var(--g3);background:var(--g1)}
.total{display:flex;justify-content:space-between;font-family:var(--head);font-size:26px;color:var(--ink);margin-bottom:6px;text-transform:uppercase}
.foot-cart small{display:block;margin-bottom:16px;font-size:12px;color:var(--g5);line-height:1.5}
.foot-cart .btn{display:block;text-align:center;margin-bottom:10px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,120px);background:var(--ink);color:#fff;padding:14px 26px;font-size:13px;z-index:150;border-left:4px solid var(--red);transition:transform .3s}
.toast.on{transform:translate(-50%,0)}

.fab{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--red);color:#fff;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 24px rgba(200,16,46,.45)}
.fab::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--red);animation:ping 2s infinite}
@keyframes ping{to{transform:scale(1.7);opacity:0}}
.fab svg{width:24px;height:24px}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.stag>*{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .5s var(--ease),background .4s,border-color .4s}
.stag.in>*{opacity:1;transform:none}
.stag.in>*:nth-child(2){transition-delay:.12s}.stag.in>*:nth-child(3){transition-delay:.24s}.stag.in>*:nth-child(4){transition-delay:.36s}
.stag.in>*:hover{transform:translateY(-10px);transition-delay:0s}

@media(max-width:1020px){
  .services{grid-template-columns:repeat(2,1fr)}
  .products{grid-template-columns:repeat(2,1fr)}
  .board{grid-template-columns:repeat(2,1fr)}
  .board div:nth-child(2){border-right:0}
  .board div:nth-child(-n+2){border-bottom:2px solid #333}
}
@media(max-width:820px){
  section{padding:80px 0}
  .burger{display:block}
  .hdr-r{gap:20px}
  nav{position:fixed;inset:0 0 0 auto;width:min(300px,80%);background:var(--ink);padding:90px 30px;transform:translateX(100%);transition:transform .3s}
  nav.on{transform:none}
  nav ul{flex-direction:column;align-items:flex-start;gap:22px}
  .hero .bg{background-position:78% center}
  .hero::before{background:linear-gradient(180deg,rgba(10,10,10,.55),rgba(10,10,10,.88))}
    .about,.app,.contact,.cancha{grid-template-columns:1fr}
  .about,.cancha{gap:50px}
  .about .img img{height:380px}
  .about .badge{right:10px}
  .contact .info{padding:38px 26px}
}
@media(max-width:520px){
  .services,.products{grid-template-columns:1fr}
  .btn{padding:16px 24px}
  .phone{width:220px;height:440px}
  .marq div{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.stag>*,.fade{opacity:1;transform:none}
  .mask>span,.hero h1 .ln>span{transform:none}
}

/* tienda */
body.inner{padding-top:0}
.shop-hero{background:var(--ink);color:#fff;padding:170px 0 70px;position:relative;overflow:hidden}
.shop-hero h1{color:#fff;font-size:clamp(54px,9vw,130px);line-height:.95}
.shop-hero p{max-width:520px;color:#bdbdbd;margin-top:18px}
.shop-hero .flagbar{margin:0 0 22px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 40px;justify-content:center}
.filters button{font:700 12px var(--body);letter-spacing:.18em;text-transform:uppercase;padding:12px 22px;border:2px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;transition:all .25s}
.filters button:hover{transform:translateY(-3px)}
.filters button.on{background:var(--red);border-color:var(--red);color:#fff}
.products.shop{grid-template-columns:repeat(4,1fr)}
.card .cat{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--g5)}
.card.hide{display:none}
.shop-banner{background:var(--red);color:#fff;text-align:center;padding:84px 0;border-top:6px solid transparent;border-image:var(--flag) 1}
.shop-banner h2{color:#fff;font-size:clamp(44px,6vw,84px);margin:10px 0 18px}
.shop-banner p{max-width:520px;margin:0 auto 30px;color:#fff;opacity:.92}
.shop-banner .k{color:#fff}
.shop-banner .it-a{color:#fff}
.shop-banner .btn{background:#fff;color:var(--ink);border-color:#fff}
.shop-banner .btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
@media(max-width:1020px){.products.shop{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.products.shop{grid-template-columns:1fr}.shop-hero{padding-top:140px}}

/* producto */
.card .pic{display:block}
.card .pic .alt{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.card:hover .pic .alt{opacity:1}
.card h3 a:hover{color:var(--red)}
.crumbs{font-size:12px;letter-spacing:.08em;color:var(--g5);margin-bottom:30px}
.crumbs a:hover{color:var(--red)}
.crumbs span{color:var(--ink);font-weight:600}
.pd-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}
.gal .main{position:relative;aspect-ratio:1;background:var(--g1);overflow:hidden;cursor:zoom-in}
.gal .main img{width:100%;height:100%;object-fit:cover;transition:opacity .15s,transform .6s var(--ease)}
.gal .main:hover img{transform:scale(1.04)}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.thumbs button{aspect-ratio:1;border:2px solid transparent;padding:0;background:var(--g1);cursor:pointer;overflow:hidden;opacity:.6;transition:all .25s}
.thumbs button.on,.thumbs button:hover{border-color:var(--red);opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover}
.info h1{font-size:clamp(34px,4.2vw,56px);margin:10px 0 20px}
.price.big{font-size:44px;margin-bottom:18px}
.desc{margin:6px 0 26px}
.desc p{margin-bottom:10px}
.desc ul{margin:10px 0 14px 20px}
.desc li{margin:4px 0}
.buy{display:flex;gap:12px;align-items:stretch}
.buy .btn{flex:1}
.qty.q2{margin:0}
.qty.q2 button{width:40px;height:100%;font-size:18px}
.qty.q2 span{min-width:34px;display:grid;place-items:center}
.perks{list-style:none;margin-top:22px;font-size:13px}
.perks li{padding-left:22px;position:relative;margin:6px 0}
.perks li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:3px;background:var(--red)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:200;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s;cursor:zoom-out}
.lightbox.on{opacity:1;pointer-events:auto}
.lightbox img{max-width:92vw;max-height:92vh}
@media(max-width:820px){.pd-grid{grid-template-columns:1fr;gap:34px}#rel{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:520px){#rel{grid-template-columns:1fr!important}}


/* instagram */
.reels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;justify-items:center}
.reels-grid .instagram-media{margin:0!important;max-width:340px!important;min-width:0!important;width:100%!important}

