/* ==========================================================
   EcoBen Store: content pages (home, about, contact, FAQ).
   Full-width sections (.ebp-sec) with an inner container (.ebp-in).
   Loaded only on pages whose content carries {{tokens}} (Content\Pages).
   ========================================================== */
.eb-fullpage main#content.site-main{ max-width:none; padding:0; }
.eb-fullpage .eb-footer{ margin-top:0; }
.ebp{ color:var(--eb-ink); }
.ebp-in{ max-width:var(--eb-container); margin:0 auto; padding:0 var(--eb-gutter); }
.ebp-narrow{ max-width:860px; }
.ebp-sec{ padding:var(--eb-section) 0; }
.ebp-sec--tint{ background:var(--eb-tint); }
.ebp-head{ text-align:center; max-width:720px; margin:0 auto 34px; }
.ebp-head h2{ margin:0 0 10px; }
.ebp-head p{ margin:0; color:var(--eb-ink-soft); font-size:16.5px; }
.ebp-center{ text-align:center; margin:28px 0 0; }
.ebp-eyebrow{ display:inline-block; font-size:13px; font-weight:600; color:var(--eb-primary); background:var(--eb-paper); border:1px solid #D7EBCD; border-radius:999px; padding:6px 14px; margin-bottom:16px; }
.ebp-lead{ font-size:17px; line-height:1.65; color:var(--eb-ink-soft); }
h1 em, .ebp h2 em{ font-style:normal; color:var(--eb-primary); }

/* Buttons */
.ebp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:0 26px; border-radius:var(--eb-radius); background:var(--eb-primary); color:#fff; font-weight:700; font-size:16px; transition:background .2s,transform .2s; }
.ebp-btn:hover{ background:var(--eb-primary-soft); color:#fff; }
.ebp-btn--ghost{ background:var(--eb-paper); color:var(--eb-primary); border:1.5px solid var(--eb-accent); }
.ebp-btn--ghost:hover{ background:var(--eb-tint); color:var(--eb-primary); }
.ebp-btn--light{ background:#fff; color:var(--eb-primary); }
.ebp-btn--light:hover{ background:var(--eb-tint); color:var(--eb-primary); }
.ebp-actions{ display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 22px; }
.ebp-link{ display:inline-flex; align-items:center; gap:6px; font-weight:600; }

/* Icon bubble */
.ebp-ico{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:var(--eb-tint); color:var(--eb-primary); display:inline-flex; align-items:center; justify-content:center; }
.ebp-sec--tint .ebp-ico{ background:var(--eb-paper); }

/* ---------- Home hero ---------- */
.ebp-hero{ background:linear-gradient(180deg,var(--eb-tint) 0%,#fff 100%); padding:56px 0 64px; overflow:hidden; }
.ebp-hero__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.ebp-hero h1{ font-size:clamp(34px,4.6vw,56px); line-height:1.08; margin:0 0 18px; }
.ebp-hero .ebp-lead{ max-width:540px; }
.ebp-trust{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 22px; font-size:14px; font-weight:500; color:var(--eb-ink-strong); }
.ebp-trust li{ display:inline-flex; align-items:center; gap:8px; }
.ebp-trust svg{ color:var(--eb-accent); }
.ebp-packs{ display:flex; align-items:flex-end; justify-content:center; gap:2%; }
.ebp-pack{ flex:1 1 0; min-width:0; transition:transform .25s var(--eb-ease); }
.ebp-pack img{ display:block; width:100%; height:auto; border-radius:50%; }
.ebp-pack--2{ flex-grow:1.25; }
.ebp-pack:hover{ transform:translateY(-6px); }

/* Products grid inside a page: all five in one row on wide screens */
.ebp-products .woocommerce ul.products{ margin-bottom:0; }
@media (min-width:1100px){ .ebp-products .woocommerce ul.products{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; } }

/* ---------- Problem cards ---------- */
.ebp-grid3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; margin:0; padding:0; }
.ebp-grid4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; list-style:none; margin:0; padding:0; }
.ebp-use{ display:flex; flex-direction:column; gap:12px; background:var(--eb-paper); border-radius:var(--eb-radius-card); box-shadow:var(--eb-shadow); padding:24px; color:var(--eb-ink); border-top:3px solid var(--eb-accent); transition:box-shadow .2s,transform .2s; }
.ebp-use:hover{ box-shadow:var(--eb-shadow-hover); transform:translateY(-3px); color:var(--eb-ink); }
.ebp-use h3{ margin:4px 0 0; font-size:20px; }
.ebp-use ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:15px; color:var(--eb-ink-soft); }
.ebp-use li{ position:relative; padding-left:18px; }
.ebp-use li::before{ content:""; position:absolute; left:2px; top:.62em; width:6px; height:6px; border-radius:50%; background:var(--eb-accent); }
.ebp-more{ margin-top:auto; padding-top:6px; display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--eb-primary); }

/* ---------- Split (text + photo) ---------- */
.ebp-split{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; align-items:center; }
.ebp-split h2{ margin-bottom:14px; }
.ebp-split p{ font-size:16px; line-height:1.7; color:var(--eb-ink-soft); }
.ebp-photo{ border-radius:var(--eb-radius-l); overflow:hidden; box-shadow:var(--eb-shadow-hover); aspect-ratio:4/5; background:var(--eb-cream); }
.ebp-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ebp-feats{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
.ebp-feats li{ display:flex; gap:14px; align-items:flex-start; background:var(--eb-paper); border-radius:var(--eb-radius-card); box-shadow:var(--eb-shadow); padding:16px 18px; }
.ebp-feats h3{ margin:2px 0 4px; font-size:16.5px; }
.ebp-feats p{ margin:0; font-size:14.5px; line-height:1.55; }

/* ---------- Compare ---------- */
.ebp-compare{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:980px; margin:0 auto; }
.ebp-compare__col{ border-radius:var(--eb-radius-card); padding:24px 26px; border:2px solid; }
.ebp-compare__col h3{ margin:0 0 14px; font-size:19px; }
.ebp-compare__col ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; font-size:15px; }
.ebp-compare__col li{ display:flex; gap:10px; align-items:flex-start; }
.ebp-compare__col svg{ flex:0 0 auto; margin-top:2px; }
.ebp-compare__col--ok{ background:#F1FAEC; border-color:var(--eb-accent); }
.ebp-compare__col--ok h3, .ebp-compare__col--ok svg{ color:var(--eb-primary); }
.ebp-compare__col--no{ background:#FFF4F4; border-color:#F2B8B8; }
.ebp-compare__col--no h3, .ebp-compare__col--no svg{ color:var(--eb-danger); }

/* ---------- Steps ---------- */
.ebp-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; counter-reset:none; }
.ebp-steps li{ background:var(--eb-paper); border:1px solid var(--eb-line); border-radius:var(--eb-radius-card); padding:26px 24px; }
.ebp-step{ display:inline-flex; width:40px; height:40px; border-radius:50%; background:var(--eb-accent); color:#fff; font-weight:700; font-size:18px; align-items:center; justify-content:center; margin-bottom:14px; }
.ebp-steps h3{ margin:0 0 8px; font-size:18px; }
.ebp-steps p{ margin:0; font-size:15px; line-height:1.6; color:var(--eb-ink-soft); }

/* ---------- Reviews ---------- */
.ebp-rating{ display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 26px; font-size:15px; color:var(--eb-ink-soft); }
.ebp-rating strong{ font-size:40px; line-height:1; color:var(--eb-ink-strong); }
.ebp-reviews{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ebp-review{ display:flex; flex-direction:column; gap:10px; background:var(--eb-paper); border-radius:var(--eb-radius-card); box-shadow:var(--eb-shadow); padding:20px; }
.ebp-review p{ margin:0; font-size:14.5px; line-height:1.6; }
.ebp-review__who{ margin-top:auto; font-size:13px; color:var(--eb-ink-faint); }
.ebp-review__who strong{ color:var(--eb-ink-strong); }
.ebp-note{ margin:18px 0 0; text-align:center; font-size:12.5px; color:var(--eb-ink-faint); }

/* ---------- Reviews page ---------- */
.ebp-rated{ list-style:none; margin:0 0 26px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.ebp-rated a{ display:grid; grid-template-columns:56px 1fr; grid-template-rows:auto auto; gap:2px 12px; align-items:center; padding:12px; border-radius:var(--eb-radius-card); background:var(--eb-paper); box-shadow:var(--eb-shadow); color:var(--eb-ink-strong); }
.ebp-rated img{ grid-row:span 2; width:56px; height:56px; object-fit:contain; }
.ebp-rated__name{ font-size:14px; font-weight:600; line-height:1.3; }
.ebp-rated__meta{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--eb-ink-soft); }
.eb-review__product{ display:inline-block; margin-top:10px; font-size:13px; font-weight:600; }

/* ---------- FAQ accordion ---------- */
.ebp-faq{ display:grid; gap:10px; }
.ebp-faq details{ background:var(--eb-paper); border:1px solid var(--eb-line); border-radius:var(--eb-radius); transition:border-color .15s; }
.ebp-faq details[open]{ border-color:var(--eb-accent); }
.ebp-faq summary{ list-style:none; position:relative; padding:17px 52px 17px 20px; font-weight:600; font-size:16px; color:var(--eb-ink-strong); }
.ebp-faq summary::-webkit-details-marker{ display:none; }
.ebp-faq summary::after{ content:""; position:absolute; right:18px; top:50%; width:22px; height:22px; margin-top:-11px; border-radius:50%; background:var(--eb-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/12px no-repeat; transition:transform .2s; }
.ebp-faq details[open] summary::after{ transform:rotate(45deg); }
.ebp-faq details > div{ padding:0 20px 18px; }
.ebp-faq p{ margin:0; font-size:15px; line-height:1.65; color:var(--eb-ink-soft); }

/* ---------- Page hero (about, contact, FAQ) ---------- */
.ebp-pagehero{ background:linear-gradient(180deg,var(--eb-tint) 0%,#fff 100%); padding:64px 0 40px; text-align:center; }
.ebp-pagehero h1{ max-width:820px; margin:0 auto 14px; }
.ebp-pagehero .ebp-lead{ max-width:680px; margin:0 auto; }
.ebp-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:24px; }
.ebp-chip{ border:1px solid var(--eb-line); background:var(--eb-paper); border-radius:999px; padding:9px 16px; font-size:14px; font-weight:600; color:var(--eb-ink-strong); }
.ebp-chip:hover{ border-color:var(--eb-accent); color:var(--eb-primary); }
.ebp section[id]{ scroll-margin-top:100px; }

/* Legal documents (terms, privacy, returns, delivery) */
.ebp-pagehero--small{ padding:48px 0 24px; }
.ebp-sec--legal{ padding-top:16px; }
.ebp-legal{ font-size:15.5px; line-height:1.7; color:var(--eb-ink); }
.ebp-legal h2{ font-size:22px; color:var(--eb-ink-strong); margin:34px 0 12px; }
.ebp-legal h3{ font-size:17px; margin:22px 0 8px; }
.ebp-legal p{ margin:0 0 12px; }
.ebp-legal ul, .ebp-legal ol{ margin:0 0 14px; padding-left:22px; }
.ebp-legal li{ margin-bottom:6px; }
.ebp-legal a{ text-decoration:underline; text-underline-offset:3px; }
.ebp-legal table{ margin:0 0 16px; font-size:14.5px; }
.ebp-legal th, .ebp-legal td{ border:1px solid var(--eb-line); padding:10px 12px; text-align:left; vertical-align:top; }
.ebp-legal th{ background:var(--eb-tint); }
@media (max-width:560px){ .ebp-legal table{ display:block; overflow-x:auto; } }

/* Contact form (Forminator with its own design switched off) */
.ebp-formcard{ max-width:680px; margin:0 auto; background:var(--eb-paper); border-radius:var(--eb-radius-l); box-shadow:var(--eb-shadow); padding:30px 30px 26px; }
.ebp-formcard h2{ text-align:center; margin:0 0 6px; }
.ebp-formcard > p{ text-align:center; margin:0 0 22px; color:var(--eb-ink-soft); }
.ebp-form .forminator-row{ margin:0 0 16px; }
.ebp-form .forminator-label{ display:block; margin:0 0 6px; font-size:14px; font-weight:600; color:var(--eb-ink-strong); }
.ebp-form .forminator-required{ color:var(--eb-danger); }
.ebp-form .forminator-input, .ebp-form .forminator-textarea{ width:100%; }
.ebp-form .forminator-textarea{ min-height:140px; }
.ebp-form .forminator-description, .ebp-form .forminator-checkbox__label{ font-size:13.5px; color:var(--eb-ink-soft); line-height:1.5; }
.ebp-form .forminator-checkbox{ display:flex; gap:10px; align-items:flex-start; cursor:pointer; }
.ebp-form .forminator-checkbox input{ width:18px; height:18px; margin-top:2px; accent-color:var(--eb-accent); flex:0 0 auto; }
.ebp-form .forminator-checkbox-box{ display:none; }
.ebp-form .forminator-button-submit{ width:100%; min-height:52px; border:0; border-radius:var(--eb-radius); background:var(--eb-primary); color:#fff; font-size:16px; font-weight:700; transition:background .2s; }
.ebp-form .forminator-button-submit:hover{ background:var(--eb-primary-soft); }
.ebp-form .forminator-error-message{ display:block; margin-top:6px; font-size:13px; color:var(--eb-danger); }
.ebp-form .forminator-has_error .forminator-input, .ebp-form .forminator-has_error .forminator-textarea{ border-color:var(--eb-danger); }
.ebp-form .forminator-response-message{ margin:0 0 16px; padding:12px 14px; border-radius:var(--eb-radius); background:var(--eb-tint); color:var(--eb-ink-strong); font-size:14.5px; }
.ebp-form .forminator-response-message.forminator-error{ background:#FDECEC; color:var(--eb-danger); }
.ebp-form .forminator-response-message:empty, .ebp-form .forminator-response-message[aria-hidden="true"]{ display:none; }
@media (max-width:560px){ .ebp-formcard{ padding:22px 18px; } }

/* Cards (values, contact) */
.ebp-card{ background:var(--eb-paper); border-radius:var(--eb-radius-card); box-shadow:var(--eb-shadow); padding:24px; }
.ebp-card h3{ margin:14px 0 8px; font-size:18px; }
.ebp-card p{ margin:0; font-size:15px; line-height:1.6; color:var(--eb-ink-soft); }
.ebp-card a{ font-weight:600; }
.ebp-company{ margin:22px auto 0; max-width:520px; text-align:center; font-size:14.5px; color:var(--eb-ink-soft); }
.ebp-company h3{ font-size:16px; margin:0 0 6px; }

/* Facts band */
.ebp-band{ background:var(--eb-primary); color:#fff; padding:34px 0; }
.ebp-facts{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:center; }
.ebp-facts strong{ display:block; font-size:34px; line-height:1.1; }
.ebp-facts span{ font-size:14.5px; opacity:.9; }

/* Lab gallery */
.ebp-gallery{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ebp-gallery figure{ margin:0; }
.ebp-gallery img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--eb-radius-card); display:block; }
.ebp-gallery figcaption{ margin-top:10px; text-align:center; font-weight:600; color:var(--eb-ink-strong); }

/* CTA band */
.ebp-cta{ background:linear-gradient(135deg,var(--eb-primary) 0%,var(--eb-accent) 100%); color:#fff; padding:60px 0; text-align:center; }
.ebp-cta h2{ color:#fff; margin:0 0 10px; }
.ebp-cta p{ max-width:640px; margin:0 auto 24px; font-size:16.5px; opacity:.95; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.ebp-grid4{ grid-template-columns:1fr 1fr; }
	.ebp-reviews{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){
	.ebp-hero{ padding:28px 0 36px; }
	.ebp-hero__grid{ grid-template-columns:1fr; gap:8px; }
	.ebp-packs{ margin:26px auto 0; max-width:440px; }
	.ebp-split{ grid-template-columns:1fr; gap:28px; }
	.ebp-photo{ aspect-ratio:16/11; }
	.ebp-grid3, .ebp-steps{ grid-template-columns:1fr; }
	.ebp-compare{ grid-template-columns:1fr; }
	.ebp-gallery{ grid-template-columns:1fr 1fr; }
	.ebp-gallery figure:last-child{ grid-column:1 / -1; }
	.ebp-gallery figure:last-child img{ aspect-ratio:16/10; }
}
@media (max-width:560px){
	.ebp-hero h1{ font-size:34px; }
	.ebp-lead{ font-size:16px; }
	.ebp-actions .ebp-btn{ flex:1 1 100%; }
	.ebp-grid4, .ebp-reviews{ grid-template-columns:1fr; }
	.ebp-facts{ grid-template-columns:1fr; gap:14px; }
	.ebp-facts strong{ font-size:28px; }
	.ebp-pagehero{ padding:40px 0 28px; }
	.ebp-use, .ebp-card{ padding:20px; }
	.ebp-faq summary{ font-size:15.5px; padding:15px 48px 15px 16px; }
	.ebp-faq details > div{ padding:0 16px 16px; }
}
