/*
Theme Name: 366 Days
Theme URI: https://366days.net/
Author: 366 Days
Author URI: https://366days.net/
Description: A professional, modern WordPress theme crafted for 366days.net — a daily devotional ministry. Fully compatible with the Elementor page builder: every page can be designed in the Elementor editor. Includes an automatic Daily Devotional engine (a fresh devotional every day of the year), one-click demo page setup, Customizer controls for colors, hero and footer, and elegant reading-focused templates for articles.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: days366
Tags: devotional, blog, christian, elementor, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, one-column, two-columns, right-sidebar
*/

/* ============================================================
   366 DAYS — Design System
   ============================================================ */
:root{
  --d366-ink:#16202e;
  --d366-ink-2:#223047;
  --d366-ink-3:#2f3f5c;
  --d366-gold:#c39a3b;
  --d366-gold-deep:#a37f2a;
  --d366-gold-soft:#efe3c2;
  --d366-cream:#faf6ec;
  --d366-paper:#fffdf7;
  --d366-text:#3c4557;
  --d366-muted:#7c8496;
  --d366-line:#e9e2d2;
  --d366-white:#ffffff;
  --d366-shadow:0 18px 45px -18px rgba(22,32,46,.28);
  --d366-radius:18px;
  --d366-font-serif:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif;
  --d366-font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --d366-container:1180px;
  --d366-reading:760px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--d366-cream);
  color:var(--d366-text);
  font-family:var(--d366-font-sans);
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{color:var(--d366-gold-deep);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--d366-ink)}
h1,h2,h3,h4,h5,h6{
  font-family:var(--d366-font-serif);
  color:var(--d366-ink);
  line-height:1.2;
  font-weight:600;
  margin:0 0 .6em;
  letter-spacing:.01em;
}
h1{font-size:clamp(2.2rem,4.5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
h3{font-size:1.45rem}
h4{font-size:1.2rem}
p{margin:0 0 1.2em}
blockquote{
  margin:1.8em 0;padding:1.2em 1.6em;
  border-left:3px solid var(--d366-gold);
  background:var(--d366-paper);
  font-family:var(--d366-font-serif);
  font-size:1.25rem;color:var(--d366-ink);
  border-radius:0 var(--d366-radius) var(--d366-radius) 0;
}
ul,ol{margin:0 0 1.2em;padding-left:1.4em}
hr{border:0;border-top:1px solid var(--d366-line);margin:2em 0}

/* ---------- Layout helpers ---------- */
.d366-container{max-width:var(--d366-container);margin:0 auto;padding:0 24px}
.d366-reading{max-width:var(--d366-reading);margin:0 auto}
.d366-section{padding:84px 0}
.d366-section--tight{padding:56px 0}
.d366-eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--d366-gold-deep);margin-bottom:1em;
}
.d366-eyebrow::before{content:"";width:34px;height:2px;background:var(--d366-gold);display:inline-block}
.d366-section-title{text-align:left;margin-bottom:.4em}
.d366-lead{font-size:1.15rem;color:var(--d366-muted);max-width:640px}
.d366-center{text-align:center}
.d366-center .d366-lead{margin-left:auto;margin-right:auto}
.d366-center .d366-eyebrow::after{content:"";width:34px;height:2px;background:var(--d366-gold);display:inline-block}
.d366-divider{width:72px;height:3px;background:linear-gradient(90deg,var(--d366-gold),var(--d366-gold-soft));border-radius:3px;margin:1.4em 0}
.d366-center .d366-divider{margin-left:auto;margin-right:auto}

