/*
Theme Name: Dacha DeGruy
Theme URI: https://dachadegruy.com/
Author: Dacha DeGruy
Author URI: https://dachadegruy.com/
Description: Personal professional theme for Dacha DeGruy, a registered nurse in New Orleans, Louisiana. Fast, accessible, and search-optimized, with Person schema, geo tags, AEO-ready page structure, internal linking, and an automatic setup that creates the site's pages and blog on activation. Works on its own or alongside Yoast SEO.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.8
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: dacha-degruy
Tags: one-column, custom-menu, accessibility-ready, blog
*/

:root{
  --dd-ink:#1d2a30; --dd-muted:#4d5f66; --dd-brand:#16404d; --dd-brand-2:#1f5a6b;
  --dd-accent:#7ec4c4; --dd-tint:#eef6f6; --dd-line:#d6e3e5; --dd-bg:#ffffff;
  --dd-radius:10px; --dd-max:1120px; --dd-read:72ch;
  --dd-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--dd-font);font-size:1.0625rem;line-height:1.7;color:var(--dd-ink);background:var(--dd-bg)}
a{color:var(--dd-brand-2);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--dd-brand)}
:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
h1,h2,h3{line-height:1.25;color:var(--dd-brand);margin:1.8em 0 .5em}
h1{font-size:clamp(1.9rem,4vw,2.6rem);margin-top:.3em}
h2{font-size:clamp(1.35rem,2.6vw,1.7rem)}
h3{font-size:1.15rem}
p,ul,ol,table{margin:0 0 1.1em}
img{max-width:100%;height:auto}
.dd-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.dd-skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6em 1em;z-index:100}
.dd-skip:focus{left:1em;top:1em}
.dd-wrap{max-width:var(--dd-max);margin:0 auto;padding:0 1.25rem}

/* Header */
.dd-header{border-bottom:1px solid var(--dd-line);background:#fff;position:sticky;top:0;z-index:50}
.dd-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.dd-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--dd-ink)}
.dd-brand-text{display:flex;flex-direction:column;line-height:1.2}
.dd-brand-name{font-weight:700;font-size:1.1rem;color:var(--dd-brand)}
.dd-brand-tag{font-size:.8rem;color:var(--dd-muted);white-space:nowrap}
.dd-monogram{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--dd-brand);color:#fff;font-weight:600;letter-spacing:-.02em;box-shadow:inset 0 0 0 2px var(--dd-brand),inset 0 0 0 4px var(--dd-accent)}
.dd-monogram-sm{width:40px;height:40px;font-size:.95rem;box-shadow:none}
.dd-monogram-lg{width:120px;height:120px;font-size:2.6rem;flex:0 0 auto}
.dd-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:.1rem}
.dd-menu a{display:block;white-space:nowrap;padding:.45rem .6rem;border-radius:6px;text-decoration:none;color:var(--dd-ink);font-size:.95rem}
.dd-menu a:hover,.dd-menu .current-menu-item>a,.dd-menu .current_page_item>a{background:var(--dd-tint);color:var(--dd-brand)}
.dd-nav-toggle{display:none;background:none;border:1px solid var(--dd-line);border-radius:8px;width:44px;height:44px;cursor:pointer}
.dd-nav-toggle-bars,.dd-nav-toggle-bars::before,.dd-nav-toggle-bars::after{display:block;width:20px;height:2px;background:var(--dd-brand);margin:0 auto;position:relative;content:""}
.dd-nav-toggle-bars::before{position:absolute;top:-6px}
.dd-nav-toggle-bars::after{position:absolute;top:6px}
@media (max-width:1180px){
  .dd-nav-toggle{display:block}
  .dd-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--dd-line);padding:.5rem 1.25rem 1rem}
  .dd-nav.is-open{display:block}
  .dd-menu{flex-direction:column}
  .dd-menu a{padding:.75rem .5rem;font-size:1rem}
}

