@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{--color-primary:#1a4a8a;--color-secondary:#0d6efd;--color-accent:#f0a500;--color-bg:#f5f7fa;--color-surface:#ffffff;--color-text:#1a1a2e;--color-text-muted:#555577;--color-border:#dde1ea;--color-error:#dc3545;--font-main:'Inter',system-ui,sans-serif;--radius:6px;--shadow:0 2px 8px rgba(0,0,0,0.08);--shadow-md:0 4px 16px rgba(0,0,0,0.12)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-main);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.6}
a{color:var(--color-secondary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
ul{list-style:none}
.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:8px 16px;z-index:9999;border-radius:0 0 var(--radius) 0}
.skip-link:focus{top:0}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.site-header{background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.header-top{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:12px 20px;gap:20px}
.site-logo{display:flex;flex-direction:column;text-decoration:none;color:#fff;flex-shrink:0}
.site-logo:hover{text-decoration:none}
.logo-name{font-size:1.5rem;font-weight:700;letter-spacing:-0.5px;line-height:1}
.logo-tagline{font-size:0.7rem;opacity:0.8;font-weight:400}
.header-search{flex:1;max-width:520px;position:relative}
.header-search input{width:100%;padding:10px 16px 10px 42px;border:none;border-radius:var(--radius);font-size:0.95rem;font-family:var(--font-main);background:rgba(255,255,255,0.15);color:#fff;transition:background 0.2s}
.header-search input::placeholder{color:rgba(255,255,255,0.7)}
.header-search input:focus{background:rgba(255,255,255,0.25);outline:2px solid var(--color-accent)}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:rgba(255,255,255,0.7);pointer-events:none;display: none;}
.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:200;display:none;max-height:360px;overflow-y:auto}
.search-dropdown.active{display:block}
.search-result-item{display:block;padding:10px 16px;color:var(--color-text);border-bottom:1px solid var(--color-border);font-size:0.9rem;transition:background 0.15s}
.search-result-item:hover,.search-result-item:focus{background:var(--color-bg);text-decoration:none}
.result-category{font-size:0.75rem;color:var(--color-text-muted);margin-left:8px}
.search-no-results{padding:16px;color:var(--color-text-muted);font-size:0.9rem;text-align:center}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:0.3s}
.site-nav{background:rgba(0,0,0,0.15);border-top:1px solid rgba(255,255,255,0.1)}
.nav-list{display:flex;max-width:1280px;margin:0 auto;padding:0 20px;flex-wrap:wrap}
.nav-item{position:relative}
.nav-link{display:block;padding:10px 14px;color:rgba(255,255,255,0.9);font-size:0.875rem;font-weight:500;transition:color 0.2s;white-space:nowrap}
.nav-link:hover{color:#fff;text-decoration:none}
.nav-link.has-dropdown::after{content:" v";font-size:0.65rem;opacity:0.7}
.dropdown-menu{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);display:none;z-index:150}
.nav-item:hover .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:9px 16px;font-size:0.875rem;color:var(--color-text);border-bottom:1px solid var(--color-border)}
.dropdown-menu a:hover{background:var(--color-bg);text-decoration:none}
.dropdown-menu a:last-child{border-bottom:none}
.ad-unit{background:#f0f0f0;border:1px dashed #ccc;display:flex;align-items:center;justify-content:center;color:#999;font-size:0.75rem;text-align:center;margin:0 auto}
.ad-leaderboard{width:728px;height:90px;max-width:100%}
.ad-rectangle{width:300px;height:250px;max-width:100%}
.ad-large-rect{width:336px;height:280px;max-width:100%}
.ad-wrap{text-align:center;padding:12px 0;background:var(--color-surface)}
.hero{background:linear-gradient(135deg,var(--color-primary) 0%,#0d3b7a 50%,#1a5ca8 100%);color:#fff;padding:60px 20px;text-align:center}
.hero h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;max-width:700px;margin:0 auto 16px;line-height:1.2}
.hero-sub{font-size:1.1rem;opacity:0.9;max-width:600px;margin:0 auto 28px}
.hero-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 24px;border-radius:var(--radius);font-weight:600;font-size:0.95rem;cursor:pointer;border:none;font-family:var(--font-main);transition:filter 0.2s,transform 0.1s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--color-accent);color:#1a1a2e}
.btn-primary:hover{filter:brightness(1.08);text-decoration:none}
.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.6)}
.btn-secondary:hover{background:rgba(255,255,255,0.1);text-decoration:none}
.btn-calc{background:var(--color-primary);color:#fff;padding:10px 28px;font-size:1rem}
.btn-calc:hover{filter:brightness(1.1);text-decoration:none}
.btn-reset{background:#6c757d;color:#fff;padding:10px 20px}
.btn-reset:hover{filter:brightness(1.1);text-decoration:none}
.stats-bar{background:rgba(0,0,0,0.2);padding:16px 20px;display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.stat-num{font-size:1.3rem;font-weight:700;color:var(--color-accent);display:block}
.stat-label{font-size:0.8rem;opacity:0.85}
.container{max-width:1280px;margin:0 auto;padding:0 20px}
.section{padding:48px 0}
.section-title{font-size:1.6rem;font-weight:700;color:var(--color-text);margin-bottom:8px}
.section-subtitle{color:var(--color-text-muted);margin-bottom:32px}
.calc-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;max-width:1280px;margin:0 auto;padding:28px 20px}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.category-card{background:var(--color-surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--color-border);transition:box-shadow 0.2s}
.category-card:hover{box-shadow:var(--shadow-md)}
.category-card svg{width:36px;height:36px;fill:var(--color-primary);margin-bottom:12px}
.category-card h3{font-size:1rem;font-weight:600;margin-bottom:4px}
.category-card .count{font-size:0.8rem;color:var(--color-text-muted);margin-bottom:8px}
.category-card p{font-size:0.875rem;color:var(--color-text-muted);margin-bottom:16px}
.category-card .view-all{font-size:0.875rem;font-weight:600;color:var(--color-secondary)}
.popular-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.popular-card{background:var(--color-surface);border-radius:var(--radius);padding:20px;border:1px solid var(--color-border);box-shadow:var(--shadow)}
.popular-card h3{font-size:0.95rem;font-weight:600;margin-bottom:6px}
.popular-card p{font-size:0.8rem;color:var(--color-text-muted);margin-bottom:12px}
.popular-card a.btn{font-size:0.8rem;padding:7px 14px;background:var(--color-primary);color:#fff;border-radius:var(--radius);display:inline-block}
.popular-card a.btn:hover{filter:brightness(1.1);text-decoration:none}
.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
.directory-category h3{font-size:1rem;font-weight:700;color:var(--color-primary);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--color-accent)}
.directory-category ul li{padding:2px 0}
.directory-category ul li a{font-size:0.875rem;color:var(--color-text)}
.directory-category ul li a:hover{color:var(--color-secondary)}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;text-align:center}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary);color:#fff;font-size:1.25rem;font-weight:700;border-radius:50%;margin-bottom:14px}
.step-item h3{font-size:1rem;font-weight:600;margin-bottom:8px}
.step-item p{font-size:0.875rem;color:var(--color-text-muted)}
.calc-card{background:var(--color-surface);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid var(--color-border);margin-bottom:24px}
.calc-card h2{font-size:1.2rem;font-weight:700;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:0.875rem;font-weight:600;margin-bottom:6px;color:var(--color-text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:0.95rem;font-family:var(--font-main);background:var(--color-bg);color:var(--color-text);transition:border-color 0.2s}
.form-group input:focus,.form-group select:focus{border-color:var(--color-secondary);outline:none;background:#fff}
.form-group input.error{border-color:var(--color-error)}
.error-msg{font-size:0.8rem;color:var(--color-error);margin-top:4px;display:none}
.error-msg.visible{display:block}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-buttons{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}
.result-box{background:linear-gradient(135deg,var(--color-primary),#1a5ca8);color:#fff;border-radius:var(--radius);padding:24px;margin-top:20px;display:none}
.result-box.visible{display:block}
.result-main{font-size:1.5rem;font-weight:700;margin-bottom:8px}
.result-details{font-size:0.875rem;opacity:0.9;margin-top:12px}
.result-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.15)}
.result-row:last-child{border-bottom:none}
.result-actions{display:flex;gap:10px;margin-top:16px}
.btn-sm{padding:6px 14px;font-size:0.8rem;background:rgba(255,255,255,0.2);color:#fff;border:1px solid rgba(255,255,255,0.4);border-radius:var(--radius);cursor:pointer;font-family:var(--font-main)}
.btn-sm:hover{background:rgba(255,255,255,0.3)}
.data-table{width:100%;border-collapse:collapse;font-size:0.875rem;margin-top:16px}
.data-table th{background:var(--color-primary);color:#fff;padding:10px 12px;text-align:left;font-weight:600}
.data-table td{padding:9px 12px;border-bottom:1px solid var(--color-border)}
.data-table tr:nth-child(even) td{background:var(--color-bg)}
.table-wrap{overflow-x:auto;margin-top:16px}
.content-section{background:var(--color-surface);border-radius:var(--radius);padding:28px;margin-bottom:24px;box-shadow:var(--shadow);border:1px solid var(--color-border)}
.content-section h2{font-size:1.2rem;font-weight:700;margin-bottom:14px;color:var(--color-primary)}
.content-section h3{font-size:1rem;font-weight:600;margin:14px 0 8px}
.content-section p{margin-bottom:12px;font-size:0.9rem;color:var(--color-text)}
.content-section ol,.content-section ul{padding-left:20px;margin-bottom:12px}
.content-section ol{list-style:decimal}
.content-section ul{list-style:disc}
.content-section li{font-size:0.9rem;margin-bottom:6px}
.formula-block{background:#1a1a2e;color:#a8d8a8;padding:16px 20px;border-radius:var(--radius);font-family:monospace;font-size:0.95rem;overflow-x:auto;margin:12px 0}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-item:last-child{border-bottom:none}
.faq-item summary{padding:14px 0;font-weight:600;cursor:pointer;font-size:0.9rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.2rem;color:var(--color-primary)}
.faq-item[open] summary::after{content:"-"}
.faq-item p{padding:0 0 14px;font-size:0.875rem;color:var(--color-text-muted)}
.breadcrumb{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:10px 0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;max-width:1280px;margin:0 auto;padding:0 20px}
.breadcrumb li{font-size:0.8rem;color:var(--color-text-muted)}
.breadcrumb li+li::before{content:" / "}
.breadcrumb li a{color:var(--color-secondary)}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.related-link{display:block;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-size:0.825rem;color:var(--color-text);transition:border-color 0.2s}
.related-link:hover{border-color:var(--color-secondary);text-decoration:none;color:var(--color-secondary)}
.sidebar-widget{background:var(--color-surface);border-radius:var(--radius);padding:20px;margin-bottom:20px;border:1px solid var(--color-border);box-shadow:var(--shadow)}
.sidebar-widget h3{font-size:0.95rem;font-weight:700;margin-bottom:12px;color:var(--color-primary)}
#search-results-section{display:none;padding:32px 0;background:var(--color-surface);border-bottom:1px solid var(--color-border)}
#search-results-section.visible{display:block}
.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px}
.site-footer{background:#1a1a2e;color:rgba(255,255,255,0.8);padding:48px 20px 20px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:32px;max-width:1280px;margin:0 auto 40px}
.footer-col h4{color:#fff;font-size:0.875rem;font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:0.5px}
.footer-col ul li{margin-bottom:6px}
.footer-col ul li a{font-size:0.8rem;color:rgba(255,255,255,0.7);transition:color 0.2s}
.footer-col ul li a:hover{color:#fff;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:0.8rem;opacity:0.7}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{font-size:0.8rem;color:rgba(255,255,255,0.7)}
.footer-links a:hover{color:#fff}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#fff;padding:16px 24px;z-index:999;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 -4px 16px rgba(0,0,0,0.2)}
.cookie-banner p{font-size:0.875rem;opacity:0.9;flex:1;min-width:200px}
.cookie-banner p a{color:var(--color-accent)}
.cookie-buttons{display:flex;gap:10px}
.btn-cookie-accept{background:var(--color-accent);color:#1a1a2e;border:none;padding:8px 18px;border-radius:var(--radius);font-weight:600;cursor:pointer;font-family:var(--font-main);font-size:0.875rem}
.btn-cookie-necessary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.4);padding:8px 18px;border-radius:var(--radius);cursor:pointer;font-family:var(--font-main);font-size:0.875rem}
.page-hero{background:linear-gradient(135deg,var(--color-primary),#1a5ca8);color:#fff;padding:36px 20px}
.page-hero h1{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;margin-bottom:8px}
.page-hero p{opacity:0.9;max-width:600px;font-size:0.95rem}
.static-content{max-width:860px;margin:40px auto;padding:0 20px}
.static-content h2{font-size:1.3rem;font-weight:700;margin:28px 0 12px;color:var(--color-primary)}
.static-content h3{font-size:1rem;font-weight:700;margin:20px 0 8px}
.static-content p{margin-bottom:14px;font-size:0.9rem;line-height:1.7}
.static-content ul{list-style:disc;padding-left:24px;margin-bottom:14px}
.static-content ul li{margin-bottom:8px;font-size:0.9rem}
.contact-form{background:var(--color-surface);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);border:1px solid var(--color-border);max-width:640px;margin:32px auto}
.contact-form textarea{min-height:130px;resize:vertical}
.success-message{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46;padding:16px;border-radius:var(--radius);display:none;text-align:center;font-weight:600}
.success-message.visible{display:block}
.bg-surface{background:var(--color-surface)}
.text-muted{color:var(--color-text-muted)}
.text-center{text-align:center}
.highlight{background:rgba(240,165,0,0.2);padding:0 2px;border-radius:2px}
@media(max-width:1024px){.calc-layout{grid-template-columns:1fr}.calc-sidebar{order:-1}}
@media(max-width:768px){.hamburger{display:flex}.site-nav{display:none}.site-nav.open{display:block}.nav-list{flex-direction:column;padding:8px 0}.nav-link{padding:12px 20px}.dropdown-menu{position:static;box-shadow:none;background:rgba(0,0,0,0.1)}.dropdown-menu a{color:rgba(255,255,255,0.9);border-bottom-color:rgba(255,255,255,0.1)}.nav-item:hover .dropdown-menu{display:none}.nav-item.open .dropdown-menu{display:block}.header-top{flex-wrap:wrap}.header-search{order:3;max-width:100%;width:100%}.ad-leaderboard{width:320px;height:50px}.form-row{grid-template-columns:1fr}.stats-bar{gap:20px}.footer-grid{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:1fr}}
@media(max-width:480px){.category-grid{grid-template-columns:1fr}.hero{padding:40px 16px}.footer-grid{grid-template-columns:1fr}}
@media print{.site-header,.site-footer,.ad-unit,.cookie-banner{display:none}.result-box{background:#eee;color:#000}}

/* ===== COMPATIBILITY LAYER: bridge HTML class names to CSS rules ===== */
.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:12px 20px;gap:16px;flex-wrap:wrap}
.main-nav{background:transparent}
.main-nav ul{display:flex;list-style:none;gap:0;flex-wrap:wrap;margin:0;padding:0}
.main-nav ul li{position:relative}
.main-nav ul li a,.main-nav ul li button{display:block;padding:10px 14px;color:rgba(255,255,255,0.9);font-size:0.875rem;font-weight:500;text-decoration:none;background:none;border:none;cursor:pointer;white-space:nowrap;transition:color 0.2s}
.main-nav ul li a:hover,.main-nav ul li button:hover{color:#fff}
.main-nav ul li button::after{content:" ▾";font-size:0.7rem;opacity:0.7}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:200px;border-radius:0 0 6px 6px;box-shadow:0 8px 24px rgba(0,0,0,0.15);z-index:200;list-style:none;padding:8px 0}
.nav-dropdown li a{color:var(--color-text)!important;padding:10px 18px;font-size:0.875rem;display:block;border-bottom:1px solid var(--color-border)}
.nav-dropdown li:last-child a{border-bottom:none}
.nav-dropdown li a:hover{background:var(--color-bg);color:var(--color-primary)!important}
.nav-item-has-children:hover .nav-dropdown{display:block}
.nav-item-has-children.open .nav-dropdown{display:block}
.logo-text{font-size:1.5rem;font-weight:700;letter-spacing:-0.5px;line-height:1;display:block}
.logo-tagline{font-size:0.7rem;opacity:0.8;display:block}
.header-search{flex:1;max-width:400px;position:relative}
.header-search input{width:100%;padding:9px 16px;border:none;border-radius:24px;font-size:0.95rem;background:rgba(255,255,255,0.15);color:#fff;outline:none}
.header-search input::placeholder{color:rgba(255,255,255,0.6)}
.header-search input:focus{background:rgba(255,255,255,0.25)}
.header-search-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;cursor:pointer;font-size:1.1rem}
.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:300;max-height:320px;overflow-y:auto;display:none}
.search-dropdown.active{display:block}
.search-result-item{display:block;padding:10px 16px;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);font-size:0.9rem}
.search-result-item:hover,.search-result-item:focus{background:var(--color-bg);color:var(--color-primary)}
@media(max-width:900px){
  .hamburger{display:flex!important}
  .main-nav{display:none;width:100%;order:99}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column}
  .main-nav ul li a,.main-nav ul li button{padding:12px 20px;width:100%;text-align:left}
  .nav-dropdown{position:static;box-shadow:none;background:rgba(0,0,0,0.15);border-radius:0}
  .nav-dropdown li a{color:rgba(255,255,255,0.85)!important;border-color:rgba(255,255,255,0.1)}
  .header-inner{flex-wrap:wrap}
  .header-search{order:3;max-width:100%;width:100%}
}
/* ===== END COMPATIBILITY LAYER ===== */

/* ===== DROPDOWN FIX: only show one dropdown at a time ===== */
.nav-item-has-children .nav-dropdown{display:none!important}
.nav-item-has-children:hover .nav-dropdown{display:block!important}

/* ============================================================
   COMPREHENSIVE BUG FIXES - All issues resolved
   ============================================================ */

/* --- FOOTER: Direct <a> links (not in <ul>) --- */
.footer-col a{display:block;font-size:0.82rem;color:rgba(255,255,255,0.7);text-decoration:none;padding:3px 0;transition:color 0.2s;line-height:1.6}
.footer-col a:hover{color:#fff}
.footer-col h4{color:#fff;font-size:0.8rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.6px;border-bottom:1px solid rgba(255,255,255,0.15);padding-bottom:8px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;padding-bottom:32px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:0.78rem;opacity:0.65}
.footer-bottom-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-bottom-links a{font-size:0.78rem;color:rgba(255,255,255,0.6);text-decoration:none}
.footer-bottom-links a:hover{color:#fff}

/* --- HERO BUTTONS: Make them look great --- */
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.hero-btns .btn-primary,.hero-btns a.btn-primary{background:var(--color-accent);color:#fff;padding:13px 28px;border-radius:6px;font-weight:700;font-size:1rem;text-decoration:none;transition:background 0.2s,transform 0.1s;border:none;cursor:pointer;display:inline-block}
.hero-btns .btn-primary:hover,.hero-btns a.btn-primary:hover{background:#d4920a;transform:translateY(-1px)}
.hero-btns .btn-secondary,.hero-btns a.btn-secondary{background:transparent;color:#fff;padding:12px 28px;border-radius:6px;font-weight:600;font-size:1rem;text-decoration:none;border:2px solid rgba(255,255,255,0.7);transition:all 0.2s;display:inline-block}
.hero-btns .btn-secondary:hover,.hero-btns a.btn-secondary:hover{background:rgba(255,255,255,0.15);border-color:#fff}

/* --- SEARCH: Fix inputs that don't have .search-input class --- */
#header-search-input,#hero-search-input,#search-input{width:100%}

/* --- COOKIE BANNER: Fix button IDs and z-index --- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:9999;box-shadow:0 -4px 20px rgba(0,0,0,0.3);flex-wrap:wrap}
.cookie-banner p{font-size:0.9rem;opacity:0.9;margin:0}
.cookie-banner a{color:var(--color-accent)}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.btn-cookie-accept{background:var(--color-accent);color:#fff;border:none;padding:9px 20px;border-radius:5px;font-weight:700;cursor:pointer;font-size:0.9rem}
.btn-cookie-accept:hover{background:#d4920a}
.btn-cookie-necessary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.4);padding:8px 18px;border-radius:5px;font-weight:600;cursor:pointer;font-size:0.9rem}
.btn-cookie-necessary:hover{border-color:#fff}

/* --- CATEGORY CARDS: Make links non-underlined, properly clickable --- */
.category-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:box-shadow 0.2s,transform 0.2s;border:1px solid var(--color-border)}
.category-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}
.category-icon{width:44px;height:44px;margin-bottom:12px;fill:var(--color-primary)}
.category-icon svg{width:44px;height:44px;fill:var(--color-primary)}
.category-name{font-size:1.05rem;font-weight:700;color:var(--color-primary);margin-bottom:4px}
.category-count{font-size:0.82rem;color:var(--color-accent);font-weight:600;margin-bottom:8px}
.category-desc{font-size:0.85rem;color:var(--color-text-muted);line-height:1.5;flex:1}
.category-link{font-size:0.82rem;color:var(--color-secondary);font-weight:600;margin-top:12px}

/* --- POPULAR/FEATURED CALC CARDS --- */
.calc-card{background:var(--color-surface);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;border:1px solid var(--color-border);transition:box-shadow 0.2s,transform 0.2s}
.calc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}
.calc-card-name{font-size:0.95rem;font-weight:700;color:var(--color-primary)}
.calc-card-desc{font-size:0.82rem;color:var(--color-text-muted);line-height:1.5}
.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}

/* --- DIRECTORY LINKS: Proper multi-column grid --- */
.directory-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px}
.directory-links a{font-size:0.875rem;color:var(--color-secondary);text-decoration:none;padding:5px 0;border-bottom:1px solid var(--color-border);display:block;transition:color 0.15s}
.directory-links a:hover{color:var(--color-primary);text-decoration:none}
.directory-group{margin-bottom:36px}
.directory-group h3{font-size:1.1rem;color:var(--color-primary);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}

/* --- FAQ ITEMS --- */
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}
.faq-item summary{padding:14px 18px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:0.95rem}
.faq-item summary::after{content:"+";font-size:1.3rem;font-weight:300;color:var(--color-text-muted)}
.faq-item[open] summary::after{content:"−"}
.faq-answer{padding:0 18px 16px;font-size:0.9rem;color:var(--color-text-muted);line-height:1.7}

/* --- RESPONSIVE FIXES --- */
@media(max-width:900px){
  .footer-grid{grid-template-columns:repeat(2,1fr)!important}
  .featured-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr!important}
  .featured-grid{grid-template-columns:1fr}
  .hero-btns{flex-direction:column;align-items:center}
  .cookie-banner{flex-direction:column;text-align:center}
}


/* ===== HOW IT WORKS SECTION ===== */
.how-it-works { background: var(--color-bg); padding: 48px 20px; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 900px; margin: 32px auto 0; text-align: center; }
.step-item { background: var(--color-surface); border-radius: var(--radius); padding: 32px 24px; box-shadow: var(--shadow); }
.step-number { width: 52px; height: 52px; background: var(--color-primary); color: #fff; border-radius: 50%; font-size: 1.4rem; font-weight: 700; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.step-title { font-size: 1.05rem; font-weight: 700; color: var(--color-primary); margin-bottom: 10px; }
.step-desc { font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.6; }

/* ===== CALCULATOR DIRECTORY SECTION ===== */
.directory-section { padding: 48px 20px; max-width: 1280px; margin: 0 auto; }
.directory-group { margin-bottom: 40px; background: var(--color-surface); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px; }
.directory-group h3 { font-size: 1.1rem; font-weight: 700; color: var(--color-primary); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--color-primary); }
.directory-links { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px 16px; }
.directory-links a { font-size: 0.83rem; color: var(--color-secondary); text-decoration: none; padding: 5px 0; border-bottom: 1px solid var(--color-border); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.15s; }
.directory-links a:hover { color: var(--color-primary); }
.section-title { font-size: 1.6rem; font-weight: 700; color: var(--color-text); text-align: center; margin-bottom: 8px; }
.section-subtitle { text-align: center; color: var(--color-text-muted); margin-bottom: 28px; font-size: 0.95rem; }

/* ===== RESPONSIVE ===== */
@media(max-width: 900px) {
  .steps-grid { grid-template-columns: 1fr; max-width: 400px; }
  .directory-links { grid-template-columns: repeat(3, 1fr); }
}
@media(max-width: 600px) {
  .directory-links { grid-template-columns: repeat(2, 1fr); }
}
/* ============================================================
   COMPREHENSIVE FIX - Professional Design System
   ============================================================ */

/* --- RESULT BOX - Make it visible and styled --- */
.result-box{display:none;background:linear-gradient(135deg,#f0f7ff 0%,#e8f4fd 100%);border:2px solid var(--color-secondary);border-radius:var(--radius);padding:24px;margin-top:20px}
.result-box.visible{display:block}
.result-main{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}
.result-details{display:grid;gap:8px;margin-top:8px}
.result-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(0,0,0,0.06);font-size:0.9rem}
.result-row span:first-child{color:var(--color-text-muted)}
.result-row span:last-child{font-weight:600;color:var(--color-text)}

/* --- FORM ELEMENTS --- */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-weight:600;margin-bottom:6px;font-size:0.9rem;color:var(--color-text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:0.95rem;font-family:inherit;background:var(--color-surface);color:var(--color-text);transition:border-color 0.2s,box-shadow 0.2s;box-sizing:border-box}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(13,110,253,0.15)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn-calc{background:var(--color-primary);color:#fff;border:none;padding:13px 28px;border-radius:var(--radius);font-size:1rem;font-weight:700;cursor:pointer;width:100%;margin-top:8px;transition:background 0.2s,transform 0.1s;letter-spacing:0.3px}
.btn-calc:hover{background:#143d73;transform:translateY(-1px)}
.btn-reset{background:transparent;color:var(--color-text-muted);border:1.5px solid var(--color-border);padding:9px 20px;border-radius:var(--radius);font-size:0.9rem;cursor:pointer;width:100%;margin-top:8px;transition:all 0.2s}
.btn-reset:hover{border-color:var(--color-text-muted);color:var(--color-text)}
.calc-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px}

/* --- CALC CARD / TOOL PANEL --- */
.calc-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:28px;margin-bottom:24px}
.calc-card h2{font-size:1.1rem;color:var(--color-primary);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--color-border)}

/* --- HOW IT WORKS --- */
.how-it-works{background:var(--color-bg);padding:48px 20px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:920px;margin:28px auto 0;text-align:center}
.step-item{background:var(--color-surface);border-radius:var(--radius);padding:28px 20px;box-shadow:var(--shadow)}
.step-number{width:52px;height:52px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.step-title{font-size:1rem;font-weight:700;color:var(--color-primary);margin-bottom:8px}
.step-desc{font-size:0.875rem;color:var(--color-text-muted);line-height:1.6}

/* --- DIRECTORY --- */
.directory-section{padding:40px 16px}
.directory-group{margin-bottom:36px;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.directory-group h3{font-size:1.05rem;font-weight:700;color:var(--color-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}
.directory-links{display:grid;grid-template-columns:repeat(5,1fr);gap:4px 12px}
.directory-links a{font-size:0.83rem;color:var(--color-secondary);text-decoration:none;padding:5px 0;border-bottom:1px solid var(--color-border);display:block;transition:color 0.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.directory-links a:hover{color:var(--color-primary)}

/* --- FOOTER COLUMNS --- */
.footer-col a{display:block;font-size:0.82rem;color:rgba(255,255,255,0.7);text-decoration:none;padding:3px 0;transition:color 0.2s;line-height:1.8}
.footer-col a:hover{color:#fff}
.footer-col h4{color:#fff;font-size:0.78rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.6px;border-bottom:1px solid rgba(255,255,255,0.15);padding-bottom:8px}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 20px}
.footer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;padding-bottom:32px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:0.78rem;opacity:0.65}
.footer-bottom-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-bottom-links a{font-size:0.78rem;color:rgba(255,255,255,0.6);text-decoration:none}
.footer-bottom-links a:hover{color:#fff}

/* --- HERO BUTTONS --- */
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.btn-primary,.hero-btns a,.hero-btns .btn-primary{background:var(--color-accent);color:#fff;padding:12px 26px;border-radius:var(--radius);font-weight:700;font-size:0.95rem;text-decoration:none;transition:background 0.2s,transform 0.1s;border:none;cursor:pointer;display:inline-block}
.btn-primary:hover,.hero-btns a:hover{background:#d4920a;transform:translateY(-1px);text-decoration:none}
.btn-secondary,.hero-btns a.btn-secondary{background:transparent;color:#fff;padding:11px 24px;border-radius:var(--radius);font-weight:600;font-size:0.95rem;text-decoration:none;border:2px solid rgba(255,255,255,0.7);transition:all 0.2s;display:inline-block}
.btn-secondary:hover{background:rgba(255,255,255,0.12);border-color:#fff;text-decoration:none}

/* --- COOKIE BANNER --- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:9999;box-shadow:0 -4px 20px rgba(0,0,0,0.3);flex-wrap:wrap}
.cookie-banner p{font-size:0.9rem;opacity:0.9;margin:0}
.cookie-banner a{color:var(--color-accent)}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.btn-cookie-accept{background:var(--color-accent);color:#fff;border:none;padding:9px 20px;border-radius:5px;font-weight:700;cursor:pointer;font-size:0.9rem}
.btn-cookie-accept:hover{background:#d4920a}
.btn-cookie-necessary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.4);padding:8px 18px;border-radius:5px;font-weight:600;cursor:pointer;font-size:0.9rem}
.btn-cookie-necessary:hover{border-color:#fff}

/* --- CATEGORY CARDS --- */
.category-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:box-shadow 0.2s,transform 0.2s;border:1px solid var(--color-border)}
.category-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}
.category-icon{width:44px;height:44px;margin-bottom:12px}
.category-icon svg{width:44px;height:44px;fill:var(--color-primary)}
.category-name{font-size:1rem;font-weight:700;color:var(--color-primary);margin-bottom:4px}
.category-count{font-size:0.8rem;color:var(--color-accent);font-weight:600;margin-bottom:8px}
.category-desc{font-size:0.85rem;color:var(--color-text-muted);line-height:1.5;flex:1}
.category-link{font-size:0.82rem;color:var(--color-secondary);font-weight:600;margin-top:12px}

/* --- POPULAR CARDS --- */
.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.calc-card-link,.featured-grid a{background:var(--color-surface);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;border:1px solid var(--color-border);transition:all 0.2s}
.calc-card-link:hover,.featured-grid a:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}
.calc-card-name{font-size:0.9rem;font-weight:700;color:var(--color-primary)}
.calc-card-desc{font-size:0.8rem;color:var(--color-text-muted);line-height:1.5}

/* --- CONTENT SECTIONS ON CALC PAGES --- */
.content-section{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:20px}
.content-section h2{font-size:1.2rem;color:var(--color-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--color-border)}
.content-section p{font-size:0.9rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:10px}
.content-section ol,.content-section ul{padding-left:20px;color:var(--color-text-muted);font-size:0.9rem;line-height:1.9}
.formula-block{background:var(--color-bg);border-left:4px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;font-family:'Courier New',monospace;font-size:0.9rem;margin:12px 0;white-space:pre-wrap;color:var(--color-text)}

/* --- FAQ --- */
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}
.faq-item summary{padding:14px 18px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:0.9rem;background:var(--color-surface)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.3rem;font-weight:300;color:var(--color-text-muted);flex-shrink:0}
.faq-item[open] summary::after{content:"−"}
.faq-answer{padding:12px 18px 16px;font-size:0.875rem;color:var(--color-text-muted);line-height:1.7;background:var(--color-bg)}

/* --- SKIP LINK --- */
.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:#fff;padding:8px 12px;border-radius:var(--radius);text-decoration:none;z-index:10000;font-size:0.875rem}
.skip-link:focus{top:6px}

/* --- BREADCRUMB --- */
.breadcrumb{padding:10px 0;margin-bottom:16px}
.breadcrumb ol{list-style:none;display:flex;gap:8px;align-items:center;font-size:0.85rem;flex-wrap:wrap}
.breadcrumb ol li::after{content:" ›";color:var(--color-text-muted);margin-left:8px}
.breadcrumb ol li:last-child::after{display:none}
.breadcrumb ol li a{color:var(--color-secondary);text-decoration:none}
.breadcrumb ol li:last-child{color:var(--color-text-muted)}

/* --- SECTION CONTAINERS --- */
.section-container{padding:40px 20px;max-width:1280px;margin:0 auto}
.section-title{font-size:1.6rem;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:8px}
.section-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:28px;font-size:0.95rem}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:8px}

/* --- ADS --- */
.ad-unit{background:#f5f7fa;border:1px dashed #ccc;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#999;font-size:0.8rem;margin:0 auto}
.ad-leaderboard{width:728px;height:90px;max-width:100%}
.ad-large-rect{width:336px;height:280px}

/* --- REPLACE HARDCODED COLORS --- */
.text-success{color:#28a745}
.text-warning{color:#ffc107}
.text-danger{color:#dc3545}
.text-info{color:#17a2b8}
.bg-success{background:#28a745}
.badge-success{background:#d4edda;color:#155724;padding:3px 10px;border-radius:12px;font-size:0.8rem;font-weight:600}

/* --- RESPONSIVE --- */
@media(max-width:1024px){.directory-links{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.steps-grid{grid-template-columns:1fr;max-width:420px}.directory-links{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)!important}.featured-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.directory-links{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr!important}.featured-grid{grid-template-columns:1fr}.hero-btns{flex-direction:column;align-items:center}.cookie-banner{flex-direction:column;text-align:center}.calc-actions{grid-template-columns:1fr}}
