/*
Theme Name: Bloom Theory
Theme URI:
Description: Bloom Theory by Gianna — a dark floral creative wellness space.
Template: nook
Author: Gianna
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#1c1218;
  --plum:#3d2040;
  --rose-dark:#7a3050;
  --rose:#a85470;
  --blush:#d4a0b0;
  --dusty:#e8c8d0;
  --cream:#faf5f0;
  --ivory:#fff9f5;
  --warm:#f5ede6;
  --gold:#b8896a;
  --gold-light:#d4aa88;
  --sage:#4a5e4a;
  --mist:#7a6870;
  --border:rgba(168,84,112,0.14);
  --border-soft:rgba(184,137,106,0.18);
}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;line-height:1.7;overflow-x:hidden}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-thumb{background:var(--blush)}

/* ─── HEADER ─── */
.site-header{background:var(--cream);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 3rem 0.7rem;border-bottom:1px solid var(--border);}
.site-brand{text-align:center;flex:1;cursor:pointer}
.brand-main{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-style:italic;font-weight:400;color:var(--rose-dark);letter-spacing:0.03em;line-height:1;display:block;}
.brand-by{font-size:0.62rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--blush);font-family:'Inter',sans-serif;font-style:normal;display:block;margin-top:0.15rem;}
.header-util{display:flex;gap:1.2rem;align-items:center;min-width:140px;}
.header-util.right{justify-content:flex-end}
.util-btn{font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--mist);background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:color 0.2s;padding:0.3rem 0;}
.util-btn:hover{color:var(--rose)}

/* CATEGORY NAV */
.cat-nav{display:flex;align-items:center;justify-content:center;overflow-x:auto;padding:0;}
.cat-nav::-webkit-scrollbar{height:0}
.cat-nav a{font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--mist);text-decoration:none;padding:0.65rem 1.05rem;border-right:1px solid var(--border);white-space:nowrap;transition:color 0.2s,background 0.2s;font-family:'Inter',sans-serif;cursor:pointer;}
.cat-nav a:first-child{border-left:1px solid var(--border)}
.cat-nav a:hover,.cat-nav a.active{color:var(--rose-dark);background:var(--warm)}

/* ─── SHARED ─── */
.eyebrow{font-size:0.63rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;display:block;margin-bottom:1rem;}
.rule{width:36px;height:1px;background:var(--gold);margin:0.6rem 0 1.8rem}
.pull-quote{border-left:3px solid var(--blush);padding:0.8rem 1.6rem;font-style:italic;color:var(--rose);font-size:1.05rem;line-height:1.6;margin:1.5rem 0;}
.pull-quote cite{display:block;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);font-style:normal;font-family:'Inter',sans-serif;margin-top:0.5rem;}

/* BUTTONS */
.btn{padding:0.75rem 2rem;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;font-family:'Inter',sans-serif;cursor:pointer;transition:all 0.25s;border:none;display:inline-block;}
.btn-fill{background:var(--rose-dark);color:var(--ivory)}
.btn-fill:hover{background:var(--rose)}
.btn-outline{background:transparent;border:1px solid var(--rose-dark);color:var(--rose-dark)}
.btn-outline:hover{background:var(--rose-dark);color:var(--ivory)}
.btn-sm{padding:0.55rem 1.4rem;font-size:0.62rem}
.btn-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* PAGE BANNER */
.page-banner{padding:4.5rem 3rem 3.5rem;text-align:center;border-bottom:1px solid var(--border);}
.page-banner h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(2rem,5vw,3.2rem);font-weight:400;color:var(--rose-dark);margin-bottom:0.4rem;line-height:1.1;}
.page-banner p{font-size:1rem;color:var(--mist);font-style:italic;max-width:480px;margin:0.5rem auto 0;line-height:1.7;}

