/*
Theme Name: Due Date Pro
Description: Fast, SEO-ready pregnancy due date calculator theme with a built-in 3,900-word guide, FAQ schema, table of contents and shortcode [due_date_calculator].
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: due-date-pro
License: GPLv2 or later
*/
:root{--ink:#10293A;--sea:#1D7A72;--mist:#E8F1EE;--sun:#F1A53A;--line:#CADAD5;--mute:#55707A;--white:#fff;--body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--pad:clamp(16px,4vw,32px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FBFDFC;color:#1B2B33;font:400 1.0625rem/1.7 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}a{color:#0F5E57;text-underline-offset:3px}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.2;font-weight:700;margin:0 0 .5em;text-wrap:balance}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--pad)}.narrow{max-width:820px;padding-top:40px;padding-bottom:40px}
.screen-reader-text{position:absolute;left:-9999px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--sun);color:var(--ink);padding:10px 16px;z-index:99;border-radius:8px}

/* Header */
.site-header{background:var(--ink);position:sticky;top:0;z-index:50}.admin-bar .site-header{top:32px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 1.25rem var(--serif)}.brand:hover{color:#fff}
.nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.nav a{display:block;color:#D5E3E8;text-decoration:none;font:600 .95rem var(--body);padding:8px 14px;border-radius:8px}.nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-toggle{display:none;width:44px;height:44px;background:none;border:2px solid #3B5566;border-radius:10px;cursor:pointer;align-items:center;justify-content:center}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:#fff;border-radius:2px;position:relative}.bars::before,.bars::after{content:"";position:absolute;left:0}.bars::before{top:-6px}.bars::after{top:6px}
@media(max-width:760px){.nav-toggle{display:flex}.nav{display:none;width:100%;padding-bottom:12px}.nav.open{display:block}.nav ul{flex-direction:column}.nav a{padding:12px 4px;border-top:1px solid #23414F;border-radius:0}}

/* Hero + calculator */
.hero{background:var(--ink);color:#DCE8EC;padding:clamp(30px,6vw,64px) 0 clamp(36px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(24px,5vw,64px);align-items:start}
.hero h1{color:#fff;font-size:clamp(2.3rem,5.4vw,3.9rem);letter-spacing:-.02em;margin-bottom:.45em}
.hero-copy>p{font-size:1.15rem;max-width:52ch;margin:0 0 22px}
.points{list-style:none;margin:0;padding:0;display:grid;gap:10px}.points li{padding-left:28px;position:relative}
.points li::before{content:"";position:absolute;left:0;top:.6em;width:16px;height:3px;background:var(--sun);border-radius:2px}
.calc{background:var(--white);color:#1B2B33;border-radius:16px;padding:clamp(18px,3vw,28px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.calc h2{font-size:1.4rem;margin-bottom:14px}
.methods{border:0;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.methods legend{font:600 .9rem var(--body);color:var(--mute);margin-bottom:8px;padding:0}
.methods label{position:relative}.methods input{position:absolute;opacity:0;inset:0;cursor:pointer}
.methods span{display:block;border:1.5px solid var(--line);border-radius:999px;padding:7px 15px;font:600 .9rem var(--body);color:var(--ink);background:var(--white);transition:background .15s,color .15s,border-color .15s}
.methods input:checked+span{background:var(--sea);border-color:var(--sea);color:#fff}
.methods input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
.f{margin-bottom:14px}.f label{display:block;font:600 .92rem var(--body);color:var(--ink);margin-bottom:6px}
.f input,.f select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font:500 1rem var(--body);background:#F6FAF9;color:#1B2B33}
.f input:focus,.f select:focus{outline:0;border-color:var(--sea);background:#fff;box-shadow:0 0 0 4px rgba(29,122,114,.16)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{margin:6px 0 0;font-size:.85rem;color:var(--mute);line-height:1.45}
.inline{display:flex;gap:10px;align-items:center}.link{background:none;border:0;color:#0F5E57;font:700 .92rem var(--body);cursor:pointer;text-decoration:underline;padding:8px 4px}
.ga{padding-top:14px;border-top:1px dashed var(--line)}
.form-error{background:#FDECEA;color:#8A1F17;border-left:4px solid #C8372D;padding:10px 14px;border-radius:6px;font-size:.95rem;margin:0 0 14px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--sun);color:var(--ink);border:2px solid var(--sun);padding:13px 24px;border-radius:10px;font:700 1rem var(--body);cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.btn:hover{background:#F6BC63;border-color:#F6BC63;color:var(--ink);transform:translateY(-1px)}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn.ghost:hover{background:var(--mist);border-color:var(--sea)}
.fine{font-size:.82rem;color:var(--mute);margin:12px 0 0;line-height:1.5}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
@media(max-width:520px){.btn{width:100%;text-align:center}}

/* Results */
.result{background:var(--mist);border-bottom:1px solid var(--line);padding:clamp(28px,5vw,52px) 0;scroll-margin-top:64px}.result[hidden]{display:none}
.res-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(20px,4vw,56px);align-items:center}
.k{margin:0;font:600 .95rem var(--body);color:var(--mute)}
.edd{margin:.1em 0 0;font:700 clamp(2.4rem,6vw,4.4rem)/1.05 var(--serif);color:var(--ink);letter-spacing:-.02em}
.wk{margin:.2em 0 .6em;font:600 1.2rem var(--serif);color:var(--sea)}.basis{margin:0;font-size:.95rem;color:var(--mute)}
.facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.facts div{background:#F5FAF8;padding:12px 16px}.facts dt{font:600 .82rem var(--body);color:var(--mute)}.facts dd{margin:2px 0 0;font:700 1.05rem/1.35 var(--body);color:var(--ink)}
.gauge-wrap{position:relative;padding-top:38px;margin:34px 0 8px}
.gauge{display:flex;height:16px;border-radius:99px;overflow:hidden}.gauge i{display:block;height:100%}.g1{width:35%;background:#9ED0C6}.g2{width:35%;background:#4FA79B}.g3{width:30%;background:#1D7A72}
.g-mark{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center}
.g-mark span{background:var(--sun);color:var(--ink);font:700 .85rem var(--body);padding:3px 10px;border-radius:6px;white-space:nowrap}
.g-mark::after{content:"";width:3px;height:40px;background:var(--sun);border-radius:2px;margin-top:-1px}
.g-scale{position:relative;height:24px;margin-top:6px}.g-scale span{position:absolute;transform:translateX(-50%);font:600 .8rem var(--body);color:var(--mute);white-space:nowrap}.g-scale span:first-child{transform:none}.g-scale span:last-child{transform:translateX(-100%)}
.stage{max-width:70ch;margin:18px 0 8px;font-size:1.05rem}
.result h3{font-size:1.35rem;margin:26px 0 12px}
.res-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}#dd-copied{font-weight:700;color:var(--sea)}
.result tr.past{opacity:.55}.result tr.next td,.result tr.next th{background:#FFF3DC}
@media(max-width:820px){.res-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}}

/* Guide */
.guide{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,5vw,64px);padding-top:clamp(32px,5vw,56px);padding-bottom:64px;align-items:start}
.toc-wrap{position:sticky;top:84px}.admin-bar .toc-wrap{top:116px}
.toc{border-left:3px solid var(--line);padding-left:16px}.toc summary{font:700 .95rem var(--body);color:var(--ink);cursor:pointer;margin-bottom:8px}
.toc ul{list-style:none;margin:0;padding:0;max-height:calc(100vh - 170px);overflow:auto}.toc li{margin:0}
.toc a{display:block;padding:5px 0;font-size:.92rem;line-height:1.35;color:var(--mute);text-decoration:none}.toc a:hover{color:var(--ink)}.toc a.on{color:var(--ink);font-weight:700}
@media(max-width:959px){.guide{grid-template-columns:1fr}.toc-wrap{position:static}.toc{border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:#fff}}
.prose{max-width:74ch}.prose>*{margin-top:0;margin-bottom:1.15em}
.prose h2{font-size:clamp(1.7rem,3.2vw,2.15rem);margin:2.2em 0 .6em;padding-top:.9em;border-top:1px solid var(--line);scroll-margin-top:84px}
.prose>.lead+h2{margin-top:1.6em}.prose h3{font-size:1.3rem;margin:1.6em 0 .4em}
.lead{font:400 1.3rem/1.6 var(--serif);color:var(--ink)}
.updated{font-size:.9rem;color:var(--mute)}
.prose ul{padding-left:1.3em}.prose li{margin-bottom:.6em}.prose li::marker{color:var(--sea)}
.refs li{font-size:.95rem}
.disclaimer{background:#FFF6E4;border-left:4px solid var(--sun);padding:14px 18px;border-radius:0 8px 8px 0;font-size:.98rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff;-webkit-overflow-scrolling:touch}
.tbl-wrap table{width:100%;min-width:480px;border-collapse:collapse;font-size:.97rem;line-height:1.45}
.tbl-wrap thead th{background:var(--ink);color:#fff;text-align:left;font-weight:700;padding:12px 16px}
.tbl-wrap td,.tbl-wrap tbody th{padding:11px 16px;text-align:left;border-top:1px solid var(--line);vertical-align:top}.tbl-wrap tbody th{font-weight:700;color:var(--ink)}
.tbl-wrap tbody tr:nth-child(even) td,.tbl-wrap tbody tr:nth-child(even) th{background:#F5FAF8}
.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font:700 1.05rem/1.4 var(--body);color:var(--ink);padding:16px 30px 16px 0;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.5rem;color:var(--sea);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{margin:0 0 16px}

/* Blog / pages / footer */
.post-row{padding:20px 0;border-bottom:1px solid var(--line)}.post-row h2{font-size:1.5rem;margin:0 0 .2em}.post-row a{text-decoration:none}.meta{color:var(--mute);font-size:.9rem;margin:0 0 .4em}
.search-form{display:flex;gap:8px}.search-form input[type=search]{flex:1;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font:inherit}.search-form input[type=submit]{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:0 20px;font:700 1rem var(--body);cursor:pointer}
.navigation.pagination{margin-top:28px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.comment-list{list-style:none;padding:0}.comment-body{background:var(--mist);border-radius:10px;padding:14px 18px;margin-bottom:12px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;font:inherit}.comment-respond input[type=submit]{background:var(--sun);border:0;padding:13px 24px;border-radius:10px;font:700 1rem var(--body);cursor:pointer;color:var(--ink)}
.site-footer{background:var(--ink);color:#B7CBD3;padding:30px 0;font-size:.95rem}.foot-note{margin:0 0 18px;max-width:80ch;line-height:1.6}
.foot-bar{display:flex;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;border-top:1px solid #23414F;padding-top:16px}
.site-footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0}.site-footer a{color:#DCE8EC;text-decoration:none}.site-footer a:hover{color:var(--sun);text-decoration:underline}
.alignleft{float:left;margin:0 20px 10px 0}.alignright{float:right;margin:0 0 10px 20px}.aligncenter{display:block;margin:0 auto}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.hero,.guide,.res-actions,.skip{display:none!important}.result{background:#fff;border:0;padding:0}.result[hidden]{display:block}body{background:#fff}}

.calc-embed .calc{box-shadow:0 0 0 1px var(--line)}.calc-embed .result{margin-top:24px;border:1px solid var(--line);border-radius:12px}.calc-embed .result .wrap{padding:0 clamp(14px,3vw,28px)}
