/* CalculaValorHoy — site-wide design (v1.0.3).
   Replicates the UF demo page ("UF Converter Demo Page"): light theme,
   navy header/footer, green accent. Loaded on ALL pages via wp_enqueue_scripts.
   This file owns THEME-level styling only. It NEVER restyles the plugin's
   .cvh-* tool-box classes (cvh-tools.css owns those); the .cvh-card /
   .cvh-notice / .cvh-crosslink classes below are for page content blocks,
   and .cvh-chip is intentionally NOT redefined here (tool preset chips keep
   their cvh-tools.css styling). */

/* ---------- Tokens ---------- */
:root{
  --cvh-bg:#F4F7F9; --cvh-surface:#FFFFFF; --cvh-surface2:#EDF3F6;
  --cvh-ink:#15242F; --cvh-muted:#5B6E7A; --cvh-line:#D9E2E8;
  --cvh-navy:#0E3A5D; --cvh-accent:#0B7A55; --cvh-accent-soft:#E2F2EB;
  --cvh-warn-bg:#FFF6E0; --cvh-warn-line:#EBD28A; --cvh-warn-ink:#6B5310;
  --cvh-chip:#E8EFF4; --cvh-pos:#0B7A55; --cvh-neg:#B3402E;
  --cvh-shadow:0 1px 2px rgba(14,42,66,.06),0 8px 24px rgba(14,42,66,.07);
  --cvh-radius:14px;
}

