/* 100% FUTBOL / BLANCO, VERDE MENTA Y AZUL ANDINO
   Visual layer only: storage keys and authentication are not changed. */
:root {
  color-scheme:light;
  --bg:#ffffff;
  --panel:#ffffff;
  --panel-2:#f0f6f4;
  --text:#111d22;
  --muted:#5e6e73;
  --accent:#a7f3b5;
  --accent-ink:#176b38;
  --heading-green:#39994e;
  --blue:#246f91;
  --blue-soft:#edf6fc;
  --danger:#ba3447;
  --line:#dce8e1;
  --success:#227643;
  --accent-soft:rgba(98,197,124,.075);
  --sport-line:rgba(42,119,69,.15);
  --shadow:0 18px 48px rgba(32,80,59,.09);
}
body,.storefront-page{background:var(--bg);color:var(--text)}
::selection{background:#bcedcc;color:#163728}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.storefront-page a:focus-visible,.storefront-page button:focus-visible,.storefront-page input:focus-visible,.storefront-page select:focus-visible{outline-color:var(--blue)}
.skip-link{color:var(--text)}
.brand span,.eyebrow,.product-brand,.info-card strong{color:var(--accent-ink)}
.match-strip{color:var(--accent-ink);background:linear-gradient(90deg,#eef9ef,#f5fbf9 55%,#ecf5fc);border-bottom-color:#dbeade}
.match-strip span:first-child{color:var(--accent-ink)}
.match-strip-note{color:var(--blue)}
header,.storefront-page header{background:rgba(255,255,255,.95);border-color:#e0eae5}
.storefront-page .brand-symbol{color:var(--accent-ink);border-color:#bdd7c8}
.storefront-page .nav-links a{color:#42525c}
.storefront-page .nav-links a:hover,.storefront-page .nav-links a[aria-current="page"]{color:var(--blue)}
.storefront-page .nav-links a[aria-current="page"]::after{background:var(--blue)}
.btn{background:var(--accent);color:#103421;box-shadow:0 1px 0 rgba(17,85,34,.06)}
.storefront-page .btn:not(.secondary):hover{background:#92eaa6;box-shadow:0 8px 20px rgba(61,138,76,.13)}
.btn.secondary{background:#ffffff;color:var(--text);border-color:#b9cac7;box-shadow:none}
.storefront-page .btn.secondary:hover{background:#eef7fc;border-color:#72acc6;color:#195b7a}
.btn.danger{background:var(--danger);color:#ffffff}
.hero-wrap{background:radial-gradient(ellipse at 89% 5%,#edf8fd 0,transparent 46%),radial-gradient(ellipse at 47% 88%,#f4fcf4 0,transparent 50%),#ffffff}
.hero-wrap::before{opacity:.18;inset:5px -135px 20px 37%}
.hero-wrap::after{content:"";position:absolute;inset:25% auto 24% -4%;width:15%;z-index:-1;background:repeating-linear-gradient(-42deg,transparent 0 13px,rgba(42,127,163,.08) 13px 14px);transform:skewY(-14deg);pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent)}
.hero h1>span{color:var(--heading-green)}
.storefront-page .hero p{color:#53636b}
.eyebrow-line{background:var(--accent-ink)}
.hero-signature{color:#607680}
.hero-signature strong{color:#446779}
.hero-signature .ui-icon{color:var(--blue)}
.hero-actions .btn.secondary{background:rgba(236,247,253,.65);border-color:#9cbfce;color:#225d78}
.storefront-page .hero-card{border:1px solid #b9dfc0;background:linear-gradient(122deg,#fafffa 0%,#f2fcf1 58%,#edf7fd 100%);box-shadow:0 18px 42px rgba(24,75,52,.09);overflow:visible}
.hero-card::before{border-radius:23px;inset:0;opacity:.24;background-size:cover;transform:none}
.hero-card::after{border-radius:0 23px 23px 0;background:repeating-linear-gradient(-40deg,transparent 0 12px,rgba(43,122,162,.065) 12px 13px)}
.match-label{color:#455c62}
.match-label>i{background:#41aa5c}
.sport-number{color:var(--blue);border-color:#a8c6d2;background:rgba(255,255,255,.7)}
.hero-card .discount{color:var(--heading-green)}
.hero-card .discount small{color:#425760}
.hero-card .discount strong{color:var(--accent-ink);letter-spacing:.11em;font-size:.7rem}
.offer-composition{min-height:191px}
.match-ball{position:absolute;margin:0;width:218px;height:218px;right:-10px;top:-3px;border-radius:50%;overflow:hidden;transform:rotate(0);filter:none;background:transparent;mix-blend-mode:multiply;z-index:1}
.official-match-ball{position:absolute;width:131%;height:131%;max-width:none;left:-15.5%;top:-15.5%;object-fit:contain}
.match-ball.is-fallback{mix-blend-mode:normal;filter:drop-shadow(0 15px 10px rgba(24,62,48,.16));overflow:visible}
.match-ball.is-fallback .official-match-ball{width:100%;height:100%;left:0;top:0}
.card-slogan{color:#597178;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;margin-top:10px;font-size:.48rem;letter-spacing:.1em;min-height:15px}
.ball-reference{color:#406f85;border-bottom:1px solid #c2d8e3;padding-bottom:2px;font-size:.48rem;letter-spacing:.045em;font-weight:700}
.ball-reference:hover{color:#133f55;border-color:#133f55}
.hero-card-bottom{border-top-color:#c7dfcf;margin-top:13px;padding-top:15px}
.storefront-page .hero .hero-card-bottom p{color:#506871;font-size:.67rem}
.circle-link{background:var(--accent);color:#155834;border:1px solid #9bd6a8}
.circle-link:hover{background:#83de99}
.card-corner{border-radius:24px 0 0 0;background:linear-gradient(90deg,#a7f3b5 0 66%,#74b9da 66% 100%)}
.sport-ribbon{background:linear-gradient(90deg,#fafffb,#f6fcf9 60%,#f0f8fd);border-color:#dcece4}
.sport-ribbon>.container{color:#50656e}
.sport-ribbon .ui-icon{color:var(--accent-ink)}
.sport-ribbon span[aria-hidden]{color:#70ac89}
.sport-ribbon .ribbon-city{color:var(--blue)}
.section-index{color:#6c8796}
.storefront-page a.brand-tile{background:linear-gradient(137deg,#ffffff,#fbfefc);border-color:#d7e7df;box-shadow:0 5px 14px rgba(38,80,59,.025);min-height:225px}
.brand-tile::before{border-color:#dff1e4;box-shadow:0 0 0 17px rgba(142,219,161,.095),0 0 0 34px rgba(142,219,161,.045)}
.brand-tile:nth-child(even)::before{border-color:#e0edf6;box-shadow:0 0 0 17px rgba(98,171,203,.07),0 0 0 34px rgba(98,171,203,.035)}
.storefront-page a.brand-tile:hover{background:linear-gradient(137deg,#f3fcf6,#f0f8fd);border-color:#88bd9b;box-shadow:0 14px 25px rgba(44,89,63,.08)}
.brand-logo,.tab-logo,.catalog-identity-logo{filter:brightness(0) saturate(100%);opacity:.92}
.brand-tile-name{color:#27383e}
.tile-index{color:#708995}
.brand-tile-count{color:#65787e}
.brand-tile-link{color:var(--accent-ink);border-top-color:#d9e9e1}
.brand-tile-link>span{color:var(--blue)}
.storefront-page .product-card{background:#ffffff;border-color:#dbe8e1;box-shadow:0 4px 14px rgba(33,67,46,.025)}
.storefront-page .product-card:hover{border-color:#9bc8ad;box-shadow:0 12px 28px rgba(31,72,58,.08)}
.storefront-page .product-image{background:radial-gradient(ellipse at 50% 45%,#ffffff 0%,#f0f7f3 70%)}
.storefront-page .product-card:nth-child(even) .product-image{background:radial-gradient(ellipse at 50% 45%,#ffffff 0%,#eef6fa 75%)}
.storefront-page .product-placeholder{color:#386f72}
.product-placeholder::before{opacity:.2}
.storefront-page .product-placeholder>img{opacity:.64}
.product-placeholder>small{color:#637e85}
.storefront-page .product-brand{color:var(--accent-ink)}
.storefront-page .price{color:#1d3531}
.storefront-page .sizes{color:#60756f}
.storefront-page .badge{background:#c4f4ce;color:#185930;border:1px solid #addfba}
#ofertas{background:linear-gradient(110deg,#f6fbf7 0%,#f4f9fc 100%);border-color:#dfebe4}
#ofertas .section-head::after{color:var(--blue);opacity:.5}
.city-banner{background:linear-gradient(115deg,#f2faf3 0%,#eff8f8 54%,#e9f5fc 100%);border-color:#ccdfda}
.city-label,.text-link{color:var(--blue)}
.city-copy h3{color:#183039}
.city-copy h3 em{color:var(--accent-ink)}
.section .city-copy p{color:#566f77}
.city-banner::after{background:linear-gradient(90deg,rgba(242,250,243,.98),transparent 48%)}
.city-stamp{border-color:#9fbfce;color:#336c82;background:rgba(244,251,253,.75)}
.storefront-page .info-card{background:#ffffff;border-color:#d9e6e2;box-shadow:0 4px 12px rgba(38,75,49,.025)}
.info-card .info-symbol{color:var(--blue)}
.info-card>span:not(.info-symbol){color:#496066}
.storefront-page footer{border-color:#dbe7e1;background:#f5f9f7;color:#60776b}
footer strong{color:#273f36}
.footer-city,.footer-city .ui-icon{color:var(--blue)}
.storefront-page .whatsapp{background:#a7f3b5;color:#166333;border-color:#e4f6e9;box-shadow:0 5px 22px rgba(29,87,54,.17),0 0 0 1px #a6d7b5}
/* Catalogue: same routes and filters, refreshed colour palette. */
.catalog-hero::before{opacity:.16}
.catalog-hero h1 span,.catalog-summary strong{color:var(--accent-ink)}
.catalog-breadcrumb a:hover,.catalog-bottom>a:hover{color:var(--blue)}
.catalog-summary{background:#eef8f3;border-color:#c9e1d1}
.catalog-summary>span{color:#537261}
.catalog-brand-tabs{border-color:#dce8e1}
.catalog-brand-tabs>a{background:#ffffff;border-color:#d1e1d8;color:#38594a}
.catalog-brand-tabs>a:hover{background:#f2f9fc;border-color:#8abacf}
.catalog-brand-tabs>a.is-active{background:#c0f2cc;border-color:#a4d8b4;color:#194d2c}
.catalog-brand-tabs>a.is-active .tab-logo{filter:brightness(0)}
.catalog-field select,.catalog-search-input{background:#ffffff;border-color:#c9dbd2}
.catalog-field>label{color:#536d61}
.catalog-search-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #edf6fc}
.catalog-offers input{accent-color:#278552}
.catalog-empty{background:linear-gradient(120deg,#f5fcf6,#f0f7fb);border-color:#aacbb7}
.catalog-empty-icon{color:var(--blue)}
.catalog-bottom{border-color:#d7e5de}
/* Admin: presentation only. Existing Supabase sign-in is kept intact. */
.auth-shell{background:radial-gradient(ellipse at 17% 15%,#eaf9ed,transparent 55%),radial-gradient(ellipse at 85% 20%,#edf6fc,transparent 60%),#fafdfb;position:relative;isolation:isolate}
.auth-shell::before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/pitch.svg') center/950px no-repeat;opacity:.12;transform:rotate(-10deg);pointer-events:none}
.login-card{background:rgba(255,255,255,.97);border-color:#cedfd4;box-shadow:0 18px 60px rgba(24,80,47,.09)}
.login-lock{background:#eef7fc;border-color:#d7e7ec;color:var(--blue)}
.field input,.field select,.field textarea,.toolbar input,.toolbar select{background:#ffffff;border-color:#cbdad3;color:var(--text)}
.field input::placeholder,.field textarea::placeholder{color:#788983}
.field label{color:#576e62}
.field input[type='checkbox']{accent-color:var(--accent-ink)}
.preview-box{background:#f3f8f5;border-color:#aec8b8;color:#536e62}
.login-message.error,.logout-link{color:#ab3040}
.login-message.success{color:#227542}
.login-message.setup{background:#f0faf3;border-color:#b7d9c1;color:#2d6440}
.sidebar{background:#f4f9f6;border-color:#dbe6df}
.side-link.active,.side-link:hover{background:#e0f2e6;color:#22583a}
.side-link.logout-link:hover{background:#fbf0f2;color:#ab3040}
.admin-page{background:#fbfdfb}
.panel,.stat{background:#ffffff;border-color:#d6e4db}
.stat b{color:var(--accent-ink)}
.admin-table th{color:#586f64}
.status{background:#e4f5e9;color:#25643e}
.status.off{background:#fcecee;color:#a73346}
.notice{background:#eaf7ed;color:#286540}
.danger-zone{border-color:#e3b5bd}
@media(min-width:981px){.hero-card .discount>span{font-size:7rem}.storefront-page .hero-card{min-height:370px}}
@media(max-width:1100px) and (min-width:981px){.match-ball{width:197px;height:197px;right:-13px;top:9px}.hero-card .discount>span{font-size:6.7rem}}
@media(max-width:980px) and (min-width:721px){.match-ball{width:166px;height:166px;right:-7px;top:30px}.hero-card .discount>span{font-size:5.8rem}.hero-card .discount strong{font-size:.57rem}.card-slogan{font-size:.43rem}.ball-reference{font-size:.45rem}.storefront-page .hero-card{padding:22px}.offer-composition{min-height:189px}}
@media(max-width:720px){.match-ball{width:235px;height:235px;right:12px;top:-7px}.storefront-page .hero-card{overflow:hidden}.hero-card .discount>span{font-size:7rem}.city-art{opacity:.9}}
@media(max-width:640px){
 .hero-wrap::before{inset:18% -95px 30px 5%;opacity:.12}
 .hero-wrap::after{display:none}
 .storefront-page .hero-card{padding:22px;min-height:338px}
 .hero-card::before{border-radius:19px}
 .match-ball{width:185px;height:185px;right:-6px;top:12px}
 .hero-card .discount>span{font-size:6.7rem}
 .hero-card .discount strong{font-size:.59rem}
 .offer-composition{min-height:184px}
 .card-slogan{font-size:.42rem;letter-spacing:.05em;gap:8px}
 .ball-reference{font-size:.43rem}
 .hero-card-bottom .circle-link{margin-right:0}
 .storefront-page .hero .hero-card-bottom p{font-size:.62rem}
 .storefront-page a.brand-tile{min-height:211px}
 .city-banner::after{background:linear-gradient(180deg,transparent 65%,rgba(230,246,249,.15))}
 .city-stamp{background:#eff8fb}
 .storefront-page .info-card{box-shadow:none}
 .login-card{padding:27px 23px}
 .auth-shell::before{transform:none;background-size:850px}
}
@media(max-width:370px){.match-ball{width:148px;height:148px;right:-5px;top:35px}.hero-card .discount>span{font-size:5.7rem}.hero-card .discount sup{font-size:2rem}.storefront-page .hero-card{padding:19px}.hero-card .discount strong{font-size:.52rem}.card-slogan{font-size:.4rem}.ball-reference{font-size:.41rem}.match-label{font-size:.5rem}}
@media(prefers-reduced-motion:reduce){.storefront-page *,.admin-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep the promotion readable next to the ball on narrow screens. */
@media(max-width:640px){
 .match-ball{width:175px;height:175px;right:-10px;top:22px}
 .hero-card .discount>span{font-size:6.3rem}
}
@media(max-width:370px){
 .match-ball{width:126px;height:126px;right:-9px;top:51px}
 .hero-card .discount>span{font-size:5.2rem}
 .hero-card .discount sup{font-size:1.85rem}
}
