/*
Theme Name: Alfa
Theme URI: https://abastecedoraalfa.com.mx/
Author: iTouch Redes y Soluciones
Description: Tema a la medida para Abastecedora Alfa (Distribuidora de Materias Primas Alfa, S.A. de C.V.). Portal informativo mayorista, preparado para WooCommerce en Fase 2.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alfa
*/

/* ===== TIPOGRAFIAS (locales, sin CDN) ===== */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/plex-400.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/plex-500.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/plex-600.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/plex-700.woff2) format('woff2');}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/bricolage-600.woff2) format('woff2');}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/bricolage-700.woff2) format('woff2');}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/bricolage-800.woff2) format('woff2');}

/* ============ TOKENS ============ */
:root{
  --bg:#F5F6F8; --bg-2:#EAEBEE; --paper:#FFFFFF;
  --ink:#1B1E26; --ink-soft:#585B65; --ink-faint:#868994;
  --line:#DDDFE4; --line-soft:#EDEEF1;
  --brand:#F4400A; --brand-ink:#C42F04; --brand-wash:#FDEAE2; --brand-solid:#D63505;
  --ind:#0B3EC2; --ind-ink:#0A35A8; --ind-wash:#E6EDFB; --ind-solid:#0B3EC2;
  --band:#1E2740; --band-2:#161D31; --ind-band:#26377E; --band-accent:#9DBCFB;
  --on-dark:#F1F2F6; --on-dark-soft:#A8ABB8; --on-dark-line:#39425C;
  --shadow:0 1px 2px rgba(27,30,38,.05), 0 14px 34px -18px rgba(27,30,38,.22);
  --shadow-sm:0 1px 2px rgba(27,30,38,.06), 0 6px 16px -12px rgba(27,30,38,.22);
  --radius:16px; --radius-sm:11px;
  --maxw:1180px;
  --disp:'Bricolage Grotesque', 'Trebuchet MS', system-ui, sans-serif;
  --body:'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
/* El tema CLARO es el predeterminado siempre.
   El oscuro solo se activa si el visitante lo elige (data-theme="dark"),
   y su elección se recuerda en el navegador. */
:root[data-theme="dark"]{
  --bg:#121318; --bg-2:#1A1C22; --paper:#1E2028;
  --ink:#ECEDF2; --ink-soft:#A4A7B2; --ink-faint:#7A7D88;
  --line:#33363F; --line-soft:#262931;
  --brand:#FF7A29; --brand-ink:#FF8A45; --brand-wash:#2C1509; --brand-solid:#D63505;
  --ind:#5B93F5; --ind-ink:#7BA9F8; --ind-wash:#131B33; --ind-solid:#0B3EC2;
  --band:#0D0F16; --band-2:#080A0F; --ind-band:#131C4A; --band-accent:#9DBCFB;
  --on-dark:#F1F2F6; --on-dark-soft:#A8ABB8; --on-dark-line:#2C3145;
  --shadow:0 1px 2px rgba(0,0,0,.45), 0 18px 40px -20px rgba(0,0,0,.75);
  --shadow-sm:0 1px 2px rgba(0,0,0,.45), 0 8px 20px -14px rgba(0,0,0,.75);
}

/* ============ BASE ============ */
*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--body); font-size:1.0625rem; line-height:1.7;
  font-weight:400; -webkit-font-smoothing:antialiased; letter-spacing:.005em;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--disp); font-weight:800; line-height:1.02; margin:0; letter-spacing:-.02em; text-wrap:balance}
p{margin:0}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
:focus-visible{outline:2.5px solid var(--brand); outline-offset:3px; border-radius:4px}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(1.1rem,4vw,2.4rem)}
.eyebrow{font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.16em; color:var(--brand-ink); display:inline-flex; align-items:center; gap:.6ch}
.eyebrow::before{content:""; width:1.9rem; height:2px; background:var(--brand); border-radius:2px}
section{padding:clamp(3.4rem,7vw,6rem) 0}
.lead{color:var(--ink-soft); font-size:clamp(1.02rem,1.4vw,1.18rem); max-width:60ch}

