:root { --gv-green:#16452f; --gv-green-deep:#0e3322; --gv-cream:#fbf8ef; --gv-paper:#fffef9; --gv-gold:#b99b43; --gv-text:#234431; --gv-muted:#687065; --gv-line:#e9e4d5; --gv-shadow:0 5px 16px rgba(38,55,39,.08); }

body.gv-home-page { background:var(--gv-cream); color:var(--gv-text); font-family:Montserrat,Arial,sans-serif; }
.gv-home { overflow:hidden; }
.gv-shell { max-width:1240px; }
.gv-hero { background:#e8ecde; min-height:440px; position:relative; }
.gv-hero .carousel, .gv-hero .carousel-inner, .gv-hero .carousel-item { height:440px; }
.gv-hero .carousel-item > a, .gv-hero-image { display:block; height:100%; width:100%; }
.gv-hero-image { object-fit:cover; object-position:center; }
.gv-hero-empty { background:radial-gradient(circle at 72% 44%,rgba(234,200,116,.9) 0 7%,transparent 22%),linear-gradient(105deg,#f7f4e9 0%,#e3ebd8 63%,#aebd98 100%); }
.gv-hero-overlay { align-items:center; background:linear-gradient(90deg,rgba(255,253,244,.98) 0%,rgba(255,253,244,.94) 31%,rgba(255,253,244,.38) 59%,rgba(255,253,244,.02) 100%); display:flex; inset:0; pointer-events:none; position:absolute; }
.gv-hero-copy { max-width:470px; padding:34px 0; pointer-events:auto; }
.gv-hero h1, .gv-section-heading h2, .gv-available h2 { color:var(--gv-green-deep); font-family:Georgia,'Times New Roman',serif; font-weight:700; }
.gv-hero h1 { font-size:clamp(2.35rem,4vw,3.55rem); letter-spacing:-.045em; line-height:.98; margin:0 0 14px; }
.gv-hero h2 { color:#3d563e; font-size:14px; font-weight:700; line-height:1.35; margin:0 0 13px; }
.gv-hero p { color:#536553; font-size:11px; line-height:1.6; margin:0; max-width:350px; }
.gv-hero-actions { margin-top:19px; }
.gv-button { align-items:center; background:var(--gv-green); border:1px solid var(--gv-green); border-radius:3px; color:#fff!important; display:inline-flex; font-size:10px; font-weight:800; gap:8px; justify-content:center; letter-spacing:.035em; padding:10px 18px; text-decoration:none; text-transform:uppercase; transition:.2s ease; }
.gv-button:hover { background:var(--gv-green-deep); color:#fff; transform:translateY(-1px); }
.gv-hero-promises { display:flex; gap:22px; margin-top:20px; }
.gv-hero-promises span { align-items:center; color:#4c5b4d; display:grid; font-size:9px; font-weight:700; grid-template-columns:22px auto; line-height:1.05; }
.gv-hero-promises i { color:var(--gv-green); font-size:19px; grid-row:span 2; }
.gv-hero-promises b { color:var(--gv-green); font-size:10px; }
.gv-hero-dots { bottom:12px; justify-content:flex-end; margin:0 auto; max-width:1240px; padding:0 12px; }
.gv-hero-dots [data-bs-target] { background-color:var(--gv-green); border-radius:50%; height:7px; margin:0 3px; width:7px; }

.gv-section { padding:34px 0; }
.gv-section-heading { margin:0 auto 20px; text-align:center; }
.gv-section-heading h2, .gv-available h2 { align-items:center; display:flex; font-size:22px; gap:14px; justify-content:center; line-height:1.15; margin:0; }
.gv-section-heading h2::before, .gv-section-heading h2::after, .gv-available h2::before, .gv-available h2::after { background:#d8d0b9; content:''; height:1px; max-width:48px; width:8vw; }

.gv-categories { background:var(--gv-cream); padding-bottom:32px; }
.gv-category-grid { display:grid; gap:12px; grid-template-columns:repeat(6,minmax(0,1fr)); }
.gv-category-card { background:#fbfaf1; border:1px solid #e6e1d0; border-radius:3px; box-shadow:0 2px 8px rgba(41,62,41,.045); color:var(--gv-text); display:block; overflow:hidden; padding:8px 7px 10px; text-align:center; text-decoration:none; transition:.2s ease; }
.gv-category-card:hover { box-shadow:var(--gv-shadow); color:var(--gv-green); transform:translateY(-3px); }
.gv-category-image { align-items:center; background:#f2f0e2; display:flex; height:126px; justify-content:center; margin-bottom:7px; overflow:hidden; }
.gv-category-image img { height:100%; object-fit:cover; transition:transform .3s ease; width:100%; }
.gv-category-card:hover .gv-category-image img { transform:scale(1.05); }
.gv-category-placeholder, .gv-product-placeholder { align-items:center; color:var(--gv-gold); display:flex; font-size:34px; height:100%; justify-content:center; }
.gv-category-card > span { display:block; font-size:10px; font-weight:800; line-height:1.25; min-height:24px; text-transform:uppercase; }
.gv-category-card small { align-items:center; background:var(--gv-gold); border-radius:50%; color:#fff; display:inline-flex; font-size:8px; height:15px; justify-content:center; margin-top:5px; width:15px; }

.gv-product-section { background:var(--gv-paper); border-bottom:1px solid var(--gv-line); border-top:1px solid var(--gv-line); }
.gv-product-carousel .owl-stage, .gv-product-carousel .owl-item { display:flex; }
.gv-product-card { background:#fffef9; border:1px solid #ebe5d6; border-radius:2px; display:flex; flex-direction:column; height:100%; overflow:hidden; position:relative; width:100%; }
.gv-product-image { background:linear-gradient(145deg,#fffdf4,#f0f0e5); display:block; height:210px; overflow:hidden; position:relative; }
.gv-product-image img { height:100%; object-fit:contain; padding:8px; transition:transform .25s ease; width:100%; }
.gv-product-card:hover .gv-product-image img { transform:scale(1.04); }
.gv-discount-badge, .gv-new-badge { background:var(--gv-green); color:#fff; font-size:8px; font-weight:800; left:0; letter-spacing:.04em; padding:5px 7px; position:absolute; text-transform:uppercase; top:0; z-index:1; }
.gv-new-badge { background:#2e6a31; }
.gv-product-body { display:flex; flex:1; flex-direction:column; min-height:102px; padding:8px 10px 9px; }
.gv-product-title { color:var(--gv-text)!important; font-size:10px; font-weight:700; line-height:1.35; min-height:27px; text-decoration:none; }
.gv-product-size { color:#899083; font-size:8px; line-height:1.25; margin-top:3px; }
.gv-product-price { align-items:center; display:flex; gap:6px; margin-top:6px; }
.gv-product-price strong { color:var(--gv-green-deep); font-size:13px; }
.gv-product-price small { color:#997f3c; font-size:8px; font-weight:700; }
.gv-add-to-cart { margin-top:auto; }
.gv-cart-button { align-items:center; background:var(--gv-green); border:0; border-radius:2px; color:#fff; cursor:pointer; display:flex; font-size:8px; font-weight:800; gap:5px; justify-content:center; margin-top:8px; opacity:0; padding:7px; text-transform:uppercase; transform:translateY(4px); transition:.2s ease; width:100%; }
.gv-product-card:hover .gv-cart-button, .gv-cart-button:focus-visible { opacity:1; transform:translateY(0); }
.gv-cart-button:disabled { cursor:wait; opacity:.75; transform:none; }
.gv-product-carousel .owl-nav { display:flex!important; justify-content:space-between; left:-24px; margin:0; pointer-events:none; position:absolute; right:-24px; top:42%; }
.gv-product-carousel .owl-nav button.owl-next, .gv-product-carousel .owl-nav button.owl-prev { align-items:center; background:#fff!important; border:1px solid #e6e1d4!important; border-radius:50%!important; box-shadow:0 2px 7px rgba(30,49,35,.1); color:var(--gv-green)!important; display:inline-flex; font-size:20px!important; height:24px; justify-content:center; pointer-events:auto; width:24px; }
.gv-section-action { margin-top:20px; text-align:center; }

.gv-values { background:radial-gradient(circle at 50% -50%,#286341 0%,var(--gv-green) 45%,#123c29 100%); color:#fff; padding:33px 0 36px; }
.gv-values .gv-section-heading h2 { color:#fff9e9; }
.gv-values .gv-section-heading h2::before, .gv-values .gv-section-heading h2::after { background:#d6bd76; }
.gv-value-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.gv-value-card { padding:4px 9px; text-align:center; }
.gv-value-card > span { align-items:center; border:1px solid #d9bc62; border-radius:50%; color:#ecd679; display:inline-flex; font-size:24px; height:50px; justify-content:center; margin-bottom:8px; width:50px; }
.gv-value-card h3 { color:#f2d977; font-size:10px; font-weight:800; margin:0 0 4px; }
.gv-value-card p { color:#fbf7e6; font-size:8px; line-height:1.45; margin:0 auto; max-width:135px; opacity:.9; }

.gv-process { background:var(--gv-paper); }
.gv-process-list { display:grid; gap:18px; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.gv-process-list li { align-items:center; display:flex; flex-direction:column; position:relative; text-align:center; }
.gv-process-list li:not(:last-child)::after { color:#ad9251; content:'→'; font-family:Georgia,serif; font-size:24px; position:absolute; right:-17px; top:30px; }
.gv-process-photo { align-items:center; background:#edf0e3; border:1px solid #d1d7c4; border-radius:50%; display:flex; height:70px; justify-content:center; margin-bottom:9px; overflow:hidden; width:70px; }
.gv-process-photo img { height:100%; object-fit:cover; width:100%; }
.gv-process-photo i { color:var(--gv-green); font-size:26px; }
.gv-process-list strong { color:var(--gv-text); font-size:10px; font-weight:800; line-height:1.35; }
.gv-process-list small { color:var(--gv-muted); font-size:8px; line-height:1.35; margin-top:3px; max-width:145px; }

.gv-reviews { background:#fdfcf7; border-top:1px solid var(--gv-line); }
.gv-review-carousel { margin:0 auto; max-width:900px; padding:0 44px 27px; position:relative; }
.gv-review-carousel .owl-stage { display:flex; }
.gv-review-carousel .owl-item { display:flex; }
.gv-review-card { background:#fffefb; border:1px solid #e8e3d7; box-shadow:0 5px 16px rgba(34,56,38,.06); display:flex; flex:1; flex-direction:column; justify-content:center; margin:0; min-height:155px; padding:18px 20px; text-align:center; }
.gv-stars { color:#c4a247; font-size:15px; letter-spacing:1px; }
.gv-review-card blockquote { color:#5c655d; font-size:9px; line-height:1.45; margin:6px auto 9px; max-width:270px; }
.gv-review-card figcaption { align-items:center; display:flex; justify-content:center; text-align:left; }
.gv-review-card figcaption > span { align-items:center; background:#dbe5d7; border-radius:50%; color:var(--gv-green); display:inline-flex; font-size:9px; font-weight:800; height:27px; justify-content:center; margin-right:7px; width:27px; }
.gv-review-card figcaption strong { color:var(--gv-text); display:grid; font-size:9px; }
.gv-review-card figcaption small { color:#889184; font-size:8px; font-weight:600; }
.gv-review-carousel .owl-nav { display:flex; justify-content:space-between; left:0; margin:0; pointer-events:none; position:absolute; right:0; top:50%; transform:translateY(-65%); }
.gv-review-carousel .owl-nav button.owl-prev, .gv-review-carousel .owl-nav button.owl-next { align-items:center; background:#fffef9!important; border:1px solid #ded8c8!important; border-radius:50%!important; box-shadow:0 3px 10px rgba(30,49,35,.1); color:var(--gv-green)!important; display:inline-flex; font-size:15px!important; height:32px; justify-content:center; pointer-events:auto; transition:.18s ease; width:32px; }
.gv-review-carousel .owl-nav button.owl-prev:hover, .gv-review-carousel .owl-nav button.owl-next:hover { background:var(--gv-green)!important; border-color:var(--gv-green)!important; color:#fff!important; }
.gv-review-carousel .owl-dots { bottom:0; left:0; margin:0!important; position:absolute; right:0; }
.gv-review-carousel .owl-dots .owl-dot span { background:#d8d2c2; height:7px; margin:4px; transition:.2s ease; width:7px; }
.gv-review-carousel .owl-dots .owl-dot.active span { background:var(--gv-green); width:20px; }
.gv-new-arrivals { border-bottom:0; }

.gv-available { background:#f4f0e5; border-bottom:1px solid #ebe4d5; border-top:1px solid #ebe4d5; padding:23px 0; text-align:center; }
.gv-available h2 { font-size:18px; margin-bottom:17px; }
.gv-marketplace-frame { background:#fffef9; border:1px solid #e6e0d0; border-radius:4px; box-shadow:0 3px 10px rgba(36,57,39,.05); margin:0 auto; max-width:980px; overflow:hidden; padding:10px 18px; }
.gv-marketplace-carousel { margin:0 auto; max-width:940px; }
.gv-marketplace-carousel .owl-stage { align-items:center; display:flex; }
.gv-marketplace-carousel .owl-item { align-items:center; display:flex; justify-content:center; }
.gv-marketplace-logo { align-items:center; display:flex; height:115px; justify-content:center; width:100%; }
.gv-marketplace-logo img { display:block; height:105px; max-width:100%; object-fit:contain; width:100%; }

.gv-recipes { background:var(--gv-paper); }
.gv-recipe-feature { background:var(--gv-green-deep); border:1px solid #d8d3c5; box-shadow:0 8px 24px rgba(31,52,35,.12); display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr); margin:0 auto 26px; max-width:1050px; overflow:hidden; }
.gv-recipe-video-frame { aspect-ratio:16/9; background:#071c12; min-width:0; overflow:hidden; }
.gv-recipe-video-frame video { background:#071c12; display:block; height:100%; object-fit:contain; width:100%; }
.gv-recipe-video-copy { align-self:center; color:#fff; padding:26px 27px; }
.gv-recipe-video-copy > span { color:#e1c86f; display:block; font-size:10px; font-weight:800; letter-spacing:.12em; margin-bottom:8px; text-transform:uppercase; }
.gv-recipe-video-copy h3 { color:#fff9e9; font-family:Georgia,'Times New Roman',serif; font-size:25px; line-height:1.18; margin:0 0 10px; }
.gv-recipe-video-copy p { color:#e9f0e8; font-size:12px; line-height:1.65; margin:0; }
.gv-blog-grid { display:grid; gap:15px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.gv-blog-card { background:#fffefb; border:1px solid #e8e4d7; overflow:hidden; }
.gv-blog-image { align-items:center; background:#eef0e5; display:flex; height:120px; justify-content:center; overflow:hidden; }
.gv-blog-image img { height:100%; object-fit:cover; width:100%; }.gv-blog-image i { color:var(--gv-green); font-size:30px; }
.gv-blog-card > div:last-child { padding:8px 9px 9px; }.gv-blog-card h3 { color:var(--gv-text); font-size:10px; font-weight:800; line-height:1.35; margin:0 0 4px; }.gv-blog-card time { color:#8e958a; font-size:8px; }

.gv-faq { background:#faf8ef; border-top:1px solid var(--gv-line); padding-bottom:38px; }
.gv-faq-grid { display:grid; gap:7px 18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.gv-faq details { background:#fffefb; border:1px solid #e9e4d7; padding:9px 11px; }.gv-faq summary { color:#435447; cursor:pointer; font-size:10px; font-weight:700; list-style:none; padding-right:17px; position:relative; }.gv-faq summary::after { color:var(--gv-green); content:'+'; font-size:16px; font-weight:400; position:absolute; right:0; top:-4px; }.gv-faq details[open] summary::after { content:'–'; }.gv-faq details p { color:var(--gv-muted); font-size:9px; line-height:1.5; margin:7px 0 0; }
.gv-cart-modal { border:0; border-radius:0; }.gv-cart-modal .modal-title { color:var(--gv-green-deep); font-family:Georgia,serif; font-weight:700; }

/* Homepage readability and larger product cards. */
.gv-hero h2 { font-size:17px; line-height:1.4; }
.gv-hero p { font-size:14px; line-height:1.65; max-width:410px; }
.gv-button { font-size:12px; padding:12px 21px; }
.gv-hero-promises span { font-size:11px; grid-template-columns:24px auto; line-height:1.15; }
.gv-hero-promises b { font-size:12px; }
.gv-section-heading h2, .gv-available h2 { font-size:26px; }
.gv-category-card > span { font-size:12px; line-height:1.35; min-height:32px; }
.gv-product-image { height:250px; }
.gv-discount-badge, .gv-new-badge { font-size:10px; padding:6px 9px; }
.gv-product-body { min-height:145px; padding:13px 15px 14px; }
.gv-product-title { font-size:14px; line-height:1.4; min-height:40px; }
.gv-product-size { color:#727c70; font-size:11px; line-height:1.35; margin-top:4px; }
.gv-product-price strong { font-size:17px; }
.gv-product-price small { font-size:10px; }
.gv-cart-button { font-size:11px; gap:6px; margin-top:10px; padding:10px; }
.gv-product-carousel .owl-nav button.owl-next, .gv-product-carousel .owl-nav button.owl-prev { height:34px; width:34px; }
.gv-value-card h3 { font-size:12px; margin-bottom:5px; }
.gv-value-card p { font-size:10px; line-height:1.5; max-width:155px; }
.gv-process-list strong { font-size:12px; line-height:1.4; }
.gv-process-list small { font-size:10px; line-height:1.45; margin-top:4px; max-width:165px; }
.gv-review-card blockquote { font-size:12px; line-height:1.55; margin:8px auto 12px; max-width:330px; }
.gv-review-card figcaption strong { font-size:11px; }
.gv-review-card figcaption small { font-size:9px; }
.gv-available h2 { font-size:24px; }
.gv-blog-image { height:155px; }
.gv-blog-card > div:last-child { padding:12px 13px 13px; }
.gv-blog-card h3 { font-size:13px; line-height:1.4; margin-bottom:5px; }
.gv-blog-card time { font-size:10px; }
.gv-faq details { padding:12px 14px; }
.gv-faq summary { font-size:13px; padding-right:19px; }
.gv-faq details p { font-size:11px; line-height:1.55; margin-top:8px; }

@media (max-width:1199.98px) { .gv-product-carousel .owl-nav { left:-9px; right:-9px; }.gv-category-grid { gap:9px; }.gv-category-image { height:112px; } }
@media (max-width:991.98px) { .gv-hero, .gv-hero .carousel, .gv-hero .carousel-inner, .gv-hero .carousel-item { height:410px; }.gv-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.gv-category-image { height:145px; }.gv-value-grid { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:17px; }.gv-process-list { gap:10px; }.gv-process-list li:not(:last-child)::after { right:-12px; }.gv-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.gv-blog-image { height:160px; } }
@media (max-width:767.98px) { .gv-hero, .gv-hero .carousel, .gv-hero .carousel-inner, .gv-hero .carousel-item { height:470px; }.gv-hero-image { object-position:66% center; }.gv-hero-overlay { align-items:flex-end; background:linear-gradient(0deg,rgba(255,253,244,.98) 1%,rgba(255,253,244,.9) 47%,rgba(255,253,244,.05) 82%); }.gv-hero-copy { padding:26px 0 35px; }.gv-hero h1 { font-size:2.5rem; }.gv-hero-promises { gap:13px; }.gv-section { padding:30px 0; }.gv-section-heading h2 { font-size:20px; }.gv-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.gv-category-image { height:140px; }.gv-product-image { height:220px; }.gv-cart-button { opacity:1; transform:none; }.gv-value-card { padding:3px 4px; }.gv-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:20px; }.gv-process-list li:not(:last-child)::after { display:none; }.gv-faq-grid { grid-template-columns:1fr; }.gv-review-carousel { padding-left:38px; padding-right:38px; }.gv-review-card { min-height:155px; padding:17px 16px; }.gv-marketplace-frame { padding:8px 10px; }.gv-marketplace-logo { height:115px; }.gv-marketplace-logo img { height:105px; max-width:100%; width:100%; } }
@media (max-width:420px) { .gv-hero h1 { font-size:2.18rem; }.gv-hero-promises { gap:9px; }.gv-hero-promises span { font-size:8px; }.gv-hero-promises i { font-size:17px; }.gv-value-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.gv-blog-image { height:110px; }.gv-process-photo { height:61px; width:61px; } }

@media (max-width:767.98px) {
    .gv-hero h2 { font-size:15px; }
    .gv-hero p { font-size:13px; }
    .gv-section-heading h2 { font-size:23px; }
    .gv-product-image { height:250px; }
    .gv-product-title { font-size:13px; min-height:38px; }
    .gv-product-body { min-height:138px; padding:12px 14px 13px; }
    .gv-blog-image { height:145px; }
}

@media (max-width:420px) {
    .gv-hero-promises span { font-size:10px; }
    .gv-hero-promises b { font-size:11px; }
    .gv-blog-image { height:135px; }
}

/* Larger typography for values, process and customer reviews. */
.gv-values, .gv-process, .gv-reviews { padding-bottom:46px; padding-top:44px; }
.gv-values .gv-section-heading h2, .gv-process .gv-section-heading h2, .gv-reviews .gv-section-heading h2 { font-size:30px; }
.gv-value-grid { gap:10px; }
.gv-value-card { padding:8px 12px; }
.gv-value-card > span { font-size:30px; height:64px; margin-bottom:12px; width:64px; }
.gv-value-card h3 { font-size:15px; line-height:1.35; margin-bottom:7px; }
.gv-value-card p { font-size:12px; line-height:1.6; max-width:175px; }
.gv-process-list { gap:24px; }
.gv-process-list li:not(:last-child)::after { font-size:29px; right:-21px; top:38px; }
.gv-process-photo { height:86px; margin-bottom:13px; width:86px; }
.gv-process-photo i { font-size:32px; }
.gv-process-list strong { font-size:15px; line-height:1.4; }
.gv-process-list small { font-size:12px; line-height:1.55; margin-top:6px; max-width:190px; }
.gv-review-carousel { max-width:1040px; padding-bottom:31px; }
.gv-review-card { min-height:205px; padding:26px 28px; }
.gv-stars { font-size:20px; letter-spacing:2px; }
.gv-review-card blockquote { font-size:14px; line-height:1.65; margin:10px auto 15px; max-width:390px; }
.gv-review-card figcaption > span { font-size:11px; height:36px; margin-right:10px; width:36px; }
.gv-review-card figcaption strong { font-size:13px; }
.gv-review-card figcaption small { font-size:11px; margin-top:2px; }
.gv-review-carousel .owl-nav button.owl-prev, .gv-review-carousel .owl-nav button.owl-next { font-size:18px!important; height:38px; width:38px; }

@media (max-width:767.98px) {
    .gv-values, .gv-process, .gv-reviews { padding-bottom:38px; padding-top:36px; }
    .gv-values .gv-section-heading h2, .gv-process .gv-section-heading h2, .gv-reviews .gv-section-heading h2 { font-size:26px; }
    .gv-value-card { padding:8px 7px; }
    .gv-value-card > span { font-size:27px; height:58px; width:58px; }
    .gv-value-card h3 { font-size:13px; }
    .gv-value-card p { font-size:11px; line-height:1.5; }
    .gv-process-photo { height:76px; width:76px; }
    .gv-process-list strong { font-size:13px; }
    .gv-process-list small { font-size:11px; max-width:170px; }
    .gv-review-card { min-height:195px; padding:22px 19px; }
    .gv-review-card blockquote { font-size:13px; }
    .gv-recipe-feature { grid-template-columns:1fr; margin-bottom:22px; }
    .gv-recipe-video-copy { padding:20px 19px 22px; }
    .gv-recipe-video-copy h3 { font-size:22px; }
    .gv-recipe-video-copy p { font-size:12px; }
}
