/* ===== CalculaFácil — hoja de estilos (versión profesional) ===== */
:root{
  --bg:#f6f7fb;
  --surface:#ffffff;
  --surface-2:#fbfbfe;
  --text:#151a2c;
  --text-muted:#5b6178;
  --border:#e6e8f0;
  --primary:#3454f4;
  --primary-dark:#2540c4;
  --primary-soft:#eaefff;
  --accent:#0d9d75;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(20,25,50,.04), 0 8px 24px rgba(20,25,50,.06);
  --shadow-hover:0 4px 10px rgba(20,25,50,.06), 0 16px 32px rgba(20,25,50,.10);
  --max-width:1100px;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size:16px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0d0f18;
    --surface:#161926;
    --surface-2:#131622;
    --text:#eef0f8;
    --text-muted:#9aa0b8;
    --border:#262a3c;
    --primary:#5b7dff;
    --primary-dark:#7c98ff;
    --primary-soft:#1c2340;
    --accent:#22c99a;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
    --shadow-hover:0 4px 10px rgba(0,0,0,.3), 0 16px 32px rgba(0,0,0,.4);
  }
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px;}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{line-height:1.22;margin:0 0 .5em;letter-spacing:-0.01em;font-weight:700;}
h1{font-size:2rem;}
h2{font-size:1.3rem;margin-top:1.7em;}
p{color:var(--text-muted);}
code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:.9em;}

/* Header */
.site-header{background:color-mix(in srgb, var(--surface) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--text);}
.logo:hover{text-decoration:none;}
.logomark{color:var(--primary);display:inline-flex;}
.logomark.small svg{width:22px;height:22px;}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:8px;font-size:1.2rem;padding:6px 10px;color:var(--text);cursor:pointer;}
.site-nav > ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;align-items:center;}
.site-nav a{color:var(--text);font-weight:500;font-size:.94rem;}
.site-nav a:hover, .site-nav a.active{color:var(--primary);text-decoration:none;}
.has-dropdown{position:relative;}
.dropdown-trigger{background:none;border:none;padding:0;margin:0;color:var(--text);font-weight:500;font-size:.94rem;font-family:var(--font);cursor:pointer;}
.dropdown-trigger:hover{color:var(--primary);}
.dropdown{display:none;position:absolute;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-hover);padding:8px;min-width:280px;list-style:none;margin:10px 0 0;flex-direction:column;gap:1px;}
.has-dropdown:hover .dropdown, .has-dropdown.open .dropdown{display:flex;}
.dropdown a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;white-space:nowrap;font-size:.92rem;}
.dropdown a:hover{background:var(--surface-2);text-decoration:none;}
.dd-icon{display:inline-flex;color:var(--primary);flex-shrink:0;}
.dd-icon svg{display:block;}

@media (max-width:820px){
  .nav-toggle{display:inline-block;}
  .site-nav{display:none;width:100%;}
  .site-nav.open{display:block;}
  .header-inner{flex-wrap:wrap;}
  .site-nav > ul{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 0;}
  .dropdown{position:static;box-shadow:none;border:none;padding:0 0 0 6px;margin-top:6px;min-width:0;}
}

/* Ad slots */
.ad-slot{
  max-width:var(--max-width);
  margin:22px auto;
  padding:14px;
  border:1px dashed var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);
  font-size:.78rem;
  min-height:60px;
}
.ad-rect{max-width:336px;min-height:280px;}
.ad-slot-label{opacity:.55;}

/* Main */
.page-main{padding:32px 24px 70px;}
.hero{text-align:center;padding:52px 0 12px;}
.hero h1{font-size:2.4rem;max-width:680px;margin:0 auto .45em;}
.hero p.tagline{font-size:1.08rem;max-width:580px;margin:0 auto;}
.trust-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px;}
.trust-bar span{
  font-size:.82rem;font-weight:600;color:var(--text-muted);
  background:var(--surface);border:1px solid var(--border);
  border-radius:999px;padding:7px 16px;
  display:inline-flex;align-items:center;gap:6px;
}
.trust-bar span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;}

/* Icon badges */
.icon-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:12px;
  background:var(--primary-soft);color:var(--primary);
  flex-shrink:0;
}
.page-title{display:flex;align-items:center;gap:14px;margin-bottom:2px;}
.page-title h1{margin:0;font-size:1.6rem;}
.page-title .icon-badge{width:42px;height:42px;border-radius:11px;}

/* Tool grid */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:36px;}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--primary) 30%, var(--border));text-decoration:none;}
.tool-card h3{margin:14px 0 4px;color:var(--text);font-size:1.05rem;font-weight:650;}
.tool-card p{margin:0;font-size:.87rem;}

/* Calculator card */
.calc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;max-width:640px;margin:22px auto;}
.field{margin-bottom:16px;}
.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:var(--text);}
.field input, .field select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;background:var(--surface-2);color:var(--text);font-family:var(--font);transition:border-color .15s ease;}
.field input:focus, .field select:focus{outline:none;border-color:var(--primary);}
.field-row{display:flex;gap:12px;flex-wrap:wrap;}
.field-row .field{flex:1;min-width:120px;}
.btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:13px 20px;font-size:.98rem;font-weight:650;cursor:pointer;width:100%;font-family:var(--font);transition:background .15s ease, transform .1s ease;}
.btn:hover{background:var(--primary-dark);}
.btn:active{transform:scale(.99);}
.btn.secondary{background:transparent;color:var(--primary);border:1.5px solid var(--primary);margin-top:8px;}
.btn.secondary:hover{background:var(--primary-soft);}
.result-box{margin-top:22px;padding:20px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:none;}
.result-box.show{display:block;animation:fadein .2s ease;}
@keyframes fadein{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.result-box .big{font-size:1.9rem;font-weight:800;color:var(--primary);letter-spacing:-0.02em;}
.result-box .tag{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:.78rem;font-weight:650;}
.checkbox-row{display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.checkbox-row input{width:auto;accent-color:var(--primary);}
.checkbox-row label{font-size:.92rem;color:var(--text);font-weight:500;}
.password-output{font-family:'SF Mono',Consolas,Monaco,monospace;font-size:1.05rem;width:100%;padding:12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--text);letter-spacing:.02em;}

/* Info / content blocks */
.info-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;max-width:640px;margin:0 auto 22px;}
.faq dt{font-weight:650;margin-top:14px;color:var(--text);}
.faq dd{margin:4px 0 0;color:var(--text-muted);}

/* Static pages */
.static-page{max-width:720px;margin:0 auto;}
.static-page h1{margin-bottom:.3em;}
.static-page ul{color:var(--text-muted);}
.breadcrumb{font-size:.83rem;color:var(--text-muted);margin-bottom:16px;}

/* Footer */
.site-footer{background:var(--surface);border-top:1px solid var(--border);margin-top:50px;padding-top:32px;}
.footer-inner{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;padding-bottom:20px;}
.footer-brand{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--text);font-size:.98rem;}
.footer-links{display:flex;gap:20px;}
.footer-links a{font-size:.88rem;color:var(--text-muted);font-weight:500;}
.footer-links a:hover{color:var(--primary);}
.copyright{border-top:1px solid var(--border);padding:16px 0;font-size:.8rem;text-align:center;color:var(--text-muted);}

@media (max-width:600px){
  .hero{padding:36px 0 8px;}
  .hero h1{font-size:1.7rem;}
  h1{font-size:1.5rem;}
  .calc-card, .info-block{padding:19px;}
  .page-title h1{font-size:1.3rem;}
}
