/* sections/template-collection-landing */
/* These three rules live in the landing section's inline <style> on live, so they apply to landing pages only
   (hub pages keep the spoke-design-system.css hero: 35px heading, top-aligned text). */
/* Replit: w-[42%] flex-shrink-0 px-10 py-10 flex flex-col justify-center */
.collection-template--landing .hemp-root .hero-text {
  width: 42% !important;
  flex-shrink: 0 !important;
  padding: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
/* Replit: text-4xl leading-tight color:#0d0d0d font-family:Montserrat font-weight:400 */
.collection-template--landing .hemp-root .hero-heading {
  font-size: 29px !important;
  line-height: 1.25 !important;
  font-family: var(--fp) !important;
  font-weight: 400 !important;
  color: var(--heading) !important;
  margin: 0 !important;
}
/* Replit: text-sm mt-4 leading-relaxed color:#2e2e2e font-family:Montserrat font-weight:400 */
.collection-template--landing .hemp-root .hero-body-text {
  font-size: 11px !important;
  line-height: 1.625 !important;
  color: var(--body) !important;
  font-family: var(--fp) !important;
  font-weight: 400 !important;
  margin: 16px 0 0 !important;
}
.hemp-root .related-link { display: block !important; padding: 14px 16px !important; border: none !important; border-radius: 9999px !important; font-size: 14px !important; font-weight: 600 !important; font-family: var(--fp) !important; color: #fff !important; background: var(--teal) !important; text-align: center !important; text-decoration: none !important; transition: opacity 0.2s; }
/* ── YOU MAY ALSO LIKE (curated-link-module) card styling — added in main template, module file left untouched ── */
    .hemp-root .curated-links { max-width: 1024px !important; margin: 0 auto !important; padding: 32px 16px 48px !important; }
.hemp-root .curated-links__heading { font-size: 24px !important; font-family: var(--fp) !important; font-weight: 400 !important; color: var(--heading) !important; margin: 0 0 20px !important; }
.hemp-root .curated-links__grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: 14px !important; }
.hemp-root .curated-links__card { display: flex !important; align-items: center !important; min-height: 64px !important; padding: 16px 18px !important; border: 1px solid #e5e7eb !important; border-radius: 14px !important; background: #fff !important; color: var(--heading) !important; font-size: 14px !important; font-weight: 600 !important; font-family: var(--fp) !important; text-decoration: none !important; line-height: 1.35 !important; transition: border-color .15s, box-shadow .15s, transform .15s !important; }
.hemp-root .curated-links__card:hover { border-color: var(--teal) !important; box-shadow: 0 2px 10px rgba(0,0,0,.06) !important; transform: translateY(-1px) !important; }
@media (max-width: 640px) { .hemp-root .curated-links__grid { grid-template-columns: 1fr 1fr !important; } }
.hemp-root .related-link:hover { opacity: 0.85 !important; }

/* sections/main-collection-hub */
/* landing product-card rules rescoped to the hub grid (.er-pcard); token fallbacks from the landing design system */
    .er-pcard{border:1px solid #f5f5f5!important;border-radius:12px!important;padding:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;position:relative!important;background:#fff!important}
.er-pcard .product-badge{position:absolute!important;top:8px!important;right:8px!important;font-size:12px!important;font-family:'DM Sans',sans-serif!important;font-weight:700!important;background:#051e38!important;color:#fff!important;padding:2px 8px!important;border-radius:9999px!important;z-index:2}
.er-pcard .product-image-wrap{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;aspect-ratio:1/1!important;border-radius:8px!important;overflow:hidden!important;margin-bottom:8px!important;background:#f5f5f5!important;padding:0!important}
.er-pcard .product-image-wrap img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important;margin:0!important}
.er-pcard .product-content{flex:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;margin:0!important}
.er-pcard .product-stars{display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important}
.er-pcard .product-star{width:14px!important;height:14px!important}
.er-pcard .er-stars{position:relative!important;display:inline-flex!important;line-height:0}
.er-pcard .er-stars-base{display:inline-flex!important;gap:2px}
.er-pcard .er-stars-base .product-star{stroke:#d6d6d6!important;fill:none!important}
.er-pcard .er-stars-fill{position:absolute!important;top:0;left:0;overflow:hidden!important;white-space:nowrap!important;display:inline-flex!important;gap:2px}
.er-pcard .er-stars-fill .product-star{stroke:#F6AB00!important;fill:#F6AB00!important}
.er-pcard .er-stars-fill .product-star{flex:0 0 auto!important}
.er-pcard .product-review-count{font-size:12px!important;font-family:'DM Sans',sans-serif!important;color:#6b7280!important;margin-left:6px!important}
.er-pcard .product-name{font-size:14px!important;font-weight:600!important;line-height:1.375!important;color:#0d0d0d!important;font-family:'Montserrat',sans-serif!important;margin:8px 0 0!important;text-decoration:none!important;display:block!important}
.er-pcard .product-prices{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin-top:8px!important}
.er-pcard .product-old-price{font-size:14px!important;text-decoration:line-through!important;color:#6d6d6d!important}
.er-pcard .product-new-price{font-size:14px!important;font-weight:700!important;color:#de2a2a!important}
.er-pcard .product-subscribe{font-size:12px!important;color:#077170!important;font-family:'DM Sans',sans-serif!important;margin:4px 0 0!important}
.er-pcard .product-cta{margin:8px 0 0!important;width:100%!important;border-radius:9999px!important;padding:8px 0!important;font-size:14px!important;font-weight:600!important;font-family:'Montserrat',sans-serif!important;background:#077170!important;color:#fff!important;text-decoration:none!important;display:block!important;text-align:center!important;min-height:auto!important;line-height:normal!important;border:none!important;transition:opacity .2s;position:relative;touch-action:manipulation}
.er-pcard .product-cta:hover{opacity:.9}
.er-pcard .product-cta::after{content:"";position:absolute;inset:-6px 0;}
.er-pcard .product-cta:active,.er-pcard .product-image-wrap:active,.er-pcard .product-name:active{opacity:.8;transition:opacity .12s}
.er-pcard .product-cta:focus-visible,.er-pcard .product-name:focus-visible,.er-pcard .product-image-wrap:focus-visible{outline:2px solid #051e38!important;outline-offset:2px}
.er-pcard .product-image-wrap,.er-pcard .product-name{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){.er-pcard .product-cta,.er-pcard .product-image-wrap,.er-pcard .product-name{transition:none!important}}
/* hub-page mobile type normalizer (user-research pass): WCAG 16px body, H1 hierarchy.
       Rules removed 2026-07-31 — they targeted `.hero-mobile`, whose DOM was deleted in the
       2026-07-28 single-hero dedupe, so they had been inert since. Mobile body type is still
       enforced at 16px by the `.hemp-root .hero-card .hero-body-text` rule below (all
       breakpoints). Mobile H1 now comes from sge-hero.liquid at 24px, not the 26px this
       normalizer asked for — see ER build status doc, open question OQ-1. */
    /* Live prints this block inside {% paginate %} under `collection.products_count > 0` of main-collection-hub, so it
       applies to hub pages with products only: the rules below are scoped to body.er-hub-styles (set in
       inc/sections-collection.php). Landing pages keep their own 10px breadcrumb, 400 heading and 11px intro; an empty
       hub keeps the spoke-design-system hero. The two FAQ rules stay unscoped: they lose to .hemp-root .faq-* here as on
       live, and a body prefix would make them win. */
    .er-hub-styles [id*="__trust_badges"][id*="shopify-section"] .trust-label{font-size:12px!important;line-height:1.35!important}
.er-hub-styles [id*="__trust_badges"][id*="shopify-section"] .trust-icon svg{display:block;margin:0 auto}
/* register batch: R07 breadcrumb, R23 H1 all breakpoints, R25/R26 H2 scale+rhythm, R27 FAQ body, R28 widths */
    .er-hub-styles .hemp-root .hero-breadcrumb{font-size:12px!important;line-height:1.35!important}
.er-hub-styles .hemp-root .hero-heading{font-weight:600!important}
.er-hub-styles .hemp-root .hero-card .hero-body-text{font-size:16px!important;line-height:1.55!important}
.faq-answer,.faq-item p{font-size:16px!important;line-height:1.6!important}
.faq-item summary{font-size:16px!important}
.er-hub-styles [id*="__hub_spoke_bridge"][id*="shopify-section"] .curated-links{max-width:1024px!important;margin:0 auto!important;padding-left:16px!important;padding-right:16px!important}
.er-hub-styles [id*="__hub_spoke_bridge"][id*="shopify-section"] .curated-links__heading{font-size:24px!important;font-weight:600!important;color:#0d0d0d!important}
.er-hub-styles [id*="__collection_image_with_text"][id*="shopify-section"] .container-title{font-size:24px!important;font-weight:600!important;line-height:1.3!important;color:#0d0d0d!important}
@media (max-width:767px){
      .er-hub-styles [id*="__hub_spoke_bridge"][id*="shopify-section"] .curated-links__heading{font-size:22px!important}
      .er-hub-styles [id*="__collection_image_with_text"][id*="shopify-section"] .container-title{font-size:22px!important}
      .er-hub-styles [id*="__comparison_table"][id*="shopify-section"] h2,.er-hub-styles [id*="__collection_faq"][id*="shopify-section"] h2,.er-hub-styles [id*="__collection_description"][id*="shopify-section"] h2{font-size:22px!important}
    }
@media (max-width:767px){
      .er-hub-styles [id*="__trust_badges"][id*="shopify-section"] .trust-icon{width:48px!important;height:48px!important;min-width:48px!important;padding:12px!important}
      .er-hub-styles [id*="__trust_badges"][id*="shopify-section"] .trust-icon svg{width:22px!important;height:22px!important}
      .er-hub-styles [id*="__trust_badges"][id*="shopify-section"] .trust-inner{gap:14px 10px!important;padding:20px 12px!important}
      .er-hub-styles [id*="__trust_badges"][id*="shopify-section"] .trust-badge{flex:0 0 30%!important;max-width:30%!important}
    }
/* description + FAQ formatting layer */
    .er-hub-styles [id*="__collection_description"][id*="shopify-section"] h2{margin:28px 0 8px!important;font-size:22px!important;line-height:1.3!important}
.er-hub-styles [id*="__collection_description"][id*="shopify-section"] h3{margin:20px 0 6px!important;font-size:18px!important;font-weight:600!important;line-height:1.35!important}
.er-hub-styles [id*="__collection_description"][id*="shopify-section"] p{margin:0 0 12px!important;line-height:1.6!important}
.er-hub-styles [id*="__collection_description"][id*="shopify-section"] ul,.er-hub-styles [id*="__collection_description"][id*="shopify-section"] ol{margin:0 0 12px!important;padding-left:22px!important}
.er-hub-styles [id*="__collection_description"][id*="shopify-section"] li{margin:4px 0!important;line-height:1.55!important}
.er-hub-styles [id*="__collection_faq"][id*="shopify-section"] summary,.er-hub-styles [id*="__collection_faq"][id*="shopify-section"] .faq-question,.er-hub-styles [id*="__collection_faq"][id*="shopify-section"] button{font-weight:600!important;min-height:44px!important}
@media (min-width:768px){.er-hub-styles [id*="__collection_description"][id*="shopify-section"] h2{font-size:24px!important}}
.er-hub-styles [id*="__comparison_table"][id*="shopify-section"] h2,.er-hub-styles [id*="__collection_faq"][id*="shopify-section"] h2,.er-hub-styles [id*="__collection_description"][id*="shopify-section"] h2,.er-hub-styles [id*="__collection_image_with_text"][id*="shopify-section"] h2,
    .er-hub-styles [id*="__comparison_table"][id*="shopify-section"] h2 *,.er-hub-styles [id*="__collection_faq"][id*="shopify-section"] h2 *{font-weight:600!important}

/* sections/main-collection-hub: per-section grid columns (#shopify-section-<id> rule, settings from
   templates/collection.hub.json: mobile 2 per row; products_per_page 30 is not a multiple of 4 so 3 per row from 741px;
   filter_position "drawer" so desktop_products_per_row 4 from 1200px). Without it .product-list__inner has no columns. */
.shopify-section--main-collection-hub{--section-products-per-row:2}
@media screen and (min-width:741px){.shopify-section--main-collection-hub{--section-products-per-row:3}}
@media screen and (min-width:1200px){.shopify-section--main-collection-hub{--section-products-per-row:4}}

/* sections/collection-newsletter (static rules of the section <style>; selectors prefixed with .section-newsletter) */
.section-newsletter{padding:30px 0;background:rgb(240,240,240)}
.section-newsletter .newsletter_row{width:100%;height:fit-content;display:flex;align-items:center;justify-content:space-between;background:#098b8a;padding:15px 20px;border-radius:10px}
.section-newsletter .subscr_title{color:#fff;font-size:30px;line-height:1.2;font-weight:700;text-transform:uppercase;margin:0!important;padding:12px}
.section-newsletter .input-row{display:flex;align-items:center;justify-content:center;gap:0}
.section-newsletter .newsletter__form{margin-top:0!important}
.section-newsletter input[type="email"]{background:#fff;width:300px;border:1px solid #086766;border-right:0;border-top-left-radius:10px;border-top-right-radius:0;border-bottom-left-radius:10px;border-bottom-right-radius:0}
.section-newsletter .input-row button{background:#000;color:#fff;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
.section-newsletter .input-row button:hover{background:#0ea5a3!important;opacity:.8}
.section-newsletter :focus-within~.input__label,.section-newsletter .is-filled~.input__label{transform:scale(.733) translateY(calc(-16px - .5em)) translateX(3.665px)}
@media screen and (max-width:1000px){
  .section-newsletter input[type="email"]{width:auto}
  .section-newsletter .subscr_title{font-size:24px}
}
@media screen and (max-width:768px){
  .section-newsletter .subscr_title{font-size:20px;text-align:center}
  .section-newsletter .newsletter__form{width:100%}
  .section-newsletter .newsletter_row{flex-direction:column}
  .section-newsletter .input-row{flex-direction:row;justify-content:center;align-items:center;gap:0}
  .section-newsletter .input-row .input{margin-block-start:0}
  .section-newsletter .input-row button{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:10px}
  .section-newsletter input[type="email"]{border-top-left-radius:10px;border-top-right-radius:0;border-bottom-left-radius:10px;border-bottom-right-radius:0}
}
@media screen and (max-width:420px){
  .section-newsletter .input-row{flex-direction:column;justify-content:center;align-items:center;gap:10px}
  .section-newsletter .input-row .input{width:100%}
  .section-newsletter .input-row .input input{width:100%}
  .section-newsletter .input-row button{border-top-left-radius:10px;border-bottom-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px}
  .section-newsletter input[type="email"]{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px}
}

/* snippets/curated-link-module */
.curated-guide{max-width:1024px;margin:0 auto;padding:8px 16px}
.hemp-root .curated-guide{max-width:1024px !important;margin-left:auto !important;margin-right:auto !important}
.curated-guide__link{display:inline-block;color:#0d9488;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(13,148,136,.2);padding:6px 0}
.curated-guide__link:hover{border-bottom-color:#0d9488}

/* snippets/curated-link-module */
.curated-links{padding:32px 20px;max-width:1200px;margin:0 auto}
/* Landing/hub pages wrap this snippet in .hemp-root, whose universal reset
     `.hemp-root *{margin:0 !important}
` zeroes the auto margins above and pins
     this module to the left. Match the sibling sections (From Our Blog / FAQ):
     center at the shared 1024px column with a higher-specificity !important rule. */
  .hemp-root .curated-links{max-width:1024px !important;margin-left:auto !important;margin-right:auto !important;padding:40px 16px !important}
.curated-links__heading{font-size:20px;font-weight:600;margin:0 0 16px;color:#1a1a2e}
.curated-links__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.curated-links__card{display:block;padding:14px 18px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:500}
.curated-links__card:hover{border-color:#0d9488;background:#f0fdfa}

/* snippets/source-citations */
.src-cites, .hemp-root .src-cites {
    max-width: 1024px !important; margin: 0 auto !important; padding: 24px 16px 32px !important; }
.src-cites__heading, .hemp-root .src-cites__heading {
    font-size: 20px !important; font-weight: 600 !important; margin: 0 0 14px !important;
    padding: 0 !important; color: #1a1a2e !important; }
.src-cites__list, .hemp-root .src-cites__list {
    margin: 0 !important; padding: 0 0 0 20px !important; list-style: decimal !important; }
.src-cite, .hemp-root .src-cite {
    margin: 0 0 10px !important; padding: 0 !important; font-size: 14px !important;
    line-height: 1.6 !important; color: #4a4a55 !important; }
.src-cite__link, .hemp-root .src-cite__link {
    color: #0d9488 !important; font-weight: 500 !important; text-decoration: none !important; }
.src-cite__link:hover { text-decoration: underline !important; }
.src-cite__note, .hemp-root .src-cite__note { display: block !important; color: #6b6b76 !important; }

/* snippets/legal-guide-link */
.legal-guide, .hemp-root .legal-guide {
    max-width: 1024px !important; margin: 0 auto !important; padding: 4px 16px 0 !important;
    font-size: 14px !important; line-height: 1.6 !important; }
.legal-guide__tag, .hemp-root .legal-guide__tag {
    display: inline-block !important; margin-right: 8px !important; padding: 2px 8px !important;
    background: #f0fdfa !important; border: 1px solid #99f6e4 !important; border-radius: 4px !important;
    color: #0f766e !important; font-size: 12px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: .03em !important; }
.legal-guide__link, .hemp-root .legal-guide__link {
    color: #0d9488 !important; font-weight: 500 !important; text-decoration: none !important; }
.legal-guide__link:hover { text-decoration: underline !important; }

/* snippets/collection-body-supplements */
.cbs-block, .hemp-root .cbs-block {
    max-width: 1024px !important; margin: 0 auto !important; padding: 8px 16px 16px !important; }
.cbs-block__heading, .hemp-root .cbs-block__heading {
    font-size: 22px !important; font-weight: 600 !important; margin: 12px 0 12px !important;
    padding: 0 !important; color: #1a1a2e !important; }
.cbs-block__body, .hemp-root .cbs-block__body {
    font-size: 16px !important; line-height: 1.7 !important; color: #3a3a45 !important; }
.hemp-root .cbs-block__body p { margin: 0 0 14px !important; }
.hemp-root .cbs-block__body ul, .hemp-root .cbs-block__body ol {
    margin: 0 0 14px !important; padding-left: 22px !important; list-style: disc outside !important; }
.hemp-root .cbs-block__body ol { list-style: decimal outside !important; }
.hemp-root .cbs-block__body li { margin: 0 0 6px !important; }
.hemp-root .cbs-block__body h2, .hemp-root .cbs-block__body h3 {
    font-size: 18px !important; font-weight: 600 !important; margin: 18px 0 10px !important;
    color: #1a1a2e !important; }

/* snippets/answer-first-collection */
.af-block, .hemp-root .af-block {
    max-width: 1024px !important; margin: 0 auto !important; padding: 0 16px !important; }
.af-quick, .hemp-root .af-quick { margin: 20px auto 26px !important; }
.af-quick-box, .hemp-root .af-quick-box {
    border-left: 4px solid #0c7c74 !important; background: #f4faf9 !important;
    padding: 12px 16px !important; border-radius: 0 6px 6px 0 !important; }
.af-quick-text, .hemp-root .af-quick-text {
    margin: 0 !important; padding: 0 !important; font-size: 15px !important;
    line-height: 1.55 !important; color: #1c2b2a !important; font-weight: 400 !important; }
.af-expanded, .hemp-root .af-expanded { margin: 0 auto 26px !important; }
.af-expanded-text p, .hemp-root .af-expanded-text p {
    margin: 0 0 14px !important; padding: 0 !important; font-size: 16px !important;
    line-height: 1.7 !important; color: #303030 !important; }
.af-expanded-text p:last-child, .hemp-root .af-expanded-text p:last-child {
    margin-bottom: 0 !important; }
@media (max-width: 749px) {
    .af-quick-text, .hemp-root .af-quick-text { font-size: 14px !important; }
    .af-expanded-text p, .hemp-root .af-expanded-text p { font-size: 15px !important; }
  }

/* snippets/render-collection-faq */
/* AI-VIS-2026-08-14: neutralise the question heading so it renders exactly as the
     <span> it replaced. Doubled with .hemp-root to outrank the surface's margin reset. */
  .faq-section summary .faq-q,
  .hemp-root .faq-section summary .faq-q {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    color: inherit !important;
  }

/* snippets/collection-hero-notice */
.hero-notice, .hemp-root .hero-notice {
    max-width: 1024px !important; margin: 0 auto !important; padding: 0 16px 10px !important;
    font-size: 13px !important; font-weight: 600 !important; letter-spacing: .02em !important;
    text-transform: uppercase !important; color: #6b6b76 !important; }

/* sections/collection-faq */
.faq-section summary .faq-q,
  .hemp-root .faq-section summary .faq-q {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    color: inherit !important;
  }

/* sections/guide-modules */
.er-gm{width:min(1024px,100%);margin-left:auto!important;margin-right:auto!important;padding:8px 16px 40px;color:#2e2e2e;line-height:1.6;font-family:inherit;font-size:16px}
.er-gm h2{font-size:22px;font-weight:600;line-height:1.3;color:#0d0d0d;padding:28px 0 4px;margin:0}
.er-gm p{padding:8px 0 0;margin:0}
.er-gm .er-gm-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)),linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) 100% 0,radial-gradient(farthest-side at 0 50%,rgba(5,30,56,.18),transparent),radial-gradient(farthest-side at 100% 50%,rgba(5,30,56,.18),transparent) 100% 0;background-repeat:no-repeat;background-size:44px 100%,44px 100%,16px 100%,16px 100%;background-attachment:local,local,scroll,scroll;border:1px solid #e2e2e2;border-radius:12px;margin:16px 0 8px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.er-gm table{width:100%;min-width:400px;border-collapse:collapse;font-size:14px;margin:0;background:transparent}
.er-gm th{background:#077170;color:#fff;font-weight:600;font-size:14px;text-transform:none;letter-spacing:0;padding:16px;text-align:left;white-space:nowrap}
.er-gm td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid #ececec;line-height:1.5;font-size:14px}
.er-gm tbody th{background:#fff;color:#0d0d0d;padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid #ececec;line-height:1.5;font-size:14px;white-space:normal}
.er-gm tbody tr:nth-child(even) td,.er-gm tbody tr:nth-child(even) th{background:#f5f5f5}
.er-gm tbody tr:last-child td,.er-gm tbody tr:last-child th{border-bottom:0}
.er-gm td:first-child{font-weight:600;color:#0d0d0d}
.er-gm .er-gm-note{background:#f5f5f5;border-left:3px solid #0d0d0d;border-radius:0 12px 12px 0;padding:14px 16px;font-size:14px;line-height:1.55;margin:16px 0 0}
.er-gm .er-gm-check{background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:20px;margin:16px 0 0;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.er-gm .er-gm-check ol{margin:0;padding-left:20px}
.er-gm .er-gm-check li{padding:6px 0;line-height:1.55}
.er-gm .er-gm-check li strong{color:#0d0d0d}
.er-gm ul.er-gm-effects{margin:8px 0 0;padding:0;list-style:none;border:1px solid #e2e2e2;border-radius:12px;overflow:hidden}
.er-gm ul.er-gm-effects li{margin:0;padding:12px 16px;border-bottom:1px solid #ececec;line-height:1.5}
.er-gm ul.er-gm-effects li:nth-child(even){background:#f5f5f5}
.er-gm ul.er-gm-effects li:last-child{border-bottom:0}
.er-gm ul.er-gm-effects li strong{color:#0d0d0d}
@media (max-width:640px){.er-gm th,.er-gm td,.er-gm tbody th{padding:12px;font-size:13px}}
@media (min-width:768px){.er-gm h2{font-size:24px}.er-gm{padding:8px 16px 48px}}

/* sections/collection-hub-spoke-bridge */
/* === HUB-SPOKE BRIDGE SECTION === */
.hub-spoke-bridge {
  margin: 40px 0;
}
.hub-spoke-bridge .page-width {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
/* === HUB SECTION === */
.hub-spoke-bridge--hub {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 48px 0;
  border-radius: 12px;
}
.hub-spoke-bridge__heading {
  margin: 0 0 28px;
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
}
.hub-spoke-bridge__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
.hub-spoke-bridge__card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.25s ease;
}
.hub-spoke-bridge__card:hover {
  transform: translateY(-4px);
  border-color: #2c5f2d;
}
.hub-spoke-bridge__card-arrow {
  margin-left: 12px;
}
/* === SPOKE SECTION === */
.hub-spoke-bridge--spoke {
  padding: 24px 0;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
.hub-spoke-bridge__return {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  border: 2px solid #2c5f2d;
  border-radius: 8px;
  color: #2c5f2d;
  font-weight: 600;
  text-decoration: none;
}
.hub-spoke-bridge__return:hover {
  background: #2c5f2d;
  color: #fff;
}
