/* ============================================================
   Echo Ink Books — WordPress shell v2
   Collision-resistant header/footer CSS
   ============================================================ */

:root {
  --ink:#16324f;
  --cream:#fff7ea;
  --sky:#dceffc;
  --gold:#f6c44f;
  --coral:#e9785b;
  --white:#ffffff;
  --border:#e8dcc8;
  --muted:#53687b;
  --shadow-sm:0 10px 26px rgba(22,50,79,.08);
  --container:1200px;
}

body.echo-ink-wordpress {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"Nunito Sans",Arial,sans-serif;
  line-height:1.65;
}

body.echo-ink-wordpress *,
body.echo-ink-wordpress *::before,
body.echo-ink-wordpress *::after {
  box-sizing:border-box;
}

body.echo-ink-wordpress img {
  max-width:100%;
  height:auto;
}

body.echo-ink-wordpress h1,
body.echo-ink-wordpress h2,
body.echo-ink-wordpress h3 {
  font-family:"Fraunces",Georgia,serif;
  line-height:1.08;
  letter-spacing:-.025em;
}

.ei-shell {
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding-left:28px;
  padding-right:28px;
}

/* Header */

.ei-site-header {
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:rgba(255,247,234,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,220,200,.9);
}

.admin-bar .ei-site-header {
  top:32px;
}

.ei-header-inner {
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.ei-logo {
  display:block;
  flex:0 0 auto;
  line-height:0;
  text-decoration:none;
}

.ei-logo img {
  display:block;
  width:105px;
  max-width:105px;
  height:auto;
}

.ei-nav-wrap {
  display:flex;
  align-items:center;
  gap:20px;
}

.ei-primary-nav > ul {
  display:flex;
  align-items:center;
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}

.ei-primary-nav li {
  position:relative;
  margin:0;
}

.ei-primary-nav a {
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
  font-size:.94rem;
}

.ei-primary-nav > ul > li > a {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:31px 0;
}

.ei-primary-nav a:hover,
.ei-primary-nav a:focus-visible,
.ei-current-section > a {
  color:var(--coral);
}

.ei-current-section > a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:20px;
  height:2px;
  border-radius:999px;
  background:var(--coral);
}

.ei-nav-caret {
  font-size:.67rem;
  opacity:.7;
}

.ei-dropdown-menu {
  display:none;
  position:absolute;
  top:calc(100% - 12px);
  left:-18px;
  z-index:1100;
  min-width:245px;
  margin:0;
  padding:12px;
  list-style:none;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}

.ei-dropdown-menu li {
  margin:0;
}

.ei-dropdown-menu a {
  display:block;
  padding:9px 12px;
  border-radius:10px;
  color:var(--ink);
  line-height:1.35;
  white-space:normal;
}

.ei-dropdown-menu a:hover,
.ei-dropdown-menu a:focus-visible {
  background:var(--cream);
}

.ei-has-dropdown:hover > .ei-dropdown-menu,
.ei-has-dropdown:focus-within > .ei-dropdown-menu {
  display:block;
}

.ei-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:11px 22px;
  border:2px solid transparent;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
}

.ei-button-primary {
  background:var(--gold);
  color:var(--ink);
}

.ei-menu-toggle {
  display:none;
  min-height:44px;
  padding:8px 13px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

/* Footer */

.ei-footer {
  width:100%;
  padding:52px 0 27px;
  background:var(--ink);
  color:var(--cream);
}

.ei-footer-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:50px;
  align-items:start;
}

.ei-footer-logo {
  display:block;
  width:105px;
  max-width:105px;
  height:auto;
  margin-bottom:20px;
  filter:brightness(0) invert(1);
  opacity:.95;
}

.ei-footer p {
  max-width:460px;
  margin:0 0 16px;
  color:var(--cream);
  opacity:.9;
}

.ei-footer-nav {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 32px;
}

.ei-footer-nav a {
  color:var(--cream);
  text-decoration:none;
  font-weight:700;
}

.ei-footer-nav a:hover,
.ei-footer-nav a:focus-visible {
  color:var(--gold);
}

.ei-copyright {
  margin-top:38px;
  padding-top:22px;
  border-top:1px solid rgba(255,247,234,.2);
  color:var(--cream);
  font-size:.88rem;
  opacity:.8;
}

/* Responsive */

@media(max-width:1100px) {
  .ei-primary-nav > ul {
    gap:14px;
  }

  .ei-primary-nav a {
    font-size:.89rem;
  }

  .ei-nav-wrap {
    gap:13px;
  }
}

@media(max-width:1020px) {
  .ei-header-inner {
    position:relative;
    min-height:82px;
  }

  .ei-menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .ei-header-cta {
    display:none;
  }

  .ei-primary-nav {
    display:none;
    position:absolute;
    left:28px;
    right:28px;
    top:calc(100% + 1px);
    z-index:1200;
    max-height:calc(100vh - 110px);
    overflow:auto;
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:0 0 22px 22px;
    box-shadow:var(--shadow-sm);
  }

  .ei-primary-nav.is-open {
    display:block;
  }

  .ei-primary-nav > ul {
    display:grid;
    gap:4px;
  }

  .ei-primary-nav > ul > li > a {
    display:flex;
    padding:10px 8px;
  }

  .ei-current-section > a::after {
    display:none;
  }

  .ei-dropdown-menu,
  .ei-has-dropdown:hover > .ei-dropdown-menu,
  .ei-has-dropdown:focus-within > .ei-dropdown-menu {
    display:grid;
    position:static;
    min-width:0;
    margin:0;
    padding:0 0 8px 18px;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }

  .ei-dropdown-menu a {
    padding:7px 10px;
    color:var(--muted);
    font-size:.9rem;
  }

  .ei-footer-grid {
    grid-template-columns:1fr;
  }
}

@media(max-width:782px) {
  .admin-bar .ei-site-header {
    top:46px;
  }
}

@media(max-width:680px) {
  .ei-shell {
    padding-left:20px;
    padding-right:20px;
  }

  .ei-primary-nav {
    left:20px;
    right:20px;
  }

  .ei-footer-nav {
    grid-template-columns:1fr;
  }
}