/* Hero */
.dd-hero{background:linear-gradient(180deg,var(--dd-tint),#fff);border-bottom:1px solid var(--dd-line)}
.dd-hero-inner{display:flex;gap:2rem;align-items:center;padding-top:3rem;padding-bottom:3rem}
.dd-hero h1{margin:0 0 .2em}
.dd-hero-sub{font-size:1.2rem;color:var(--dd-muted);margin-bottom:.8em}
.dd-hero-facts{list-style:none;padding:0;margin:0 0 1.2em}
.dd-hero-facts li{padding-left:1.4em;position:relative}
.dd-hero-facts li::before{content:"";position:absolute;left:0;top:.65em;width:.55em;height:.55em;border-radius:50%;background:var(--dd-accent)}
.dd-btn{display:inline-block;background:var(--dd-brand);color:#fff;padding:.7rem 1.1rem;border-radius:8px;text-decoration:none;font-weight:600;margin:.2rem .4rem .2rem 0}
.dd-btn:hover{background:var(--dd-brand-2);color:#fff}
.dd-btn-ghost{background:#fff;color:var(--dd-brand);border:2px solid var(--dd-brand)}
.dd-btn-ghost:hover{background:var(--dd-tint);color:var(--dd-brand)}
@media (max-width:640px){.dd-hero-inner{flex-direction:column;align-items:flex-start;gap:1rem;padding-top:2rem;padding-bottom:2rem}.dd-monogram-lg{width:84px;height:84px;font-size:1.8rem}}

/* Content */
.dd-main{padding-bottom:3rem}
.dd-content-wrap{padding-top:1.5rem}
.dd-entry{max-width:var(--dd-read)}
.dd-entry-header h1{margin-bottom:.2em}
.dd-entry-sub,.dd-lede{color:var(--dd-muted);font-size:1.05rem}
.dd-kicker{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700;margin:0 0 .3em}
.dd-kicker a{text-decoration:none}
.dd-post-meta,.dd-meta-line,.dd-updated,.dd-source,.dd-note{color:var(--dd-muted);font-size:.9rem}
.dd-meta-line{margin-top:-.4em}
.dd-entry-content ul,.dd-entry-content ol{padding-left:1.3em}
.dd-entry-content li{margin-bottom:.35em}

.dd-quick-answer{background:var(--dd-tint);border-left:5px solid var(--dd-brand);border-radius:var(--dd-radius);padding:1rem 1.2rem;margin:1rem 0 1.6rem}
.dd-quick-answer p:last-child{margin-bottom:0}
.dd-qa-label,.dd-practice-label{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700;color:var(--dd-brand);margin:0 0 .3em}
.dd-practice{border:1px solid var(--dd-line);border-radius:var(--dd-radius);padding:1rem 1.2rem;margin:1.6rem 0;background:#fff;box-shadow:0 1px 0 var(--dd-line)}
.dd-practice p:last-child{margin-bottom:0}

.dd-table{width:100%;border-collapse:collapse;font-size:.97rem;display:block;overflow-x:auto}
.dd-table th,.dd-table td{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--dd-line)}
.dd-table thead th{background:var(--dd-tint);color:var(--dd-brand)}
.dd-table tbody th{color:var(--dd-brand);white-space:nowrap}

.dd-chips{list-style:none;padding:0!important;display:flex;flex-wrap:wrap;gap:.5rem}
.dd-chips li{background:var(--dd-tint);color:var(--dd-brand);border-radius:999px;padding:.3rem .8rem;font-size:.92rem;margin:0}

.dd-faq{border-top:2px solid var(--dd-line);margin-top:2.4rem;padding-top:.4rem}
.dd-faq h3{margin-top:1.3em}
.dd-sources{font-size:.92rem;border-top:1px solid var(--dd-line);margin-top:2rem}
.dd-sources h2{font-size:1.1rem}
.dd-disclaimer{font-size:.9rem;color:var(--dd-muted);border-top:1px solid var(--dd-line);padding-top:1rem;margin-top:2rem}

/* Breadcrumbs */
.dd-breadcrumbs ol{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-wrap:wrap;font-size:.88rem;color:var(--dd-muted)}
.dd-breadcrumbs li+li::before{content:"/";padding:0 .45em;color:var(--dd-line)}

/* Cards */
.dd-related{margin-top:2.6rem}
.dd-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.dd-card a{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:1rem 1.1rem;border:1px solid var(--dd-line);border-radius:var(--dd-radius);text-decoration:none;color:var(--dd-ink);transition:border-color .15s}
.dd-card a:hover{border-color:var(--dd-brand-2)}
.dd-card-title{font-weight:700;color:var(--dd-brand)}
.dd-card-text{font-size:.92rem;color:var(--dd-muted)}

/* Author */
.dd-author{display:flex;gap:1rem;align-items:flex-start;background:var(--dd-tint);border-radius:var(--dd-radius);padding:1.2rem;margin-top:2rem}
.dd-author .dd-monogram{width:56px;height:56px;flex:0 0 auto;font-size:1.2rem;box-shadow:none}
.dd-author p{margin:0 0 .4em;font-size:.95rem}
.dd-author-name{font-weight:700;font-size:1.05rem!important}
.dd-author-role{color:var(--dd-muted)}

/* Blog list */
.dd-cat-nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}
.dd-cat-nav a{display:block;border:1px solid var(--dd-line);border-radius:999px;padding:.3rem .85rem;text-decoration:none;font-size:.9rem}
.dd-post-list{list-style:none;padding:0;margin:0;display:grid;gap:1.2rem;max-width:var(--dd-read)}
.dd-post-card{border-bottom:1px solid var(--dd-line);padding-bottom:1.2rem}
.dd-post-card h2{margin:.1em 0 .3em;font-size:1.3rem}
.dd-post-card h2 a{text-decoration:none}
.nav-links{display:flex;gap:.5rem;margin-top:1.5rem}
.nav-links .page-numbers{padding:.4rem .75rem;border:1px solid var(--dd-line);border-radius:6px;text-decoration:none}
.nav-links .current{background:var(--dd-brand);color:#fff;border-color:var(--dd-brand)}

/* Search */
.dd-search{display:flex;gap:.5rem;max-width:480px;margin:1rem 0}
.dd-search input{flex:1;padding:.6rem .8rem;border:1px solid var(--dd-line);border-radius:8px;font:inherit}
.dd-search button{padding:.6rem 1rem;border:0;border-radius:8px;background:var(--dd-brand);color:#fff;font:inherit;cursor:pointer}

/* Footer */
.dd-footer{background:var(--dd-brand);color:#e6f1f2;margin-top:2rem;font-size:.95rem}
.dd-footer a{color:#fff}
.dd-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding-top:2.5rem;padding-bottom:1.5rem}
.dd-footer-name{font-weight:700;font-size:1.15rem;color:#fff;margin-bottom:.2em}
.dd-footer-small{font-size:.88rem;opacity:.9}
.dd-footer-h{font-weight:700;color:#fff;margin-bottom:.5em}
.dd-footer-menu,.dd-social{list-style:none;padding:0;margin:0}
.dd-footer-menu li{margin-bottom:.35em}
.dd-social{display:flex;gap:1rem;margin-top:.6rem}
.dd-footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;padding-bottom:1.5rem;font-size:.85rem;opacity:.92}
.dd-footer-bottom p{margin:0 0 .4em}
@media (max-width:760px){.dd-footer-grid{grid-template-columns:1fr}}

@media print{.dd-header,.dd-footer,.dd-related,.dd-nav-toggle{display:none}body{font-size:12pt}}