/* ---------- Buttons ---------- */
.d366-btn,.wp-block-button__link,button.d366-btn,input[type="submit"].d366-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--d366-font-sans);font-weight:600;font-size:.95rem;letter-spacing:.04em;
  padding:.95em 2em;border-radius:999px;border:1px solid transparent;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  text-decoration:none;
}
.d366-btn--gold{background:linear-gradient(135deg,var(--d366-gold),var(--d366-gold-deep));color:#fff;box-shadow:0 10px 24px -10px rgba(163,127,42,.7)}
.d366-btn--gold:hover{background:linear-gradient(135deg,var(--d366-gold-deep),var(--d366-gold));color:#fff;transform:translateY(-2px)}
.d366-btn--ink{background:var(--d366-ink);color:#fff}
.d366-btn--ink:hover{background:var(--d366-ink-2);color:#fff;transform:translateY(-2px)}
.d366-btn--outline{border-color:var(--d366-gold);color:var(--d366-gold-deep);background:transparent}
.d366-btn--outline:hover{background:var(--d366-gold);color:#fff;transform:translateY(-2px)}
.d366-btn--light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}
.d366-btn--light:hover{background:rgba(255,255,255,.22);color:#fff}

/* ---------- Header ---------- */
.d366-topbar{
  background:var(--d366-ink);color:#cfd6e2;font-size:.82rem;
  padding:.55em 0;letter-spacing:.03em;
}
.d366-topbar .d366-container{display:flex;justify-content:space-between;align-items:center;gap:1em}
.d366-topbar a{color:var(--d366-gold-soft)}
.d366-topbar a:hover{color:#fff}
.d366-site-header{
  background:rgba(255,253,247,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--d366-line);
  position:sticky;top:0;z-index:200;
}
.d366-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5em;padding:.9em 0}
.d366-brand{display:flex;align-items:center;gap:.8em;color:var(--d366-ink)}
.d366-brand:hover{color:var(--d366-ink)}
.d366-brand-mark{
  width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,var(--d366-gold-soft),var(--d366-gold) 62%,var(--d366-gold-deep));
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:var(--d366-font-serif);font-weight:700;font-size:1.05rem;
  box-shadow:0 8px 18px -8px rgba(163,127,42,.8);flex:0 0 auto;
}
.d366-brand-text{line-height:1.15}
.d366-brand-name{font-family:var(--d366-font-serif);font-size:1.5rem;font-weight:700;color:var(--d366-ink);display:block}
.d366-brand-tag{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--d366-gold-deep);font-weight:600}
.custom-logo{max-height:56px;width:auto}

/* Primary nav */
.d366-nav{display:flex;align-items:center}
.d366-menu{list-style:none;margin:0;padding:0;display:flex;gap:.2em;align-items:center}
.d366-menu>li{position:relative}
.d366-menu>li>a{
  display:block;padding:.8em 1em;color:var(--d366-ink);font-weight:500;font-size:.95rem;
  border-radius:10px;white-space:nowrap;
}
.d366-menu>li>a:hover{color:var(--d366-gold-deep);background:rgba(195,154,59,.08)}
.d366-menu .sub-menu{
  position:absolute;top:100%;left:0;min-width:240px;list-style:none;margin:0;padding:.6em;
  background:#fff;border:1px solid var(--d366-line);border-radius:14px;box-shadow:var(--d366-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s ease;z-index:300;
}
.d366-menu li:hover>.sub-menu,.d366-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.d366-menu .sub-menu a{display:block;padding:.7em 1em;color:var(--d366-text);border-radius:8px;font-size:.93rem}
.d366-menu .sub-menu a:hover{background:var(--d366-cream);color:var(--d366-gold-deep)}
.d366-menu .current-menu-item>a,.d366-menu .current-page-ancestor>a{color:var(--d366-gold-deep);font-weight:600}
.d366-menu-toggle{
  display:none;background:none;border:1px solid var(--d366-line);border-radius:10px;
  padding:.6em .8em;cursor:pointer;color:var(--d366-ink);font-size:1.1rem;line-height:1;
}
.d366-header-cta{flex:0 0 auto}

/* ---------- Hero ---------- */
.d366-hero{
  position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(1200px 600px at 80% -10%,#33456a 0%,var(--d366-ink-2) 38%,var(--d366-ink) 100%);
  padding:110px 0 120px;
}
.d366-hero::before{
  content:"";position:absolute;inset:0;opacity:.14;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1.6px);
  background-size:34px 34px;
  mask-image:radial-gradient(700px 420px at 50% 0%,#000 30%,transparent 75%);
}
.d366-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;
  background:var(--d366-cream);
  clip-path:ellipse(60% 100% at 50% 100%);
}
.d366-hero-inner{position:relative;z-index:2;text-align:center;max-width:820px;margin:0 auto}
.d366-hero .d366-eyebrow{color:var(--d366-gold-soft);justify-content:center}
.d366-hero .d366-eyebrow::before{background:var(--d366-gold-soft)}
.d366-hero h1{color:#fff;font-weight:600;margin-bottom:.35em}
.d366-hero h1 em{font-style:italic;color:var(--d366-gold-soft)}
.d366-hero p.d366-lead{color:#c7cfdd;margin:0 auto 2em}
.d366-hero-actions{display:flex;gap:1em;justify-content:center;flex-wrap:wrap}
.d366-hero-verse{
  margin-top:2.6em;font-family:var(--d366-font-serif);font-style:italic;
  color:var(--d366-gold-soft);font-size:1.12rem;
}
.d366-hero-verse cite{display:block;font-style:normal;font-family:var(--d366-font-sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#9aa5ba;margin-top:.5em}

/* ---------- Daily devotional card ---------- */
.d366-devotional-wrap{margin-top:-64px;position:relative;z-index:5}
.d366-devotional{
  background:var(--d366-paper);border:1px solid var(--d366-line);
  border-radius:26px;box-shadow:var(--d366-shadow);
  overflow:hidden;max-width:920px;margin:0 auto;
}
.d366-devotional-head{
  display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:wrap;
  padding:1.6em 2.2em;border-bottom:1px solid var(--d366-line);
  background:linear-gradient(180deg,#fff,var(--d366-cream));
}
.d366-devotional-date{display:flex;align-items:center;gap:1em}
.d366-date-badge{
  width:64px;height:64px;border-radius:18px;flex:0 0 auto;
  background:linear-gradient(135deg,var(--d366-ink),var(--d366-ink-3));color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;
  box-shadow:0 10px 20px -10px rgba(22,32,46,.6);
}
.d366-date-badge .d{font-family:var(--d366-font-serif);font-size:1.5rem;font-weight:700}
.d366-date-badge .m{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--d366-gold-soft)}
.d366-devotional-date .t{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--d366-gold-deep);font-weight:700}
.d366-devotional-date .s{font-family:var(--d366-font-serif);font-size:1.3rem;color:var(--d366-ink)}
.d366-devotional-nav{display:flex;gap:.5em}
.d366-devotional-nav a{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--d366-line);
  display:inline-flex;align-items:center;justify-content:center;color:var(--d366-ink);
  background:#fff;font-size:1.05rem;
}
.d366-devotional-nav a:hover{border-color:var(--d366-gold);color:var(--d366-gold-deep);transform:translateY(-2px)}
.d366-devotional-body{padding:2.4em 2.6em 2.8em}
.d366-devotional-title{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:.2em;text-align:center}
.d366-devotional-ref{
  text-align:center;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--d366-gold-deep);font-weight:700;margin-bottom:1.6em;
}
.d366-devotional-verse{
  font-family:var(--d366-font-serif);font-size:1.35rem;font-style:italic;color:var(--d366-ink);
  text-align:center;max-width:640px;margin:0 auto 1.6em;line-height:1.6;
  padding:1.2em 1em;border-top:1px solid var(--d366-line);border-bottom:1px solid var(--d366-line);
}
.d366-devotional-text{max-width:680px;margin:0 auto 1.8em;font-size:1.05rem}
.d366-devotional-prayer{
  max-width:680px;margin:0 auto;background:linear-gradient(180deg,#fff,var(--d366-cream));
  border:1px solid var(--d366-line);border-radius:var(--d366-radius);padding:1.6em 1.8em;
}
.d366-devotional-prayer .ph{
  font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--d366-gold-deep);
  font-weight:700;margin-bottom:.6em;display:flex;align-items:center;gap:.6em;
}
.d366-devotional-prayer p{margin:0;font-style:italic;font-family:var(--d366-font-serif);font-size:1.12rem;color:var(--d366-ink-2)}
.d366-devotional-foot{text-align:center;margin-top:1.8em}

/* ---------- Topic / page cards ---------- */
.d366-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6em;margin-top:2.6em}
.d366-card{
  background:var(--d366-paper);border:1px solid var(--d366-line);border-radius:var(--d366-radius);
  padding:2.2em 2em;position:relative;overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
  display:flex;flex-direction:column;
}
.d366-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--d366-gold),var(--d366-gold-soft));
  opacity:0;transition:opacity .22s ease;
}
.d366-card:hover{transform:translateY(-6px);box-shadow:var(--d366-shadow)}
.d366-card:hover::before{opacity:1}
.d366-card-icon{
  width:54px;height:54px;border-radius:16px;margin-bottom:1.2em;
  background:linear-gradient(135deg,rgba(195,154,59,.16),rgba(195,154,59,.05));
  border:1px solid rgba(195,154,59,.35);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--d366-gold-deep);
}
.d366-card h3{margin-bottom:.4em;font-size:1.35rem}
.d366-card p{color:var(--d366-muted);font-size:.98rem;flex:1}
.d366-card-link{font-weight:600;font-size:.92rem;color:var(--d366-gold-deep);display:inline-flex;align-items:center;gap:.4em;margin-top:1em}
.d366-card-link:hover{color:var(--d366-ink);gap:.7em}

