/*
Theme Name: CalculadoraOne
Theme URI: https://calculadoraone.com/
Author: Equipo CalculadoraOne
Author URI: https://calculadoraone.com/
Description: Tema profesional para WordPress de CalculadoraOne — un directorio de calculadoras online (financieras, salud, matemáticas, fechas y conversión) con una calculadora científica integrada. Optimizado para SEO clásico y para motores de búsqueda con IA (GEO): datos estructurados Schema.org completos (WebSite, Organization, WebApplication, ItemList, FAQPage), metaetiquetas Open Graph/Twitter Cards, velocidad de carga optimizada, HTML semántico y accesible (WCAG), y totalmente responsivo.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: calculadoraone
Tags: custom-menu, featured-images, footer-widgets, full-width-template, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/* ============================================================
   0. RESET / VARIABLES
============================================================ */
:root{
  --ink:#132018;
  --ink-soft:#4b5f52;
  --paper:#f1f2e9;
  --paper-panel:#e7ead9;
  --line:#ccd2ba;
  --brass:#b07d3f;
  --brass-dark:#8c5f2a;
  --deep:#0e1c16;
  --deep-panel:#152a20;
  --lcd-bg:#c9d6bd;
  --lcd-fg:#12251a;
  --good:#5c7a52;
  --radius:8px;
  --serif:"Zilla Slab","IBM Plex Serif",Georgia,serif;
  --sans:"IBM Plex Sans",Arial,sans-serif;
  --mono:"IBM Plex Mono","Space Mono",monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);line-height:1.6;
}
a{color:var(--brass-dark);}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
img,svg{display:block;max-width:100%;height:auto;}
h1,h2,h3{font-family:var(--serif);}

/* WordPress core / accessibility helpers */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.screen-reader-text:focus{
  background:#fff;border-radius:4px;box-shadow:0 0 2px 2px rgba(0,0,0,.4);
  clip:auto!important;color:#132018;display:block;height:auto;left:6px;top:6px;
  padding:12px 18px;width:auto;z-index:100000;text-decoration:none;
}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.alignwide{max-width:1120px;margin-left:auto;margin-right:auto;}
.alignfull{max-width:none;width:100%;}
.aligncenter{margin-left:auto;margin-right:auto;display:block;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation-duration:.01ms!important;transition-duration:.01ms!important;} }

