/* ============================================
   RANDOM BIBLE VERSE GENERATOR — DESIGN SYSTEM
   "Illuminated Page" theme
   Admin panel theme-customizer variables kept
   (--primary-color etc.) so the color pickers
   in admin/settings.php still work.
   ============================================ */
:root {
    /* admin-panel-controlled (kept for compatibility) */
    --primary-color: #7A2E3A;
    --secondary-color: #A9822E;
    --background-color: #F6F1E4;
    --text-color: #262019;
    --font-family: 'Inter', system-ui, sans-serif;
    --heading-font: 'Spectral', serif;
    --font-size-base: 16px;
    --link-color: #7A2E3A;
    --link-hover-color: #5c1f29;

    /* design tokens */
    --parchment: var(--background-color);
    --ink: var(--text-color);
    --ink-soft: #5c5344;
    --burgundy: var(--primary-color);
    --burgundy-dark: #5c1f29;
    --brass: var(--secondary-color);
    --card: #FFFDF7;
    --sage: #6E7B5C;
    --line: rgba(38,32,25,0.12);
}

*{box-sizing:border-box}
body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    background-color: var(--parchment);
    background-image:
      radial-gradient(circle at 15% 8%, rgba(169,130,46,0.05), transparent 40%),
      radial-gradient(circle at 85% 92%, rgba(122,46,58,0.05), transparent 40%);
    color: var(--ink);
    margin:0;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); font-weight:600; }
a { color: var(--link-color); text-decoration:none; }
a:hover { color: var(--link-hover-color); }
.wrap{max-width:760px;margin:0 auto;padding:0 1.5rem}

/* ---- NAV (shared across every page via header.php) ---- */
.site-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line);margin-bottom:2.2rem;max-width:900px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem;gap:1rem}
.site-brand{display:flex;align-items:center;gap:10px;font-family:var(--heading-font);font-weight:600;font-size:1.1rem;color:var(--ink);justify-self:center;white-space:nowrap}
.site-brand .mark{width:28px;height:28px;border-radius:3px;background:var(--burgundy);display:flex;align-items:center;justify-content:center;color:var(--brass);font-family:var(--heading-font);font-style:italic;font-weight:600;font-size:1rem;flex-shrink:0}
.site-nav .navlinks{display:flex;gap:1.4rem;font-size:0.84rem;color:var(--ink-soft);font-weight:500;justify-self:start;align-items:center}
.site-nav .navlinks a{color:var(--ink-soft);white-space:nowrap}
.site-nav .navlinks a:hover{color:var(--burgundy)}
.nav-right-spacer{justify-self:end}
.nav-toggle{display:none}
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;padding:0;z-index:210;justify-self:start}
.nav-hamburger span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:.25s ease}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-backdrop{display:none;position:fixed;inset:0;background:rgba(38,32,25,0.4);z-index:190;opacity:0;transition:opacity .25s ease}
.nav-backdrop.show{display:block;opacity:1}
@media(max-width:760px){
  .nav-hamburger{display:flex}
  .site-nav{grid-template-columns:auto 1fr auto}
  .site-brand{font-size:1rem}
  .site-nav .navlinks{
    position:fixed;top:0;left:-280px;width:260px;height:100vh;
    background:var(--card);flex-direction:column;align-items:flex-start;
    padding:5rem 1.5rem 2rem;gap:1.1rem;box-shadow:10px 0 30px rgba(38,32,25,0.15);
    transition:left .28s ease;z-index:200;overflow-y:auto;justify-self:start;
  }
  .site-nav .navlinks.open{left:0}
  .site-nav .navlinks a,.site-nav .navlinks .seal-btn{font-size:1rem;width:100%}
}

/* ---- HERO ---- */
.eyebrow{text-align:center;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:0.9rem}
.page-sub{text-align:center;color:var(--ink-soft);font-size:0.97rem;max-width:480px;margin:0 auto 1.6rem;line-height:1.65}

