:root {
  --gbps-green: #2f5d18;
  --gbps-green-2: #4f7d27;
  --gbps-green-pale: #eef4e9;
  --gbps-ink: #111412;
  --gbps-muted: #626862;
  --gbps-line: #dfe4de;
  --gbps-soft: #f7f8f6;
  --gbps-white: #fff;
  --gbps-serif: Georgia, "Times New Roman", serif;
  --gbps-sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --gbps-shadow: 0 18px 50px rgba(18, 35, 10, .09);
}

body.gbps-storefront { min-width: 320px; margin: 0; overflow-x: clip; color: var(--gbps-ink); background: #fff; font-family: var(--gbps-sans); font-size: 15px; }
body.gbps-storefront * { box-sizing: border-box; }
body.gbps-storefront img,
body.gbps-storefront svg { max-width: 100%; height: auto; }
body.gbps-storefront a { color: inherit; text-decoration: none; }
body.gbps-storefront button,
body.gbps-storefront input,
body.gbps-storefront select,
body.gbps-storefront textarea { font: inherit; }
body.gbps-replace-theme-shell .site-header,
body.gbps-replace-theme-shell header.wp-block-template-part,
body.gbps-replace-theme-shell .wp-site-blocks > header:not(.gbps-header),
body.gbps-replace-theme-shell .site-footer,
body.gbps-replace-theme-shell footer.wp-block-template-part,
body.gbps-replace-theme-shell .wp-site-blocks > footer:not(.gbps-footer) { display: none !important; }
body.gbps-storefront .site,
body.gbps-storefront .site-content,
body.gbps-storefront .content-area,
body.gbps-storefront .site-main,
body.gbps-storefront .wp-site-blocks,
body.gbps-storefront main.wp-block-group { max-width: none; width: 100%; margin: 0; padding: 0; float: none; }
body.gbps-storefront .site-content > .col-full,
body.gbps-storefront #primary,
body.gbps-storefront .wp-block-post-content { max-width: none; width: 100%; margin: 0; padding: 0; float: none; }
body.gbps-storefront .widget-area { display: none; }
body.gbps-storefront .entry-header { max-width: 1240px; margin: 72px auto 28px; padding: 0 24px; }
body.gbps-storefront.gbps-is-home .entry-header,
body.gbps-storefront.gbps-is-home .entry-title { display: none; }
body.gbps-storefront .entry-content { max-width: 1240px; margin-right: auto; margin-left: auto; padding-right: 24px; padding-left: 24px; }
body.gbps-storefront.gbps-is-home .entry-content,
body.gbps-storefront .gbps-coa-page { max-width: none; padding: 0; }
body.gbps-storefront .entry-content > .gbps-home-page,
body.gbps-storefront .entry-content > .gbps-coa-page { width: 100%; max-width: none; margin-right: 0; margin-left: 0; }
.gbps-container { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 8px; left: 8px; width: auto; height: auto; padding: 12px 16px; clip: auto; clip-path: none; background: #fff; color: #111; }
body.gbps-storefront :focus-visible { outline: 2px solid #fff !important; outline-offset: 2px; box-shadow: 0 0 0 5px #20420f !important; }
.gbps-skip-link:focus { position: fixed !important; text-decoration: underline; }
.gbps-main-anchor { position: relative; }
.gbps-topbar { position: relative; z-index: 1002; min-height: 38px; background: #050706; color: #fff; font-size: 10px; font-weight: 600; letter-spacing: .02em; }
.gbps-topbar__inner { min-height: 38px; display: flex; align-items: center; gap: 30px; }
.gbps-topbar__right { margin-left: auto; display: flex; gap: 30px; color: #d9e6d2; }
.gbps-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; margin-right: 9px; background: #7fae45; box-shadow: 0 0 0 3px rgba(127,174,69,.15); }
.gbps-header { position: sticky; z-index: 1000; top: 0; background: rgba(255,255,255,.97); border-bottom: 2px solid var(--gbps-green); backdrop-filter: blur(10px); }
body.admin-bar .gbps-header { top: 32px; }
.gbps-header__inner { height: 92px; display: flex; align-items: center; gap: 34px; }
.gbps-logo { min-width: 0; min-height: 44px; flex: 0 1 252px; display: inline-flex; align-items: center; line-height: 0; }
.gbps-logo img { display: block; width: 230px; max-width: 100%; height: auto; }
.gbps-nav { min-width: 0; margin-left: auto; display: flex; align-items: center; gap: 20px; }
.gbps-nav a { position: relative; min-height: 44px; display: flex; align-items: center; color: #171a17; font-size: 11px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.gbps-nav a::after { content: ""; position: absolute; right: 50%; bottom: -10px; left: 50%; height: 2px; background: var(--gbps-green-2); transition: .2s; }
.gbps-nav a:hover::after, .gbps-nav a:focus::after, .gbps-nav a[aria-current="page"]::after { right: 0; left: 0; }
.gbps-header__actions { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; font-size: 22px; }
.gbps-header__actions a { position: relative; min-width: 44px; min-height: 44px; display: grid; place-items: center; line-height: 1; }
.gbps-cart-link b { position: absolute; top: -9px; right: -10px; display: grid; place-items: center; min-width: 16px; height: 16px; border-radius: 50%; background: var(--gbps-green); color: white; font-size: 9px; }
.gbps-menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--gbps-line); background: white; cursor: pointer; }
.gbps-menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 4px 0; background: #111; }
.gbps-button,
body.gbps-storefront .button,
body.gbps-storefront button.button,
body.gbps-storefront input.button,
body.gbps-storefront #respond input#submit { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; border: 1px solid var(--gbps-green); border-radius: 2px; background: linear-gradient(135deg, #365f20, #1f460f); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; transition: .2s; }
.gbps-button:hover,
body.gbps-storefront .button:hover { border-color: #111; background: #111; color: #fff; transform: translateY(-1px); }
.gbps-button--light { border-color: #83ad59; background: #587f2c; }
.gbps-button--outline { border-color: var(--gbps-green); background: #fff; color: var(--gbps-green); }
.gbps-button--outline:hover { border-color: #111; background: #111; color: #fff; }
.gbps-eyebrow,
.gbps-page-hero > span,
.gbps-section-heading > div > span,
.gbps-commitment > .gbps-container > div > span,
.gbps-modal__dialog > span { display: block; margin: 0 0 17px; color: var(--gbps-green-2); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

/* Home page */
.gbps-hero { overflow: hidden; position: relative; min-height: 580px; background: radial-gradient(circle at 75% 45%, #fff 0 19%, transparent 39%), linear-gradient(115deg, #fff 0%, #fbfcfa 55%, #f0f4ec 100%); }
.gbps-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(30deg, transparent 24%, #b7c5b2 25%, transparent 26%), linear-gradient(150deg, transparent 24%, #b7c5b2 25%, transparent 26%); background-size: 95px 165px; mask-image: linear-gradient(90deg, #0000 0, #000 65%, #0000); }
.gbps-hero__grid { min-height: 580px; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 50px; }
.gbps-hero__copy { position: relative; z-index: 2; padding: 60px 0; }
.gbps-hero h1 { margin: 0; font-family: var(--gbps-serif); font-size: clamp(56px, 6vw, 86px); font-weight: 400; line-height: .94; letter-spacing: -.045em; text-transform: uppercase; }
.gbps-hero h1 em { color: var(--gbps-green-2); font-style: normal; }
.gbps-hero__copy > p:not(.gbps-eyebrow) { max-width: 420px; margin: 30px 0; font-size: 16px; font-weight: 600; line-height: 1.6; text-transform: uppercase; }
.gbps-hero__product { position: relative; align-self: stretch; display: grid; place-items: center; }
.gbps-hero__product img { position: relative; z-index: 2; width: min(455px, 84%); filter: drop-shadow(0 30px 25px rgba(19,36,14,.15)); mix-blend-mode: multiply; }
.gbps-dna { position: absolute; right: -60px; top: 24px; color: rgba(79,125,39,.07); font-family: serif; font-size: 480px; line-height: 1; transform: rotate(20deg); }
.gbps-hero__batch { position: absolute; right: 4%; bottom: 90px; z-index: 3; padding: 11px 15px; border: 1px solid #d9e2d4; background: rgba(255,255,255,.88); box-shadow: 0 9px 30px rgba(0,0,0,.06); color: var(--gbps-green); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.gbps-trust { border-top: 1px solid var(--gbps-line); border-bottom: 1px solid var(--gbps-line); }
.gbps-trust__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.gbps-trust__grid > div { min-height: 145px; display: grid; grid-template-columns: 45px 1fr; align-content: center; padding: 25px 28px; border-right: 1px solid var(--gbps-line); }
.gbps-trust__grid > div:first-child { border-left: 1px solid var(--gbps-line); }
.gbps-trust i { grid-row: span 2; color: var(--gbps-green-2); font-size: 30px; font-style: normal; }
.gbps-trust strong { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.gbps-trust span { margin-top: 9px; color: var(--gbps-muted); font-size: 11px; line-height: 1.55; }
.gbps-featured { padding-top: 82px; padding-bottom: 90px; }
.gbps-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.gbps-section-heading h2 { margin: 0; font-family: var(--gbps-serif); font-size: clamp(30px,4vw,46px); font-weight: 400; letter-spacing: -.03em; }
.gbps-section-heading a { padding-bottom: 8px; border-bottom: 1px solid var(--gbps-green); color: var(--gbps-green); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.gbps-product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.gbps-product-card { overflow: hidden; border: 1px solid var(--gbps-line); background: #fff; transition: .25s; }
.gbps-product-card:hover, .gbps-product-card:focus-within { border-color: #b7c7ac; box-shadow: var(--gbps-shadow); transform: translateY(-4px); }
.gbps-product-card__image { position: relative; display: grid; place-items: center; height: 315px; background: linear-gradient(#fbfcfb, #f4f6f3); }
.gbps-product-card__image > span { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 6px 9px; background: var(--gbps-green); color: #fff; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gbps-product-card__image img { width: 85%; height: 90%; object-fit: contain; mix-blend-mode: multiply; transition: .3s; }
.gbps-product-card:hover img { transform: scale(1.035); }
.gbps-product-card__body { padding: 21px; border-top: 1px solid var(--gbps-line); }
.gbps-product-card__body h3 { margin: 0 0 7px; font-size: 15px; }
.gbps-product-card__body h3 a { display: inline-block; padding: 3px 0; }
.gbps-product-card__body small { display: block; margin-bottom: 19px; color: var(--gbps-muted); font-size: 10px; font-weight: 600; }
.gbps-product-card__body > div { display: flex; justify-content: space-between; align-items: center; }
.gbps-product-card__body strong { font-size: 15px; }
.gbps-card-cart { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #adc19f; color: var(--gbps-green) !important; font-size: 20px; }
.gbps-commitment { overflow: hidden; position: relative; min-height: 335px; display: flex; align-items: center; background: #070a08; color: #fff; }
.gbps-commitment::before { content: ""; position: absolute; inset: 0 0 0 48%; opacity: .42; background: radial-gradient(circle at center, transparent 0 80px, #5c852e 82px 84px, transparent 86px), repeating-radial-gradient(ellipse at center, transparent 0 18px, rgba(255,255,255,.16) 19px 20px); transform: rotate(-14deg) scale(1.5); }
.gbps-commitment > .gbps-container { position: relative; z-index: 2; }
.gbps-commitment > .gbps-container > div { max-width: 540px; padding: 65px 25px; }
.gbps-commitment h2 { margin: 0; font-family: var(--gbps-serif); font-size: 40px; font-weight: 400; line-height: 1.15; text-transform: uppercase; }
.gbps-commitment p { max-width: 500px; margin: 20px 0 27px; color: #d5d9d4; font-size: 12px; line-height: 1.8; }

/* COA database */
.gbps-page-hero { padding: 88px max(24px, calc((100% - 1192px)/2)) 65px; background: linear-gradient(135deg,#fff,#f7f9f5); border-bottom: 1px solid var(--gbps-line); }
.gbps-page-hero h1 { margin: 0; font-family: var(--gbps-serif); font-size: clamp(46px,6vw,70px); font-weight: 400; letter-spacing: -.04em; text-transform: uppercase; }
.gbps-page-hero p { margin: 15px 0 0; color: var(--gbps-muted); }
.gbps-coa-page > *:not(.gbps-page-hero) { width: min(1192px, calc(100% - 48px)); margin-right: auto; margin-left: auto; }
.gbps-coa-form { margin: 0; }
.gbps-coa-search { margin-top: 55px !important; padding: 27px 32px; background: var(--gbps-soft); border: 1px solid #edf0eb; }
.gbps-coa-search label, .gbps-coa-filters label { display: block; margin-bottom: 11px; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.gbps-coa-search > div { display: grid; grid-template-columns: 1fr 170px; gap: 18px; }
.gbps-coa-search input, .gbps-coa-filters select { width: 100%; height: 48px; padding: 0 15px; border: 1px solid #d7ddd4; border-radius: 2px; background: #fff; color: #333; }
.gbps-coa-search input:focus, .gbps-coa-filters select:focus { border-color: var(--gbps-green); box-shadow: 0 0 0 1px var(--gbps-green); }
.gbps-coa-search__hint { margin: 12px 0 0; color: var(--gbps-muted); font-size: 10px; }
.gbps-coa-search > a { min-height: 32px; display: inline-flex; align-items: center; margin-top: 5px; border-bottom: 1px solid var(--gbps-green); color: var(--gbps-green); font-size: 10px; font-weight: 600; }
.gbps-coa-filters { min-width: 0; display: grid; grid-template-columns: repeat(3,1fr) auto; align-items: end; gap: 20px; margin: 18px 0 0 !important; padding: 24px 32px; background: var(--gbps-soft); border: 1px solid #edf0eb; }
.gbps-coa-filter-actions { display: flex; align-items: center; gap: 14px; min-height: 48px; }
.gbps-coa-filter-actions .gbps-button { min-height: 48px; white-space: nowrap; }
.gbps-coa-filter-actions > a { min-height: 32px; display: inline-flex; align-items: center; color: var(--gbps-green); font-size: 10px; font-weight: 700; text-decoration: underline; white-space: nowrap; }
.gbps-coa-results { padding: 72px 0 55px; }
.gbps-coa-results .gbps-section-heading b { color: var(--gbps-muted); font-size: 11px; font-weight: 500; }
.gbps-table-wrap { overflow-x: auto; border: 1px solid var(--gbps-line); }
.gbps-table-wrap table { width: 100%; border-collapse: collapse; min-width: 990px; margin: 0; }
.gbps-table-wrap th { padding: 15px; background: #fafbfa; border-bottom: 1px solid var(--gbps-line); color: #555; font-size: 10px; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.gbps-table-wrap tbody th { background: #fff; color: #414541; font-size: 11px; letter-spacing: normal; text-transform: none; }
.gbps-table-wrap td { padding: 18px 15px; border-bottom: 1px solid #e8ebe6; color: #414541; font-size: 11px; }
.gbps-table-wrap tr:last-child td, .gbps-table-wrap tr:last-child th { border-bottom: 0; }
.gbps-table-wrap tbody tr:hover, .gbps-table-wrap tbody tr:focus-within, .gbps-table-wrap tbody tr:hover th, .gbps-table-wrap tbody tr:focus-within th { background: #fafcf9; }
.gbps-coa-view { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 2px; border: 0; border-bottom: 1px solid var(--gbps-green); background: none; color: var(--gbps-green) !important; font-size: 10px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.gbps-coa-status { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 9px; border: 1px solid #b8cda9; border-radius: 999px; background: var(--gbps-green-pale); color: var(--gbps-green); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.gbps-coa-empty { margin: 0; padding: 48px 24px; border: 1px solid var(--gbps-line); background: #fafbfa; color: var(--gbps-muted); text-align: center; }
.gbps-coa-empty h3 { margin: 0 0 10px; color: var(--gbps-ink); font-family: var(--gbps-serif); font-size: 28px; font-weight: 400; }
.gbps-coa-empty p { margin: 0 auto 22px; max-width: 560px; }
.gbps-coa-pagination { margin-top: 28px; }
.gbps-coa-pagination .page-numbers { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gbps-coa-pagination a, .gbps-coa-pagination span { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--gbps-line); background: #fff; color: var(--gbps-green); font-size: 11px; font-weight: 700; }
.gbps-coa-pagination .current { border-color: var(--gbps-green); background: var(--gbps-green); color: #fff; }
.gbps-coa-pagination .prev, .gbps-coa-pagination .next { min-width: 92px; }
.gbps-coa-info { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: 0 0 95px; }
.gbps-coa-info article { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 34px; border: 1px solid var(--gbps-line); }
.gbps-coa-info i { color: var(--gbps-green); font-size: 34px; font-style: normal; }
.gbps-coa-info h3 { margin: 2px 0 12px; color: var(--gbps-green); font-size: 11px; text-transform: uppercase; }
.gbps-coa-info p { margin: 0; color: var(--gbps-muted); font-size: 11px; line-height: 1.7; }
.gbps-modal[hidden] { display: none; }
.gbps-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.72); }
.gbps-modal__dialog { position: relative; width: min(540px,100%); padding: 46px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.gbps-modal__dialog h2 { margin: 0 0 25px; font-family: var(--gbps-serif); font-size: 38px; }
.gbps-modal__dialog dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 25px; }
.gbps-modal__dialog dt, .gbps-modal__dialog dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--gbps-line); font-size: 12px; }
.gbps-modal__dialog dt { font-weight: 700; }
.gbps-modal__dialog p { color: var(--gbps-muted); font-size: 11px; line-height: 1.7; }
.gbps-modal__close { position: absolute; top: 15px; right: 18px; padding: 0; border: 0; background: none; font-size: 28px; cursor: pointer; }

/* WooCommerce catalog and product pages */
body.gbps-storefront.woocommerce .site-main,
body.gbps-storefront.woocommerce-page .site-main,
body.gbps-storefront.woocommerce-page .entry-content { width: min(1192px, calc(100% - 48px)); margin: 0 auto; padding: 70px 0 95px; }
body.gbps-storefront .woocommerce-breadcrumb { margin: 0 0 35px; color: #666; font-size: 10px; }
body.gbps-storefront .woocommerce-breadcrumb a { color: var(--gbps-green); }
body.gbps-storefront div.product { display: flow-root; }
body.gbps-storefront div.product div.images { width: 53%; margin-bottom: 60px; padding: 30px; border: 1px solid var(--gbps-line); background: linear-gradient(#fff,#fafbfa); }
body.gbps-storefront div.product div.images img { mix-blend-mode: multiply; }
body.gbps-storefront .woocommerce-product-gallery__trigger { min-width: 44px; min-height: 44px; }
body.gbps-storefront .flex-control-thumbs img[role="button"] { cursor: pointer; }
body.gbps-storefront div.product div.summary { width: 42%; margin-bottom: 60px; }
body.gbps-storefront div.product .product_title { margin: 0; font-family: var(--gbps-serif); font-size: clamp(42px,5vw,65px); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
body.gbps-storefront div.product p.price { margin: 16px 0; color: #111; font-size: 22px; font-weight: 700; }
body.gbps-storefront .woocommerce-product-rating { margin-bottom: 18px !important; font-size: 11px; }
body.gbps-storefront .star-rating span::before { color: var(--gbps-green-2); }
.gbps-product-badges { display: grid; grid-template-columns: repeat(3,1fr); margin: 20px 0 23px; padding: 19px 0; border-top: 1px solid var(--gbps-line); border-bottom: 1px solid var(--gbps-line); }
.gbps-product-badges > span { display: grid; grid-template-columns: 23px 1fr; align-items: center; padding: 0 10px; border-right: 1px solid var(--gbps-line); color: var(--gbps-green); font-size: 18px; }
.gbps-product-badges > span:last-child { border-right: 0; }
.gbps-product-badges b { color: #222; font-size: 9px; text-transform: uppercase; }
.gbps-product-badges small { grid-column: 2; color: var(--gbps-muted); font-size: 8px; }
body.gbps-storefront div.product form.cart { display: flex; gap: 13px; margin: 23px 0; }
body.gbps-storefront div.product form.cart .quantity .qty { height: 46px; border: 1px solid var(--gbps-line); }
body.gbps-storefront div.product form.cart .single_add_to_cart_button { flex: 1; }
body.gbps-storefront div.product .product_meta { margin-top: 25px; padding: 20px; border: 1px solid #b7c7ac; background: #fafcf9; font-size: 11px; line-height: 1.8; }
body.gbps-storefront .woocommerce-tabs { clear: both; padding-top: 25px; }
body.gbps-storefront div.product .woocommerce-tabs ul.tabs { display: flex; margin: 0 !important; padding: 0 !important; border: 1px solid var(--gbps-line); background: #fff; }
body.gbps-storefront div.product .woocommerce-tabs ul.tabs::before,
body.gbps-storefront div.product .woocommerce-tabs ul.tabs li::before,
body.gbps-storefront div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.gbps-storefront div.product .woocommerce-tabs ul.tabs li { flex: 1; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; text-align: center; }
body.gbps-storefront div.product .woocommerce-tabs ul.tabs li a { width: 100%; padding: 18px 10px !important; color: #333; font-size: 9px; font-weight: 700; text-transform: uppercase; }
body.gbps-storefront div.product .woocommerce-tabs ul.tabs li.active a { box-shadow: inset 0 -3px var(--gbps-green); color: var(--gbps-green); }
body.gbps-storefront div.product .woocommerce-tabs .panel { margin: 0 !important; padding: 30px; border: 1px solid var(--gbps-line); border-top: 0; color: #4a4f49; font-size: 12px; line-height: 1.8; }
.gbps-tab-callout { display: flex; align-items: center; gap: 22px; }
.gbps-tab-callout h3 { margin: 0; }
.gbps-tab-callout p { flex: 1; }
.gbps-research-notice { padding: 22px; border-left: 3px solid var(--gbps-green); background: var(--gbps-green-pale); }
body.gbps-storefront section.related { clear: both; padding-top: 65px; }
body.gbps-storefront section.related > h2,
body.gbps-storefront .woocommerce-products-header__title { font-family: var(--gbps-serif); font-size: 42px; font-weight: 400; text-transform: uppercase; }
body.gbps-storefront ul.products { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 20px; }
body.gbps-storefront ul.products::before,
body.gbps-storefront ul.products::after { display: none !important; }
body.gbps-storefront ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0 0 20px; border: 1px solid var(--gbps-line); background: #fff; }
body.gbps-storefront ul.products li.product img { height: 290px; margin: 0 0 20px !important; padding: 18px; object-fit: contain; background: var(--gbps-soft); mix-blend-mode: multiply; }
body.gbps-storefront ul.products li.product .woocommerce-loop-product__title,
body.gbps-storefront ul.products li.product .price,
body.gbps-storefront ul.products li.product .star-rating { margin-right: 20px !important; margin-left: 20px !important; }
body.gbps-storefront ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
body.gbps-storefront ul.products li.product .price { color: #111 !important; font-size: 14px !important; font-weight: 700 !important; }
body.gbps-storefront ul.products li.product .button { margin: 12px 20px 0; }
body.gbps-storefront .woocommerce-message,
body.gbps-storefront .woocommerce-info { border-top-color: var(--gbps-green); background: var(--gbps-soft); }
body.gbps-storefront .woocommerce-message::before,
body.gbps-storefront .woocommerce-info::before { color: var(--gbps-green); }
.gbps-attestation { padding: 18px !important; border: 1px solid #7c9b68; background: var(--gbps-green-pale); font-size: 12px; line-height: 1.5; }
.gbps-attestation label { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; cursor: pointer; }
.gbps-attestation input[type="checkbox"] { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; }
.gbps-attestation .description, .gbps-attestation__description { display: block; margin: 8px 0 0 32px; color: #4f554f; font-size: 11px; }
.gbps-attestation.woocommerce-invalid { border-color: #b81c23; }

/* Footer */
.gbps-service-strip { clear: both; border-top: 1px solid var(--gbps-line); background: #fff; }
.gbps-service-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.gbps-service-grid > div { min-height: 93px; display: flex; flex-direction: column; justify-content: center; padding: 20px 28px; border-right: 1px solid var(--gbps-line); }
.gbps-service-grid > div:first-child { border-left: 1px solid var(--gbps-line); }
.gbps-service-grid strong { color: var(--gbps-green); font-size: 9px; text-transform: uppercase; }
.gbps-service-grid span { margin-top: 6px; color: var(--gbps-muted); font-size: 9px; }
.gbps-footer { position: relative; z-index: 2; background: radial-gradient(circle at 70% 30%,#172017,#070a08 50%); color: #d8ddd8; }
.gbps-footer__grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr) 1.55fr; gap: 44px; padding-top: 58px; padding-bottom: 48px; }
.gbps-footer__brand img { width: 210px; filter: brightness(0) invert(1); opacity: .92; }
.gbps-footer p { color: #aeb5ae; font-size: 10px; line-height: 1.75; }
.gbps-footer__brand p { max-width: 260px; margin-top: 24px; }
.gbps-footer h3 { margin: 0 0 19px; color: white; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.gbps-footer__grid > div:not(:first-child) > a { min-height: 28px; display: flex; align-items: center; margin-bottom: 4px; color: #bbc1bb; font-size: 9px; }
.gbps-footer__grid a:hover { color: #96bf69 !important; }
.gbps-footer__signup form { display: flex; margin-top: 15px; }
.gbps-footer__signup input { min-width: 0; height: 38px; flex: 1; padding: 0 11px; border: 1px solid #3a423a; background: #fff; font-size: 9px; }
.gbps-footer__signup button { width: 40px; border: 0; background: #5f8a31; color: white; }
.gbps-footer__contact { margin: 14px 0 18px; }
.gbps-footer__contact a, .gbps-footer__contact address { min-height: 24px; display: flex; align-items: center; margin: 0 0 4px; color: #bbc1bb; font-size: 9px; font-style: normal; line-height: 1.55; }
.gbps-footer__contact a:hover { color: #96bf69; }
.gbps-socials { margin-top: 18px; color: white; }
.gbps-footer__bottom { min-height: 58px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #293029; color: #889088; font-size: 8px; }
.gbps-footer__bottom span:last-child { color: #789c51; }

@media (max-width: 1100px) {
  .gbps-nav { gap: 16px; }
  .gbps-nav a { font-size: 9px; }
  .gbps-logo { flex-basis: 200px; }
  .gbps-logo img { width: 190px; }
  .gbps-header__actions { gap: 10px; }
  .gbps-footer__grid { grid-template-columns: 1.5fr repeat(3,1fr); }
  .gbps-footer__signup { grid-column: 1 / -1; max-width: 420px; }
  .gbps-coa-filters { grid-template-columns: repeat(2,1fr); }
  .gbps-coa-filter-actions { justify-content: flex-start; }
}

@media (max-width: 1024px) {
  body.admin-bar .gbps-header { top: 46px; }
  .gbps-topbar__inner > span:nth-child(2), .gbps-topbar__right span:not(:first-child) { display: none; }
  .gbps-header__inner { position: relative; min-height: 74px; height: auto; flex-wrap: wrap; }
  .gbps-logo { flex-basis: auto; margin-right: auto; }
  .gbps-logo img { width: 205px; }
  .gbps-js .gbps-menu-toggle { display: block; order: 2; }
  .gbps-header__actions { order: 1; }
  .gbps-nav { width: 100%; display: grid; order: 3; margin: 0; padding: 14px 24px 24px; background: #fff; border-bottom: 2px solid var(--gbps-green); }
  .gbps-js .gbps-nav { display: none; position: absolute; top: 100%; right: 0; left: 0; width: auto; order: initial; box-shadow: 0 20px 30px rgba(0,0,0,.08); }
  .gbps-js .gbps-nav.is-open { display: grid; }
  .gbps-nav a { padding: 12px; font-size: 11px; }
  .gbps-hero__grid { grid-template-columns: 1fr 1fr; }
  .gbps-trust__grid { grid-template-columns: 1fr 1fr; }
  .gbps-trust__grid > div:nth-child(3) { border-left: 1px solid var(--gbps-line); }
  .gbps-product-grid, body.gbps-storefront ul.products { grid-template-columns: repeat(2,1fr); }
  .gbps-footer__grid { grid-template-columns: 1.5fr repeat(2,1fr); }
  .gbps-footer__signup { grid-column: auto; }
}

@media (max-width: 700px) {
  .gbps-container, .gbps-coa-page > *:not(.gbps-page-hero) { width: min(100% - 32px,1240px); }
  .gbps-topbar { min-height: 34px; }
  .gbps-topbar__inner { min-height: 34px; justify-content: center; }
  .gbps-topbar__right { display: none; }
  .gbps-header__inner { gap: 14px; }
  .gbps-logo img { width: 174px; }
  .gbps-header__actions a:first-child, .gbps-header__actions a:nth-child(2) { display: none; }
  .gbps-hero__grid { min-height: auto; grid-template-columns: 1fr; }
  .gbps-hero__copy { padding: 62px 0 10px; }
  .gbps-hero h1 { font-size: 52px; }
  .gbps-hero__product { min-height: 420px; }
  .gbps-hero__product img { width: 80%; }
  .gbps-hero__batch { bottom: 45px; }
  .gbps-trust__grid { grid-template-columns: 1fr; }
  .gbps-trust__grid > div { border-left: 1px solid var(--gbps-line); border-bottom: 1px solid var(--gbps-line); }
  .gbps-trust__grid > div:last-child { border-bottom: 0; }
  .gbps-section-heading { align-items: start; flex-direction: column; }
  .gbps-product-grid, body.gbps-storefront ul.products { grid-template-columns: 1fr 1fr; gap: 10px; }
  .gbps-product-card__image { height: 220px; }
  .gbps-product-card__body { padding: 15px; }
  .gbps-commitment::before { left: 30%; }
  .gbps-page-hero { padding-top: 60px; padding-bottom: 45px; }
  .gbps-coa-search { padding: 20px; }
  .gbps-coa-search > div { grid-template-columns: 1fr; }
  .gbps-coa-filters { grid-template-columns: 1fr; gap: 15px; padding: 20px; }
  .gbps-coa-filter-actions { align-items: stretch; flex-direction: column; }
  .gbps-coa-filter-actions .gbps-button { width: 100%; }
  .gbps-coa-filter-actions > a { padding: 8px; text-align: center; }
  .gbps-table-wrap { overflow: visible; border: 0; }
  .gbps-table-wrap table { min-width: 0; }
  .gbps-table-wrap thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .gbps-table-wrap tbody, .gbps-table-wrap tr, .gbps-table-wrap td, .gbps-table-wrap tbody th { display: block; width: 100%; }
  .gbps-table-wrap tbody { display: grid; gap: 16px; }
  .gbps-table-wrap tr { padding: 8px 18px; border: 1px solid var(--gbps-line); background: #fff; box-shadow: 0 8px 24px rgba(18,35,10,.05); }
  .gbps-table-wrap td, .gbps-table-wrap tbody th { display: grid; grid-template-columns: minmax(118px,38%) 1fr; gap: 14px; padding: 11px 0; border-bottom: 1px solid #e8ebe6; background: #fff; color: #414541; font-size: 11px; letter-spacing: normal; text-align: right; text-transform: none; }
  .gbps-table-wrap td::before, .gbps-table-wrap tbody th::before { content: attr(data-label); color: #626862; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
  .gbps-table-wrap tbody tr:last-child th { border-bottom: 1px solid #e8ebe6; }
  .gbps-table-wrap td:last-child { border-bottom: 0; }
  .gbps-table-wrap td:last-child .gbps-coa-view, .gbps-table-wrap td .gbps-coa-status { justify-self: end; }
  .gbps-coa-info { grid-template-columns: 1fr; }
  body.gbps-storefront.woocommerce .site-main,
  body.gbps-storefront.woocommerce-page .site-main,
  body.gbps-storefront.woocommerce-page .entry-content { width: min(100% - 32px,1192px); padding-top: 42px; }
  body.gbps-storefront div.product div.images,
  body.gbps-storefront div.product div.summary { float: none; width: 100%; }
  body.gbps-storefront .woocommerce .col2-set .col-1,
  body.gbps-storefront .woocommerce .col2-set .col-2,
  body.gbps-storefront #order_review_heading,
  body.gbps-storefront #order_review { float: none; width: 100%; }
  .gbps-product-badges { grid-template-columns: 1fr; gap: 12px; }
  .gbps-product-badges > span { border-right: 0; }
  body.gbps-storefront div.product .woocommerce-tabs ul.tabs { overflow-x: auto; }
  body.gbps-storefront div.product .woocommerce-tabs ul.tabs li { flex: 0 0 150px; }
  .gbps-tab-callout { align-items: start; flex-direction: column; }
  .gbps-service-grid { grid-template-columns: 1fr 1fr; }
  .gbps-service-grid > div:nth-child(3) { border-left: 1px solid var(--gbps-line); }
  .gbps-footer__grid { grid-template-columns: 1fr 1fr; gap: 35px 25px; }
  .gbps-footer__brand, .gbps-footer__signup { grid-column: 1 / -1; }
  .gbps-footer__bottom { align-items: start; flex-direction: column; justify-content: center; gap: 8px; }
}

@media (max-width: 430px) {
  .gbps-container { width: min(100% - 24px,1240px); }
  .gbps-header__inner { gap: 8px; }
  .gbps-logo { flex: 1 1 auto; }
  .gbps-logo img { width: 142px; }
  .gbps-header__actions { gap: 2px; }
  .gbps-header__actions a,
  .gbps-menu-toggle { width: 42px; min-width: 42px; height: 42px; min-height: 42px; }
  .gbps-hero__copy { padding-top: 48px; }
  .gbps-hero h1 { overflow-wrap: anywhere; font-size: clamp(40px,13vw,52px); }
  .gbps-hero__product { min-height: 340px; }
  .gbps-product-grid, body.gbps-storefront ul.products { grid-template-columns: 1fr; }
  .gbps-product-card__image { height: 300px; }
  .gbps-service-grid { grid-template-columns: 1fr; }
  .gbps-service-grid > div { border-left: 1px solid var(--gbps-line); }
}

@media (max-width: 560px) {
  .gbps-product-grid, body.gbps-storefront ul.products { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .gbps-storefront *, .gbps-storefront *::before, .gbps-storefront *::after { scroll-behavior: auto !important; transition: none !important; }
  .gbps-storefront .gbps-button:hover, .gbps-storefront .button:hover, .gbps-storefront .gbps-product-card:hover, .gbps-storefront .gbps-product-card:focus-within { transform: none; }
}