/* ─── HERO ─── */
.hero{min-height:92vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(158deg,#f9f0f3 0%,#f0ece6 35%,#edf0eb 70%,#f5f0ec 100%);padding:7rem 3rem 5rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 15% 30%,rgba(196,131,154,0.18) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 85% 70%,rgba(74,94,74,0.12) 0%,transparent 70%),radial-gradient(ellipse 40% 35% at 60% 20%,rgba(122,48,80,0.1) 0%,transparent 70%);}
.hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:300;font-style:italic;color:var(--rose-dark);line-height:1.08;margin-bottom:1rem;}
.hero h1 em{color:var(--sage);font-style:normal}
.hero-sub{font-size:1.1rem;color:var(--mist);font-style:italic;max-width:500px;margin:0 auto 2rem;line-height:1.7;}
.hero-tagline{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-style:italic;color:var(--rose);margin-bottom:2.5rem;}

/* STRIPS */
.strip{padding:4.5rem 3rem;border-bottom:1px solid var(--border)}
.strip-warm{background:var(--warm)}
.strip-plain{background:var(--ivory)}
.strip-inner{max-width:1020px;margin:0 auto}
.strip-head{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-style:italic;color:var(--rose-dark);margin-bottom:0.2rem;font-weight:400;}

/* PANELS */
.panels{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border)}
.panel{padding:2.8rem 2.2rem;text-align:center;border-right:1px solid var(--border)}
.panel:last-child{border-right:none}
.panel-sym{font-size:1.4rem;color:var(--blush);margin-bottom:0.9rem;display:block}
.panel h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;font-weight:400;color:var(--rose-dark);margin-bottom:0.6rem;}
.panel p{font-size:0.88rem;color:var(--mist);line-height:1.7;font-family:'Inter',sans-serif}

/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem;margin-top:1rem}
.card{background:var(--ivory);border:1px solid var(--border);padding:2rem 1.8rem;cursor:pointer;transition:box-shadow 0.25s,transform 0.2s;border-top:2px solid var(--rose);position:relative;}
.card:hover{box-shadow:0 6px 24px rgba(168,84,112,0.1);transform:translateY(-2px)}
.card-cat{font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;margin-bottom:0.75rem;}
.card-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--ink);line-height:1.3;margin-bottom:0.75rem;}
.card-excerpt{font-size:0.88rem;color:var(--mist);line-height:1.7;margin-bottom:1.2rem;font-family:'Inter',sans-serif}
.card-date{font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--blush);font-family:'Inter',sans-serif}

/* NEWSLETTER BAND */
.nl-band{padding:5rem 3rem;text-align:center;background:var(--rose-dark)}
.nl-band h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:2rem;color:var(--ivory);margin-bottom:0.6rem;font-weight:400;}
.nl-band p{font-size:0.9rem;color:rgba(255,249,245,0.75);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto;font-family:'Inter',sans-serif}
.nl-form{display:flex;max-width:380px;margin:0 auto}
.nl-form input{flex:1;padding:0.85rem 1rem;background:rgba(255,255,255,0.22);border:1px solid rgba(255,255,255,0.45);border-right:none;color:var(--ivory);font-size:0.88rem;outline:none;font-family:'Cormorant Garamond',serif;}
.nl-form input::placeholder{color:rgba(255,249,245,0.45)}
.nl-form button{padding:0.85rem 1.4rem;background:var(--gold-light);border:none;color:var(--ink);font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;transition:background 0.2s;white-space:nowrap;}
.nl-form button:hover{background:var(--cream)}
.nl-ok{display:none;font-style:italic;color:var(--dusty);margin-top:1rem;font-size:1rem}

/* JOURNAL FILTER */
.filter-bar{background:var(--warm);border-bottom:1px solid var(--border);padding:0.9rem 3rem;display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center;}
.filter-label{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--mist);font-family:'Inter',sans-serif;margin-right:0.3rem;}
.fpill{padding:0.3rem 0.9rem;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;font-family:'Inter',sans-serif;border:1px solid var(--border-soft);color:var(--mist);background:transparent;cursor:pointer;transition:all 0.2s;}
.fpill:hover,.fpill.on{background:var(--rose-dark);color:var(--ivory);border-color:var(--rose-dark)}
.journal-body{max-width:1020px;margin:0 auto;padding:3rem}

/* ARTICLE */
.article-banner{background:linear-gradient(158deg,#f9f0f3 0%,#f0ede6 100%);padding:5rem 3rem 3.5rem;border-bottom:1px solid var(--border);}
.article-banner-inner{max-width:680px;margin:0 auto}
.article-banner h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.8rem,4vw,3rem);font-weight:400;color:var(--rose-dark);line-height:1.15;margin-bottom:0.6rem;}
.article-date{font-size:0.64rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;}
.article-body{max-width:680px;margin:0 auto;padding:4rem 3rem}
.article-body p{font-size:1.05rem;color:#2e202a;line-height:1.9;margin-bottom:1.3rem}
.article-body blockquote{border-left:3px solid var(--blush);padding:0.8rem 1.6rem;margin:2.2rem 0;font-style:italic;color:var(--rose);font-size:1.1rem;line-height:1.6;}
.back-btn{background:none;border:none;cursor:pointer;font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--mist);font-family:'Inter',sans-serif;margin-bottom:2.5rem;display:block;transition:color 0.2s;padding:0;}
.back-btn:hover{color:var(--rose)}

