:root{
  --primer:#F6F2E9; --ink:#211D14; --muted:#5C5343; --muted2:#7A6F5C;
  --steel:#B8AA8E; --border:#DCD3BE;
  --enamel:#93591E; --enamel-dk:#6E4315;
  --card:#FFFFFF; --plate:#2E4A24; --plate-2:#3F6B34; --input-bg:#FBF8F1;
  --tile:#3B2E1E; --red:#A23B2A;
  --disp:"Roboto Slab",Georgia,serif; --body:"Work Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--primer);color:var(--ink);font:400 17px/1.55 var(--body)}
a{color:var(--ink);text-decoration-color:var(--enamel);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--enamel-dk)}
:focus-visible{outline:3px solid var(--enamel);outline-offset:2px}
h1,h2,h3{font-family:var(--disp);letter-spacing:.005em}
img{max-width:100%}

/* ---------- Header: centered badge, no nav ---------- */
header.site-header{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:14px 24px 10px;border-bottom:1px solid var(--border);background:var(--primer)}
header .badge{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:4px 0}
header .badge img{width:150px;height:150px;display:block}
@media (max-width:640px){header .badge img{width:100px;height:100px}}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding:16px 24px 0;font-size:13px;color:var(--muted2);max-width:1200px;margin:0 auto}
.breadcrumb a{color:var(--muted2)}