/* ---------- HEADER ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(241,242,233,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px;}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:700;font-size:1.25rem;white-space:nowrap;text-decoration:none;color:var(--ink);}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 3px rgba(176,125,63,.22);flex:none;}
.brand img.custom-logo{max-height:36px;width:auto;}
nav.primary{display:none;gap:22px;font-size:.92rem;font-weight:600;}
nav.primary ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;}
nav.primary a{color:var(--ink);text-decoration:none;}
nav.primary a:hover,nav.primary a:focus{color:var(--brass-dark);}
@media (min-width:860px){ nav.primary{display:flex;} }
.nav-cta{
  font-family:var(--mono);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  background:var(--ink);color:#fff;padding:9px 14px;border-radius:5px;text-decoration:none;white-space:nowrap;
}
.nav-cta:hover{background:var(--brass-dark);color:#fff;}
.menu-toggle{
  display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);
  border-radius:6px;padding:8px 10px;cursor:pointer;
}
@media (min-width:860px){ .menu-toggle{display:none;} }
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:10px 0 16px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:10px 4px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
@media (min-width:860px){ .mobile-menu{display:none!important;} }

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(1200px 500px at 15% -10%, #1c3527 0%, transparent 60%),
    var(--deep);
  color:#eef2ea;
  padding:52px 0 60px;
}
.hero-grid{display:grid;gap:36px;grid-template-columns:1fr;align-items:center;}
@media (min-width:940px){ .hero-grid{grid-template-columns:1fr 1.05fr;} }
.eyebrow{
  font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;
  color:#d6a86a;margin-bottom:14px;display:flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:#d6a86a;}
.hero h1{
  font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.12;margin:0 0 16px;color:#fff;
}
.hero h1 em{font-style:normal;color:#e3b476;}
.hero p.lede{color:#c4cdc2;font-size:1.05rem;max-width:52ch;margin:0 0 24px;}
.hero-stats{display:flex;gap:26px;flex-wrap:wrap;margin-top:10px;}
.stat b{display:block;font-family:var(--serif);font-size:1.5rem;color:#fff;}
.stat span{font-size:.78rem;color:#9fae9a;text-transform:uppercase;letter-spacing:.05em;}

/* ---------- CALCULADORA PROFESIONAL (elemento firma) ---------- */
.device{
  background:var(--deep-panel);
  border:1px solid #274737;
  border-radius:16px;
  box-shadow:0 20px 44px rgba(0,0,0,.35);
  padding:20px;
}
.device-head{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;
  color:#8fa48c;margin-bottom:12px;
}
.mode-toggle{display:flex;border:1px solid #33543f;border-radius:6px;overflow:hidden;}
.mode-toggle button{
  background:transparent;border:none;color:#8fa48c;font-family:var(--mono);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;cursor:pointer;
}
.mode-toggle button.active{background:var(--brass);color:#1a1002;font-weight:700;}

.screen{
  background:var(--lcd-bg);border:1px solid #8fa27f;border-radius:8px;
  padding:14px 16px;margin-bottom:14px;
}
.screen-history{
  font-family:var(--mono);font-size:.75rem;color:#3d5643;min-height:1.1em;
  text-align:right;opacity:.75;overflow-x:auto;white-space:nowrap;
}
.screen-main{
  font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--lcd-fg);
  text-align:right;word-break:break-all;min-height:1.3em;
}
.mem-flag{font-family:var(--mono);font-size:.68rem;color:var(--good);height:1em;}

.calc-pad{display:grid;gap:8px;}
.calc-pad .row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.calc-pad.sci .row{grid-template-columns:repeat(5,1fr);}
.calc-pad button{
  font-family:var(--mono);font-size:.95rem;font-weight:600;
  padding:12px 4px;border-radius:6px;border:1px solid #2c4c39;
  background:#1b3527;color:#e9efe6;cursor:pointer;
}
.calc-pad button:hover{background:#234534;}
.calc-pad button:active{transform:translateY(1px);}
.calc-pad button.op{background:#2c4c39;color:#e3b476;}
.calc-pad button.eq{background:var(--brass);color:#1a1002;border-color:var(--brass);}
.calc-pad button.eq:hover{background:var(--brass-dark);}
.calc-pad button.fn{color:#9fbf9a;font-size:.8rem;}
.calc-pad button.wide{grid-column:span 2;}
.sci-toggle-row{display:none;}
.calc-pad.sci .sci-toggle-row{display:grid;}

/* ---------- MAIN CONTENT SECTIONS ---------- */
main{padding:56px 0 60px;}
section.block{margin-bottom:64px;}
h2{font-size:1.7rem;margin:0 0 8px;padding-bottom:12px;border-bottom:2px solid var(--ink);}
.section-sub{color:var(--ink-soft);max-width:60ch;margin:0 0 26px;}

.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.pill{
  font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;
  padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;
  cursor:pointer;color:var(--ink-soft);
}
.pill.active{background:var(--ink);color:#fff;border-color:var(--ink);}

.cat-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.cat-card{
  display:flex;gap:14px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;text-decoration:none;color:var(--ink);
  transition:box-shadow .15s ease, transform .15s ease;
}
.cat-card:hover{box-shadow:0 8px 18px rgba(19,32,24,.1);transform:translateY(-2px);}
.badge{
  flex:none;width:44px;height:44px;border-radius:8px;background:var(--paper-panel);
  color:var(--brass-dark);font-family:var(--mono);font-weight:700;font-size:.72rem;
  display:flex;align-items:center;justify-content:center;border:1px solid var(--line);
}
.cat-card h3{margin:0 0 4px;font-size:1rem;font-family:var(--sans);font-weight:700;}
.cat-card p{margin:0;font-size:.85rem;color:var(--ink-soft);}
.cat-card .go{font-size:.75rem;color:var(--brass-dark);font-weight:700;margin-top:6px;display:inline-block;}

/* ---------- MINI CALCULADORAS INLINE (shortcodes) ---------- */
.tool{
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:22px;display:grid;gap:20px;grid-template-columns:1fr;
}
@media (min-width:760px){ .tool{grid-template-columns:1fr 1fr;} }
.tool .field{margin-bottom:12px;}
.tool label{display:block;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px;}
.tool input, .tool select{
  width:100%;padding:10px 12px;font-family:var(--mono);font-size:1rem;
  border:1px solid #9aa48a;border-radius:5px;background:#fbfbf6;color:var(--ink);
}
.tool .btn{
  font-family:var(--sans);font-weight:700;font-size:.92rem;padding:11px 18px;
  background:var(--brass);color:#fff;border:none;border-radius:5px;cursor:pointer;
  box-shadow:0 3px 0 var(--brass-dark);
}
.tool .btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--brass-dark);}
.tool .out{
  background:var(--paper-panel);border-radius:8px;padding:16px 18px;
  font-family:var(--mono);align-self:start;
}
.tool .out .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line);}
.tool .out .row:last-child{border-bottom:none;}
.tool .out .row b{color:var(--brass-dark);}

.answer-box{
  background:var(--paper-panel);border-left:4px solid var(--brass);
  padding:14px 16px;border-radius:0 6px 6px 0;margin:0 0 20px;font-size:.95rem;
}

details.faq{border-bottom:1px solid var(--line);padding:12px 0;}
details.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary:after{content:"+";font-size:1.3rem;color:var(--brass-dark);}
details.faq[open] summary:after{content:"–";}
details.faq p{color:var(--ink-soft);margin:8px 0 0;}

/* ---------- BREADCRUMBS ---------- */
.co-breadcrumbs{font-size:.8rem;color:var(--ink-soft);margin:18px 0;font-family:var(--mono);}
.co-breadcrumbs a{color:var(--ink-soft);text-decoration:none;}
.co-breadcrumbs a:hover{color:var(--brass-dark);}

/* ---------- PAGINATION ---------- */
.co-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px;}
.co-pagination a,.co-pagination span{
  padding:8px 12px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);font-family:var(--mono);font-size:.85rem;
}
.co-pagination span.current{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- FOOTER ---------- */
footer.site{background:var(--deep);color:#c4cdc2;padding:44px 0 26px;margin-top:20px;}
.foot-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:30px;}
.foot-grid h4,.footer-widget h4,.footer-widget .widgettitle,.footer-widget .widget-title{color:#fff;font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;}
.foot-grid a,.footer-widget a{display:block;color:#a9b7a4;text-decoration:none;font-size:.88rem;margin-bottom:8px;}
.foot-grid a:hover,.footer-widget a:hover{color:#e3b476;}
.footer-widget ul{list-style:none;margin:0;padding:0;}
.foot-bottom{border-top:1px solid #23392d;padding-top:18px;font-size:.78rem;color:#7f9179;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;}
.foot-bottom a{color:#a9b7a4;}

/* ---------- COMMENTS (por si se activan en páginas de herramientas) ---------- */
.comments-area{margin-top:40px;}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .comment{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:12px;background:#fff;}