.stats-row{display:flex;justify-content:center;align-items:center;gap:0.5rem;flex-wrap:wrap;font-size:0.78rem;color:var(--ink-soft);margin-bottom:1.8rem}
.stats-row strong{color:var(--burgundy);font-weight:700}
.stats-row .stat-dot{color:var(--line)}

/* ---- VERSE CARD (signature component) ---- */
.verse-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:2px;padding:3.2rem 3rem 2.6rem;box-shadow:0 1px 0 var(--line),0 20px 40px -24px rgba(38,32,25,0.25);margin-bottom:1.6rem}
.verse-card .ribbon{position:absolute;top:-2px;right:38px;width:28px;height:58px;background:var(--burgundy);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.verse-text{font-family:var(--heading-font);font-size:1.55rem;line-height:1.65;color:var(--ink)}
.verse-text .dropcap{float:left;font-family:var(--heading-font);font-style:italic;font-weight:600;font-size:3.6rem;line-height:0.78;color:var(--card);background:var(--burgundy);width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin:4px 12px 0 0;border-radius:2px;border:1px solid var(--brass)}
.verse-meta{display:flex;align-items:center;justify-content:space-between;margin-top:1.4rem;flex-wrap:wrap;gap:0.5rem}
.verse-ref{font-size:0.9rem;font-weight:600;color:var(--burgundy)}
.verse-ref::before{content:"— ";color:var(--brass)}
.read-time{font-size:0.72rem;color:var(--ink-soft);background:var(--parchment);padding:0.3rem 0.7rem;border-radius:20px;border:1px solid var(--line)}

/* ---- ACTIONS / BUTTONS ---- */
.actions{display:flex;gap:0.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.seal-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--parchment);border:none;padding:0.85rem 1.7rem;border-radius:40px;font-weight:600;font-size:0.88rem;cursor:pointer;font-family:var(--font-family)}
.seal-btn:hover{background:var(--burgundy-dark)}
.icon-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 1rem;border-radius:40px;background:var(--card);border:1px solid var(--line);color:var(--ink-soft);font-size:0.82rem;font-weight:600;cursor:pointer;font-family:var(--font-family)}
.icon-btn.download{color:var(--burgundy);border-color:var(--burgundy)}
.icon-btn:hover{border-color:var(--burgundy)}
.helper-note{text-align:center;font-size:0.78rem;color:var(--ink-soft);margin-bottom:2.4rem}

/* ---- DIVIDERS / SECTIONS ---- */
.divider{display:flex;align-items:center;gap:12px;margin:2.6rem 0 1.8rem;color:var(--brass);font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:600}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---- TOPICS GRID ---- */
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;margin-bottom:1rem}
.topic{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sage);padding:0.9rem 1rem;font-size:0.85rem;font-weight:500;text-decoration:none;display:block;color:var(--ink)}
.topic span{display:block;font-size:0.72rem;color:var(--ink-soft);font-weight:400;margin-top:2px}

/* ---- RELATED VERSES ---- */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;margin-bottom:1rem}
.related-item{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1rem;text-decoration:none;display:block}
.related-item p{font-family:var(--heading-font);font-size:0.85rem;font-style:italic;line-height:1.5;margin-bottom:0.5rem;color:var(--ink)}
.related-item span{font-size:0.72rem;color:var(--burgundy);font-weight:600}

/* ---- PROMO / CROSS-LINK BOX ---- */
.promo{display:flex;gap:1.2rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1.4rem 1.6rem;margin:3rem 0;flex-wrap:wrap}
.promo .glyph{width:44px;height:44px;border-radius:50%;background:var(--brass);color:var(--card);display:flex;align-items:center;justify-content:center;font-family:var(--heading-font);font-size:1.3rem;flex-shrink:0}
.promo h3{font-family:var(--heading-font);font-size:1.05rem;font-weight:600;margin-bottom:0.25rem}
.promo p{font-size:0.85rem;color:var(--ink-soft);line-height:1.5;margin:0}
.promo a{font-size:0.82rem;font-weight:600;color:var(--burgundy);white-space:nowrap;margin-left:auto}