/* ---------- Calculator intro / tags ---------- */
.intro{margin:0 auto;padding:20px 24px 0;display:flex;flex-direction:column;gap:12px;max-width:760px}
.intro h1{margin:0;font-weight:700;font-size:clamp(30px,4.2vw,44px);line-height:1.08}
.intro p{margin:0;font-size:17px;line-height:1.55;color:var(--muted)}
.tags{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tag{background:#E7EDD9;color:var(--ink);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}
.updated{font-size:13px;color:var(--muted2)}

/* ---------- Layout shells ---------- */
.page-narrow{max-width:1200px; margin:0 auto; padding:0 0 70px}
main{display:block}

/* ---------- Calculator grid: card + sidebar ---------- */
.grid{max-width:1200px;margin:0 auto;padding:28px 24px 0;display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start}
@media (max-width:860px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:22px;box-shadow:0 2px 10px rgba(33,29,20,.07)}
@media (max-width:520px){.card{padding:20px}}
.sidebar{display:flex;flex-direction:column;gap:20px}
.tipCard{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px}
.tipCard h3{margin:0;font-size:19px}
.tipCard p{margin:0;font-size:14.5px;line-height:1.5;color:var(--muted)}
.mockad{border:1.5px dashed var(--steel);border-radius:12px;color:var(--muted2);font:600 13px var(--body);display:flex;align-items:center;justify-content:center;min-height:110px;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(154,152,144,.08) 10px 20px)}

.cardhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cardhead .lbl{font:700 19px/1 var(--disp)}

fieldset{border:0;margin:0;padding:0}
legend{font:700 15px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:0;margin:0 0 14px;color:var(--enamel-dk)}
.hr{height:1px;background:var(--border)}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px 16px}
@media (max-width:560px){.grid3{grid-template-columns:1fr 1fr}}
.field label,.field-label{display:block;font:600 13.5px/1.25 var(--body);margin-bottom:5px;color:var(--muted)}
.field .unit,.field-label .unit{color:var(--muted2);font-weight:400}
.field-wide{grid-column:1/-1}
.field input,.field select,.field textarea{width:100%;font:500 17px/1.2 var(--body);padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--ink)}
.field input:focus,.field select:focus{border-color:var(--ink);background:#fff;outline:none}
.field-note{font-size:12.5px;color:var(--muted2);margin-top:4px;line-height:1.4}

/* Segmented pill toggle, used for select-type inputs */
.segwrap{font-weight:600;font-size:13.5px;color:var(--muted);margin-bottom:5px}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.seg label{border:1px solid var(--border);border-radius:999px;padding:7px 14px;background:var(--input-bg);cursor:pointer;font-weight:600;font-size:13.5px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.seg label:has(input:focus-visible){outline:3px solid var(--enamel);outline-offset:2px}

/* ---------- Results plate ---------- */
.plate{background:var(--plate);color:#fff;border-radius:12px;padding:22px 22px 18px;
 box-shadow:inset 0 0 0 2px var(--plate-2),inset 0 0 0 5px var(--plate);
 background-image:radial-gradient(circle at 12px 12px,#C9A96A 0 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 12px) 12px,#C9A96A 0 3px,transparent 3.5px),radial-gradient(circle at 12px calc(100% - 12px),#C9A96A 0 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#C9A96A 0 3px,transparent 3.5px)}
.plate h2{font:600 16px/1 var(--disp);color:#EDEFE0;margin:0 0 12px;letter-spacing:.04em;text-transform:uppercase}
.big{font:700 clamp(38px,6vw,54px)/.95 var(--disp);font-variant-numeric:tabular-nums}
.big small{font-size:.42em;font-weight:600;color:#EDEFE0;margin-left:4px}
.bigcap{font-size:14px;color:#EDEFE0;margin:4px 0 14px;font-style:italic}
.rows{border-top:1px solid #4A6E3F;margin:0;padding:0}
.rows>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #3C5C33;font-size:14.5px}
.rows dt{color:#EDEFE0;margin:0}
.rows dd{margin:0;font:600 18px/1.2 var(--disp);font-variant-numeric:tabular-nums;text-align:right}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{font:600 15px/1 var(--disp);letter-spacing:.02em;padding:11px 14px;border-radius:8px;border:1.5px solid #C9A96A;background:transparent;color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{border-color:#DDBB6E;color:#fff}
.btn.solid{background:var(--enamel);border-color:var(--enamel);color:#fff}
.btn.solid:hover{background:#A8681F;border-color:#A8681F;color:#fff}
.toast{font-size:13px;color:#E8C170;min-height:0;margin-top:8px}
.output-empty{color:#EDEFE0;font-size:14px;padding:4px 0}

/* ---------- Article ---------- */
.article{max-width:760px;margin:0 auto;padding:48px 24px 0;display:flex;flex-direction:column;gap:16px}
.article h2{margin:0;font-size:27px}
.article h3{margin:6px 0 0;font-size:20px}
.article p{margin:0;font-size:15.5px;line-height:1.6;color:var(--muted)}
.formula{background:var(--card);border-left:4px solid var(--enamel);border-radius:0 10px 10px 0;padding:12px 14px;font:500 15.5px/1.5 var(--body);overflow-x:auto}

/* ---------- All Tools directory ---------- */
.related{max-width:1200px;margin:0 auto;padding:48px 24px 0;display:flex;flex-direction:column;gap:16px}
.related h2{margin:0;font-size:24px;font-weight:700}
.allCalcsSearch,.filter{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.allCalcsSearch input,.filter input{flex:1;min-width:220px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);font:500 15px var(--body)}
.allCalcsSearch .count,.filter span{font-size:13px;color:var(--muted2);white-space:nowrap}
.allCalcsGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
@media (max-width:1000px){.allCalcsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.allCalcsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.allCalcsGrid{grid-template-columns:1fr}}
.allCalcsColTitle{font:700 16px/1.1 var(--disp);color:var(--plate-2);margin-bottom:10px}
.allCalcsColTitle a{color:inherit;text-decoration:none}
.allCalcsCol a{display:block;font-size:13.5px;color:var(--muted);padding:5px 0;text-decoration:none;line-height:1.4}
.allCalcsCol a:hover{color:var(--enamel-dk)}

/* "More X calculators" links — direct children only */
.related>a{display:block;padding:5px 0;color:var(--muted);text-decoration:none;font-size:13.5px}
.related>a:hover{color:var(--enamel-dk)}

/* ---------- Category landing pages ---------- */
.catHero{max-width:1200px;margin:0 auto;padding:0 24px}
.catHeroPhoto{width:100%;height:260px;object-fit:cover;border-radius:16px;margin-top:20px;box-shadow:0 4px 16px rgba(33,29,20,.12)}
.catGrid{max-width:1200px;margin:0 auto;padding:32px 24px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.catGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.catGrid{grid-template-columns:1fr}}
.catCardBig{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);box-shadow:0 2px 8px rgba(33,29,20,.05)}
.catCardBig:hover{border-color:var(--ink)}
.catCardBig h3{margin:0;font-size:20px}
.catCardBig p{margin:0;font-size:14.5px;color:var(--muted);flex-grow:1}
.catCardBig .go{font:600 15px/1 var(--disp);color:var(--enamel-dk)}
.stub-note{font-family:var(--body);font-size:14px;color:var(--muted);border:1px dashed var(--border);padding:14px 16px;border-radius:10px;display:block;max-width:60ch}

/* ---------- Homepage ---------- */
.hero{max-width:1200px;margin:0 auto;padding:36px 24px 0;display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.hero h1{margin:0 0 14px;font-size:clamp(38px,5.5vw,60px);line-height:1.02}
.hero p{margin:0 0 14px;font-size:17px;color:var(--muted);max-width:52ch}
.note{margin:14px 0 0;font-size:14.5px;line-height:1.45;color:var(--muted);border-left:3px solid var(--enamel);padding-left:10px}
.search{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.search input{flex:1;min-width:200px;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);font:500 15px var(--body)}
.heroPhoto{position:relative;margin:12px 0 0 12px}
.heroPhoto::before{content:"";position:absolute;inset:-12px 12px 12px -12px;background:var(--enamel);border-radius:18px}
.heroPhoto img{position:relative;display:block;width:100%;height:auto;max-height:380px;object-fit:cover;border-radius:16px;box-shadow:0 6px 20px rgba(33,29,20,.18)}

.catTiles{max-width:1200px;margin:0 auto;padding:44px 24px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:900px){.catTiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.catTile{background-color:var(--tile);background-size:cover;background-position:center;min-height:180px;color:#fff;border-radius:16px;padding:20px 18px;text-decoration:none;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;position:relative;box-shadow:0 2px 10px rgba(33,29,20,.1)}
.catTile::before{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,rgba(20,17,10,0) 40%,rgba(20,17,10,.72) 100%)}
.catTile:hover{filter:brightness(1.08)}
.catTile strong{position:relative;font:700 22px/1.05 var(--disp);text-shadow:0 1px 3px rgba(0,0,0,.5)}
.catTile span{position:relative;font-size:13.5px;color:#EFE6D6;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.catTile .count{position:relative;color:#E8C170;font:700 14px/1 var(--disp)}
.catTile.noPhoto{background-color:var(--tile)}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink);color:#F5F1E6;padding:40px 24px;margin-top:48px;border-top:none}
footer .footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
footer .footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px}
footer .footer-brand{display:flex;align-items:center;gap:12px;max-width:360px}
footer .footer-icon{width:44px;height:44px;border-radius:50%;background:var(--primer);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
footer .footer-icon img{width:68%;height:68%;object-fit:contain}
footer .footer-name{font:700 20px/1 var(--disp)}
footer .footer-tagline{color:#E4EFE8;font-size:13.5px}
footer .footer-rule{display:none}
footer a{color:#F5F1E6}
footer .fine{font-size:12.5px;color:#A99B87}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- FAQ (with FAQPage schema alongside) ---------- */
.faq{max-width:760px;margin:0 auto;padding:40px 24px 0;display:flex;flex-direction:column;gap:10px}
.faq h2{margin:0 0 4px;font-size:27px}
.faq details{border:1px solid var(--border);border-radius:10px;padding:14px 18px;background:var(--card)}
.faq summary{cursor:pointer;font:600 15.5px var(--body);color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--enamel);font-weight:700}
.faq details[open] summary::after{content:'\2212'}
.faq details p{margin:10px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}

/* ---------- Per-calculator feedback prompts ---------- */
.feedback-strip{max-width:760px;margin:36px auto 0;padding:0 24px;display:flex;flex-direction:column;gap:14px}
.feedback-item{border-left:3px solid var(--border);padding-left:14px}
.feedback-item strong{font-family:var(--disp);font-size:14.5px;color:var(--ink)}
.feedback-item p{margin:4px 0 0;font-size:13.5px;color:var(--muted)}
.feedback-item a{color:var(--enamel-dk);font-weight:600}

/* ---------- Real AdSense unit wrapper (sidebar) ---------- */
.ad-unit{width:100%;overflow:hidden;text-align:center}

/* ---------- Horizontal in-content ad placeholders ---------- */
.mockad-horizontal{max-width:760px;margin:32px auto 0;min-height:100px}

/* ---------- Horizontal in-content ad units (real) ---------- */
.ad-unit-horizontal{max-width:760px;margin:32px auto 0}