/* ---------- Feature / split sections ---------- */
.d366-split{display:grid;grid-template-columns:1fr 1fr;gap:4em;align-items:center}
.d366-split-img{
  border-radius:26px;overflow:hidden;box-shadow:var(--d366-shadow);position:relative;min-height:380px;
  background:linear-gradient(135deg,var(--d366-ink-2),var(--d366-ink));
  display:flex;align-items:center;justify-content:center;color:var(--d366-gold-soft);
  font-family:var(--d366-font-serif);font-size:1.6rem;font-style:italic;text-align:center;padding:2em;
}
.d366-split-img::after{
  content:"";position:absolute;inset:14px;border:1px solid rgba(239,227,194,.4);border-radius:18px;pointer-events:none;
}
.d366-checklist{list-style:none;margin:1.6em 0;padding:0}
.d366-checklist li{position:relative;padding-left:2.2em;margin-bottom:.9em}
.d366-checklist li::before{
  content:"✓";position:absolute;left:0;top:.1em;width:1.5em;height:1.5em;border-radius:50%;
  background:rgba(195,154,59,.14);border:1px solid rgba(195,154,59,.4);color:var(--d366-gold-deep);
  display:inline-flex;align-items:center;justify-content:center;font-size:.85em;font-weight:700;
}

/* ---------- CTA band ---------- */
.d366-cta{
  border-radius:28px;overflow:hidden;position:relative;color:#fff;text-align:center;
  background:radial-gradient(900px 480px at 50% -20%,#3a4f78 0%,var(--d366-ink-2) 45%,var(--d366-ink) 100%);
  padding:4.5em 2.5em;box-shadow:var(--d366-shadow);
}
.d366-cta::before{
  content:"“";position:absolute;top:-.35em;left:50%;transform:translateX(-50%);
  font-family:var(--d366-font-serif);font-size:11rem;color:rgba(195,154,59,.16);line-height:1;
}
.d366-cta h2{color:#fff;position:relative}
.d366-cta p{color:#c7cfdd;max-width:560px;margin:0 auto 2em;position:relative}
.d366-cta .d366-hero-actions{position:relative}

/* ---------- Blog / articles ---------- */
.d366-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6em;margin-top:2.6em}
.d366-post{
  background:var(--d366-paper);border:1px solid var(--d366-line);border-radius:var(--d366-radius);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease;
}
.d366-post:hover{transform:translateY(-6px);box-shadow:var(--d366-shadow)}
.d366-post-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--d366-ink-3),var(--d366-ink));position:relative;overflow:hidden}
.d366-post-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.d366-post-thumb .d366-post-cat{
  position:absolute;top:14px;left:14px;background:rgba(22,32,46,.85);color:var(--d366-gold-soft);
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:.5em 1em;border-radius:999px;
}
.d366-post-body{padding:1.8em;display:flex;flex-direction:column;flex:1}
.d366-post-meta{font-size:.8rem;color:var(--d366-muted);margin-bottom:.6em;display:flex;gap:1em;align-items:center}
.d366-post-body h3{font-size:1.3rem;margin-bottom:.5em}
.d366-post-body h3 a{color:var(--d366-ink)}
.d366-post-body h3 a:hover{color:var(--d366-gold-deep)}
.d366-post-body p{font-size:.96rem;color:var(--d366-muted);flex:1}
.d366-readmore{font-weight:600;font-size:.9rem;color:var(--d366-gold-deep)}