/* ============ BUTTONS ============ */
.btn{display:inline-flex; align-items:center; gap:.55rem; font-family:var(--body); font-weight:600; font-size:.98rem;
  padding:.82rem 1.4rem; border-radius:999px; border:1.5px solid transparent; cursor:pointer; transition:transform .18s, box-shadow .18s, background .18s, color .18s; white-space:nowrap}
.btn svg{width:1.05em; height:1.05em}
.btn-primary{background:var(--brand-solid); color:#fff; box-shadow:var(--shadow-sm)}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 26px -12px rgba(214,53,5,.5)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink); transform:translateY(-2px)}
.btn-ind{background:var(--ind-solid); color:#fff}
.btn-ind:hover{transform:translateY(-2px); box-shadow:0 12px 26px -12px rgba(11,62,194,.5)}
.btn-wa{background:#25D366; color:#04331b}
.btn-wa:hover{transform:translateY(-2px); box-shadow:0 12px 26px -12px rgba(37,211,102,.6)}

/* ============ LOGO ============ */
.logo{display:inline-flex; align-items:center; gap:.66rem}
.logo-mark{position:relative; width:2.9rem; height:2.9rem; display:grid; place-items:center; flex:none}
.logo-mark img{width:100%; height:100%; object-fit:contain; display:block}

.logo-txt{display:flex; flex-direction:column; line-height:1}
.logo-txt b{font-family:var(--disp); font-weight:800; font-size:1.12rem; letter-spacing:-.01em; color:var(--ink)}
.logo-txt small{font-size:.62rem; letter-spacing:.19em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; margin-top:3px}

/* ============ HEADER ============ */
.topbar{background:var(--band); color:var(--on-dark-soft); font-size:.78rem; letter-spacing:.02em}
.topbar .wrap{display:flex; gap:1.4rem; align-items:center; justify-content:space-between; min-height:36px; flex-wrap:wrap}
.topbar a{color:var(--on-dark)}
.topbar .ti{display:inline-flex; align-items:center; gap:.45rem}
.topbar svg{width:.95em; height:.95em; opacity:.8}
.topbar .t-right{display:flex; gap:1.3rem; flex-wrap:wrap}

header.nav{position:sticky; top:0; z-index:60; background:color-mix(in srgb, var(--bg) 86%, transparent); backdrop-filter:blur(12px) saturate(1.4); border-bottom:1px solid transparent; transition:border-color .25s, box-shadow .25s, background .25s}
header.nav.scrolled{border-color:var(--line); box-shadow:0 6px 20px -18px rgba(22,24,31,.5)}
header.nav .wrap{display:flex; align-items:center; gap:1rem; min-height:70px}
.nav-links{display:flex; gap:.35rem; margin-left:auto; align-items:center}
.nav-links a.nl{padding:.5rem .78rem; border-radius:9px; font-weight:500; font-size:.95rem; color:var(--ink-soft); transition:color .15s, background .15s; position:relative}
.nav-links a.nl:hover{color:var(--ink); background:var(--bg-2)}
.nav-links a.nl-cta{display:none}
.nav-links .nl-tema{display:none}
.nav-cta{display:flex; align-items:center; gap:.6rem; margin-left:.4rem}
.nav-toggle{display:none; margin-left:auto; width:44px; height:44px; border-radius:11px; border:1px solid var(--line); background:var(--paper); cursor:pointer; align-items:center; justify-content:center; color:var(--ink)}
.nav-toggle svg{width:22px; height:22px}
.icon-btn{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;border:1.5px solid var(--line);color:var(--ink);background:transparent;transition:.15s}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn svg{width:20px;height:20px}
.tema-btn{position:relative}
.tema-btn .i-sol{display:none}
:root[data-theme="dark"] .tema-btn .i-luna{display:none}
:root[data-theme="dark"] .tema-btn .i-sol{display:block}

/* ============ HERO ============ */
.hero{position:relative; padding-top:clamp(2.6rem,5vw,4rem); overflow:hidden}
.hero::before{content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(60% 55% at 88% 8%, var(--ind-wash), transparent 60%),
    radial-gradient(55% 60% at 6% 92%, var(--brand-wash), transparent 62%);
  opacity:.9}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.6rem,4vw,3.4rem); align-items:center}
.hero h1{font-size:clamp(2.5rem,6vw,4.7rem); margin:1.1rem 0 0}
.hero h1 .u{color:var(--brand); position:relative; white-space:nowrap}
.hero h1 .u::after{content:""; position:absolute; left:0; right:0; bottom:.06em; height:.14em; background:var(--ind); border-radius:3px; opacity:.30; z-index:-1}
.hero p.lead{margin-top:1.25rem}
.hero-cta{display:flex; gap:.8rem; margin-top:1.9rem; flex-wrap:wrap}
.chips{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1.9rem}
.chip{display:inline-flex; align-items:center; gap:.5rem; font-size:.86rem; font-weight:500; color:var(--ink-soft); background:var(--paper); border:1px solid var(--line); padding:.44rem .82rem; border-radius:999px; box-shadow:var(--shadow-sm)}
.chip svg{width:1rem;height:1rem;color:var(--brand)}

/* hero collage */
.collage{position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:.9rem}
.collage figure{margin:0; border-radius:var(--radius); overflow:hidden; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); position:relative}
.collage figure img{width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; transition:transform .5s}
.collage figure:hover img{transform:scale(1.05)}
.collage figcaption{position:absolute; left:.6rem; bottom:.6rem; font-size:.72rem; font-weight:600; letter-spacing:.02em; color:var(--ink); background:color-mix(in srgb,var(--paper) 88%, transparent); backdrop-filter:blur(4px); padding:.28rem .6rem; border-radius:8px; border:1px solid var(--line)}
.collage .c-tall{grid-row:span 2}
.collage .badge{position:absolute; z-index:3; right:-.4rem; top:-.4rem; background:var(--ind-solid); color:#fff; font-family:var(--disp); font-weight:800; font-size:.9rem; padding:.7rem .8rem; border-radius:12px; box-shadow:var(--shadow); line-height:.95; text-align:center; rotate:4deg}
.badge small{display:block; font-family:var(--body); font-weight:600; font-size:.6rem; letter-spacing:.05em; text-transform:uppercase; opacity:.8}

/* ============ MARQUEE / STATS ============ */
.stats{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-2)}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding-top:1.9rem; padding-bottom:1.9rem}
.stat{display:flex; flex-direction:column; gap:.15rem}
.stat b{font-family:var(--disp); font-weight:800; font-size:clamp(1.7rem,3vw,2.3rem); color:var(--ink); line-height:1; font-variant-numeric:tabular-nums}
.stat b em{color:var(--brand); font-style:normal}
.stat span{font-size:.86rem; color:var(--ink-soft)}
.stat+.stat{border-left:1px solid var(--line); padding-left:1rem}