/* ---- REMINDER SIGNUP ---- */
.remind{background:var(--ink);border-radius:4px;padding:2rem 1.8rem;margin:3rem 0;text-align:center;color:var(--parchment)}
.remind h3{font-family:var(--heading-font);font-size:1.25rem;font-weight:600;margin-bottom:0.5rem;color:var(--parchment)}
.remind p{font-size:0.85rem;color:rgba(246,241,228,0.7);margin-bottom:1.4rem;max-width:380px;margin-left:auto;margin-right:auto}
.remind-form{display:flex;gap:0.5rem;max-width:380px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.remind-form input{flex:1;min-width:180px;padding:0.75rem 1rem;border-radius:40px;border:1px solid rgba(246,241,228,0.25);background:rgba(246,241,228,0.08);color:var(--parchment);font-size:0.85rem;font-family:var(--font-family)}
.remind-form input::placeholder{color:rgba(246,241,228,0.45)}
.remind-form button{padding:0.75rem 1.4rem;border-radius:40px;border:none;background:var(--brass);color:var(--ink);font-weight:700;font-size:0.82rem;cursor:pointer;font-family:var(--font-family)}
.remind-channels{display:flex;gap:1rem;justify-content:center;margin-top:1rem;font-size:0.76rem;color:rgba(246,241,228,0.6)}
.remind-msg{font-size:0.82rem;margin-top:1rem;color:var(--brass)}

/* ---- SEO CONTENT BLOCKS ---- */
.seo h2{font-family:var(--heading-font);font-size:1.5rem;font-weight:600;margin-bottom:0.9rem;margin-top:2.6rem;color:var(--ink)}
.seo h3{font-family:var(--heading-font);font-size:1.12rem;font-weight:600;margin:1.6rem 0 0.5rem;color:var(--burgundy-dark)}
.seo p{font-size:0.94rem;line-height:1.75;color:var(--ink-soft);margin-bottom:0.9rem}
.seo p strong{color:var(--ink);font-weight:600}

/* ---- FAQ ---- */
.faq h2{font-family:var(--heading-font);font-size:1.5rem;font-weight:600;margin:2.6rem 0 1.2rem;color:var(--ink)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:1.1rem 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-family);font-weight:600;font-size:0.95rem;color:var(--ink);cursor:pointer}
.faq-q .plus{color:var(--brass);font-size:1.1rem;transition:transform .2s;flex-shrink:0;margin-left:1rem}
.faq-item.open .plus{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{font-size:0.88rem;color:var(--ink-soft);line-height:1.7;padding-bottom:1.1rem;margin:0}

/* ---- GENERIC PAGE CARD (about/contact/privacy/terms/404/archive) ---- */
.page-card{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2.6rem 2.8rem;box-shadow:0 1px 0 var(--line),0 20px 40px -24px rgba(38,32,25,0.25);margin-bottom:1.6rem}
.page-card h1{font-family:var(--heading-font);font-size:2rem;text-align:center;margin-bottom:1.2rem;color:var(--ink)}
.page-card h2{font-size:1.3rem;margin:1.6rem 0 0.6rem;color:var(--burgundy-dark)}
.page-card p,.page-card li{font-size:0.95rem;line-height:1.75;color:var(--ink-soft)}
.page-card a{color:var(--burgundy);font-weight:600}
@media(max-width:550px){.page-card{padding:1.6rem}.page-card h1{font-size:1.6rem}}

/* ---- FOOTER ---- */
.site-footer{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:0.78rem;color:var(--ink-soft);max-width:760px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem;flex-wrap:wrap;gap:0.6rem}
.site-footer a{text-decoration:none;margin-left:1rem;color:var(--ink-soft)}
.site-footer a:hover{color:var(--burgundy)}

@media(max-width:520px){
  .topics{grid-template-columns:1fr 1fr}
  .related{grid-template-columns:1fr}
  .verse-card{padding:2.4rem 1.6rem 2rem}
}

/* ============================================
   HOMEPAGE COMPONENTS (existing markup, restyled)
   ============================================ */
main{display:block}
.container{max-width:820px;margin:1.8rem auto;padding:0 1.5rem}

.seo-top{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2rem 2.2rem;margin-bottom:1.5rem;box-shadow:0 1px 0 var(--line),0 20px 40px -24px rgba(38,32,25,0.2);text-align:center}
.seo-top h1{font-family:var(--heading-font);font-size:2.1rem;color:var(--ink);margin-bottom:0.8rem;font-weight:600}
.seo-top p{font-size:0.98rem;line-height:1.8;color:var(--ink-soft);margin-bottom:0.8rem}
.seo-top p:last-child{margin-bottom:0}
.seo-top a{color:var(--burgundy);font-weight:600}

.new-verse-btn-wrapper{text-align:center;margin-bottom:1.5rem}
.new-verse-btn{background:var(--ink);color:var(--parchment);border:none;padding:14px 32px;border-radius:60px;cursor:pointer;transition:0.2s;display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-family)}
.new-verse-btn:hover{background:var(--burgundy-dark)}
.new-verse-btn .btn-main{font-size:1.1rem;font-weight:700;line-height:1.4}
.new-verse-btn .btn-sub{font-size:0.7rem;font-weight:400;opacity:0.85;line-height:1.3}