/* ABOUT */
.about-wrap{max-width:1020px;margin:0 auto;padding:4rem 3rem}
.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:4.5rem;align-items:start}
.portrait-box{aspect-ratio:3/4;background:linear-gradient(160deg,#f5e8ec 0%,#ede4f0 50%,#e4ede4 100%);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.portrait-box svg{width:100%;height:100%;position:absolute;top:0;left:0}
.portrait-placeholder{position:relative;z-index:1;text-align:center;font-style:italic;font-size:0.85rem;color:var(--blush);padding:2rem;}
.portrait-cap{font-size:0.75rem;font-style:italic;color:var(--mist);text-align:center;margin-top:0.8rem;font-family:'Inter',sans-serif;}
.about-text h2{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-style:italic;font-weight:400;color:var(--rose-dark);margin-bottom:0.3rem;line-height:1.15;}
.about-text p{font-size:0.97rem;color:#2e202a;line-height:1.9;margin-bottom:1.1rem;font-family:'Inter',sans-serif}
.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin:2rem 0}
.v-cell{background:var(--warm);padding:1rem 1.2rem}
.v-cell strong{display:block;font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;font-weight:400;margin-bottom:0.3rem;}
.v-cell span{font-size:0.87rem;color:var(--mist);font-family:'Inter',sans-serif}

/* TOOLKIT */
.toolkit-wrap{max-width:1020px;margin:0 auto;padding:4rem 3rem}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}
.tool{border:1px solid var(--border);padding:2rem 1.8rem;background:var(--ivory);position:relative;transition:box-shadow 0.2s}
.tool:hover{box-shadow:0 2px 16px rgba(168,84,112,0.09)}
.tool-n{font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:rgba(212,160,176,0.22);position:absolute;top:1rem;right:1.2rem;line-height:1;}
.tool-tag{font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;margin-bottom:0.6rem}
.tool h3{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--ink);margin-bottom:0.65rem;line-height:1.25}
.tool p{font-size:0.87rem;color:var(--mist);line-height:1.75;font-family:'Inter',sans-serif}

/* COMMUNITY */
.community-wrap{max-width:860px;margin:0 auto;padding:3.5rem 3rem}
.guideline-box{background:var(--warm);border:1px solid var(--border-soft);padding:1.8rem;margin:2rem 0}
.guideline-box h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;color:var(--rose-dark);margin-bottom:1rem;font-size:1.2rem;}
.guideline-box li{list-style:none;font-size:0.87rem;color:var(--mist);padding:0.3rem 0 0.3rem 1.2rem;position:relative;line-height:1.65;font-family:'Inter',sans-serif;}
.guideline-box li::before{content:'✦';position:absolute;left:0;color:var(--blush);font-size:0.5rem;top:0.6rem}
.crisis-note{background:#fdf3f5;border:1px solid rgba(168,84,112,0.18);padding:1.2rem 1.5rem;font-size:0.87rem;color:var(--mist);line-height:1.7;margin-bottom:2rem;font-family:'Inter',sans-serif;}
.crisis-note strong{color:var(--rose);display:block;margin-bottom:0.3rem}
.post-form{background:var(--warm);border:1px solid var(--border);padding:2rem;margin-bottom:2.5rem}
.post-form h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--rose-dark);font-weight:400;margin-bottom:1.4rem;}
.f-row{margin-bottom:1rem}
.f-row label{display:block;font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;margin-bottom:0.35rem;}
.f-row input,.f-row textarea,.f-row select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-soft);color:var(--ink);font-family:'Cormorant Garamond',serif;font-size:1rem;padding:0.6rem 0;outline:none;transition:border-color 0.2s;}
.f-row input:focus,.f-row textarea:focus{border-bottom-color:var(--rose)}
.f-row textarea{resize:vertical;min-height:90px}
.cpost{border-bottom:1px solid var(--border);padding:1.8rem 0}
.cpost:last-child{border-bottom:none}
.cmeta{display:flex;gap:0.9rem;align-items:center;margin-bottom:0.75rem}
.cavatar{width:30px;height:30px;border-radius:50%;background:var(--dusty);display:flex;align-items:center;justify-content:center;font-size:0.85rem;color:var(--rose-dark);font-family:'Cormorant Garamond',serif;flex-shrink:0;}
.cauthor{font-size:0.78rem;color:var(--rose-dark);font-family:'Inter',sans-serif;letter-spacing:0.05em}
.ctime{font-size:0.68rem;color:var(--blush);font-family:'Inter',sans-serif}
.cbody{font-size:0.95rem;color:#2e202a;line-height:1.78;font-family:'Inter',sans-serif}
.cbadge{display:inline-block;margin-top:0.6rem;font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--rose);border:1px solid rgba(168,84,112,0.18);padding:0.2rem 0.7rem;font-family:'Inter',sans-serif;}

