/* ═══════════════════════════════════════════════════
   tc.css — Technicaf Shared Styles
   Compartido por: landing, blog home, blog posts
   ═══════════════════════════════════════════════════ */

/* ── Tokens ── */
.rp{color:var(--red) !important;}
:root{
  --bg:#FBFAF2;--nav-bg:rgba(251,250,242,0.93);
  --ink:#1A1A18;--ink-dim:#6B6A62;--ink-faint:#AEADA6;
  --red:#e41c23;--red-dark:#c5161c;--warm:#d97757;
  --divider:rgba(26,24,24,0.10);
  --ff-head:'Lora',Georgia,serif;--ff-body:'DM Sans',system-ui,sans-serif;
  --max:1120px;--side:clamp(1.25rem,5vw,3rem);
}
[data-theme="dark"]{
  --bg:#262624;--nav-bg:rgba(38,38,36,0.94);
  --ink:#F0EFE6;--ink-dim:#B0AFA6;--ink-faint:#706F68;
  --divider:rgba(240,239,230,0.09);
}

/* ── Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);font-family:var(--ff-body);min-height:100vh;transition:background .25s,color .25s;display:flex;flex-direction:column;}

/* ── Nav ── */
nav{position:sticky;top:0;z-index:200;background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--divider);}
.nav-inner{max-width:var(--max);margin-inline:auto;padding-inline:var(--side);height:64px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;}
.nav-wordmark{font-family:var(--ff-head);font-size:1.05rem;font-weight:600;color:var(--ink);}
.nav-wordmark .brand-f,.nav-blog .brand-f{color:var(--red);}
.nav-sep{font-family:var(--ff-head);font-size:1.05rem;font-weight:600;color:var(--red);margin:0 .35rem;}
.nav-blog{font-family:var(--ff-head);font-size:1.05rem;font-weight:600;color:var(--ink);text-decoration:none;}
.nav-right{position:relative;display:flex;align-items:center;}


/* ── Content wrapper ── */
.cw{width:100%;max-width:1080px;margin-inline:auto;padding-inline:var(--side);}

/* ── Footer ── */
footer{padding-block:2.5rem;position:relative;z-index:1;}
.footer-inner{max-width:var(--max);margin-inline:auto;padding-inline:var(--side);display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;gap:1rem;}
.footer-brand{font-family:var(--ff-head);font-size:.9rem;font-weight:600;}
.footer-brand .brand-f{color:var(--red);}
.footer-slogan{font-size:.75rem;color:var(--ink-faint);font-style:italic;margin-top:.2rem;}
.footer-copy{font-size:.72rem;color:var(--ink-faint);}
.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0;}
.footer-link{font-size:.72rem;color:var(--ink-faint);text-decoration:none;transition:color .15s;}
.footer-link:hover{color:var(--red);}
@media(max-width:480px){.footer-inner{flex-direction:column;gap:1.25rem;}.footer-links{align-items:flex-start;}}

/* ── Lang helpers ── */
.lang-en,.lang-es{display:none;}
[data-lang="en"] .lang-en{display:revert;}
[data-lang="es"] .lang-es{display:revert;}

/* ── Cookie banner ── */
#cookie-banner{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%) translateY(calc(100% + 2rem));z-index:900;width:calc(100% - 2rem);max-width:820px;background:var(--bg);border:1.5px solid var(--red);border-radius:12px;box-shadow:0 6px 32px rgba(26,26,24,0.14);transition:transform .45s cubic-bezier(0.16,1,0.3,1),background-color .3s ease;}
#cookie-banner.visible{transform:translateX(-50%) translateY(0);}
.cookie-inner{padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.cookie-text{font-family:var(--ff-body);font-size:.82rem;color:var(--ink-dim);flex:1;min-width:200px;transition:color .3s ease;}
.cookie-text a{color:var(--red);text-decoration:underline;}
.cookie-accept{background:var(--red);color:#fff;font-family:var(--ff-body);font-size:.82rem;font-weight:600;border:none;border-radius:8px;padding:.45rem 1.1rem;cursor:pointer;white-space:nowrap;transition:background .15s;}
.cookie-accept:hover{background:var(--red-dark);}
#cookie-dot{position:fixed;bottom:1.25rem;right:1.25rem;z-index:901;width:14px;height:14px;border-radius:50%;background:var(--red);border:none;padding:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s;}
#cookie-dot.visible{opacity:1;pointer-events:auto;}
#cookie-dot.hiding{opacity:0;pointer-events:none;}

/* ── Cookie modal ── */
#cookie-modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(26,26,24,.55);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:1rem;}
#cookie-modal.open{display:flex;}
.cookie-modal-box{background:var(--bg);border-radius:18px;padding:2rem 2rem 1.75rem;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 24px 64px rgba(26,26,24,.22);}
.cookie-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.3rem;color:var(--ink-faint);cursor:pointer;line-height:1;padding:.2rem .4rem;border-radius:6px;}
.cookie-modal-close:hover{color:var(--ink);}
.cookie-modal-box h2{font-family:var(--ff-head);font-size:1.15rem;font-weight:700;margin-bottom:1rem;color:var(--ink);}
.cookie-modal-box h3{font-family:var(--ff-head);font-size:.92rem;font-weight:600;margin:1rem 0 .3rem;color:var(--ink);}
.cookie-modal-box p{font-size:.83rem;color:var(--ink-dim);line-height:1.6;}
.cookie-modal-footer{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--divider);}
.cookie-modal-footer button{background:var(--red);color:#fff;font-family:var(--ff-body);font-size:.85rem;font-weight:600;border:none;border-radius:8px;padding:.5rem 1.4rem;cursor:pointer;}
