/*
Theme Name: Flowrenity
Theme URI: https://flowrenity.com
Author: Flowrenity
Description: A calm, editable WordPress theme for Flowrenity.
Version: 2.3.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: flowrenity
*/

:root {
  --flow-cream: #fbf7f0;
  --flow-paper: #fffdf8;
  --flow-sage: #687866;
  --flow-sage-dark: #35483b;
  --flow-sage-soft: #dfe7da;
  --flow-clay: #b56f54;
  --flow-gold: #d6ad65;
  --flow-ink: #263128;
  --flow-muted: #687069;
  --flow-line: #dedbd2;
  --flow-radius: 22px;
  --flow-shadow: 0 18px 50px rgba(38, 49, 40, .09);
}

/* Approved Flowrenity concept, WordPress edition. */
:root { --flow-ivory:#f6f2e9; --flow-forest:#173529; --flow-burgundy:#5c3449; --flow-sage:#ccd3c1; --flow-sand:#dfceaa; --flow-blush:#e7c8bc; --flow-coral:#c8785d; }
body { background:#f8f5ee; color:#23362e; font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.55; }
h1,h2,h3,.site-title { font-family:Georgia,"Times New Roman",serif; color:#173529; font-weight:400; }
.site-header { position:relative; background:#faf8f2; border-bottom:1px solid #d8d4ca; backdrop-filter:none; }
.header-inner { width:min(1120px,calc(100% - 48px)); min-height:80px; }
.site-title { font-size:2rem; text-transform:lowercase; }.brand-dot{color:var(--flow-coral)}
.site-tagline{display:none}.primary-menu{gap:34px}.primary-menu a{font-size:.83rem;font-weight:500}.header-cta,.flow-text-link{color:#20382e;font-size:.73rem;font-weight:700;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px}.header-cta{text-transform:uppercase;letter-spacing:.13em}
.entry-content,.entry-content>.alignfull{width:100%!important}.flow-home section{margin:0}.flow-kicker{color:var(--flow-coral);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.flow-lede{font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.7;color:#687169}
.flow-hero-v2{display:grid;grid-template-columns:48% 52%;min-height:880px;background:var(--flow-ivory)}.flow-hero-copy{padding:100px max(48px,8vw) 55px;display:flex;flex-direction:column;align-items:flex-start}.flow-hero-copy h1{font-size:clamp(3.6rem,5.8vw,6rem);line-height:1.03;letter-spacing:-.045em;margin:28px 0}.flow-hero-copy h1 em,.flow-beauty h2 em{color:var(--flow-coral);font-weight:400}.flow-hero-copy .flow-lede{max-width:470px}.flow-actions{display:flex;align-items:center;gap:28px;margin-top:15px}.flow-button,.flow-light-button{display:inline-flex;gap:24px;align-items:center;background:var(--flow-forest);color:white;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.13em;padding:17px 22px}.flow-no-perfect{margin-top:auto;color:#77746f;font-family:Georgia,serif;font-style:italic;font-size:.85rem}.flow-hero-photo{position:relative;min-height:880px;background:#222;overflow:hidden}.flow-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 22%}.flow-reminder{position:absolute;left:0;bottom:48px;background:#f7f4ed;padding:25px 30px;width:280px}.flow-reminder small{display:block;color:var(--flow-coral);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.flow-reminder strong{font-family:Georgia,serif;font-size:1.08rem;font-weight:400}
.flow-belief{text-align:center;padding:130px max(24px,12vw);background:#fbfaf6}.flow-belief h2{max-width:900px;margin:28px auto;font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.12}.flow-belief>p:last-child{max-width:650px;margin:auto;color:#778078}
.flow-paths{padding:110px max(24px,6vw);background:#e9ece4}.flow-section-head,.flow-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;max-width:1120px;margin:0 auto 52px}.flow-section-head h2,.flow-section-title h2{font-size:clamp(2.8rem,4.5vw,4.7rem);margin:16px 0 0}.flow-section-head>p{max-width:380px;color:#6a726c}.flow-path-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:auto}.flow-path{min-height:360px;padding:28px 24px;color:#20382e;text-decoration:none;display:grid;grid-template-columns:1fr auto;align-content:space-between;border:1px solid rgba(32,56,46,.12)}.flow-path b{font-weight:400}.flow-path h3{grid-column:1/-1;font-size:2.2rem;margin:125px 0 0}.flow-path p{grid-column:1/-1;margin:0;font-size:.82rem}.flow-path.nourish{background:var(--flow-sage)}.flow-path.move{background:var(--flow-sand)}.flow-path.care{background:var(--flow-blush)}.flow-path.reset{background:var(--flow-burgundy);color:white}.flow-path.reset h3{color:white}
.flow-reset-v2{display:grid;grid-template-columns:44% 56%;min-height:650px}.flow-seven{background:#cdd1bc;display:grid;place-items:center;overflow:hidden}.flow-seven-ring{width:420px;height:420px;border:1px solid rgba(32,56,46,.25);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.flow-seven-ring strong{font-family:Georgia,serif;font-size:7rem;font-weight:400}.flow-seven-ring span{text-transform:uppercase;font-size:.65rem;letter-spacing:.3em;font-weight:700}.flow-reset-copy{background:var(--flow-forest);color:#f7f2e9;padding:90px max(45px,8vw)}.flow-reset-copy h2{font-size:clamp(3.3rem,5vw,5.2rem);line-height:1.08;color:white;margin:22px 0}.flow-reset-copy>p{max-width:610px}.flow-reset-copy ul{list-style:none;padding:10px 0;margin:0 0 28px}.flow-reset-copy li{margin:12px 0}.flow-reset-copy small{color:#9ba99f}.flow-inline-form{display:flex;border-bottom:1px solid rgba(255,255,255,.55);max-width:640px}.flow-inline-form input{flex:1;background:transparent;border:0;color:white;padding:15px 0;outline:0}.flow-inline-form button{background:transparent;border:0;color:white;text-transform:uppercase;font-size:.62rem;letter-spacing:.13em;font-weight:700}
.flow-resources{padding:110px max(24px,6vw);background:#fbfaf6}.flow-section-title{align-items:center}.flow-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1120px;margin:auto}.flow-story-image{position:relative;height:310px}.flow-story-image img{width:100%;height:100%;object-fit:cover}.flow-story-image span{position:absolute;bottom:0;left:0;background:#fbfaf6;padding:12px 18px;text-transform:uppercase;font-size:.6rem;letter-spacing:.16em;font-weight:700}.flow-story-grid h3{font-size:2rem;margin:24px 0 12px}.flow-story-grid p{color:#747b75;min-height:72px}
.flow-about-v2,.flow-beauty{display:grid;grid-template-columns:1fr 1fr}.flow-about-photo img,.flow-beauty-photo img{display:block;width:100%;height:640px;object-fit:cover}.flow-about-photo img{object-position:center 20%}.flow-about-copy{padding:95px max(45px,8vw);background:#eee5d8}.flow-about-copy h2{font-size:clamp(3rem,4.8vw,5rem);line-height:1.08;margin:24px 0}.flow-about-copy p{max-width:560px}.flow-beauty-copy{padding:100px max(45px,8vw);background:var(--flow-burgundy);color:white}.flow-beauty-copy .flow-kicker{color:white}.flow-beauty-copy h2{font-size:clamp(3.3rem,5vw,5.4rem);line-height:1.03;color:white;margin:34px 0}.flow-beauty-copy p{max-width:480px}.flow-coming{display:block;width:max-content;border:1px solid rgba(255,255,255,.6);padding:8px 13px;text-transform:uppercase;font-size:.58rem;letter-spacing:.16em;margin:25px 0}.flow-light-button{background:#fbfaf6;color:#20382e;width:max-content}.flow-beauty-photo{position:relative}.flow-beauty-photo span{position:absolute;right:30px;bottom:30px;background:#f6f1e8;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-style:italic}.flow-newsletter{display:grid;grid-template-columns:.4fr 1.3fr 1.4fr 1.4fr;align-items:center;gap:42px;padding:75px max(24px,7vw);background:#dcd8c9}.flow-newsletter .flow-mark{font:italic 5rem Georgia;color:var(--flow-coral)}.flow-newsletter h2{font-size:2.8rem;margin:8px 0}.flow-newsletter>p{color:#6d756f}.flow-inline-form.light{border-color:#20382e}.flow-inline-form.light input,.flow-inline-form.light button{color:#20382e}
.site-footer{background:#193229;padding:75px 0 30px}.footer-grid{grid-template-columns:2.5fr .7fr .8fr}.site-footer h2{font-size:2.5rem;text-transform:lowercase}.site-footer h3{text-transform:uppercase;font-family:Arial;font-size:.65rem;letter-spacing:.17em}.site-footer p,.site-footer li,.site-footer a{font-size:.8rem;color:#d8ded9}.footer-note{display:flex;justify-content:space-between}.footer-note a{margin-left:15px}
@media(max-width:900px){.header-cta{display:none}.flow-hero-v2,.flow-reset-v2,.flow-about-v2,.flow-beauty{grid-template-columns:1fr}.flow-hero-copy{min-height:650px}.flow-hero-photo{min-height:650px}.flow-path-grid{grid-template-columns:1fr 1fr}.flow-story-grid{grid-template-columns:1fr}.flow-newsletter{grid-template-columns:1fr 1fr}.flow-story-grid p{min-height:0}.flow-section-head{align-items:flex-start;flex-direction:column}.flow-about-photo img,.flow-beauty-photo img{height:600px}}
@media(max-width:600px){.header-inner{width:calc(100% - 28px)}.flow-hero-copy{padding:65px 28px 35px}.flow-hero-copy h1{font-size:3.5rem}.flow-hero-photo{min-height:540px}.flow-belief{padding:90px 26px}.flow-paths,.flow-resources{padding:80px 20px}.flow-path-grid{grid-template-columns:1fr}.flow-path{min-height:280px}.flow-path h3{margin-top:80px}.flow-reset-v2{grid-template-columns:1fr}.flow-seven{min-height:450px}.flow-seven-ring{width:330px;height:330px}.flow-reset-copy,.flow-about-copy,.flow-beauty-copy{padding:75px 28px}.flow-section-title{align-items:flex-start;flex-direction:column}.flow-newsletter{grid-template-columns:1fr;padding:65px 28px}.footer-note{flex-direction:column;gap:18px}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--flow-cream);
  color: var(--flow-ink);
  font-family: "Aptos", "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.7;
}
a { color: var(--flow-sage-dark); }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 {
  color: var(--flow-sage-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.12;
  margin-top: 0;
}
h1 { font-size: clamp(3rem, 6vw, 6.4rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.25rem, 4vw, 4rem); letter-spacing: -.03em; }
h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
p { margin-top: 0; }

.flow-wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(251,247,240,.94);
  border-bottom: 1px solid rgba(53,72,59,.1);
  backdrop-filter: blur(12px);
}
.admin-bar .site-header { top: 32px; }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 84px; gap: 28px; }
.site-branding a { text-decoration: none; color: var(--flow-sage-dark); }
.site-title { font-family: Georgia, serif; font-size: 2rem; letter-spacing: -.03em; }
.site-tagline { display: block; margin-top: -5px; color: var(--flow-muted); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.menu-toggle { display: none; background: transparent; border: 1px solid var(--flow-line); border-radius: 999px; padding: 9px 15px; color: var(--flow-ink); }
.primary-menu { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.primary-menu a { color: var(--flow-ink); font-size: .92rem; font-weight: 650; text-decoration: none; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--flow-clay); }

.site-main { min-height: 70vh; }
.entry-content > *:not(.alignfull) { width: min(1180px, calc(100% - 40px)); margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { width: min(1300px, calc(100% - 40px)); }
.entry-content > .alignfull { width: 100%; }
.entry-content .wp-block-group { padding-top: clamp(70px, 9vw, 120px); padding-bottom: clamp(70px, 9vw, 120px); }
.entry-content .wp-block-group .wp-block-group { padding-top: 0; padding-bottom: 0; }
.entry-content .wp-block-cover { min-height: 560px; }

.flow-hero { overflow: hidden; background: linear-gradient(135deg, #f4eee3 0%, #dfe7da 100%); }
.flow-hero .wp-block-columns { min-height: 720px; align-items: center !important; }
.flow-eyebrow { color: var(--flow-clay); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.flow-lede { color: #48534a; font-family: Georgia, serif; font-size: clamp(1.15rem, 2vw, 1.45rem); max-width: 650px; }
.flow-hero-image img { width: 100%; height: 630px; object-fit: cover; object-position: center 38%; border-radius: 180px 180px 24px 24px; box-shadow: var(--flow-shadow); }
.wp-block-button__link { background: var(--flow-sage-dark); border: 2px solid var(--flow-sage-dark); border-radius: 999px; color: white; font-size: .86rem; font-weight: 800; letter-spacing: .04em; padding: 15px 25px; text-transform: uppercase; }
.is-style-outline .wp-block-button__link { background: transparent; color: var(--flow-sage-dark); }
.wp-block-button__link:hover { background: var(--flow-clay); border-color: var(--flow-clay); color: white; }

.flow-intro { text-align: center; }
.flow-intro p { max-width: 800px; margin-left: auto; margin-right: auto; }
.flow-kicker { color: var(--flow-clay); font-size: .8rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.flow-cards { gap: 22px; align-items: stretch !important; }
.flow-card { height: 100%; padding: 30px !important; background: var(--flow-paper); border: 1px solid var(--flow-line); border-radius: var(--flow-radius); box-shadow: 0 9px 30px rgba(38,49,40,.05); }
.flow-card-number { color: var(--flow-clay); font-family: Georgia, serif; font-size: 2.25rem; line-height: 1; }
.flow-card p:last-child { margin-bottom: 0; }
.flow-nourish { background: #edf0e8; }
.flow-reset { background: var(--flow-sage-dark); color: #f5f0e7; }
.flow-reset h2, .flow-reset h3, .flow-reset p, .flow-reset .flow-kicker { color: #f5f0e7; }
.flow-reset .wp-block-button__link { background: var(--flow-gold); border-color: var(--flow-gold); color: #28332b; }
.flow-photo-pair img { width: 100%; height: 560px; object-fit: cover; border-radius: var(--flow-radius); box-shadow: var(--flow-shadow); }
.flow-photo-pair .wp-block-column:first-child img { object-position: center 35%; }
.flow-photo-pair .wp-block-column:last-child img { object-position: center 24%; }
.flow-quote { border-left: 3px solid var(--flow-clay); padding-left: 24px; font-family: Georgia, serif; font-size: clamp(1.4rem, 2.7vw, 2.2rem); line-height: 1.35; }
.flow-disclaimer { background: #f5eee4; border: 1px solid #eadbca; border-radius: 16px; padding: 24px !important; font-size: .88rem; }
.flow-final { text-align: center; background: linear-gradient(145deg, #e6ecdf 0%, #f4e8dc 100%); }

.page-shell, .post-shell { width: min(900px, calc(100% - 40px)); margin: 0 auto; padding: 90px 0 120px; }
.page-header, .post-header { margin-bottom: 50px; }
.page-header h1, .post-header h1 { font-size: clamp(2.7rem, 5vw, 4.8rem); }
.post-meta { color: var(--flow-muted); font-size: .9rem; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { background: var(--flow-paper); border: 1px solid var(--flow-line); border-radius: var(--flow-radius); overflow: hidden; }
.post-card img { width: 100%; height: 240px; object-fit: cover; }
.post-card-content { padding: 25px; }
.post-card h2 { font-size: 1.55rem; }
.post-card h2 a { text-decoration: none; }

.site-footer { background: #26352c; color: #eae8e0; padding: 70px 0 30px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 50px; }
.site-footer h2, .site-footer h3, .site-footer a { color: #fff; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin: 7px 0; }
.site-footer a { text-decoration: none; }
.footer-note { border-top: 1px solid rgba(255,255,255,.15); margin-top: 45px; padding-top: 24px; color: #cfd5cf; font-size: .82rem; }

@media (max-width: 900px) {
  .admin-bar .site-header { top: 46px; }
  .menu-toggle { display: block; }
  .site-navigation { position: absolute; top: 84px; left: 0; right: 0; display: none; padding: 20px; background: var(--flow-cream); border-bottom: 1px solid var(--flow-line); }
  .site-navigation.is-open { display: block; }
  .primary-menu { flex-direction: column; align-items: flex-start; }
  .flow-hero .wp-block-columns { min-height: auto; padding-top: 45px; }
  .flow-hero-image img { height: 500px; }
  .posts-grid, .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  body { font-size: 17px; }
  .flow-wrap, .entry-content > *:not(.alignfull), .entry-content > .alignwide, .page-shell, .post-shell { width: min(100% - 28px, 1180px); }
  .entry-content .wp-block-group { padding-top: 62px; padding-bottom: 62px; }
  .flow-hero h1 { font-size: 3.35rem; }
  .flow-hero-image img { height: 420px; border-radius: 120px 120px 20px 20px; }
  .wp-block-buttons { gap: 10px; }
}

/* Final cascade for the approved 1.1 design. */
body{margin:0;background:#f8f5ee;color:#23362e;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}
h1,h2,h3,.site-title{font-family:Georgia,"Times New Roman",serif;color:#173529;font-weight:400}
.site-header{position:relative;top:auto;background:#faf8f2;border-bottom:1px solid #d8d4ca;backdrop-filter:none}
.admin-bar .site-header{top:auto}.header-inner{width:min(1120px,calc(100% - 48px));min-height:80px}
.site-title{font-size:2rem}.primary-menu{gap:34px}.primary-menu a{font-size:.83rem;font-weight:500}
.site-footer{background:#193229;padding:75px 0 30px}.footer-grid{grid-template-columns:2.5fr .7fr .8fr}.site-footer h2{font-size:2.5rem}.site-footer h3{font-family:Arial;font-size:.65rem}.site-footer p,.site-footer li,.site-footer a{font-size:.8rem;color:#d8ded9}.footer-note{display:flex;justify-content:space-between}
@media(max-width:900px){.site-navigation{background:#faf8f2}.footer-grid{grid-template-columns:1fr}.primary-menu{gap:18px}}
@media(max-width:600px){body{font-size:16px}.header-inner{width:calc(100% - 28px)}.footer-note{flex-direction:column}}


/* v2.2: approved homepage portrait handling. Keep original image pixels intact. */
.flow-hero-photo>img{transform:none;object-position:center 20%}
.flow-about-v2{align-items:stretch}
.flow-about-photo{position:relative;overflow:hidden;align-self:stretch;display:flex;min-height:0;background:#eee5d8}
.flow-about-photo img{display:block;width:100%;height:100%;min-height:640px;object-fit:cover;object-position:center 10%;transform:none}
@media(max-width:900px){
  .flow-hero-photo>img{object-position:center 18%}
  .flow-about-photo{display:block}
  .flow-about-photo img{width:100%;height:auto!important;min-height:0;object-fit:contain;object-position:center top;transform:none}
}
@media(max-width:600px){.flow-hero-photo>img{object-position:center 16%}}