/* ============ SECTION HEAD ============ */
.shead{max-width:64ch; margin-bottom:2.4rem}
.shead h2{font-size:clamp(1.9rem,3.6vw,3rem); margin:.7rem 0 .8rem}

/* ============ NOSOTROS ============ */
.about{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.6rem,4vw,3.2rem); align-items:start}
.about .about-body p+p{margin-top:1rem}
.mv{display:grid; gap:1rem}
.mv-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem 1.5rem; box-shadow:var(--shadow-sm); position:relative; overflow:hidden}
.mv-card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--brand)}
.mv-card.alt::before{background:var(--ind)}
.mv-card .k{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--disp); font-weight:800; font-size:1.15rem; color:var(--ink); margin-bottom:.35rem}
.mv-card .k svg{width:1.15rem;height:1.15rem;color:var(--brand)}
.mv-card.alt .k svg{color:var(--ind-ink)}
.mv-card p{color:var(--ink-soft); font-size:.98rem}

/* ============ CATALOGO ============ */
.cats{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem}
.cat{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s, border-color .2s}
.cat:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
.cat-media{position:relative; aspect-ratio:16/11; overflow:hidden; background:var(--bg-2)}
.cat-media img{width:100%;height:100%;object-fit:cover; transition:transform .5s}
.cat:hover .cat-media img{transform:scale(1.06)}
.cat-tag{position:absolute; left:.8rem; top:.8rem; background:var(--brand-solid); color:#fff; font-size:.72rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:.34rem .7rem; border-radius:999px}
.cat-body{padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1}
.cat-body h3{font-size:1.34rem; margin-bottom:.2rem}
.cat-body .count{font-size:.82rem; color:var(--ind-ink); font-weight:600; margin-bottom:.7rem}
.taglist{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.2rem}
.taglist span{font-size:.8rem; color:var(--ink-soft); background:var(--bg-2); border:1px solid var(--line-soft); padding:.24rem .6rem; border-radius:7px}
.cat-body .more{margin-top:.9rem; font-size:.86rem; color:var(--ink-soft)}

/* ============ WHY / VALUES ============ */
.why{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.vgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem}
.vcard{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm); padding:1.4rem; box-shadow:var(--shadow-sm)}
.vcard .vi{width:2.7rem;height:2.7rem;border-radius:10px;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-ink);margin-bottom:.9rem}
.vcard .vi svg{width:1.4rem;height:1.4rem}
.vcard h3{font-size:1.1rem;margin-bottom:.35rem}
.vcard p{font-size:.92rem;color:var(--ink-soft)}