/* CONTACT */
.contact-wrap{max-width:920px;margin:0 auto;padding:4rem 3rem}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4.5rem;align-items:start}
.contact-info h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;font-weight:400;color:var(--rose-dark);margin-bottom:0.8rem;}
.contact-info p{font-size:0.9rem;color:var(--mist);line-height:1.85;margin-bottom:1.2rem;font-family:'Inter',sans-serif}
.social-list{list-style:none;margin-top:1.5rem}
.social-list li{padding:0.75rem 0;border-bottom:1px solid var(--border);font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mist);font-family:'Inter',sans-serif;cursor:pointer;transition:color 0.2s;}
.social-list li:hover{color:var(--rose-dark)}

/* LEGAL */
.legal-wrap{max-width:700px;margin:0 auto;padding:4rem 3rem}
.legal-wrap h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;font-weight:400;color:var(--rose-dark);margin:2rem 0 0.5rem;}
.legal-wrap p,.legal-wrap li{font-size:0.92rem;color:#2e202a;line-height:1.88;margin-bottom:0.7rem;font-family:'Inter',sans-serif;}
.legal-wrap li{list-style:none;padding-left:1.2rem;position:relative}
.legal-wrap li::before{content:'—';position:absolute;left:0;color:var(--blush)}

/* NEWSLETTER PAGE */
.nl-page-wrap{max-width:560px;margin:4rem auto;padding:0 3rem;text-align:center}
.nl-page-wrap p{font-size:0.95rem;color:var(--mist);line-height:1.85;margin-bottom:1rem;font-family:'Inter',sans-serif}
.nl-page-input{background:#f0e4ea !important;border:1px solid rgba(168,84,112,0.3) !important;border-right:none !important;color:var(--ink) !important;}

/* FOOTER */
footer{background:var(--ink);color:var(--dusty);padding:4rem 3rem 2rem}
.footer-grid{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.fbrand{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.7rem;color:var(--blush);display:block;margin-bottom:0.15rem;cursor:pointer;}
.fbrand-by{font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;color:rgba(212,160,176,0.45);font-family:'Inter',sans-serif}
.fbrand-desc{font-size:0.84rem;color:rgba(212,160,176,0.5);line-height:1.75;margin-top:0.9rem;max-width:240px;font-family:'Inter',sans-serif}
.footer-nl{display:flex;margin-top:1.2rem}
.footer-nl input{background:rgba(255,255,255,0.1);border:1px solid rgba(212,160,176,0.4);border-right:none;color:var(--dusty);font-size:0.84rem;padding:0.55rem 0.9rem;font-family:'Cormorant Garamond',serif;outline:none;width:170px;}
.footer-nl button{padding:0.55rem 1rem;background:var(--rose-dark);border:none;color:var(--ivory);font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;}
.footer-nl-ok{display:none;font-size:0.82rem;color:var(--blush);font-style:italic;margin-top:0.5rem}
.fcol h4{font-size:0.6rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;font-weight:400;margin-bottom:1rem;}
.fcol li{list-style:none;font-size:0.84rem;color:rgba(212,160,176,0.5);margin-bottom:0.5rem;cursor:pointer;transition:color 0.2s;font-family:'Inter',sans-serif;}
.fcol li:hover{color:var(--blush)}
.footer-bottom{max-width:1020px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(212,160,176,0.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-tag{font-style:italic;font-size:0.92rem;color:rgba(212,160,176,0.38)}
.footer-copy{font-size:0.7rem;color:rgba(212,160,176,0.28);font-family:'Inter',sans-serif;letter-spacing:0.06em}

/* RESPONSIVE */
@media(max-width:780px){
  .header-top{padding:0.9rem 1.5rem 0.6rem}
  .strip,.page-banner,.about-wrap,.toolkit-wrap,.community-wrap,.contact-wrap,.legal-wrap,.journal-body,.article-body,.filter-bar{padding-left:1.5rem;padding-right:1.5rem}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .panels{grid-template-columns:1fr}
  .panel{border-right:none;border-bottom:1px solid var(--border)}
  footer{padding:3rem 1.5rem 1.5rem}
}
