/*
Theme Name: Fleur & Fauna
Theme URI: https://example.com/fleur-fauna
Author: Bee Happy Creative
Author URI: https://beehappycreative.com
Description: Fleur & Fauna premium floral WordPress theme with homepage matching the approved mockup, transparent locked logo, Customizer editing, and starter pages for About, Event, Design and Contact.
Version: 1.0.6
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fleur-fauna
Tags: custom-menu, featured-images, e-commerce, one-column, two-columns, theme-options
*/

:root{
  --ff-blue:#4c83e6;
  --ff-blue-2:#2f70dc;
  --ff-cream:#fff8f1;
  --ff-warm:#f7eadf;
  --ff-blush:#ffdce5;
  --ff-pink:#f69ab1;
  --ff-lav:#f1eafa;
  --ff-mint:#dfeee3;
  --ff-green:#5f8b65;
  --ff-yellow:#f4b43d;
  --ff-ink:#0d243c;
  --ff-ink-2:#091a2c;
  --ff-text:#5b5a56;
  --ff-soft:#ebe1d7;
  --ff-white:#ffffff;
  --ff-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --ff-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ff-radius:28px;
  --ff-shadow:0 24px 80px rgba(13,36,60,.08);
}

*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ff-cream);color:var(--ff-text);font-family:var(--ff-sans);font-size:16px;line-height:1.65} img{max-width:100%;height:auto;display:block} a{color:inherit;text-decoration:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ff-page{overflow:hidden;background:var(--ff-cream)}

.ff-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.ff-header{position:sticky;top:0;z-index:50;background:rgba(255,248,241,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(76,131,230,.08)}.ff-header__inner{height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.ff-logo{display:flex;align-items:center;gap:12px;color:var(--ff-blue);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:14px}.ff-logo img{width:185px;height:auto;object-fit:contain}.ff-nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#18222f}.ff-nav a{transition:.2s;color:#18222f}.ff-nav a:hover{color:var(--ff-blue)}.ff-header__icons{display:flex;gap:20px;color:#6b7280}.ff-icon{width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center}.ff-mobile-toggle{display:none;border:0;background:transparent;color:var(--ff-blue);font-size:24px;cursor:pointer}

.ff-hero{position:relative;background:linear-gradient(110deg,#fff6ee 0%,#f9eade 42%,#fff8f1 100%);min-height:600px;border-bottom:1px solid rgba(13,36,60,.06)}.ff-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 22%,rgba(255,255,255,.85),transparent 32%),linear-gradient(115deg,rgba(255,255,255,.38),transparent 42%);pointer-events:none}.ff-hero__stripe{position:absolute;left:0;top:70px;width:38px;height:310px;background:repeating-linear-gradient(to bottom,var(--ff-blue) 0 8px,transparent 8px 22px);opacity:.95;border-radius:0 14px 14px 0}.ff-hero__inner{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center;padding:64px 0 58px}.ff-eyebrow{margin:0 0 14px;color:var(--ff-blue);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.ff-title{font-family:var(--ff-serif);font-weight:400;line-height:.92;letter-spacing:-.045em;color:var(--ff-blue);font-size:clamp(64px,8vw,116px);margin:0 0 24px}.ff-copy{max-width:410px;color:#66635f;font-size:18px;margin:0 0 28px}.ff-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.ff-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;background:var(--ff-blue);color:white;font-weight:850;font-size:12px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 30px rgba(76,131,230,.22);transition:.22s}.ff-btn:hover{transform:translateY(-2px);background:var(--ff-blue-2)}.ff-link{font-weight:850;color:var(--ff-blue);font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.ff-link span{margin-left:8px}.ff-hero__art{position:relative;min-height:450px;display:flex;align-items:flex-end;justify-content:center}.ff-hero__art img{width:min(680px,100%);filter:drop-shadow(0 38px 30px rgba(35,45,65,.10))}.ff-badge{position:absolute;right:0;bottom:84px;width:138px;height:138px;display:grid;place-items:center;text-align:center;padding:24px;border-radius:38% 48% 42% 52%;background:var(--ff-pink);color:white;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;transform:rotate(-3deg)}.ff-dots{position:absolute;right:30px;bottom:-22px;width:94px;height:72px;background-image:radial-gradient(var(--ff-pink) 3px,transparent 3px);background-size:18px 18px;opacity:.75}.ff-pink-dots{display:inline-block;width:84px;height:18px;background-image:radial-gradient(var(--ff-pink) 2.6px,transparent 2.6px);background-size:17px 17px;vertical-align:middle;margin-left:10px;opacity:.65}

.ff-benefits{background:rgba(255,255,255,.7);border-top:1px solid rgba(13,36,60,.05);border-bottom:1px solid rgba(13,36,60,.06)}.ff-benefits__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:20px 0}.ff-benefit{display:flex;align-items:center;gap:14px;color:#62625f;font-size:13px}.ff-benefit svg{width:38px;height:38px;color:#6d7477;stroke-width:1.4}.ff-benefit strong{display:block;color:#4f4f4d;font-size:13px}.ff-benefit span{display:block;font-size:12px;color:#77736f}

.ff-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.85)}.ff-card{position:relative;min-height:330px;padding:58px 52px;display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:center;overflow:hidden}.ff-card--garden{background:linear-gradient(135deg,#f7f1ff,#fff9f2)}.ff-card--fancy{background:linear-gradient(135deg,#ffe7ef,#fff1df)}.ff-card h2,.ff-about h2{font-family:var(--ff-serif);font-weight:400;color:var(--ff-blue);line-height:1.03;letter-spacing:-.035em;font-size:clamp(38px,4vw,56px);margin:0 0 18px}.ff-card p{margin:0 0 22px;max-width:250px}.ff-card img{width:100%;max-height:290px;object-fit:cover;border-radius:0;filter:none;box-shadow:none}.ff-card__flower{position:absolute;left:-46px;bottom:32px;width:108px;height:108px;border-radius:50%;background:#d8c7ec;opacity:.65}.ff-card__flower:after{content:"";position:absolute;width:108px;height:108px;left:48px;top:0;border-radius:50%;background:#d8c7ec}

.ff-about{background:#fffaf4}.ff-about__inner{display:grid;grid-template-columns:.92fr 1fr 1.25fr;gap:38px;align-items:center;padding:66px 0}.ff-about__photo{border-radius:0;box-shadow:var(--ff-shadow);overflow:hidden}.ff-about__photo img{width:100%;height:340px;object-fit:cover}.ff-about p{margin:0 0 22px}.ff-mini-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}.ff-mini-icons img{height:108px;width:auto;margin:0 auto 10px;object-fit:contain}.ff-mini-icons p{font-size:13px;line-height:1.35;margin:0;color:#6f6c68}.ff-mini-icons strong{color:#4f4f4c}

.ff-newsletter{background:#eaf2ff;border-top:1px solid rgba(76,131,230,.16);border-bottom:1px solid rgba(76,131,230,.16);position:relative}.ff-newsletter__inner{display:grid;grid-template-columns:1fr 470px;gap:34px;align-items:center;padding:24px 0}.ff-newsletter__title{display:flex;gap:20px;align-items:center;font-family:var(--ff-serif);font-size:30px;color:var(--ff-blue);letter-spacing:-.03em}.ff-newsletter__title img{width:70px;height:auto;object-fit:contain}.ff-newsletter form{display:flex;gap:10px}.ff-newsletter input{width:100%;height:48px;border:1px solid rgba(13,36,60,.15);border-radius:7px;padding:0 16px;background:#fffdf9;color:#374151}.ff-newsletter .ff-btn{border:0;min-height:48px;border-radius:7px;cursor:pointer}.ff-newsletter__dots{position:absolute;right:16px;bottom:12px;width:90px;height:72px;background-image:radial-gradient(var(--ff-blue) 3px,transparent 3px);background-size:18px 18px;opacity:.75}

.ff-footer{position:relative;background:radial-gradient(circle at 7% 15%,rgba(76,131,230,.25),transparent 22%),linear-gradient(135deg,var(--ff-ink),var(--ff-ink-2));color:#d9e1ee;overflow:hidden}.ff-footer:before,.ff-footer:after{content:"";position:absolute;width:230px;height:230px;border:1px dashed rgba(76,131,230,.42);border-radius:45%;opacity:.7}.ff-footer:before{left:-80px;bottom:28px;transform:rotate(18deg)}.ff-footer:after{right:-56px;top:20px;transform:rotate(-18deg)}.ff-footer__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:42px;padding:64px 0 34px}.ff-footer__brand img{width:150px;height:auto;object-fit:contain;margin-bottom:14px}.ff-footer__brand p{max-width:245px;margin:0 0 18px;font-size:14px;color:#d6deea}.ff-social{display:flex;gap:16px;align-items:center;color:#fff}.ff-social a{opacity:.9}.ff-social a:hover{color:var(--ff-blue)}.ff-footer h3{margin:0 0 16px;color:#fffaf4;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.ff-footer ul{margin:0;padding:0;list-style:none}.ff-footer li{margin:7px 0}.ff-footer a{font-size:14px;color:#d5cfca}.ff-footer a:hover{color:#75a5ff}.ff-footer__bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;padding:18px 0;color:#c3cfdd;font-size:12px}.ff-footer__bottom-links{display:flex;gap:22px}.ff-line-flower{position:absolute;width:210px;opacity:.34;filter:saturate(1.2)}.ff-line-flower--left{left:18px;bottom:80px}.ff-line-flower--right{right:8px;bottom:22px;transform:scaleX(-1)}

.ff-page-content{padding:80px 0;min-height:50vh}.ff-page-content h1,.ff-post h1{font-family:var(--ff-serif);color:var(--ff-blue);font-size:56px;line-height:1.05}.ff-page-content a,.ff-post a{color:var(--ff-blue);text-decoration:underline}.ff-post{width:min(860px,calc(100% - 40px));margin:0 auto;padding:80px 0}.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button{background:var(--ff-blue);color:#fff;border-radius:999px}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--ff-ink);font-family:var(--ff-serif);font-size:24px}.woocommerce span.onsale{background:var(--ff-pink)}

@media (max-width:980px){.ff-header__inner{height:auto;min-height:78px}.ff-mobile-toggle{display:block}.ff-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff8f1;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(76,131,230,.12)}.ff-nav.is-open{display:flex}.ff-hero__inner,.ff-about__inner{grid-template-columns:1fr}.ff-hero__art{min-height:320px}.ff-split{grid-template-columns:1fr}.ff-newsletter__inner{grid-template-columns:1fr}.ff-footer__inner{grid-template-columns:1fr 1fr}.ff-footer__brand{grid-column:1/-1}.ff-benefits__inner{grid-template-columns:1fr 1fr}.ff-card{grid-template-columns:1fr;padding:42px 30px}.ff-about__photo img{height:260px}.ff-mini-icons{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){.ff-container{width:min(100% - 28px,1180px)}.ff-header__icons{display:none}.ff-logo img{width:92px}.ff-title{font-size:58px}.ff-copy{font-size:16px}.ff-hero__inner{padding:52px 0 42px}.ff-benefits__inner{grid-template-columns:1fr}.ff-mini-icons{grid-template-columns:1fr}.ff-newsletter__title{font-size:24px}.ff-newsletter form{flex-direction:column}.ff-footer__inner{grid-template-columns:1fr}.ff-footer__bottom{flex-direction:column}.ff-split{border:0}.ff-card h2,.ff-about h2{font-size:42px}}


/* v1.0.4 refinement: closer editorial spacing and subpage layouts */
.ff-header__inner{height:88px}.ff-logo img{width:168px}.ff-nav{gap:38px;font-size:11px;letter-spacing:.13em}.ff-title{font-family:var(--ff-serif);font-size:clamp(62px,7.6vw,108px);line-height:.94;font-weight:400}.ff-card h2,.ff-about h2,.ff-section-title{font-family:var(--ff-serif);font-style:normal;font-weight:400}.ff-copy{font-size:17px;line-height:1.55}.ff-btn{min-height:45px;padding:0 26px}.ff-hero{min-height:580px}.ff-hero__inner{padding:54px 0 52px}.ff-hero__art img{width:min(650px,100%)}.ff-benefits__inner{padding:16px 0}.ff-card{min-height:315px;padding:54px 48px}.ff-about__inner{padding:56px 0}.ff-newsletter__inner{padding:18px 0}.ff-footer__inner{padding-top:56px}.ff-footer__brand img{width:138px}.ff-page-content h1,.ff-post h1{font-family:var(--ff-serif);font-weight:400;color:var(--ff-blue)}

.ff-subpage-hero{background:linear-gradient(110deg,#fff8f1,#f8eadf);border-bottom:1px solid rgba(13,36,60,.06);padding:86px 0 70px;position:relative;overflow:hidden}.ff-subpage-hero:after{content:"";position:absolute;right:7%;top:40px;width:140px;height:100px;background-image:radial-gradient(var(--ff-pink) 3px,transparent 3px);background-size:18px 18px;opacity:.38}.ff-subpage-kicker{color:var(--ff-blue);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px}.ff-subpage-title{font-family:var(--ff-serif);font-weight:400;color:var(--ff-blue);font-size:clamp(56px,7vw,96px);line-height:.95;letter-spacing:-.045em;margin:0}.ff-subpage-copy{max-width:680px;font-size:18px;color:#746b66;margin:22px 0 0;line-height:1.65}.ff-editorial-section{padding:76px 0;background:#fffaf4}.ff-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.ff-editorial-grid img{width:100%;border-radius:0;box-shadow:none}.ff-editorial-grid h2{font-family:var(--ff-serif);font-size:54px;line-height:1;color:var(--ff-blue);font-weight:400;letter-spacing:-.03em;margin:0 0 18px}.ff-editorial-grid p{font-size:17px;color:#746b66}.ff-soft-panel{background:linear-gradient(135deg,#f7f1ff,#fff3e8);padding:52px;border-radius:0}.ff-contact-form{display:grid;gap:14px}.ff-contact-form input,.ff-contact-form textarea,.ff-contact-form select,.ff-event-options select{width:100%;height:46px;border:1px solid #decfc5;background:#fffdf9;border-radius:0;padding:0 13px;color:#5b5a56;font-family:var(--ff-sans)}.ff-contact-form textarea{height:160px;padding-top:12px}.ff-contact-note{font-size:13px;color:#8f7b76}.ff-page-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.ff-page-link-card{background:#fff;border:1px solid rgba(13,36,60,.08);padding:28px}.ff-page-link-card h3{font-family:var(--ff-serif);color:var(--ff-blue);font-size:34px;font-weight:400;margin:0 0 8px}.ff-page-link-card p{margin:0;color:#746b66}.ff-page-link-card a{display:inline-block;margin-top:18px;color:#c06a7d;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}

.ff-event-section{background:#fff;padding:54px 0 90px}.ff-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.ff-event-card{min-width:0}.ff-event-image-wrap{position:relative;background:#f1eeee;margin-bottom:22px;overflow:hidden}.ff-event-image-wrap img{width:100%;height:260px;object-fit:cover}.ff-event-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;background:rgba(0,0,0,.34);color:white;border:0;display:grid;place-items:center;font-size:24px;line-height:1}.ff-event-arrow--left{left:16px}.ff-event-arrow--right{right:16px}.ff-event-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.ff-event-dots span{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.8)}.ff-event-card h2{font-family:var(--ff-serif);font-style:italic;font-weight:400;font-size:26px;line-height:1.1;color:#1e2430;margin:0 0 18px}.ff-event-price,.ff-event-card p{color:#b49aa0;font-size:18px;line-height:1.55;margin:0 0 20px}.ff-event-location{display:block;margin:24px 0 12px;color:#b86e7a;font-size:12px;letter-spacing:.24em;text-transform:uppercase}.ff-event-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}.ff-event-options label{display:grid;gap:6px;color:#8d777b;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.ff-enquire{border:0;background:transparent;padding:0;color:#c65d75;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;cursor:pointer}.ff-enquire:hover{color:var(--ff-blue)}

@media (max-width:980px){.ff-event-grid,.ff-editorial-grid{grid-template-columns:1fr}.ff-page-links{grid-template-columns:1fr}.ff-event-image-wrap img{height:auto}.ff-logo img{width:140px}}
@media (max-width:640px){.ff-header__inner{height:auto}.ff-event-grid{gap:38px}.ff-subpage-hero{padding:58px 0}.ff-event-section{padding-top:36px}.ff-event-options{grid-template-columns:1fr}.ff-editorial-section{padding:50px 0}.ff-soft-panel{padding:30px}.ff-logo img{width:112px}}


/* v1.0.6 logo/header fix */
.ff-logo{display:flex;align-items:center;flex:0 0 auto;max-width:160px}
.ff-logo img{display:block !important;width:auto !important;max-width:160px !important;max-height:56px !important;height:auto !important;object-fit:contain}
.ff-newsletter__title img{display:block;width:auto;max-width:74px;max-height:46px;height:auto;object-fit:contain}
.ff-footer__brand img{display:block;width:auto;max-width:138px;max-height:88px;height:auto;object-fit:contain}
@media (max-width:980px){.ff-logo{max-width:138px}.ff-logo img{max-width:138px !important;max-height:48px !important}}
@media (max-width:640px){.ff-logo{max-width:112px}.ff-logo img{max-width:112px !important;max-height:40px !important}}