/* ============ MAYORISTAS BAND ============ */
.band{background:var(--ind-band); color:var(--on-dark); position:relative; overflow:hidden}
.band::before{content:"α"; position:absolute; right:-2rem; top:50%; transform:translateY(-50%); font-family:var(--disp); font-weight:800; font-size:34rem; line-height:1; color:#fff; opacity:.03; pointer-events:none}
.band .wrap{position:relative}
.band-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.6rem,4vw,3rem); align-items:center}
.band .eyebrow{color:var(--band-accent)}
.band .eyebrow::before{background:var(--band-accent)}
.band h2{color:#fff; font-size:clamp(1.9rem,3.4vw,2.8rem); margin:.7rem 0 1rem}
.band p{color:var(--on-dark-soft); max-width:52ch}
.flow{display:grid; gap:.9rem; counter-reset:step}
.flow li{list-style:none; display:flex; gap:.9rem; align-items:flex-start; background:rgba(255,255,255,.04); border:1px solid var(--on-dark-line); padding:.9rem 1.05rem; border-radius:12px}
.flow li::before{counter-increment:step; content:counter(step); flex:none; width:1.9rem; height:1.9rem; border-radius:8px; background:var(--brand-solid); color:#fff; font-family:var(--disp); font-weight:800; display:grid; place-items:center; font-size:1rem}
.flow li b{color:#fff; font-weight:600; display:block; font-size:.98rem}
.flow li span{color:var(--on-dark-soft); font-size:.88rem}
.band-cta{margin-top:1.6rem; display:flex; gap:.8rem; flex-wrap:wrap}

/* ============ CONTACTO ============ */
.contact-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(1.6rem,4vw,3rem); align-items:start}
.cinfo{display:grid; gap:1rem}
.cline{display:flex; gap:.9rem; align-items:flex-start}
.cline .ci{flex:none; width:2.6rem;height:2.6rem;border-radius:10px;background:var(--brand-wash);color:var(--brand-ink);display:grid;place-items:center}
.cline .ci svg{width:1.25rem;height:1.25rem}
.cline b{display:block; font-weight:600; color:var(--ink); font-size:.98rem}
.cline span, .cline a{color:var(--ink-soft); font-size:.95rem}
.cline a:hover{color:var(--brand); text-decoration:underline}
.pending{font-size:.72rem; color:var(--ind-ink); background:var(--ind-wash); border:1px solid color-mix(in srgb,var(--ind) 40%, var(--line)); padding:.05rem .45rem; border-radius:6px; font-weight:600; margin-left:.35rem; white-space:nowrap}
.form{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.3rem,2.5vw,1.9rem); box-shadow:var(--shadow)}
.form h3{font-size:1.3rem; margin-bottom:.3rem}
.form p.fsub{color:var(--ink-soft); font-size:.92rem; margin-bottom:1.2rem}
.field{display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem}
.field label{font-size:.82rem; font-weight:600; color:var(--ink)}
.field input, .field textarea{font-family:var(--body); font-size:.98rem; padding:.7rem .85rem; border-radius:10px; border:1.5px solid var(--line); background:var(--bg); color:var(--ink); transition:border-color .15s, box-shadow .15s}
.field input:focus, .field textarea:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-wash)}
.field textarea{resize:vertical; min-height:92px}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:.9rem}
.check{display:flex; gap:.6rem; align-items:flex-start; margin:.2rem 0 1.1rem; font-size:.9rem; color:var(--ink-soft)}
.check input{margin-top:.25rem; accent-color:var(--brand); width:1.05rem;height:1.05rem; flex:none}
.form .btn{width:100%; justify-content:center}
.form .fnote{font-size:.78rem; color:var(--ink-faint); margin-top:.8rem; text-align:center}