/* ---------- Base ---------- */
body{ background:var(--cvh-bg); color:var(--cvh-ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
.num, .entry-content table td, .entry-content table th{ font-variant-numeric:tabular-nums lining-nums; }
.entry-content a{ color:var(--cvh-navy); }
.entry-content a:hover{ color:var(--cvh-accent); }
.entry-content h1{ font-size:clamp(27px,4.6vw,40px); line-height:1.12; letter-spacing:-.02em; font-weight:800; margin:10px 0 8px; }
.entry-content h2{ font-size:clamp(21px,3.4vw,27px); letter-spacing:-.015em; font-weight:800; margin:0 0 6px; }
.entry-content h3{ font-size:18px; font-weight:800; }

/* ---------- HARD RULE 1: FULL-WIDTH, NO SIDEBAR (every page/post) ---------- */
/* GeneratePress sidebar is <aside id="secondary" class="widget-area sidebar">.
   Footer widget areas are <div>s, never <aside>, so this cannot hide them. */
#secondary, .sidebar, aside.widget-area, .gen-sidebar-nav{ display:none !important; }
.site-content{ display:block !important; }
.site-content .content-area, #primary.content-area{ width:100% !important; max-width:100% !important; float:none !important; margin:0 auto; }

/* ---------- HARD RULE 2: NO BLOG WIDGETS ANYWHERE ---------- */
/* Core WP widgets + block equivalents, in EVERY widget area (sidebar, footer, anywhere). */
.widget_recent_entries, .widget_search, .widget_recent_comments,
.widget_archive, .widget_categories, .widget_meta,
.wp-block-latest-posts, .wp-block-search, .wp-block-latest-comments,
.wp-block-archives, .wp-block-categories,
/* GeneratePress header search + search menu items */
.navigation-search, .menu-item-search, .search-item,
.site-header .search-form, .site-header .search-item a{ display:none !important; }

/* ---------- Header + logo ---------- */
.site-header{ background:var(--cvh-navy); }
.site-header .main-title a, .site-header .site-logo a{ color:#fff; font-weight:800; font-size:19px; letter-spacing:-.02em; text-decoration:none; }
.logo-hoy, .cvh-logo-hoy{ color:#7ED3AE; }
.main-navigation{ background:transparent; }
.main-navigation a, .main-navigation .main-nav ul li a{ color:#D7E6F2; font-size:14px; font-weight:600; padding:6px 10px; border-radius:8px; }
.main-navigation a:hover, .main-navigation .main-nav ul li a:hover{ background:rgba(255,255,255,.12); color:#fff; }
.main-navigation .current-menu-item > a, .main-navigation .current_page_item > a,
.main-navigation .main-nav ul li.current-menu-item > a{ background:rgba(255,255,255,.16); color:#fff; }
.main-navigation ul ul{ background:#fff; border:1px solid var(--cvh-line); border-radius:12px; box-shadow:var(--cvh-shadow); padding:8px 0; }
.main-navigation ul ul a{ color:var(--cvh-ink); padding:10px 16px; }
.main-navigation ul ul a:hover{ background:var(--cvh-surface2); color:var(--cvh-ink); }

/* ---------- Content cards / notice / cross-link (page blocks, not tool boxes) ---------- */
.cvh-card, .entry-content .wp-block-group.cvh-card{ background:var(--cvh-surface); border:1px solid var(--cvh-line); border-radius:var(--cvh-radius); box-shadow:var(--cvh-shadow); padding:20px 22px; }
.cvh-card h3{ margin:0 0 8px; }
.cvh-card p{ margin:0 0 10px; }
.cvh-card p:last-child{ margin-bottom:0; }

/* ---------- Tables (content tables) ---------- */
.entry-content table{ border-collapse:collapse; width:100%; font-size:15px; }
.entry-content table th, .entry-content table td{ padding:9px 20px; text-align:right; }
.entry-content table th:first-child, .entry-content table td:first-child{ text-align:left; }
.entry-content table thead th{ font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--cvh-muted); border-bottom:2px solid var(--cvh-line); font-weight:700; }
.entry-content table tbody tr{ border-bottom:1px solid var(--cvh-line); }
.entry-content table tbody tr:last-child{ border-bottom:none; }

/* ---------- Warning / disclaimer + cross-link ---------- */
.cvh-notice, .entry-content .wp-block-group.cvh-notice{ background:var(--cvh-warn-bg); border:1px solid var(--cvh-warn-line); color:var(--cvh-warn-ink); border-radius:12px; padding:14px 18px; font-size:14.5px; }
.cvh-crosslink, .entry-content .wp-block-group.cvh-crosslink{ background:var(--cvh-accent-soft); border-radius:12px; padding:14px 18px; }
.cvh-crosslink a{ color:var(--cvh-navy); font-weight:700; }

/* ---------- FAQ — native Details blocks ---------- */
.entry-content details{ border:1px solid var(--cvh-line); border-radius:12px; background:var(--cvh-surface); margin-bottom:10px; overflow:hidden; }
.entry-content details summary{ font-size:16px; font-weight:700; color:var(--cvh-ink); padding:16px 20px; cursor:pointer; list-style:none; }
.entry-content details summary::-webkit-details-marker{ display:none; }
.entry-content details > *:not(summary){ padding:0 20px 16px; color:var(--cvh-muted); font-size:15.5px; }

/* ---------- Buttons ---------- */
.wp-block-button__link, .button{ font-size:14px; font-weight:700; border-radius:9px; padding:10px 16px; min-height:44px; background:var(--cvh-navy); color:#fff; border:1px solid transparent; }
.wp-block-button__link:hover, .button:hover{ background:#123E63; color:#fff; }
.wp-block-button.is-style-outline .wp-block-button__link{ background:transparent; color:#fff; border-color:rgba(255,255,255,.45); }
.wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color:#fff; }

/* ---------- Homepage ---------- */
.cvh-inner{ max-width:1060px; margin:0 auto; padding:0 18px; }
.cvh-hero{ background:var(--cvh-navy); color:#fff; padding:48px 0; text-align:center;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.cvh-hero h1{ color:#fff; }
.cvh-hero .cvh-lede{ color:#D7E6F2; font-size:17px; max-width:46em; margin:0 auto 18px; }
.cvh-hero .cvh-lede strong{ color:#fff; }
.cvh-eyebrow{ font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#B9D2E4; margin:22px 0 10px; }
.cvh-hero .wp-block-buttons{ justify-content:center; }
/* Hero buttons: white primary + ghost */
.cvh-btn-white .wp-block-button__link{ background:#fff; color:var(--cvh-navy); border:1px solid #fff; }
.cvh-btn-white .wp-block-button__link:hover{ background:#E8EFF4; color:var(--cvh-navy); border-color:#fff; }
.cvh-btn-ghost .wp-block-button__link{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.45); }
.cvh-btn-ghost .wp-block-button__link:hover{ background:transparent; color:#fff; border-color:#fff; }
/* Hero chips (scoped: must NOT touch .cvh-chip tool preset chips) */
.cvh-hero .cvh-chip, .cvh-chip-on-navy{ display:inline-block; font-size:13.5px; font-weight:700; background:rgba(255,255,255,.12); color:#fff; border:1px solid transparent; border-radius:999px; padding:7px 13px; min-height:36px; text-decoration:none; }
.cvh-hero .cvh-chip:hover, .cvh-chip-on-navy:hover{ background:rgba(255,255,255,.22); color:#fff; border-color:transparent; }
.cvh-section, .cvh-section-alt, .cvh-section-white{ padding:34px 0; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.cvh-section-alt{ background:var(--cvh-surface2); }
.cvh-section-white{ background:var(--cvh-surface); }
.cvh-section .cvh-intro, .cvh-intro{ color:var(--cvh-muted); max-width:46em; }
.cvh-step-num{ font-size:20px; font-weight:800; color:var(--cvh-accent); margin:0 0 6px; }
.cvh-cta{ background:var(--cvh-navy); color:#fff; padding:34px 0; text-align:center;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.cvh-cta h2{ color:#fff; }
.cvh-cta .wp-block-buttons{ justify-content:center; }
.cvh-cta a:not(.wp-block-button__link){ color:#D7E6F2; }
.cvh-cta a:not(.wp-block-button__link):hover{ color:#fff; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--cvh-navy); color:#FFFFFF; font-size:15px; line-height:1.65; }
.site-footer a{ color:#FFFFFF; text-decoration:none; }
.site-footer a:hover{ color:#7ED3AE; text-decoration:underline; }
.site-footer .widget-title, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer .widgettitle{ color:#FFFFFF; font-size:15px; font-weight:800; letter-spacing:.02em; margin-bottom:10px; }
.site-info{ color:#FFFFFF; font-size:13px; border-top:1px solid rgba(255,255,255,.15); padding-top:14px; }

/* ---------- Mobile ---------- */
@media (max-width:760px){
  .entry-content table{ font-size:13px; }
  .entry-content table th, .entry-content table td{ padding:7px 8px; }
  .cvh-hero, .cvh-cta{ padding:34px 18px; }
}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
