/*
Theme Name: Bloomve Eco Marketplace
Theme URI: https://bloomve.example
Author: Bloomve
Description: A premium, eco-friendly multi-vendor marketplace theme for WooCommerce and Dokan. Bootstrap 5.3 layout, Bloomve design tokens, Customizer-controlled homepage.
Version: 1.0.0
Requires at least: 6.0
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: bloomve
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, threaded-comments
WC requires at least: 7.0
*/
/* Main styles live in assets/css/bloomve.css */


/* Bloomve About page — editorial marketplace design. Only affects the dedicated template. */
body .bv-about-page{--forest:#174f3d;--leaf:#32775a;--cream:#fbfaf5;--mint:#eaf3e9;--ink:#20342c;background:var(--cream);color:var(--ink);overflow:hidden;font-family:Figtree,Arial,sans-serif}
.bv-about-page article{margin:0!important;padding:0!important;max-width:none!important}
.bv-about-page .wp-block-group{box-sizing:border-box}
.bv-about-page .bv-about-hero{position:relative;isolation:isolate;min-height:560px;padding:105px max(25px,calc((100vw - 1160px)/2)) 105px;background:radial-gradient(circle at 83% 42%,#c8e1bd 0 12%,transparent 12.3%),radial-gradient(circle at 89% 55%,#e1c994 0 9%,transparent 9.3%),radial-gradient(ellipse at 87% 48%,#d9e9cc 0 26%,transparent 26.3%),linear-gradient(115deg,#f3f7ed 0%,#f5f4e8 100%);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.bv-about-page .bv-about-hero:after{content:'✳';position:absolute;right:14%;top:22%;font-size:clamp(110px,20vw,260px);color:#4c8966;opacity:.38;transform:rotate(-20deg);z-index:-1}
.bv-about-page .bv-about-hero>*{max-width:650px!important;width:100%;margin-left:0!important;margin-right:0!important}
.bv-about-page .bv-about-hero>p:first-child{display:inline-block;width:auto!important;background:#e0eee1;border:1px solid #c6dfcc;border-radius:30px;padding:9px 18px;color:#266c4e;font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:22px}
.bv-about-page .bv-about-hero h1{font-family:'Bricolage Grotesque',sans-serif;color:var(--forest);font-size:clamp(44px,5.3vw,78px);letter-spacing:-.055em;line-height:1.05;font-weight:700;margin:0 0 27px}
.bv-about-page p{font-size:16px;line-height:1.85;color:#53645a;margin:0 0 20px}
.bv-about-page .bv-about-hero p{font-size:18px;color:#4c6355;line-height:1.8}
.bv-about-page .bv-about-hero p:last-child{color:var(--forest);font-size:17px;margin-top:12px}
.bv-about-page h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(31px,3.4vw,47px);line-height:1.14;letter-spacing:-.035em;color:var(--forest);font-weight:700;margin:0 0 25px}
.bv-about-page h3{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;color:var(--forest);font-weight:700;margin:0 0 14px}
.bv-about-page .bv-about-section{max-width:1160px;margin:0 auto;padding:95px 24px;position:relative}
.bv-about-page .bv-about-section>*{max-width:840px}
.bv-about-page .bv-about-section:not(.bv-about-mission):nth-of-type(even){border-top:1px solid #e4e9df}
.bv-about-page .bv-about-section:not(.bv-about-mission)>h2:before{content:'';display:block;width:46px;height:5px;border-radius:5px;background:#91b58a;margin-bottom:25px}
.bv-about-page .bv-about-mission{max-width:none;background:var(--forest);color:#fff;padding:94px 24px;text-align:center}
.bv-about-page .bv-about-mission>*{max-width:780px;margin-left:auto;margin-right:auto}
.bv-about-page .bv-about-mission h2{color:#cce4bf}
.bv-about-page .bv-about-mission p{color:#e2eee4}
.bv-about-page .bv-about-mission p strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(23px,3vw,37px);line-height:1.4;color:white}
.bv-about-page .bv-about-features{max-width:none;background:#f0f5ec;padding:90px max(24px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.bv-about-page .bv-about-features>h2{grid-column:1/-1;text-align:center;margin-bottom:28px}
.bv-about-page .bv-about-feature{padding:38px;background:#fff;border:1px solid #e0e9de;border-radius:22px;box-shadow:0 12px 35px rgba(24,77,55,.045);transition:transform .2s,box-shadow .2s}
.bv-about-page .bv-about-feature:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(24,77,55,.09)}
.bv-about-page .bv-about-feature:before{content:'✦';display:flex;align-items:center;justify-content:center;background:#e8f3e7;color:#27714f;font-size:27px;width:57px;height:57px;border-radius:17px;margin-bottom:25px}
.bv-about-page .bv-about-feature:nth-child(3):before{content:'♧'}
.bv-about-page .bv-about-feature:nth-child(4):before{content:'✓'}
.bv-about-page .bv-about-feature:nth-child(5):before{content:'♡'}
.bv-about-page .bv-about-feature p{margin:0}
.bv-about-page .bv-about-cta{max-width:none;text-align:center;padding:100px 24px;background:radial-gradient(circle at 12% 30%,#2c7454 0,transparent 36%),linear-gradient(125deg,#164d3a,#103b2d);color:#fff}
.bv-about-page .bv-about-cta>*{max-width:850px;margin-left:auto;margin-right:auto}
.bv-about-page .bv-about-cta h2{color:#fff;font-size:clamp(34px,4vw,56px)}
.bv-about-page .bv-about-cta p{color:#e5f2e8}
.bv-about-page .bv-about-cta .wp-block-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.bv-about-page .bv-about-cta .wp-block-button__link{display:inline-block;padding:16px 28px;border-radius:40px;background:#e7e9b6;color:#174b38;font-weight:800;text-decoration:none}
.bv-about-page .bv-about-cta .wp-block-button:nth-child(2) .wp-block-button__link{background:transparent;color:#fff;border:1px solid #a5c4b4}
@media(max-width:900px){.bv-about-page .bv-about-hero{min-height:480px;padding:80px 32px;background:linear-gradient(115deg,#f3f7ed,#e7f1df)}.bv-about-page .bv-about-hero:after{right:0;opacity:.12}.bv-about-page .bv-about-features{padding:70px 28px}}
@media(max-width:640px){.bv-about-page .bv-about-hero{padding:65px 22px;min-height:auto}.bv-about-page .bv-about-hero h1{font-size:44px}.bv-about-page .bv-about-hero p{font-size:16px}.bv-about-page .bv-about-section{padding:65px 22px}.bv-about-page .bv-about-mission{padding:70px 22px}.bv-about-page .bv-about-features{grid-template-columns:1fr;padding:65px 20px}.bv-about-page .bv-about-features>h2{grid-column:1}.bv-about-page .bv-about-feature{padding:28px}.bv-about-page .bv-about-cta{padding:75px 22px}}


/* v1.0.2: Fix WordPress constrained block widths collapsing the feature grid. */
.bv-about-page .bv-about-features.wp-block-group {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch;
  width:100% !important;
  max-width:none !important;
}
.bv-about-page .bv-about-features > .bv-about-feature.wp-block-group {
  box-sizing:border-box;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  align-self:stretch;
}
.bv-about-page .bv-about-features > h2 {
  width:100% !important;
  max-width:none !important;
  grid-column:1 / -1;
  margin-left:0 !important;
  margin-right:0 !important;
}
.bv-about-page .bv-about-feature > * {
  max-width:100% !important;
  overflow-wrap:break-word;
}
.bv-about-page .bv-about-section.wp-block-group,
.bv-about-page .bv-about-hero.wp-block-group,
.bv-about-page .bv-about-cta.wp-block-group {
  box-sizing:border-box;
  width:100%;
}
.bv-about-page .bv-about-features { scroll-margin-top:120px; }
@media (max-width:700px) {
  .bv-about-page .bv-about-features.wp-block-group {
    grid-template-columns:minmax(0,1fr) !important;
  }
}


/* About page layout: defeat theme and Gutenberg constrained-width overrides. */
body.page .bv-about-page {display:block; width:100%; max-width:none; margin:0; padding:0; overflow:hidden}
body.page .bv-about-page > article {width:100%;max-width:none;margin:0;padding:0}
body.page .bv-about-page .bv-about-hero,
body.page .bv-about-page .bv-about-mission,
body.page .bv-about-page .bv-about-features,
body.page .bv-about-page .bv-about-cta {width:100%;max-width:none;margin-left:0!important;margin-right:0!important}
body.page .bv-about-page .bv-about-features {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px}
body.page .bv-about-page .bv-about-features > .bv-about-feature {width:100%!important;max-width:none!important;min-width:0;margin:0!important}
body.page .bv-about-page .bv-about-features > h2 {grid-column:1/-1;max-width:none!important}
body.page .bv-about-page .bv-about-hero > *,
body.page .bv-about-page .bv-about-section > *,
body.page .bv-about-page .bv-about-mission > *,
body.page .bv-about-page .bv-about-cta > * {box-sizing:border-box}
@media(max-width:700px){body.page .bv-about-page .bv-about-features{grid-template-columns:minmax(0,1fr)!important}}

/* Bloomve About: robust card layout independent of Gutenberg grid constraints. */
@media (min-width: 768px) {
 body.page .bv-about-page .bv-about-features.wp-block-group {
  display:flex!important; flex-direction:row!important; flex-wrap:wrap!important;
  align-items:stretch!important; justify-content:center!important;
  gap:24px!important; box-sizing:border-box!important;
 }
 body.page .bv-about-page .bv-about-features.wp-block-group > h2 {
  flex:0 0 100%!important; width:100%!important; max-width:100%!important;
  text-align:center!important; margin:0 0 18px!important;
 }
 body.page .bv-about-page .bv-about-features.wp-block-group > .bv-about-feature.wp-block-group {
  display:block!important; flex:0 1 calc(50% - 12px)!important;
  width:calc(50% - 12px)!important; max-width:calc(50% - 12px)!important;
  min-width:0!important; margin:0!important; box-sizing:border-box!important;
 }
}
@media (max-width:767px) {
 body.page .bv-about-page .bv-about-features.wp-block-group {
  display:flex!important;flex-direction:column!important;gap:18px!important;
  padding:60px 20px!important;
 }
 body.page .bv-about-page .bv-about-features.wp-block-group > .bv-about-feature.wp-block-group {
  width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;
 }
 body.page .bv-about-page .bv-about-features.wp-block-group > h2 {
  width:100%!important;max-width:100%!important;margin:0 0 12px!important;
 }
}

/* Structural About feature grid - Gutenberg cannot force individual cards into one column. */
body .bv-about-page .bv-about-features .bv-about-cards-grid {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important; width:100% !important; max-width:1160px !important;
  margin:26px auto 0 !important; box-sizing:border-box !important;
}
body .bv-about-page .bv-about-features .bv-about-cards-grid > .bv-about-feature {
  display:block !important; width:100% !important; min-width:0 !important;
  max-width:none !important; margin:0 !important; flex:none !important;
  box-sizing:border-box !important;
}
body .bv-about-page .bv-about-features .bv-about-cards-grid > .bv-about-feature:nth-child(n) {grid-column:auto !important;}
@media(max-width:767px){body .bv-about-page .bv-about-features .bv-about-cards-grid{grid-template-columns:minmax(0,1fr) !important;gap:16px !important;}}

/* Terms & Conditions: scoped, editable Gutenberg layout */
.bv-legal-page{background:#fafaf6;color:#263d34;min-height:70vh}.bv-legal-article{margin:0;padding:0}.bv-legal-page .bv-legal-wrap{max-width:1100px!important;margin:0 auto!important;padding:60px 24px 90px!important;box-sizing:border-box}.bv-legal-page .bv-legal-wrap > *{max-width:none!important}.bv-legal-hero{background:linear-gradient(125deg,#124f3b,#23684e);color:#fff;border-radius:22px;padding:58px 60px;margin:0 0 30px!important}.bv-legal-hero h1{color:#fff;font-size:clamp(2.3rem,5vw,3.9rem);letter-spacing:-.04em;line-height:1.08;margin:10px 0 16px}.bv-legal-hero p{color:#e2f0e7;max-width:700px;line-height:1.75}.bv-legal-hero .bv-legal-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;color:#b8e3c9}.bv-legal-hero .bv-legal-date{margin-top:24px;font-size:.88rem}.bv-legal-toc{padding:30px 38px;background:#edf4ed;border:1px solid #dce9dc;border-radius:18px;margin:0 0 36px!important}.bv-legal-toc h2{color:#174e3c;font-size:1.45rem;margin:0 0 16px}.bv-legal-toc-list{columns:2;column-gap:44px;padding-left:22px;margin:0}.bv-legal-toc-list li{break-inside:avoid;margin:0 0 9px;padding-left:4px}.bv-legal-toc-list a{color:#245b47;text-decoration:none;font-size:.94rem}.bv-legal-toc-list a:hover{text-decoration:underline}.bv-legal-section{padding:28px 32px!important;margin:0 0 12px!important;background:#fff;border:1px solid #e5ebe4;border-radius:15px;scroll-margin-top:125px}.bv-legal-section h2{color:#16523e;font-size:clamp(1.22rem,2.2vw,1.55rem);margin:0 0 14px!important}.bv-legal-section p{color:#53645c;font-size:1rem;line-height:1.85;margin:0!important}.bv-legal-help{background:#e7f0e6;border-radius:18px;padding:34px 38px!important;margin:34px 0 0!important}.bv-legal-help h2{color:#174e3c;margin:0 0 10px}.bv-legal-help .wp-block-button__link{background:#17543e;color:#fff;border-radius:100px;padding:12px 24px}.bv-legal-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important}.bv-legal-page .bv-legal-section,.bv-legal-page .bv-legal-toc,.bv-legal-page .bv-legal-hero,.bv-legal-page .bv-legal-help{width:100%!important;box-sizing:border-box}@media(max-width:720px){.bv-legal-page .bv-legal-wrap{padding:24px 16px 55px!important}.bv-legal-hero{padding:38px 25px;border-radius:16px}.bv-legal-toc{padding:24px}.bv-legal-toc-list{columns:1}.bv-legal-section{padding:23px 21px!important}.bv-legal-help{padding:26px!important}}


/* Terms layout v2: flatten card layout, no inherited constrained widths */
.bv-legal-page {background:#fafaf6; min-height:70vh;}
.bv-legal-page .bv-legal-article {width:100%;max-width:none;margin:0;padding:0;}
.bv-legal-page .bv-legal-wrap.wp-block-group {
 display:block!important; width:min(1100px,100%)!important; max-width:1100px!important;
 padding:48px 24px 80px!important; margin:0 auto!important; box-sizing:border-box!important;
}
.bv-legal-page .bv-legal-wrap > .bv-legal-section.wp-block-group,
.bv-legal-page .bv-legal-wrap > .bv-legal-toc.wp-block-group,
.bv-legal-page .bv-legal-wrap > .bv-legal-hero.wp-block-group {
 width:100%!important; max-width:100%!important; min-width:0!important;
 margin:0 0 18px!important; box-sizing:border-box!important;
 display:block!important; float:none!important; clear:both!important;
}
.bv-legal-page .bv-legal-section > * {max-width:100%!important;box-sizing:border-box!important;}
.bv-legal-page .bv-legal-section p {line-height:1.8;margin:0 0 16px;}
.bv-legal-page .bv-legal-section ul {padding-left:22px;margin:10px 0 18px;}
.bv-legal-page .bv-legal-section li {margin-bottom:8px;}
.bv-legal-page .bv-legal-toc-list {columns:2;column-gap:38px;}
@media(max-width:720px){
 .bv-legal-page .bv-legal-wrap.wp-block-group {padding:26px 14px 55px!important;}
 .bv-legal-page .bv-legal-toc-list {columns:1;}
}

/* Bloomve legal policy templates: flat Gutenberg blocks, no nesting or collapsing. */
.bv-policy-page{background:#f8faf6;padding:42px 18px 85px;min-height:65vh}
.bv-policy-page .bv-policy-container{width:100%;max-width:1040px;margin:0 auto}
.bv-policy-page .bv-policy-article{display:block;width:100%;max-width:none;min-width:0}
.bv-policy-page .bv-policy-article > *{box-sizing:border-box;max-width:100%!important;min-width:0}
.bv-policy-page .bv-policy-hero.wp-block-group{display:block!important;background:#155641;color:#fff;padding:48px 54px;border-radius:18px;margin:0 0 26px!important;width:100%!important}
.bv-policy-page .bv-policy-hero h1{color:#fff;font-size:clamp(30px,4vw,46px);line-height:1.18;margin:8px 0 14px}
.bv-policy-page .bv-policy-hero p{color:#e4f2e9;margin:0}
.bv-policy-page .bv-policy-hero .bv-policy-kicker{letter-spacing:.12em;font-size:12px;font-weight:700}
.bv-policy-page .bv-policy-index-title{margin:0!important;padding:24px 30px 8px;background:#edf5ec;color:#155641;border-radius:16px 16px 0 0}
.bv-policy-page .bv-policy-index{background:#edf5ec;padding:10px 30px 25px;border-radius:0 0 16px 16px;margin:0 0 28px}
.bv-policy-page .bv-policy-index ol{columns:2;column-gap:42px;margin:0;padding-left:20px}
.bv-policy-page .bv-policy-index li{break-inside:avoid;padding:5px 0}
.bv-policy-page .bv-policy-index a{color:#185842;text-decoration:none}
.bv-policy-page .bv-policy-index a:hover{text-decoration:underline}
.bv-policy-page .bv-policy-section-title{font-size:clamp(21px,2.5vw,27px);color:#155641;background:#fff;padding:30px 34px 8px;margin:0!important;border-left:1px solid #e5eae3;border-right:1px solid #e5eae3;scroll-margin-top:120px}
.bv-policy-page .bv-policy-section-title ~ p,
.bv-policy-page .bv-policy-section-title ~ ul,
.bv-policy-page .bv-policy-section-title ~ ol{background:#fff}
.bv-policy-page .bv-policy-article > p,.bv-policy-page .bv-policy-article > ul,.bv-policy-page .bv-policy-article > ol{margin:0!important;padding:9px 34px 14px;line-height:1.8;color:#45584e;border-left:1px solid #e5eae3;border-right:1px solid #e5eae3}
.bv-policy-page .bv-policy-article > ul,.bv-policy-page .bv-policy-article > ol{padding-left:62px}
.bv-policy-page .bv-policy-article > p:last-child,.bv-policy-page .bv-policy-article > ul:last-child,.bv-policy-page .bv-policy-article > ol:last-child{padding-bottom:28px;border-bottom:1px solid #e5eae3;border-radius:0 0 14px 14px}
@media(max-width:700px){.bv-policy-page{padding:20px 12px 55px}.bv-policy-page .bv-policy-hero.wp-block-group{padding:30px 24px}.bv-policy-page .bv-policy-index ol{columns:1}.bv-policy-page .bv-policy-section-title{padding:24px 20px 8px}.bv-policy-page .bv-policy-article > p,.bv-policy-page .bv-policy-article > ul,.bv-policy-page .bv-policy-article > ol{padding-left:20px;padding-right:20px}.bv-policy-page .bv-policy-article > ul,.bv-policy-page .bv-policy-article > ol{padding-left:42px}}

/* Follow Us footer column: social icons only; responsive and accessible. */
.bv-footer-follow__icons{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:15px}
.bv-footer-follow__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:var(--bv-footer-link,#fff);text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.bv-footer-follow__icon svg{display:block;width:19px;height:19px;fill:currentColor}
.bv-footer-follow__icon:hover,.bv-footer-follow__icon:focus-visible{color:#183d32;background:#fff;border-color:#fff;transform:translateY(-2px)}
.bv-footer-follow__icon:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:575px){.bv-footer-follow__icons{gap:8px}.bv-footer-follow__icon{width:36px;height:36px;flex-basis:36px}}