/* ============ FOOTER ============ */
footer.ft{background:var(--band-2); color:var(--on-dark-soft); padding:clamp(2.8rem,5vw,4rem) 0 1.6rem}
.ft-top{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; padding-bottom:2rem; border-bottom:1px solid var(--on-dark-line)}
.ft .logo-txt b{color:#fff}
.ft-blurb{color:var(--on-dark-soft); font-size:.92rem; margin-top:1rem; max-width:38ch}
.ft h4{font-family:var(--body); font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--on-dark); margin-bottom:1rem}
.ft ul{list-style:none; margin:0; padding:0; display:grid; gap:.55rem}
.ft ul a, .ft ul li{color:var(--on-dark-soft); font-size:.92rem}
.ft ul a:hover{color:#fff}
.ft-bottom{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1.4rem; font-size:.82rem; color:var(--on-dark-soft)}
.ft-bottom a{color:var(--on-dark-soft)} .ft-bottom a:hover{color:#fff}

/* ============ REVEAL ============ */
.js .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}
.js .reveal.in{opacity:1; transform:none}
/* Sin JavaScript el contenido SIEMPRE se ve (no depende de la animacion). */
.reveal{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){.js .reveal{opacity:1; transform:none; transition:none}}

/* ============ MOBILE ============ */
@media (max-width:960px){
  .hero-grid, .about, .contact-grid, .band-grid{grid-template-columns:1fr}
  .collage{max-width:520px}
  .cats{grid-template-columns:1fr 1fr}
  .vgrid{grid-template-columns:1fr 1fr}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-cta .btn-primary{display:none}
  .logo-txt small{display:none}
  .logo-txt b{font-size:1.05rem}
  .nav-links.open a.nl-cta{display:block; background:var(--brand-solid); color:#fff; text-align:center; font-weight:600; margin-top:.45rem}
  .nav-cta .tema-btn{display:none}
  .nav-links.open .nl-tema{display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:.7rem .5rem; border-top:1px solid var(--line); margin-top:.5rem; color:var(--ink-soft); font-size:.95rem; font-weight:500}
  .nav-links.open .nl-tema .icon-btn{width:38px;height:38px}
  .nav-links.open{display:flex; position:absolute; top:70px; left:0; right:0; flex-direction:column; align-items:stretch; gap:.2rem; background:var(--paper); border-bottom:1px solid var(--line); padding:.8rem clamp(1.1rem,4vw,2.4rem) 1.2rem; box-shadow:var(--shadow)}
  .nav-links.open a.nl{padding:.7rem .5rem; border-radius:9px}
  .stats .wrap{grid-template-columns:1fr 1fr; gap:1.4rem}
  .stat+.stat{border-left:none; padding-left:0}
  .stat:nth-child(even){border-left:1px solid var(--line); padding-left:1.2rem}
  .cats{grid-template-columns:1fr}
  .vgrid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}
  .topbar .t-right .hide-sm{display:none}
}

/* ===== AJUSTES WORDPRESS ===== */
.admin-bar header.nav{top:32px}
@media screen and (max-width:782px){.admin-bar header.nav{top:46px}}
@media screen and (max-width:600px){.admin-bar header.nav{top:0}}
.logo-img{display:block; max-height:52px; width:auto}
.ft .logo-mark{background:#fff; border-radius:10px; padding:4px}
.topbar, .band, footer.ft{color-scheme:dark}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.form-msg{margin-top:.9rem; padding:.8rem 1rem; border-radius:10px; font-size:.92rem; display:none}
.form-msg.ok{display:block; background:#E8F5EC; border:1px solid #9BD3AE; color:#1B5E33}
.form-msg.err{display:block; background:var(--brand-wash); border:1px solid var(--brand); color:var(--brand-ink)}
:root[data-theme="dark"] .form-msg.ok, :root:not([data-theme="light"]) .form-msg.ok{background:#12281A; border-color:#2F6B44; color:#8FDCA8}
.btn[disabled]{opacity:.6; cursor:progress}