/* ---------- Page hero (inner pages) ---------- */
.d366-page-hero{
  background:radial-gradient(900px 420px at 50% -10%,#33456a 0%,var(--d366-ink-2) 45%,var(--d366-ink) 100%);
  color:#fff;padding:84px 0 96px;text-align:center;position:relative;overflow:hidden;
}
.d366-page-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:var(--d366-cream);
  clip-path:ellipse(60% 100% at 50% 100%);
}
.d366-page-hero h1{color:#fff;margin-bottom:.3em}
.d366-page-hero .d366-eyebrow{color:var(--d366-gold-soft);justify-content:center}
.d366-page-hero .d366-eyebrow::before{background:var(--d366-gold-soft)}
.d366-breadcrumbs{font-size:.85rem;color:#9aa5ba;margin-top:1.2em}
.d366-breadcrumbs a{color:var(--d366-gold-soft)}
.d366-page-body{background:var(--d366-paper);border:1px solid var(--d366-line);border-radius:26px;
  box-shadow:var(--d366-shadow);padding:3.2em 3.4em;margin:-40px auto 0;position:relative;z-index:5;max-width:920px}
.d366-page-body h2:first-child{margin-top:0}
.d366-content-area{padding:70px 0 90px}

/* ---------- Sidebar layout ---------- */
.d366-layout{display:grid;grid-template-columns:1fr 320px;gap:3em;align-items:start}
.d366-sidebar .widget{
  background:var(--d366-paper);border:1px solid var(--d366-line);border-radius:var(--d366-radius);
  padding:1.8em;margin-bottom:1.6em;
}
.d366-sidebar .widget-title{font-size:1.15rem;margin-bottom:1em;padding-bottom:.6em;border-bottom:2px solid var(--d366-gold-soft)}
.d366-sidebar ul{list-style:none;margin:0;padding:0}
.d366-sidebar li{padding:.55em 0;border-bottom:1px solid var(--d366-line);font-size:.95rem}
.d366-sidebar li:last-child{border-bottom:0}

/* ---------- Footer ---------- */
.d366-site-footer{background:var(--d366-ink);color:#aeb7c8;margin-top:0}
.d366-footer-main{padding:70px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5em}
.d366-footer-brand .d366-brand-name{color:#fff}
.d366-footer-brand p{font-size:.94rem}
.d366-footer-heading{color:#fff;font-family:var(--d366-font-sans);font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.2em}
.d366-footer-menu{list-style:none;margin:0;padding:0}
.d366-footer-menu li{margin-bottom:.55em}
.d366-footer-menu a{color:#aeb7c8;font-size:.94rem}
.d366-footer-menu a:hover{color:var(--d366-gold-soft)}
.d366-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.4em 0;font-size:.85rem;
  display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap}
.d366-footer-bottom a{color:var(--d366-gold-soft)}

/* ---------- Forms ---------- */
input[type="text"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],textarea,select{
  width:100%;padding:.9em 1.1em;border:1px solid var(--d366-line);border-radius:12px;
  font-family:var(--d366-font-sans);font-size:1rem;background:#fff;color:var(--d366-text);
  transition:border-color .2s ease,box-shadow .2s ease;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--d366-gold);box-shadow:0 0 0 3px rgba(195,154,59,.15)}
label{font-weight:600;font-size:.92rem;color:var(--d366-ink);display:block;margin-bottom:.4em}
button,input[type="submit"]{
  background:linear-gradient(135deg,var(--d366-gold),var(--d366-gold-deep));color:#fff;border:0;
  padding:.95em 2em;border-radius:999px;font-weight:600;cursor:pointer;font-size:.95rem;
  transition:transform .18s ease;
}
button:hover,input[type="submit"]:hover{transform:translateY(-2px)}

/* ---------- Comments ---------- */
.d366-comments{margin-top:3em;padding-top:2em;border-top:1px solid var(--d366-line)}
.comment-list{list-style:none;margin:0;padding:0}
.comment{margin-bottom:1.6em}
.comment .comment-body{background:var(--d366-cream);border:1px solid var(--d366-line);border-radius:14px;padding:1.4em 1.6em}
.comment-author{font-weight:700;color:var(--d366-ink)}
.comment-meta{font-size:.82rem;color:var(--d366-muted);margin-bottom:.6em}
.comment-reply-link{font-size:.85rem;font-weight:600}

/* ---------- Pagination ---------- */
.d366-pagination{display:flex;gap:.5em;justify-content:center;margin-top:3em}
.d366-pagination .page-numbers{
  min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--d366-line);border-radius:12px;background:#fff;color:var(--d366-ink);font-weight:600;
}
.d366-pagination .page-numbers.current,.d366-pagination .page-numbers:hover{
  background:var(--d366-ink);color:#fff;border-color:var(--d366-ink);
}

/* ---------- 404 ---------- */
.d366-404{text-align:center;padding:80px 0}
.d366-404 .big{font-family:var(--d366-font-serif);font-size:7rem;color:var(--d366-gold-soft);line-height:1}

/* ---------- Elementor compatibility ---------- */
.elementor-page .d366-page-body,
.page-template-elementor_canvas .d366-content-area,
.page-template-elementor_header_footer .d366-content-area{all:unset}
body.elementor-editor-active .d366-site-header{position:static}
.d366-fullwidth{max-width:100%;padding:0}

/* ---------- Animations ---------- */
@keyframes d366FadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.d366-reveal{animation:d366FadeUp .8s ease both}
.d366-reveal-1{animation-delay:.1s}.d366-reveal-2{animation-delay:.22s}.d366-reveal-3{animation-delay:.34s}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .d366-cards,.d366-posts{grid-template-columns:repeat(2,1fr)}
  .d366-split{grid-template-columns:1fr;gap:2.5em}
  .d366-footer-main{grid-template-columns:1fr 1fr}
  .d366-layout{grid-template-columns:1fr}
}
@media (max-width:760px){
  .d366-menu-toggle{display:block}
  .d366-nav .d366-menu{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;padding:1em;gap:0;
    border-bottom:1px solid var(--d366-line);box-shadow:var(--d366-shadow);
  }
  .d366-nav{position:relative}
  .d366-nav.open .d366-menu{display:flex}
  .d366-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 1em}
  .d366-header-cta{display:none}
  .d366-cards,.d366-posts{grid-template-columns:1fr}
  .d366-devotional-body{padding:1.8em 1.4em 2.2em}
  .d366-devotional-head{padding:1.2em 1.4em}
  .d366-page-body{padding:2em 1.4em;margin:-30px 12px 0}
  .d366-section{padding:60px 0}
  .d366-hero{padding:80px 0 100px}
  .d366-footer-main{grid-template-columns:1fr}
}

/* ============================================================
   366 DAYS — Homepage sections + WooCommerce
   ============================================================ */

/* Anchored homepage sections */
.d366-hsection{padding:84px 0;scroll-margin-top:110px}
.d366-hsection--alt{background:var(--d366-paper);border-top:1px solid var(--d366-line);border-bottom:1px solid var(--d366-line)}
.d366-hsection--dark{background:radial-gradient(900px 480px at 50% 0%,#33456a 0%,var(--d366-ink-2) 45%,var(--d366-ink) 100%);color:#dfe4ee}
.d366-hsection--dark h2,.d366-hsection--dark h3,.d366-hsection--dark h4{color:#fff}
.d366-hsection--dark .d366-eyebrow{color:var(--d366-gold-soft)}
.d366-hsection--dark .d366-eyebrow::before{background:var(--d366-gold-soft)}
.d366-hsection--dark .d366-lead{color:#aeb7c8}
.d366-hsection--dark a{color:var(--d366-gold-soft)}
.d366-hsection--dark blockquote{background:rgba(255,255,255,.06);border-left-color:var(--d366-gold);color:#fff}
.d366-hsection-body{margin-top:1.6em}
.d366-hsection-body h3{margin-top:1.6em}
.d366-hsection-body h3:first-child{margin-top:0}
.d366-resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6em;margin-top:1.6em}
.d366-resource-grid h4{font-family:var(--d366-font-sans);font-size:.85rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--d366-gold-deep);margin-bottom:.8em}
.d366-resource-grid ul{list-style:none;margin:0;padding:0}
.d366-resource-grid li{margin-bottom:.5em}
#today{scroll-margin-top:110px}

/* Slim hero variant */
.d366-page-hero--slim{padding:64px 0 76px}

/* ---------- WooCommerce ---------- */
.d366-woo{max-width:1080px}
.woocommerce .d366-page-body,.d366-woo.woocommerce{font-size:1rem}
.woocommerce a{color:var(--d366-gold-deep)}
.woocommerce a:hover{color:var(--d366-ink)}
.woocommerce span.onsale{
  background:linear-gradient(135deg,var(--d366-gold),var(--d366-gold-deep));
  color:#fff;font-weight:700;
}
.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{color:var(--d366-gold-deep);font-weight:700;font-size:1.25em}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:linear-gradient(135deg,var(--d366-gold),var(--d366-gold-deep));
  color:#fff;border-radius:999px;padding:.95em 2em;font-weight:600;
  transition:transform .18s ease;
}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:linear-gradient(135deg,var(--d366-gold-deep),var(--d366-gold));
  color:#fff;transform:translateY(-2px);
}
.woocommerce ul.products li.product{
  background:var(--d366-paper);border:1px solid var(--d366-line);border-radius:var(--d366-radius);
  padding:1.4em;text-align:center;transition:transform .22s ease,box-shadow .22s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--d366-shadow)}
.woocommerce ul.products li.product a img{border-radius:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--d366-font-serif);font-size:1.25rem;color:var(--d366-ink)}
.woocommerce div.product .product_title{font-family:var(--d366-font-serif);font-size:2.2rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:12px}
.woocommerce-message{border-top-color:var(--d366-gold)}
.woocommerce table.shop_table{border-radius:12px;overflow:hidden}
.woocommerce .quantity .qty{width:4.5em;padding:.6em;border-radius:10px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{
  border:1px solid var(--d366-line);border-radius:12px;padding:.9em 1.1em;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{
  border-color:var(--d366-gold);box-shadow:0 0 0 3px rgba(195,154,59,.15);outline:none;
}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{border-radius:14px;background:var(--d366-cream)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 1.5em;padding:0}
.woocommerce-MyAccount-navigation li{padding:.5em 0;border-bottom:1px solid var(--d366-line)}
@media (max-width:760px){
  .d366-hsection{padding:60px 0}
  .d366-resource-grid{grid-template-columns:1fr 1fr}
}