.verse-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2.6rem 2.4rem;text-align:center;box-shadow:0 1px 0 var(--line),0 20px 40px -24px rgba(38,32,25,0.25);margin-bottom:1.5rem}
.verse-card::before{content:"";position:absolute;top:-2px;right:34px;width:24px;height:48px;background:var(--burgundy);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.verse-text{font-family:var(--heading-font);font-style:italic;font-size:1.7rem;line-height:1.65;margin-bottom:0.9rem;font-weight:400;color:var(--ink)}
.verse-ref{font-weight:600;color:var(--burgundy);font-size:1rem;font-style:normal}
.verse-topic{font-size:0.82rem;color:var(--ink-soft);margin-top:0.5rem}

.action-row{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:center;margin-top:1.3rem}
@media(max-width:520px){
  .action-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .action-row::-webkit-scrollbar{display:none}
  .action-row .action-btn{flex-shrink:0;white-space:nowrap;font-size:0.72rem;padding:0.42rem 0.85rem}
}
.action-btn{background:var(--card);border:1px solid var(--line);padding:0.5rem 1.2rem;border-radius:50px;font-weight:600;font-size:0.8rem;cursor:pointer;transition:.2s;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:5px;font-family:var(--font-family)}
.action-btn:hover{border-color:var(--burgundy);transform:translateY(-1px)}
.action-btn.whatsapp{background:#25D366;color:#fff;border:none}
.action-btn.facebook{background:#1877F2;color:#fff;border:none}
.action-btn.x-twitter{background:#0f1419;color:#fff;border:none}
.action-btn.copy{background:var(--burgundy);color:#fff;border:none}
.action-btn.image{background:var(--brass);color:#fff;border:none}

.img-wrapper{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line);display:none}
.img-wrapper.show{display:block}
.gen-loading{display:none;padding:1rem;color:var(--ink-soft);font-size:0.92rem}
.gen-loading.show{display:block}
.img-preview{max-width:100%;height:auto;border-radius:4px;box-shadow:0 12px 30px rgba(38,32,25,0.15);display:block;margin:0 auto}
.img-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.img-actions button,.img-actions a{background:var(--burgundy);color:#fff;border:none;border-radius:30px;padding:7px 18px;cursor:pointer;font-size:0.8rem;text-decoration:none;font-weight:600;font-family:var(--font-family)}
.img-actions button:hover,.img-actions a:hover{background:var(--burgundy-dark)}

.spiritual-box{background:var(--card);border-radius:2px;padding:1.8rem 2.2rem;margin:1.5rem 0;border-left:4px solid var(--brass);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.spiritual-box h2{font-family:var(--heading-font);font-size:1.3rem;color:var(--burgundy-dark);margin-bottom:0.5rem}
.spiritual-box p{font-size:1.02rem;line-height:1.8;color:var(--ink-soft);font-style:italic}

.how-to-use-box{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2rem;margin:1.5rem 0}
.how-to-use-box h2{font-family:var(--heading-font);font-size:1.5rem;color:var(--ink);margin-bottom:1rem;font-weight:600;text-align:center}
.how-item{border-bottom:1px solid var(--line);padding:0.3rem 0}
.how-item:last-child{border-bottom:none}
.how-question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;padding:0.5rem 0;color:var(--ink);font-size:0.95rem;gap:10px;font-family:var(--font-family)}
.how-question .icon{font-size:1.1rem;color:var(--brass);flex-shrink:0}
.how-answer{display:none;padding:0.2rem 0 0.7rem 0.2rem;color:var(--ink-soft);line-height:1.7;font-size:0.9rem}
.how-answer.active-answer{display:block}
.how-answer strong{color:var(--burgundy)}

.seo-bottom{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2rem 2.2rem;margin:1.5rem 0}
.seo-bottom h2{font-family:var(--heading-font);font-size:1.4rem;color:var(--ink);margin-top:1.4rem;margin-bottom:0.6rem;font-weight:600}
.seo-bottom h3{font-family:var(--font-family);font-size:1.05rem;color:var(--burgundy-dark);margin-top:1.1rem;margin-bottom:0.4rem;font-weight:600}
.seo-bottom p{font-size:0.96rem;line-height:1.8;margin-bottom:0.8rem;color:var(--ink-soft)}
.seo-bottom a{color:var(--burgundy);font-weight:600}
.seo-bottom ul{margin:0.8rem 0 1.2rem 1.5rem;line-height:1.9;color:var(--ink-soft)}
.seo-bottom strong{color:var(--ink)}

.faq-section{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2rem;margin-top:2rem}
.faq-section h2{font-family:var(--heading-font);font-size:1.5rem;color:var(--ink);margin-bottom:1rem;text-align:center;font-weight:600}
.faq-section .faq-item{border-bottom:1px solid var(--line);padding:0.5rem 0}
.faq-question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;padding:0.4rem 0;color:var(--ink);font-size:0.94rem;font-family:var(--font-family)}
.faq-question .icon{font-size:1.1rem;color:var(--brass)}
.faq-answer{display:none;padding:0.3rem 0 0.7rem;color:var(--ink-soft);line-height:1.75;font-size:0.9rem}
.faq-answer.active-answer{display:block}
.faq-answer strong{color:var(--ink)}

@media (max-width:768px){
  .seo-top{padding:1.3rem}.seo-top h1{font-size:1.6rem}
  .seo-bottom{padding:1.3rem}.verse-card{padding:2rem 1.3rem}.verse-text{font-size:1.4rem}
  .container{padding:0 0.9rem}.faq-section{padding:1.3rem}
  .action-btn{font-size:0.72rem;padding:0.4rem 1rem}.how-to-use-box{padding:1.3rem}
}
@media (max-width:480px){
  .seo-top h1{font-size:1.35rem}.seo-top p{font-size:0.9rem}
  .seo-bottom h2{font-size:1.15rem}.seo-bottom p{font-size:0.9rem}
  .verse-card{padding:1.5rem 1rem}.verse-text{font-size:1.2rem}
  .action-btn{font-size:0.68rem;padding:0.35rem 0.8rem}
  .how-to-use-box{padding:1.1rem}
}

/* ============================================
   STATIC PAGES (about/contact/privacy/terms/404)
   ============================================ */
.page-card h2{font-family:var(--heading-font);font-size:1.5rem;margin:1.6rem 0 0.7rem;color:var(--burgundy-dark);font-weight:600}
.page-card p{margin-bottom:1rem}
.page-card a{color:var(--burgundy)}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin:1.5rem 0}
.feature-item{background:var(--parchment);border:1px solid var(--line);border-radius:2px;padding:1.2rem;text-align:center}
.feature-item strong{color:var(--ink);font-family:var(--heading-font)}
.feature-item p{font-size:0.85rem;margin-top:0.4rem;margin-bottom:0}
.feature-icon{font-size:1.8rem;margin-bottom:0.5rem}

.legal{display:flex;justify-content:center;gap:1.2rem;margin:1.2rem 0;flex-wrap:wrap;font-size:0.85rem}
.legal a{color:var(--ink-soft)}
.legal a:hover{color:var(--burgundy)}

footer{text-align:center;padding:2rem 1rem;font-size:0.8rem;color:var(--ink-soft);border-top:1px solid var(--line);margin-top:2rem}
footer a{color:var(--burgundy)}

/* 404 page */
.error-code{font-family:var(--heading-font);font-size:5rem;color:var(--burgundy);line-height:1;margin-bottom:0.5rem;text-align:center;font-weight:600}
.error-card{text-align:center}

/* ============================================
   CONTACT PAGE
   ============================================ */
.contact-header{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2rem;text-align:center;margin-bottom:1.6rem;box-shadow:0 1px 0 var(--line),0 20px 40px -24px rgba(38,32,25,0.2)}
.contact-header h1{font-family:var(--heading-font);font-size:2rem;color:var(--ink);margin-bottom:0.5rem;font-weight:600}
.contact-header p{font-size:0.95rem;color:var(--ink-soft);max-width:600px;margin:0 auto;line-height:1.7}

.contact-card{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:2rem;box-shadow:0 1px 0 var(--line),0 20px 40px -24px rgba(38,32,25,0.2)}
.form-group{margin-bottom:1.4rem}
.form-group label{display:block;font-weight:600;margin-bottom:0.3rem;color:var(--ink);font-size:0.9rem}
.form-group input,.form-group textarea{width:100%;padding:0.75rem 1rem;border:1px solid var(--line);border-radius:2px;font-family:var(--font-family);font-size:0.95rem;transition:0.2s;background:var(--parchment)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--burgundy)}
.form-group textarea{resize:vertical;min-height:120px}
.form-group .error{color:#b3261e;font-size:0.8rem;display:none;margin-top:4px}

.btn-submit{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;background:var(--ink);color:var(--parchment);border:none;border-radius:40px;font-weight:600;font-size:0.92rem;cursor:pointer;transition:0.2s;width:100%;justify-content:center;font-family:var(--font-family)}
.btn-submit:hover{background:var(--burgundy-dark)}
.btn-submit:disabled{opacity:0.6;cursor:not-allowed}

.success-message{background:#e6f4ea;color:#1e6b34;padding:1rem;border-radius:2px;border-left:3px solid #2f8f4e;margin-bottom:1rem;display:none}
.error-message{background:#fbe9e7;color:#a13a2e;padding:1rem;border-radius:2px;border-left:3px solid #c0392b;margin-bottom:1rem;display:none}

.contact-info{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line);text-align:center;font-size:0.88rem;color:var(--ink-soft)}
.contact-info a{color:var(--burgundy)}

@media (max-width:768px){
    .contact-header{padding:1.3rem}.contact-header h1{font-size:1.6rem}
    .contact-card{padding:1.3rem}
}

/* ---- AD SLOTS ---- */
.ad-slot{position:relative;overflow:hidden}
.ad-slot:not(:empty)::before{content:"Advertisement";display:block;font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);opacity:0.5;text-align:center;margin-bottom:4px}
