:root {
    --primary-color: #0d4938;
    --secondary-color: #d59516;
    --green: var(--primary-color);
    --green-2: color-mix(in srgb, var(--primary-color) 82%, #000);
    --gold: var(--secondary-color);
    --cream: color-mix(in srgb, var(--secondary-color) 13%, #fff);
    --paper: color-mix(in srgb, var(--secondary-color) 3%, #fff);
    --ink: var(--primary-color);
    --muted: color-mix(in srgb, var(--primary-color) 58%, #8c8c8c);
    --line: color-mix(in srgb, var(--secondary-color) 38%, #fff);
    --primary-muted: color-mix(in srgb, var(--primary-color) 68%, #9a9a9a);
    --primary-soft: color-mix(in srgb, var(--primary-color) 12%, #fff);
    --primary-contrast-soft: color-mix(in srgb, var(--primary-color) 18%, #fff);
    --primary-shadow: color-mix(in srgb, var(--primary-color) 18%, transparent);
    --secondary-dark: color-mix(in srgb, var(--secondary-color) 86%, #000);
    --secondary-soft: color-mix(in srgb, var(--secondary-color) 14%, #fff);
    --secondary-border: color-mix(in srgb, var(--secondary-color) 48%, #fff);
    --secondary-shadow: color-mix(in srgb, var(--secondary-color) 25%, transparent);
    --site-content-leading-inset: 20px;
    --white: #fff;
    --shadow: 0 14px 38px var(--primary-shadow)
}

/* Reusable Banner 1 widget */
.banner-one-widget {
    min-height: 545px;
    position: relative;
    display: flex;
    overflow: hidden;
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.banner-one-widget::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 35%, rgba(255,255,255,.35) 61%, rgba(255,255,255,0) 78%);
    pointer-events: none;
}

.banner-one-container {
    min-height: inherit;
    display: flex;
    align-items: center;
}

.banner-one-content {
    width: min(52%, 620px);
    position: relative;
    z-index: 1;
    padding: 54px 0;
}

.banner-one-content h2 {
    margin: 0;
    color: var(--green);
    font-family: 'Grandstander', cursive!important;
    font-size: clamp(42px, 4.2vw, 66px);
    font-weight: 600!important;
    line-height: .98;
    letter-spacing: -.025em;
}

.banner-one-content h2 em {
    color: var(--gold);
    font-style: normal;
}

.banner-one-content p {
    max-width: 570px;
    margin: 28px 0 26px;
    color: var(--primary-muted);
    font-family: 'Poppins', Arial, sans-serif!important;
    font-size: 16px;
    line-height: 1.75;
}

.banner-one-content > a {
    min-width: 158px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 24px;
    border-radius: 12px;
    color: #fff;
    background: var(--gold);
    font-family: 'Poppins', Arial, sans-serif!important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.banner-one-content > a:hover {
    color: #fff;
    background: var(--green);
    transform: translateY(-2px);
}

@media(max-width:900px) {
    .banner-one-widget { min-height: 475px; background-position: 68% center; }
    .banner-one-widget::before { background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 48%, rgba(255,255,255,.28) 80%); }
    .banner-one-content { width: 64%; }
}

@media(max-width:600px) {
    .banner-one-widget { min-height: 510px; background-position: 66% center; }
    .banner-one-widget::before { background: rgba(255,255,255,.84); }
    .banner-one-content { width: 100%; padding: 48px 0; }
    .banner-one-content h2 { font-size: clamp(38px, 12vw, 50px); }
    .banner-one-content p { margin: 22px 0; font-size: 15px; }
}

/* Reusable Vector 1 widget */
.banner-two-widget {
    --widget-container-gutter: max(20px, calc((100vw - 1240px) / 2));
    overflow: hidden;
    background: #fff;
}

@supports (width: 1cqw) {
    .banner-two-widget {
        --widget-container-gutter: max(20px, calc((100cqw - 1240px) / 2));
    }
}

.banner-two-grid {
    min-height: 520px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.banner-two-copy,
.banner-two-visual {
    min-width: 0;
    position: relative;
}

.banner-two-copy {
    min-height: 520px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: transparent;
    isolation: isolate;
}

.banner-two-vector {
    width: 100%!important;
    min-width: 100%;
    max-width: none;
    height: 100%!important;
    position: absolute;
    z-index: 0;
    inset: 0;
    object-fit: fill;
    object-position: center;
    transform: none;
    pointer-events: none;
}

.banner-two-vector-mask {
    display: block;
    background: var(--green);
    -webkit-mask-image: var(--banner-vector-image);
    mask-image: var(--banner-vector-image);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    transition: background-color .3s ease;
}

.banner-two-widget.has-vector-hover .banner-two-copy:hover .banner-two-vector-mask {
    background-color: color-mix(in srgb, var(--gold) 70%, transparent);
}

.banner-two-content {
    width: min(520px, calc(100% - var(--widget-container-gutter) - 30px));
    position: relative;
    z-index: 1;
    margin: 0 30px 0 var(--widget-container-gutter);
    padding: 64px 22px;
    color: #fff;
}

.banner-two-content h2 {
    margin: 0;
    color: #fff;
    font-family: 'Grandstander', cursive!important;
    font-size: clamp(36px, 3.25vw, 54px);
    font-weight: 500!important;
    line-height: 1.02;
    letter-spacing: -.02em;
}

.banner-two-content h2 em {
    color: var(--gold);
    font-style: normal;
}

.banner-two-content p {
    max-width: 510px;
    margin: 24px 0 25px;
    color: var(--primary-contrast-soft);
    font-family: 'Poppins', Arial, sans-serif!important;
    font-size: 14px;
    line-height: 1.75;
}

.banner-two-content > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 21px;
    border-radius: 9px;
    color: #fff;
    background: var(--gold);
    font-family: 'Poppins', Arial, sans-serif!important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.banner-two-content > a:hover {
    color: var(--green);
    background: #fff;
    transform: translateY(-2px);
}

.banner-two-visual {
    min-height: 520px;
    display: grid;
    place-items: center;
    padding: 42px var(--widget-container-gutter) 42px 30px;
    background: #fff;
}

.banner-two-visual img {
    width: 100%;
    max-width: 660px;
    max-height: 430px;
    object-fit: contain;
    filter: drop-shadow(0 20px 24px var(--primary-shadow));
}

.banner-two-widget.is-text-right .banner-two-copy { order: 2; }
.banner-two-widget.is-text-right .banner-two-visual { order: 1; }
.banner-two-widget.is-text-right .banner-two-content {
    margin-right: var(--widget-container-gutter);
    margin-left: auto;
    padding-right: 0;
}
.banner-two-widget.is-text-right .banner-two-content p { max-width: none; }
.banner-two-widget.is-text-right .banner-two-visual {
    padding-right: 30px;
    padding-left: calc(var(--widget-container-gutter) + var(--site-content-leading-inset));
}
.banner-two-widget.is-text-right .banner-two-vector {
    inset: 0;
    transform: scaleX(-1);
}

@media(max-width:900px) {
    .banner-two-grid { min-height: 460px; }
    .banner-two-copy,
    .banner-two-visual { min-height: 460px; }
    .banner-two-content,
    .banner-two-widget.is-text-right .banner-two-content {
        width: calc(100% - 40px);
        margin-inline: 20px;
        padding-inline: var(--site-content-leading-inset);
    }
    .banner-two-widget.is-text-right .banner-two-content {
        margin-left: auto;
        margin-right: 20px;
        padding-right: 0;
    }
    .banner-two-content h2 { font-size: clamp(34px, 5vw, 46px); }
    .banner-two-visual { padding: 35px 25px; }
}

@media(max-width:650px) {
    .banner-two-grid { display: flex; flex-direction: column; }
    .banner-two-copy,
    .banner-two-widget.is-text-right .banner-two-copy { min-height: 390px; order: 1; }
    .banner-two-visual,
    .banner-two-widget.is-text-right .banner-two-visual { min-height: 330px; order: 2; padding: 28px 34px; }
    .banner-two-vector,
    .banner-two-widget.is-text-right .banner-two-vector { width: 100%; inset: 0; transform: none; }
    .banner-two-content,
    .banner-two-widget.is-text-right .banner-two-content {
        width: calc(100% - 40px);
        margin-inline: auto;
        padding: 55px var(--site-content-leading-inset);
    }
    .banner-two-widget.is-text-right .banner-two-content {
        margin-left: auto;
        margin-right: 20px;
        padding-right: 0;
    }
    .banner-two-content h2 { font-size: clamp(36px, 11vw, 48px); }
    .banner-two-content p { font-size: 13px; }
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px
}

body {
    margin: 0;
    font-family: Poppins, Arial, sans-serif;
    color: var(--ink);
    background: var(--white);
    line-height: 1.6
}

.page-widget-stack {
    display: flex;
    flex-direction: column;
    container-type: inline-size;
    gap: 32px;
}

main .container {
    padding-left: var(--site-content-leading-inset);
}

@media(max-width:600px) {
    :root { --site-content-leading-inset: 15px; }
}

@media(max-width:700px) {
    .page-widget-stack { gap: 20px; }
}

img {
    max-width: 100%;
    display: block
}

a {
    text-decoration: none;
    color: inherit
}

button,
input,
textarea {
    font: inherit
}

.container {
    width: min(1240px, calc(100% - 40px));
    margin: auto
}

.section {
    padding: 110px 0
}

.eyebrow {
    margin: 0 0 13px;
    color: var(--gold);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .14em
}

.eyebrow.light {
    color: color-mix(in srgb, var(--secondary-color) 72%, #fff)
}

h1,
h2,
h3,
p {
    margin-top: 0
}

h1,
h2,
h3 {
    line-height: 1.12
}

h1,
h2 {
    font-family: Grandstander, cursive
}

h2 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: -.045em;
    margin-bottom: 20px
}

em {
    font-style: normal;
    color: var(--gold)
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 244, 223, .94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid color-mix(in srgb, var(--secondary-color) 8%, transparent)
}

.nav-wrap {
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.brand {
    display: inline-flex;
    flex-direction: column;
    color: #d41110;
    line-height: .8
}

.brand strong {
    font-family: Montserrat, sans-serif;
    letter-spacing: .11em;
    font-size: 1.5rem
}

.brand strong span {
    position: relative
}

.brand small {
    font-size: .38rem;
    color: #1f2725;
    font-weight: 700;
    letter-spacing: .03em;
    margin-top: 8px;
    text-align: center
}

.main-nav {
    display: flex;
    gap: 56px;
    font-weight: 700
}

.main-nav a {
    position: relative;
    padding: 28px 0
}

.main-nav a:after {
    content: "";
    position: absolute;
    height: 2px;
    left: 50%;
    right: 50%;
    bottom: 19px;
    background: var(--gold);
    transition: .25s
}

.main-nav a:hover:after,
.main-nav a.active:after {
    left: 0;
    right: 0
}

.main-nav a.active {
    color: var(--gold)
}

.site-nav-item{position:relative;display:flex;align-items:center}.site-nav-item>.submenu-toggle{display:none;border:0;background:transparent;color:var(--green);font:inherit;cursor:pointer}.site-submenu{position:absolute;z-index:100;left:-18px;top:calc(100% - 10px);display:none;min-width:210px;padding:10px;border:1px solid color-mix(in srgb,var(--primary-color) 10%,transparent);border-radius:10px;background:var(--cream);box-shadow:0 14px 30px var(--primary-shadow)}.site-nav-item:hover>.site-submenu,.site-nav-item:focus-within>.site-submenu{display:block}.site-submenu .site-nav-item{display:block}.site-submenu .site-nav-item>a{display:block;padding:10px 12px;white-space:nowrap}.site-submenu .site-nav-item>a:hover{color:var(--gold)}.site-submenu .site-submenu{left:calc(100% + 5px);top:0}.site-nav-item.has-children>.submenu-toggle{display:block;margin-left:-7px;padding:6px}

.language {
    display: flex;
    align-items: center;
    font-size: .86rem;
    color: #9b9b9b
}

.language a {
    color: #9b9b9b;
    font-weight: 500
}

.language a:hover,
.language a.active {
    color: var(--green);
    font-weight: 700
}

.menu-toggle {
    display: none;
    border: 0;
    background: none;
    padding: 6px
}

.menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    background: var(--green);
    margin: 5px
}

.hero {
    min-height: 620px;
    background: url("images/home slide.png") center/cover no-repeat;
    display: flex;
    align-items: center
}

.hero-content {
    padding-top: 15px
}

.hero h1 {
    font-size: 55px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    margin: 0 0 25px;
    max-width: 650px
}

.hero p:not(.eyebrow) {
    max-width: 500px;
    color: var(--muted);
    font-size: 18px;
    margin-bottom: 31px
}

.hero .btn {
    font-size: 18px;
    font-weight: 500;
    line-height: 1
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 13px 22px;
    border-radius: 8px;
    background: var(--gold);
    color: #fff;
    font-weight: 700;
    border: 0;
    cursor: pointer;
    transition: .25s
}

.btn span {
    font-size: 1.25rem
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 20px var(--secondary-shadow)
}

.intro {
    overflow: hidden
}

.intro-grid {
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    align-items: center;
    gap: 80px
}

.organic-card {
    position: relative;
    color: #fff;
    padding: 90px 65px 90px 0;
    isolation: isolate
}

.organic-card:before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -20px;
    top: 0;
    bottom: 0;
    width: calc(100% + (100vw - 1180px)/2);
    background: var(--green);
    border-radius: 0 42% 35% 0 / 0 18% 25% 0
}

.organic-card h2 {
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.01em
}

.organic-card p:not(.eyebrow) {
    max-width: 520px;
    color: var(--primary-contrast-soft);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.01em
}

.packshot-wrap img {
    width: 100%;
    filter: drop-shadow(0 25px 30px rgba(0, 0, 0, .12))
}

.products {
    background: var(--secondary-soft);
    position: relative
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px
}

.section-heading h2 {
    margin-bottom: 0
}

.section-heading>p {
    max-width: 460px;
    color: var(--muted)
}

.filters {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 40px 0
}

.filter {
    padding: 11px 24px;
    border: 1px solid #d8d8d5;
    border-radius: 9px;
    background: #fff;
    color: #646765;
    cursor: pointer;
    transition: .2s;
    font-weight: 600
}

.filter:hover,
.filter.active {
    background: var(--green);
    color: #fff;
    border-color: var(--green)
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px
}

.product-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 0 color-mix(in srgb, var(--secondary-color) 8%, transparent);
    transition: .25s
}

.product-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow)
}

.product-card[hidden] {
    display: none
}

.product-card img {
    height: 245px;
    width: 100%;
    object-fit: contain;
    padding: 20px 35px 0
}

.product-body {
    padding: 5px 20px 22px
}

.product-body small {
    color: var(--gold);
    font-weight: 700
}

.product-body h3 {
    font-size: 1.08rem;
    margin: 5px 0
}

.product-body p {
    color: #747875;
    font-family: Poppins, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.01em;
    margin: 0
}

.product-body .details {
    display: inline-block;
    color: var(--gold);
    font-weight: 700;
    font-size: .86rem;
    margin-top: 14px
}

.products-widget {
    padding: 55px 0 75px;
    background: #fff
}

.products-widget-container {
    width: min(1240px, calc(100% - 40px))
}

.products-widget-subtitle {
    margin-bottom: 6px;
    color: var(--secondary-color)
}

.products-widget-title {
    margin: 0;
    color: var(--primary-color);
    font-size: clamp(2rem, 3.5vw, 3.15rem);
    font-weight: 500;
    line-height: 1.08
}

.products-widget-filters {
    margin: 24px 0 38px
}

.products-widget-filters .filter {
    min-height: 38px;
    padding: 7px 22px;
    border-color: color-mix(in srgb, var(--primary-color) 18%, #fff);
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 500
}

.products-widget-filters .filter:hover,
.products-widget-filters .filter.active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: #fff
}

.products-widget-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px 20px
}

.products-widget-grid .product-card {
    border-color: var(--secondary-border);
    border-radius: 12px;
    box-shadow: 0 2px 3px var(--primary-shadow)
}

.products-widget-grid .product-card:hover {
    border-color: var(--secondary-color);
    box-shadow: 0 10px 24px var(--primary-shadow)
}

.products-widget-grid .product-card img {
    height: 230px;
    padding: 20px 30px 4px
}

.products-widget-grid .product-body {
    padding: 8px 17px 19px
}

.products-widget-grid .product-body small {
    display: none
}

.products-widget-grid .product-body h3 {
    color: var(--primary-color);
    font-size: 15px;
    font-weight: 500
}

.products-widget-grid .product-body p {
    font-size: 12px;
    font-weight: 400
}

.products-widget-grid .product-body .details {
    color: var(--secondary-color);
    font-size: 12px;
    font-weight: 500
}

.products-widget-empty {
    margin: 35px 0 0;
    color: var(--primary-muted)
}

/* Product Row widget */
.product-row-widget {
    padding: 70px 0 62px;
    overflow: hidden;
    background: #fff
}

.product-row-container {
    width: min(1240px, calc(100% - 40px))
}

.product-row-heading {
    max-width: 760px;
    margin-bottom: 28px
}

.product-row-heading h2 {
    margin: 0 0 9px;
    color: var(--secondary-color);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 600;
    line-height: 1.2
}

.product-row-heading p {
    margin: 0;
    color: var(--primary-muted);
    font-size: 14px;
    line-height: 1.6
}

.product-row-filters {
    flex-wrap: nowrap;
    margin: 0 0 38px;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: thin
}

.product-row-filters .filter {
    min-width: 160px;
    min-height: 42px;
    flex: 1 0 auto;
    padding: 8px 18px;
    border-color: color-mix(in srgb, var(--primary-color) 18%, #fff);
    color: var(--primary-color);
    background: #fff;
    font-size: 13px;
    font-weight: 500
}

.product-row-filters .filter:hover,
.product-row-filters .filter.active {
    border-color: var(--primary-color);
    color: #fff;
    background: var(--primary-color)
}

.product-row-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 26px;
    min-width: 0
}

.product-row-grid .product-card {
    min-width: 0;
    border-color: var(--secondary-border);
    border-radius: 12px;
    box-shadow: 0 2px 4px var(--primary-shadow)
}

.product-row-grid .product-card:hover {
    border-color: var(--secondary-color);
    box-shadow: 0 10px 24px var(--primary-shadow)
}

.product-row-grid .product-card img {
    height: 180px;
    padding: 14px 24px 0
}

.product-row-grid .product-body {
    padding: 4px 16px 17px;
    text-align: center
}

.product-row-grid .product-body small,
.product-row-grid .product-body .details {
    display: none
}

.product-row-grid .product-body h3 {
    margin: 4px 0 9px;
    color: var(--primary-color);
    font-size: 15px;
    font-weight: 600
}

.product-row-grid .product-body p {
    color: var(--secondary-color);
    font-size: 13px;
    line-height: 1.3
}

.product-row-action {
    display: flex;
    justify-content: center;
    margin-top: 44px
}

.product-row-action a {
    min-width: 210px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 22px;
    border: 2px solid var(--secondary-color);
    border-radius: 11px;
    color: #fff;
    background: var(--secondary-color);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: none
}

.product-row-action a:hover {
    border-color: var(--secondary-color);
    color: #fff;
    background: var(--primary-color)
}

.product-row-empty {
    color: var(--primary-muted)
}

@media(max-width:900px) {
    .product-row-grid {
        display: flex;
        gap: 18px;
        overflow-x: auto;
        padding: 2px 2px 12px;
        scroll-snap-type: x proximity
    }

    .product-row-grid .product-card {
        flex: 0 0 250px;
        scroll-snap-align: start
    }
}

@media(max-width:560px) {
    .product-row-widget {
        padding: 50px 0 48px
    }

    .product-row-filters {
        display: none
    }

    .product-row-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-right: 0;
        padding: 2px;
        overflow: visible;
        scroll-snap-type: none
    }

    .product-row-grid .product-card {
        min-width: 0;
        width: auto;
        flex: none;
        scroll-snap-align: none
    }

    .product-row-grid .product-card img {
        height: 125px;
        padding: 10px 8px 0
    }

    .product-row-grid .product-body {
        padding: 3px 7px 12px
    }

    .product-row-grid .product-body h3 {
        margin: 3px 0 6px;
        font-size: 12px;
        line-height: 1.25
    }

    .product-row-grid .product-body p {
        font-size: 11px
    }

    .product-row-action {
        margin-top: 30px
    }
}

@media(max-width:900px) {
    .products-widget-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:560px) {
    .products-widget {
        padding: 42px 0 55px
    }

    .products-widget-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-right: -20px;
        padding-right: 20px;
        padding-bottom: 7px
    }

    .products-widget-filters .filter {
        flex: 0 0 auto
    }

    .products-widget-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

.center-heading {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 55px
}

.center-heading>p:last-child {
    color: var(--muted)
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px
}

.audience-card {
    min-height: 390px;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
    overflow: hidden
}

.audience-card img {
    max-height: 190px;
    object-fit: contain;
    margin: 10px auto -20px
}

.audience-card.featured {
    background: var(--secondary-soft);
    text-align: center
}

.audience-card.featured img {
    margin: -15px auto 5px
}

.audience-card span {
    font-weight: 800;
    color: var(--gold);
    font-size: .75rem
}

.audience-card h3 {
    font-size: 1.35rem;
    margin: 8px 0
}

.audience-card p {
    font-size: .9rem;
    color: var(--muted)
}

.story {
    overflow: hidden;
    padding-top: 40px
}

.story-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 50px
}

.story-photo img {
    width: 100%;
    filter: drop-shadow(0 25px 25px rgba(0, 0, 0, .1))
}

.story-copy {
    position: relative;
    padding: 75px 65px;
    color: white;
    isolation: isolate
}

.story-copy:before {
    content: "";
    position: absolute;
    inset: 0 -20vw 0 -30px;
    background: var(--green);
    z-index: -1;
    border-radius: 34% 0 0 25% / 22% 0 0 30%
}

.story-copy p:not(.eyebrow) {
    color: var(--primary-contrast-soft)
}

.gallery-grid {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    align-items: center;
    gap: 65px
}

.gallery-grid>div>p:not(.eyebrow) {
    color: var(--muted)
}

.gallery-grid img {
    width: 100%;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .1))
}

.quality-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--green);
    font-weight: 700;
    margin-top: 28px
}

.quality-list span::first-letter {
    color: var(--gold)
}

.contact {
    background: var(--secondary-soft)
}

.contact-shell {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow)
}

.contact-info {
    background: var(--green);
    color: white;
    padding: 65px
}

.contact-info>p:not(.eyebrow) {
    color: var(--primary-contrast-soft)
}

.contact-info ul {
    list-style: none;
    padding: 20px 0 0;
    margin: 0;
    display: grid;
    gap: 26px
}

.contact-info li {
    display: flex;
    gap: 18px;
    align-items: center
}

.contact-info li>span {
    color: color-mix(in srgb, var(--secondary-color) 78%, #fff);
    font-size: 1.25rem
}

.contact-info small {
    display: block;
    color: var(--primary-contrast-soft);
    font-size: .72rem
}

.contact-form {
    background: white;
    padding: 60px 70px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}

.form-title {
    grid-column: 1/-1
}

.form-title h2 {
    font-size: 2.5rem
}

.contact-form label {
    font-size: .82rem;
    font-weight: 700
}

.contact-form label:nth-of-type(3) {
    grid-column: 1/-1
}

.contact-form input,
.contact-form textarea {
    display: block;
    width: 100%;
    margin-top: 7px;
    border: 1px solid #d9dcd9;
    border-radius: 8px;
    padding: 13px 14px;
    outline: 0;
    resize: vertical
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--secondary-color) 12%, transparent)
}

.btn.dark {
    background: var(--green);
    justify-self: start
}

.form-status {
    align-self: center;
    margin: 0;
    color: var(--green);
    font-size: .86rem
}

.site-footer {
    background: var(--cream);
    padding: 60px 0 20px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .7fr 1fr;
    gap: 60px
}

.footer-grid h3 {
    font-size: .9rem
}

.footer-grid>div:nth-child(2) {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.footer-grid p,
.footer-grid a:not(.brand) {
    font-size: .85rem
}

.footer-grid>div:first-child p {
    color: var(--muted);
    margin-top: 25px
}

.copyright {
    text-align: center;
    color: #a5a5a1;
    font-size: .72rem;
    border-top: 1px solid color-mix(in srgb, var(--primary-color) 10%, transparent);
    padding-top: 18px;
    margin-top: 38px
}

@media(max-width:900px) {
    .main-nav {
        position: absolute;
        top: 84px;
        left: 0;
        right: 0;
        background: var(--cream);
        display: none;
        flex-direction: column;
        gap: 0;
        padding: 10px 25px 25px;
        box-shadow: 0 15px 25px rgba(0, 0, 0, .08)
    }

    .main-nav.open {
        display: flex
    }

    .main-nav a {
        padding: 12px 0
    }

    .main-nav a:after {
        display: none
    }

    .site-nav-item{display:grid;grid-template-columns:1fr auto}.site-nav-item>a{min-width:0}.site-nav-item.has-children>.submenu-toggle{display:block;margin:0;padding:10px 12px}.site-submenu{position:static;grid-column:1/-1;display:none;min-width:0;margin-left:12px;padding:0 0 0 14px;border:0;border-left:2px solid var(--secondary-border);border-radius:0;background:transparent;box-shadow:none}.site-nav-item:hover>.site-submenu{display:none}.site-nav-item.submenu-open>.site-submenu{display:block}.site-submenu .site-submenu{position:static}.site-submenu .site-nav-item>a{padding:9px 0}

    .menu-toggle {
        display: block;
        margin-left: auto;
        margin-right: 20px
    }

    .hero {
        min-height: 560px;
        background-position: 60% center
    }

    .hero-content {
        background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0, rgba(255, 255, 255, .86) 45%, transparent 80%);
        margin: 0;
        width: 100%;
        padding-left: 20px
    }

    .intro-grid,
    .story-grid,
    .gallery-grid {
        grid-template-columns: 1fr
    }

    .intro-grid {
        gap: 40px
    }

    .organic-card {
        padding-left: 30px
    }

    .organic-card:before {
        width: 110vw;
        border-radius: 0 35% 35% 0
    }

    .packshot-wrap {
        max-width: 600px;
        margin: auto
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .audience-grid {
        grid-template-columns: 1fr 1fr
    }

    .audience-card:last-child {
        grid-column: 1/-1
    }

    .story-photo {
        order: 2
    }

    .story-copy:before {
        inset: 0 -25px
    }

    .contact-shell {
        grid-template-columns: 1fr
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr
    }

    .footer-grid>div:first-child {
        grid-column: 1/-1
    }
}

@media(max-width:600px) {
    .container {
        width: min(100% - 40px, 1240px)
    }

    .section {
        padding: 75px 0
    }

    .language {
        display: none
    }

    .hero {
        min-height: 610px;
        background-position: 67% center
    }

    .hero-content {
        align-self: stretch;
        padding-top: 110px;
        background: linear-gradient(90deg, #fff 0, rgba(255, 255, 255, .91) 60%, rgba(255, 255, 255, .2) 100%)
    }

    .hero h1 {
        font-size: 3.15rem;
        max-width: 350px
    }

    .intro {
        padding-top: 55px
    }

    .organic-card {
        padding: 65px 22px 65px 10px
    }

    .organic-card:before {
        right: -15px
    }

    .section-heading {
        display: block
    }

    .section-heading>p {
        margin-top: 18px
    }

    .filters {
        flex-wrap: nowrap;
        overflow: auto;
        padding-bottom: 7px;
        margin-right: -14px
    }

    .filter {
        white-space: nowrap
    }

    .product-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px
    }

    .product-card img {
        height: 160px;
        padding: 12px 16px 0
    }

    .product-body {
        padding: 5px 12px 16px
    }

    .product-body h3 {
        font-size: .93rem
    }

    .product-body p {
        font-size: .72rem
    }

    .product-body .details {
        font-size: .75rem
    }

    .audience-grid {
        grid-template-columns: 1fr
    }

    .audience-card:last-child {
        grid-column: auto
    }

    .story-copy {
        padding: 60px 28px
    }

    .gallery-grid {
        gap: 35px
    }

    .contact-info,
    .contact-form {
        padding: 42px 25px
    }

    .contact-form {
        grid-template-columns: 1fr
    }

    .contact-form label,
    .contact-form label:nth-of-type(3),
    .form-title {
        grid-column: 1
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-grid>div:first-child {
        grid-column: auto
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        transition: none !important
    }
}

/* Faqet e brendshme */
.home-products {
    grid-template-columns: repeat(5, 1fr)
}

.home-products .product-card img {
    height: 190px
}

.all-products {
    text-align: center;
    margin-top: 40px
}

.page-title {
    font-size: clamp(2.8rem, 5vw, 4.5rem);
    letter-spacing: -.055em;
    margin: 0
}

.catalog-page .section {
    padding-top: 75px
}

.catalog-page .filters {
    margin-top: 35px
}

.catalog-grid {
    row-gap: 55px
}

.catalog-grid .product-card img {
    height: 285px
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #929292;
    font-size: 13px;
    font-weight: 400;
    margin-bottom: 30px
}

.breadcrumbs span:not(:last-child) {
    color: var(--gold);
    font-size: 18px;
    line-height: 1
}

.breadcrumbs a:hover {
    color: var(--gold)
}

.page-breadcrumb {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    background-color: #fff4df;
    background-position: center;
    background-size: cover;
}

.page-breadcrumb-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 210px;
    padding-top: 38px;
    padding-bottom: 38px;
}

.page-breadcrumb-copy {
    position: relative;
    z-index: 1;
}

.page-breadcrumb h1 {
    margin: 0 0 16px;
    color: var(--green);
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.1;
}

.page-breadcrumb .breadcrumbs {
    margin-bottom: 0;
    color: #5f706b;
}

.page-breadcrumb .breadcrumbs span:last-child {
    color: var(--green);
}

.page-breadcrumb-shape {
    width: min(28vw, 260px);
    max-height: 170px;
    object-fit: contain;
}

@media (max-width: 700px) {
    .page-breadcrumb,
    .page-breadcrumb-inner {
        min-height: 160px;
    }

    .page-breadcrumb-shape {
        position: absolute;
        right: 16px;
        width: 130px;
        opacity: .35;
    }
}

.detail-section {
    padding: 35px 0 111px
}

.detail-container {
    width: min(1240px, calc(100% - 40px))
}

.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 610px) minmax(0, 1fr);
    gap: 22px;
    align-items: start
}

.detail-image {
    width: 100%;
    height: auto;
    aspect-ratio: 610 / 535;
    border: 1px solid var(--secondary-border);
    border-radius: 12px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 0 color-mix(in srgb, var(--secondary-color) 10%, transparent)
}

.detail-image img {
    width: min(350px, 82%);
    height: min(320px, 82%);
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center
}

.detail-copy {
    padding-top: 3px
}

.detail-category {
    margin: 0 0 29px;
    color: var(--secondary-dark);
    font-size: 12px;
    font-weight: 600;
    line-height: 1
}

.detail-copy h1 {
    margin: 0 0 24px;
    color: var(--green);
    font-size: 52px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.01em
}

.detail-description {
    max-width: 590px;
    margin: 0 0 28px;
    color: var(--green-2);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5
}

.detail-long-description {
    max-width: 590px;
    margin: -16px 0 28px;
    color: var(--primary-muted);
    font-size: 14px;
    line-height: 1.55
}

.detail-long-description > :last-child {
    margin-bottom: 0
}

.detail-copy>h2 {
    margin: 0;
    font-family: Poppins, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0
}

.size-buttons {
    display: flex;
    gap: 29px;
    margin: 20px 0 30px;
    flex-wrap: wrap
}

.size-buttons button {
    min-width: 86px;
    height: 47px;
    padding: 0 17px;
    border: 1px solid var(--primary-muted);
    border-radius: 11px;
    background: #fff;
    color: var(--green);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer
}

.size-buttons button.active {
    background: var(--green);
    color: #fff
}

.product-facts {
    border: 1px solid var(--secondary-border);
    border-radius: 12px;
    padding: 0 18px 0 22px;
    margin-bottom: 15px;
    overflow: hidden;
    box-shadow: 0 2px 2px color-mix(in srgb, var(--primary-color) 8%, transparent)
}

.product-fact {
    min-height: 47px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: stretch
}

.product-fact svg {
    width: 24px;
    height: 24px;
    align-self: start;
    margin-top: 12px;
    color: var(--gold);
    fill: var(--secondary-dark)
}

.product-fact p {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(90px, 120px) minmax(0, 1fr);
    align-items: start;
    gap: 6px 10px;
    margin: 0;
    padding: 12px 0;
    border-bottom: 1px solid var(--secondary-border);
    color: #656565;
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: normal
}

.product-fact:last-child p {
    border: 0
}

.product-fact strong {
    display: block;
    color: var(--green);
    font-weight: 500;
    overflow-wrap: anywhere
}

.product-fact-value {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere
}

.order-button {
    width: 355px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    padding: 0 31px;
    border-radius: 11px;
    background: var(--green);
    color: #fff;
    font-size: 15px;
    font-weight: 500
}

.order-button svg {
    width: 25px;
    height: 25px;
    fill: #fff
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 30px
}

.benefit-grid article {
    min-height: 148px;
    border: 1px solid var(--secondary-border);
    border-radius: 12px;
    padding: 23px 32px;
    display: flex;
    gap: 25px;
    align-items: center;
    box-shadow: 0 2px 2px color-mix(in srgb, var(--primary-color) 8%, transparent)
}

.benefit-icon {
    width: 78px;
    min-width: 78px;
    height: 78px;
    fill: none;
    overflow: visible;
    stroke: var(--secondary-color);
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
    shape-rendering: geometricPrecision
}

.benefit-icon path {
    vector-effect: non-scaling-stroke
}

.benefit-grid article>div {
    min-width: 0;
    flex: 1
}

.benefit-grid h3 {
    margin: 0 0 12px;
    color: var(--green);
    font-size: 16px;
    font-weight: 500;
    white-space: nowrap
}

.benefit-grid p {
    margin: 0;
    color: #7b7e7c;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5
}

.detail-media {
    min-width: 0
}

.detail-media.has-thumbnails {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: 535px;
    gap: 14px;
    align-items: start
}

.detail-media.has-thumbnails .detail-image {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 535px;
    aspect-ratio: auto
}

.product-thumbnails {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 9px;
    max-height: 535px;
    padding: 2px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin
}

.product-thumbnail {
    width: 100%;
    height: 82px;
    flex: 0 0 82px;
    min-width: 0;
    padding: 7px;
    overflow: hidden;
    border: 1px solid var(--secondary-border);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s, box-shadow .18s, transform .18s
}

.product-thumbnail img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain
}

.product-thumbnail:hover {
    border-color: var(--secondary-color);
    transform: translateX(2px)
}

.product-thumbnail.active {
    border-color: var(--green);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 20%, transparent)
}

.detail-image img.is-changing {
    opacity: .45
}

.about-hero {
    height: 470px;
    background: url("images/aboutus slide.png") center/cover no-repeat
}

.about-container {
    width: min(1240px, calc(100% - 40px))
}

.about-hero .about-container {
    padding-top: 89px
}

.about-copy {
    max-width: 500px
}

.about-copy h1 {
    margin: 0;
    color: var(--green);
    font-size: 50px;
    font-weight: 600;
    line-height: .98;
    letter-spacing: 0
}

.about-leaf-divider {
    width: 236px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 17px 0 11px
}

.about-leaf-divider span {
    height: 1px;
    flex: 1;
    background: var(--gold)
}

.about-leaf-divider svg {
    width: 25px;
    height: 17px;
    fill: none;
    stroke: var(--gold);
    stroke-width: 1.5;
    stroke-linecap: round
}

.about-copy h2 {
    margin: 0 0 13px;
    font-family: Poppins, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0
}

.about-copy p {
    max-width: 455px;
    margin: 0;
    color: var(--primary-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.42;
    letter-spacing: -.01em
}

.about-story {
    height: 900px;
    padding: 300px 0 70px;
    overflow: hidden
}

.about-story-grid {
    display: grid;
    grid-template-columns: 52% 48%;
    align-items: center;
    gap: 0
}

.about-products-image {
    position: relative;
    z-index: 2;
    padding-left: 5px
}

.about-products-image img {
    width: 600px;
    max-width: 100%;
    filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .08))
}

.about-blob {
    position: relative;
    min-height: 515px;
    color: #fff;
    isolation: isolate
}

.about-blob-shape {
    position: absolute;
    z-index: -1;
    top: -68px;
    left: -35px;
    width: calc(100% + max(280px, (100vw - 1240px)/2 + 150px));
    height: 640px;
    fill: var(--green)
}

.about-blob-content {
    width: 595px;
    max-width: 100%;
    padding: 145px 0 0 150px
}

.about-blob h2 {
    margin: 0 0 23px;
    color: #fff;
    font-size: 40px;
    font-weight: 500;
    line-height: 1
}

.about-blob p {
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.42
}

.about-blob p+p {
    margin-top: 2px
}

.about-blob-content a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    margin-top: 28px;
    padding: 8px 17px;
    border-radius: 14px;
    background: var(--gold);
    color: #fff;
    font-size: 15px;
    font-weight: 500
}

.about-gallery {
    text-align: center;
    min-height: 580px;
    padding: 33px 0 105px
}

.about-gallery>div>h2 {
    margin: 0;
    color: var(--green);
    font-size: 47px;
    font-weight: 500;
    line-height: 1
}

.gallery-row {
    display: grid;
    grid-template-columns: 50px 300px 390px 300px 50px;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    margin-top: 58px
}

.gallery-row img {
    height: 250px;
    width: 100%;
    object-fit: contain
}

.gallery-row .main-gallery {
    height: 320px
}

.gallery-row button {
    width: 50px;
    height: 50px;
    border: 0;
    background: none;
    font-family: Arial, sans-serif;
    font-size: 35px;
    font-weight: 300;
    color: var(--green);
    cursor: pointer;
    transition: color .2s, transform .2s, opacity .2s
}

.gallery-row button:hover:not(:disabled) {
    color: var(--gold);
    transform: scale(1.12)
}

.gallery-row button:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
    border-radius: 50%
}

.gallery-row button:disabled {
    opacity: .25;
    cursor: default
}

.contact-page {
    min-height: 780px;
    padding: 80px 0 140px;
    background: #fff
}

.contact-page-layout {
    display: flex;
    justify-content: center;
    padding-right: 0;
    padding-left: 182px
}

.contact-page-shell {
    position: relative;
    width: 620px;
    min-height: 552px;
    border: 1px solid var(--secondary-border);
    border-radius: 12px;
    background: #fff
}

.contact-page-info {
    position: absolute;
    z-index: 2;
    top: 54px;
    left: -182px;
    width: 302px;
    height: 448px;
    padding: 20px 40px;
    border-radius: 12px;
    background: var(--secondary-soft);
    color: var(--green)
}

.contact-page-info h1,
.contact-page-info h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2
}

.contact-details {
    display: flex;
    height: 340px;
    flex-direction: column;
    justify-content: space-between;
    margin: 48px 0 0;
    padding: 0 0 1px;
    list-style: none
}

.contact-details li {
    display: flex;
    align-items: center;
    gap: 14px
}

.contact-details svg {
    width: 28px;
    min-width: 28px;
    height: 36px;
    fill: var(--green)
}

.contact-details strong,
.contact-details span {
    display: block;
    line-height: 1.35
}

.contact-details strong {
    font-size: 16px;
    font-weight: 500
}

.contact-details span {
    font-size: 12px;
    font-weight: 400
}

.contact-details a {
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere
}

.contact-page-form {
    width: 100%;
    padding: 40px 42px 48px 208px
}

.contact-form-heading {
    margin-bottom: 35px
}

.contact-form-heading h2 {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.035em
}

.contact-form-heading p {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    white-space: nowrap
}

.contact-field {
    position: relative;
    margin-bottom: 18px
}

.contact-field label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0
}

.contact-field input,
.contact-field textarea {
    display: block;
    width: 100%;
    border: 1px solid #d2d2d2;
    border-radius: 12px;
    outline: none;
    color: var(--green);
    background: #fff;
    font-size: 14px;
    transition: border-color .2s, box-shadow .2s
}

.contact-field input {
    height: 60px;
    padding: 0 14px
}

.contact-field textarea {
    height: 145px;
    padding: 20px 14px;
    resize: vertical
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
    color: var(--primary-muted);
    opacity: 1
}

.contact-field input:focus,
.contact-field textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--secondary-color) 12%, transparent)
}

.contact-field .field-error {
    display: block;
    margin: 4px 0 -20px;
    color: #b42318;
    font-size: 12px
}

.contact-recaptcha {
    margin: 2px 0 18px
}

.contact-recaptcha .field-error {
    display: block;
    margin-top: 5px;
    color: #b42318;
    font-size: 12px
}

@media (max-width: 380px) {
    .contact-recaptcha {
        width: 304px;
        max-width: 100%;
        overflow: hidden
    }

    .contact-recaptcha .g-recaptcha {
        transform: scale(.86);
        transform-origin: left top
    }
}

.contact-submit-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: -3px
}

.contact-submit-row button {
    min-height: 38px;
    padding: 7px 11px;
    border: 2px solid var(--green);
    border-radius: 11px;
    background: var(--green);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: none
}

.contact-submit-row button:hover {
    background: var(--gold);
    color: #fff
}

.contact-submit-row .form-status {
    margin: 0;
    font-size: 12px
}

/* Cards 3 widget */
.cards-three-widget {
    padding: 76px 0 64px;
    overflow: hidden;
    background: #fff
}

.cards-three-container {
    position: relative
}

.cards-three-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center
}

.cards-three-heading h2 {
    margin: 0 0 12px;
    color: var(--green);
    font-size: clamp(30px, 3.2vw, 48px);
    font-weight: 700;
    line-height: 1.15
}

.cards-three-heading p {
    max-width: 650px;
    margin: 0 auto;
    color: #707773;
    font-size: 15px;
    line-height: 1.65
}

.cards-three-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 5vw, 74px);
    max-width: 1120px;
    margin: 0 auto
}

.cards-three-card {
    min-height: 330px;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 32px 24px 22px;
    border: 1px solid var(--secondary-border);
    border-radius: 10px;
    background: #fff;
    text-align: center;
    box-shadow: 0 4px 14px rgba(13, 73, 56, .035)
}

.cards-three-divider {
    width: 66px;
    height: 1px;
    display: block;
    margin: 14px auto;
    background: var(--secondary-border)
}

.cards-three-card h3 {
    margin: 0;
    color: var(--green);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.3
}

.cards-three-card p {
    margin: 0;
    color: #4f5a55;
    font-size: 13px;
    line-height: 1.55
}

.cards-three-card img {
    width: 100%;
    height: 142px;
    display: block;
    object-fit: contain
}

.cards-three-card .cards-three-image-top {
    margin: 0 0 22px
}

.cards-three-card .cards-three-image-bottom {
    margin-top: auto;
    padding-top: 18px
}

.cards-three-action {
    display: flex;
    justify-content: center;
    margin-top: 44px
}

.cards-three-action a {
    min-width: 180px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 22px;
    border: 2px solid var(--gold);
    border-radius: 11px;
    color: #fff;
    background: var(--gold);
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: none
}

.cards-three-action a:hover {
    border-color: var(--gold);
    color: #fff;
    background: var(--green)
}

@media(max-width:900px) {
    .cards-three-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px
    }

    .cards-three-card:last-child {
        grid-column: 1/-1;
        width: calc(50% - 12px);
        justify-self: center
    }
}

@media(max-width:600px) {
    .cards-three-widget {
        padding: 54px 0 48px
    }

    .cards-three-heading {
        margin-bottom: 30px
    }

    .cards-three-heading p {
        font-size: 13px
    }

    .cards-three-grid {
        grid-template-columns: 1fr
    }

    .cards-three-card,
    .cards-three-card:last-child {
        width: 100%;
        min-height: 310px;
        grid-column: auto
    }

    .cards-three-action {
        margin-top: 30px
    }
}

@media(max-width:1100px) {
    .detail-grid,
    .benefit-grid {
        grid-template-columns: 1fr
    }

    .detail-copy {
        padding-top: 20px
    }

    .contact-page {
        min-height: auto;
        padding: 70px 0 100px
    }

    .contact-page-layout {
        display: block;
        padding-right: 0;
        padding-left: 0
    }

    .contact-page-shell {
        width: 100%;
        min-height: 0;
        border: 0
    }

    .contact-page-info {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: auto;
        padding: 38px;
        border-radius: 12px 12px 0 0
    }

    .contact-details {
        height: auto;
        gap: 38px;
        margin-top: 38px
    }

    .contact-page-form {
        padding: 45px 38px;
        border: 1px solid var(--secondary-border);
        border-top: 0;
        border-radius: 0 0 12px 12px
    }

    .contact-form-heading p {
        white-space: normal
    }
}

@media(max-width:900px) {
    .home-products {
        grid-template-columns: repeat(2, 1fr)
    }

    .detail-grid,
    .about-story-grid {
        grid-template-columns: 1fr
    }

    .benefit-grid {
        grid-template-columns: 1fr
    }

    .about-story {
        padding-top: 80px
    }

    .about-blob:before {
        inset: 0 -25px
    }

    .gallery-row {
        grid-template-columns: 35px 1fr 35px
    }

    .gallery-row img:not(.main-gallery) {
        display: none
    }
}

@media(max-width:600px) {
    .catalog-grid .product-card img {
        height: 160px
    }

    .detail-image {
        height: auto;
        aspect-ratio: 610 / 535
    }

    .detail-image img {
        width: min(310px, 82%);
        height: min(285px, 82%)
    }

    .detail-copy h1 {
        font-size: 2.7rem
    }

    .order-button {
        min-width: 0;
        width: 100%
    }

    .product-facts {
        padding-right: 14px;
        padding-left: 14px
    }

    .product-fact {
        grid-template-columns: 34px minmax(0, 1fr)
    }

    .product-fact p {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
        padding: 11px 0
    }

    .product-fact svg {
        width: 21px;
        height: 21px;
        margin-top: 11px
    }

    .benefit-grid article {
        padding: 20px
    }

    .detail-media.has-thumbnails {
        display: block
    }

    .detail-media.has-thumbnails .detail-image {
        width: auto;
        height: auto;
        aspect-ratio: 610 / 535
    }

    .product-thumbnails {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        max-height: none;
        margin-top: 13px;
        padding: 0;
        overflow: visible
    }

    .product-thumbnail {
        width: auto;
        height: 72px;
        flex: initial;
        padding: 5px
    }

    .product-thumbnail:hover {
        transform: translateY(-2px)
    }

    .about-hero {
        background-position: 62% center
    }

    .about-copy {
        background: linear-gradient(90deg, #fff 60%, transparent);
        padding-right: 25px
    }

    .about-blob {
        padding: 55px 24px
    }

    .about-blob h2 {
        font-size: 2rem
    }

    .contact-page {
        padding: 45px 0 70px
    }

    .contact-page-info,
    .contact-page-form {
        padding: 34px 24px
    }

    .contact-page-info h1,
    .contact-page-info h2 {
        font-size: 25px
    }

    .contact-details strong {
        font-size: 17px
    }

    .contact-form-heading {
        margin-bottom: 34px
    }

    .contact-form-heading h2 {
        font-size: 26px
    }

    .contact-field input {
        height: 66px
    }

    .contact-field textarea {
        height: 180px
    }
}

@media(max-width:1100px) {
    .about-hero {
        height: 500px;
        background-position: 61% center
    }

    .about-hero .about-container {
        padding-top: 80px
    }

    .about-copy {
        max-width: 470px;
        padding: 25px;
        background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 70%, transparent 100%)
    }

    .about-story {
        height: auto;
        padding: 100px 0 120px
    }

    .about-story-grid {
        grid-template-columns: 1fr;
        gap: 50px
    }

    .about-products-image img {
        margin: auto
    }

    .about-blob {
        min-height: 560px
    }

    .about-blob-shape {
        top: -35px;
        left: -60px;
        width: calc(100% + 120px);
        height: 620px
    }

    .about-blob-content {
        width: 560px;
        max-width: calc(100% - 90px);
        margin: auto;
        padding: 130px 0 0
    }

    .gallery-row {
        grid-template-columns: 40px minmax(0, 500px) 40px;
        justify-content: center;
        gap: 20px
    }

    .gallery-row img:not(.main-gallery) {
        display: none
    }

    .gallery-row .main-gallery {
        height: 320px
    }
}

@media(max-width:600px) {
    .about-hero {
        height: 510px;
        background-position: 65% center
    }

    .about-hero .about-container {
        padding-top: 45px
    }

    .about-copy {
        max-width: 100%;
        padding: 20px 15px;
        background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.92) 78%, transparent 100%)
    }

    .about-copy h1 {
        font-size: 39px
    }

    .about-copy p {
        max-width: 340px;
        font-size: 15px
    }

    .about-story {
        padding: 75px 0 85px
    }

    .about-story-grid {
        gap: 30px
    }

    .about-blob {
        min-height: 590px;
        padding: 0
    }

    .about-blob-shape {
        top: 0;
        left: -45px;
        width: calc(100% + 90px);
        height: 590px
    }

    .about-blob-content {
        width: auto;
        max-width: none;
        margin: 0;
        padding: 135px 35px 0
    }

    .about-blob h2 {
        font-size: 32px
    }

    .about-blob p {
        font-size: 14px
    }

    .about-gallery {
        min-height: 470px;
        padding: 25px 0 70px
    }

    .about-gallery>div>h2 {
        font-size: 40px
    }

    .gallery-row {
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        gap: 6px;
        margin-top: 36px
    }

    .gallery-row .main-gallery {
        height: 270px
    }

    .gallery-row button {
        width: 34px;
        font-size: 28px
    }
}

/* Slider i galerisë */
.about-gallery .gallery-row {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) 50px;
    align-items: center;
    gap: 18px
}

.gallery-viewport {
    width: 100%;
    min-width: 0;
    height: 320px;
    overflow: hidden
}

.gallery-track {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 24px;
    will-change: transform;
    transition: transform .55s cubic-bezier(.22, .61, .36, 1)
}

.about-gallery .gallery-track img,
.about-gallery .gallery-track img:not(.main-gallery) {
    display: block !important;
    width: auto;
    height: 250px;
    flex: 0 0 calc((100% - 48px) / 3);
    object-fit: contain;
    transition: height .4s ease, opacity .4s ease;
    opacity: .92
}

.about-gallery .gallery-track .main-gallery {
    height: 320px;
    opacity: 1
}

/* Reusable gallery widget */
.gallery-widget {
    min-height: 500px;
    padding: 62px 0 78px;
    overflow: hidden;
    background: #fff;
}

.gallery-widget > .container > h2 {
    color: var(--green);
    font-size: clamp(34px, 3.4vw, 48px);
    text-align: center;
}

.gallery-widget .gallery-row {
    margin-top: 36px;
}

.gallery-widget .gallery-track {
    justify-content: center;
    gap: 28px;
    transform: none!important;
}

.gallery-widget .gallery-track img,
.gallery-widget .gallery-track img:not(.main-gallery) {
    width: calc((100% - 56px) / 3);
    height: 205px;
    flex: 0 0 calc((100% - 56px) / 3);
    object-fit: cover;
    clip-path: polygon(8% 18%, 22% 8%, 40% 11%, 55% 3%, 74% 9%, 91% 24%, 97% 44%, 93% 66%, 82% 88%, 61% 94%, 43% 89%, 25% 96%, 8% 82%, 3% 59%);
    opacity: .9;
}

.gallery-widget .gallery-track .main-gallery {
    height: 285px;
    opacity: 1;
}

.gallery-widget .gallery-track img[hidden] {
    display: none!important;
}

.gallery-widget .gallery-empty-message {
    margin: 45px 0 0;
    color: var(--muted);
    text-align: center;
}

@media(max-width:1100px) {
    .gallery-widget .gallery-viewport { height: 300px; }
    .gallery-widget .gallery-track img,
    .gallery-widget .gallery-track img:not(.main-gallery) { height: 180px; }
    .gallery-widget .gallery-track .main-gallery { height: 275px; }
}

@media(max-width:700px) {
    .gallery-widget { min-height: 420px; padding: 48px 0 58px; }
    .gallery-widget .gallery-row { margin-top: 26px; }
    .gallery-widget .gallery-track img:not(.main-gallery) { display: none!important; }
    .gallery-widget .gallery-track img,
    .gallery-widget .gallery-track .main-gallery { width: 100%; height: 250px; flex-basis: 100%; }
}

@media(max-width:1100px) {
    .about-gallery .gallery-row {
        grid-template-columns: 40px minmax(0, 600px) 40px;
        justify-content: center;
        gap: 14px
    }

    .about-gallery .gallery-track img,
    .about-gallery .gallery-track img:not(.main-gallery),
    .about-gallery .gallery-track .main-gallery {
        height: 320px;
        flex-basis: 100%;
        opacity: 1
    }
}

@media(max-width:600px) {
    .about-gallery .gallery-row {
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        gap: 6px
    }

    .gallery-viewport {
        height: 270px
    }

    .about-gallery .gallery-track img,
    .about-gallery .gallery-track img:not(.main-gallery),
    .about-gallery .gallery-track .main-gallery {
        height: 270px
    }
}

/* Ballina */
.home-container {
    width: min(1240px, calc(100% - 40px))
}

.home-hero {
    height: 480px;
    background: url("images/home slide.png") center/cover no-repeat
}

.home-hero-content {
    padding-top: 126px
}

.home-hero h1 {
    max-width: 560px;
    margin: 0;
    color: var(--green);
    font-size: 55px;
    font-weight: 600;
    line-height: .98;
    letter-spacing: 0
}

.home-hero h1 em {
    color: var(--gold)
}

.home-hero p {
    max-width: 550px;
    margin: 35px 0 25px;
    color: var(--primary-muted);
    font-size: 18px;
    line-height: 1.4
}

.home-hero-content>a,
.home-organic-content>a,
.all-products>a,
.home-contact-button {
    display: inline-flex;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    padding: 10px 26px;
    border-radius: 14px;
    background: var(--gold);
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    transition: transform .2s, box-shadow .2s
}

.home-hero-content>a {
    min-width: 181px
}

.home-hero-content>a:hover,
.home-organic-content>a:hover,
.all-products>a:hover,
.home-contact-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 20px var(--secondary-shadow)
}

.home-intro {
    height: 850px;
    overflow: hidden
}

.home-intro-grid {
    height: 100%;
    display: grid;
    grid-template-columns: 52% 48%;
    align-items: center
}

.home-organic-card {
    position: relative;
    height: 690px;
    color: #fff;
    isolation: isolate
}

.home-organic-shape {
    position: absolute;
    z-index: -1;
    top: 0;
    left: calc((100vw - 1240px)/-2);
    right: auto;
    width: calc(100% + max(0px, (100vw - 1240px)/2));
    height: 690px;
    fill: var(--green)
}

.home-organic-content {
    width: 555px;
    max-width: calc(100% - 30px);
    padding-top: 218px
}

.home-organic-content h2 {
    margin: 0 0 27px;
    color: #fff;
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.01em
}

.home-organic-content h2 em {
    color: var(--gold)
}

.home-organic-content p {
    margin: 0 0 30px;
    color: var(--primary-contrast-soft);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -.01em
}

.home-organic-content>a {
    min-height: 43px;
    padding: 8px 22px
}

.home-packshots {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.home-packshots img {
    width: 610px;
    max-width: 108%;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.08))
}

.home-products-section {
    position: relative;
    min-height: 690px;
    padding: 80px 0 90px;
    overflow: hidden;
    background: #fff
}

.home-products-section>.home-container {
    position: relative;
    z-index: 2
}

.home-products-section h2 {
    margin: 0 0 30px;
    color: var(--gold);
    font-family: Poppins, Arial, sans-serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0
}

.home-filters {
    width: 1020px;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1.55fr;
    gap: 16px;
    margin: 0 0 55px
}

.home-filters .filter {
    height: 43px;
    padding: 0 12px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap
}

.home-products {
    grid-template-columns: repeat(5, 1fr);
    gap: 30px
}

.home-product-card {
    height: 253px;
    border: 1px solid var(--secondary-border);
    border-radius: 12px;
    box-shadow: 0 3px 3px var(--primary-shadow)
}

.home-product-card:hover {
    transform: translateY(-4px)
}

.home-products .home-product-card>img {
    width: 100%;
    height: 188px;
    padding: 7px 28px 0;
    object-fit: contain
}

.home-products .product-body {
    padding: 0 10px 12px;
    text-align: center
}

.home-products .product-body small,
.home-products .product-body .details {
    display: none
}

.home-products .product-body h3 {
    margin: 0 0 2px;
    color: var(--green);
    font-size: 14px;
    font-weight: 500
}

.home-products .product-body p {
    color: var(--secondary-dark);
    font-size: 13px;
    font-weight: 500
}

.all-products {
    margin-top: 52px;
    text-align: center
}

.all-products>a {
    min-height: 45px;
    padding: 9px 17px
}

.home-products-decoration {
    position: absolute;
    z-index: 1;
    width: 110px;
    height: 530px;
    top: 245px;
    background: var(--secondary-soft)
}

.home-products-decoration-left {
    left: -47px;
    border-radius: 0 70% 40% 0 / 0 25% 60% 0;
    transform: rotate(-4deg)
}

.home-products-decoration-right {
    right: -55px;
    border-radius: 70% 0 0 40% / 25% 0 0 60%;
    transform: rotate(4deg)
}

.home-audiences {
    min-height: 805px;
    padding: 105px 0 95px
}

.home-audiences-heading {
    max-width: 900px;
    margin: 0 auto 62px;
    text-align: center
}

.home-audiences-heading h2 {
    margin: 0 0 25px;
    color: var(--green);
    font-size: 46px;
    font-weight: 500;
    line-height: 1
}

.home-audiences-heading p {
    max-width: 760px;
    margin: auto;
    color: var(--primary-muted);
    font-size: 16px;
    line-height: 1.55
}

.home-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 310px);
    justify-content: space-between;
    gap: 35px
}

.home-audience-card {
    height: 330px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px 18px 14px;
    border: 1px solid var(--secondary-border);
    border-radius: 12px;
    background: #fff;
    text-align: center;
    box-shadow: 0 2px 2px color-mix(in srgb, var(--primary-color) 8%, transparent)
}

.home-card-divider {
    width: 95px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px
}

.home-card-divider span,
.home-card-line {
    height: 1px;
    flex: 1;
    background: var(--secondary-border)
}

.home-card-divider svg {
    width: 25px;
    height: 17px;
    fill: none;
    stroke: var(--gold);
    stroke-width: 1.5;
    stroke-linecap: round
}

.home-audience-card h3 {
    margin: 0 0 24px;
    color: var(--green);
    font-size: 20px;
    font-weight: 600
}

.home-audience-card p {
    margin: 0;
    color: var(--primary-muted);
    font-size: 13px;
    line-height: 1.45
}

.home-audience-card>img:not(.home-chef-image) {
    width: 205px;
    height: 135px;
    margin-top: auto;
    object-fit: contain
}

.home-audience-card .home-chef-image {
    width: 145px;
    height: 145px;
    margin: -4px 0 6px;
    object-fit: contain
}

.home-audience-card:nth-child(2) h3 {
    margin-bottom: 10px
}

.home-card-line {
    width: 80px;
    flex: none;
    margin-bottom: 16px
}

.home-contact-button {
    min-width: 218px;
    margin: 55px auto 0;
    display: flex;
    width: max-content
}

@media(max-width:1100px) {
    .home-hero {
        background-position: 58% center
    }

    .home-intro {
        height: auto;
        padding: 80px 0
    }

    .home-intro-grid {
        grid-template-columns: 1fr;
        gap: 45px
    }

    .home-organic-card {
        height: 610px
    }

    .home-organic-shape {
        left: -20px;
        right: auto;
        width: calc(100% + 40px);
        height: 610px
    }

    .home-organic-content {
        max-width: 580px;
        margin: auto;
        padding-top: 170px
    }

    .home-packshots {
        justify-content: center
    }

    .home-products {
        grid-template-columns: repeat(2, 1fr)
    }

    .home-products-section {
        min-height: auto
    }

    .home-audience-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media(min-width:1101px) and (max-width:1240px) {
    .home-organic-shape {
        left: -20px;
        width: calc(100% + 20px)
    }
}

@media(max-width:700px) {
    .home-hero {
        height: 610px;
        background-position: 67% center
    }

    .home-hero-content {
        padding-top: 100px;
        background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.91) 62%, transparent 100%)
    }

    .home-hero h1 {
        max-width: 350px;
        font-size: 47px
    }

    .home-hero p {
        max-width: 330px;
        font-size: 16px
    }

    .home-organic-card {
        height: 565px
    }

    .home-organic-shape {
        left: -45px;
        right: auto;
        width: calc(100% + 90px);
        height: 565px
    }

    .home-organic-content {
        width: auto;
        max-width: none;
        padding: 145px 25px 0
    }

    .home-organic-content h2 {
        font-size: 38px
    }

    .home-organic-content p {
        font-size: 15px
    }

    .home-products-section {
        padding-top: 65px
    }

    .home-filters {
        display: flex;
        overflow-x: auto;
        margin-right: -14px;
        padding-bottom: 8px
    }

    .home-filters .filter {
        min-width: 145px
    }

    .home-products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px
    }

    .home-products .home-product-card>img {
        height: 175px;
        padding: 8px 12px 0
    }

    .home-product-card {
        height: 240px
    }

    .home-audiences {
        padding: 80px 0
    }

    .home-audiences-heading h2 {
        font-size: 37px
    }

    .home-audience-grid {
        grid-template-columns: 1fr;
        justify-items: center
    }

    .home-audience-card {
        width: min(100%, 340px)
    }
}

/* Header dhe footer */
.site-header .nav-wrap,
.site-footer>.container {
    width: min(1240px, calc(100% - 40px))
}

.site-header .nav-wrap {
    height: 90px
}

.site-header .brand strong,
.site-footer .brand strong {
    font-size: 1.9rem
}

.site-header .brand small,
.site-footer .brand small {
    margin-top: 9px;
    font-size: .46rem
}

.brand-image {
    display: block;
    line-height: 0
}

.brand-image img {
    display: block;
    height: auto;
    object-fit: contain
}

.site-header .brand-image img {
    width: 235px;
    height: 72px
}

.site-footer .brand-image img {
    width: 290px;
    height: 96px
}

.site-preloader{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:var(--secondary-soft)}.site-preloader span{width:48px;height:48px;border:5px solid var(--secondary-soft);border-top-color:var(--gold);border-radius:50%;animation:premium-spin .8s linear infinite}@keyframes premium-spin{to{transform:rotate(360deg)}}
.site-scroll-up{position:fixed;z-index:9000;right:24px;bottom:24px;width:46px;height:46px;border:0;border-radius:50%;background:var(--green);color:#fff;font-size:23px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}.site-scroll-up.visible{opacity:1;visibility:visible;transform:none}
.site-animation-enabled main section{animation:premium-enter .45s ease both}@keyframes premium-enter{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}

.main-nav {
    gap: 96px
}

.main-nav a:after {
    display: none
}

.site-footer {
    min-height: 215px;
    padding: 36px 0 17px;
    background: #fff8eb
}

.site-footer .footer-grid {
    grid-template-columns: 1.4fr .7fr 1fr;
    gap: 70px
}

.footer-brand-column {
    display: flex;
    min-height: 115px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between
}

.footer-socials {
    display: flex;
    width: min(290px, 100%);
    justify-content: center;
    gap: 27px
}

.cookie-consent{position:fixed;z-index:9999;left:24px;right:24px;bottom:24px;display:flex;align-items:center;gap:20px;padding:18px 22px;border-radius:10px;background:var(--green);color:#fff;box-shadow:0 12px 35px #0004}.cookie-consent[hidden]{display:none}.cookie-consent div{flex:1}.cookie-consent p{margin:4px 0 0}.cookie-consent a{color:color-mix(in srgb,var(--secondary-color) 72%,#fff)}.cookie-consent button{border:0;border-radius:7px;padding:9px 18px;background:var(--gold);color:#fff;font-weight:700}

@media(max-width:600px) {
    .cookie-consent {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        max-height: calc(100vh - 48px);
        overflow-y: auto;
    }

    .cookie-consent div,
    .cookie-consent p,
    .cookie-consent a {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .cookie-consent button {
        width: 100%;
    }
}

.footer-socials a,
.footer-contact svg {
    color: var(--green)
}

.footer-socials a {
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    transition: transform .18s ease, color .18s ease
}

.footer-socials a:hover {
    color: var(--secondary-color);
    transform: translateY(-2px)
}

.footer-socials svg {
    width: 23px;
    height: 23px;
    display: block;
    fill: currentColor
}

.footer-socials .social-brand-icon .social-icon-bg {
    fill: currentColor;
    stroke: none
}

.footer-socials .social-brand-icon .social-icon-glyph {
    fill: #fff;
    stroke: none
}

.footer-socials .social-brand-icon .social-icon-stroke {
    fill: none;
    stroke: #fff;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round
}

.footer-socials .social-brand-icon .social-icon-bubble {
    stroke-width: 1.25
}

.footer-socials .social-icon-outline {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.footer-socials .social-icon-dot {
    fill: currentColor;
    stroke: none
}

.social-icon-fallback {
    width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700
}

.footer-menu {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.footer-nav-item{display:flex;flex-direction:column;align-items:flex-start}.footer-submenu{display:flex;flex-direction:column;gap:7px;margin:6px 0 2px 10px;padding-left:12px;border-left:2px solid var(--secondary-border)}.site-footer .footer-submenu a{font-size:12px;opacity:.82}

.site-footer h3 {
    margin: 0 0 8px;
    color: var(--green);
    font-size: 14px;
    font-weight: 600
}

.site-footer .footer-menu a,
.footer-contact p {
    color: var(--green);
    font-size: 14px
}

.footer-contact p {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px
}

.footer-contact svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    fill: currentColor
}

.site-footer .copyright {
    margin-top: 5px;
    padding-top: 0;
    border: 0;
    font-size: 11px
}

@media(max-width:900px) {
    .site-header .main-nav {
        top: 90px;
        gap: 0
    }

    .site-footer .footer-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:600px) {
    .site-header .brand strong,
    .site-footer .brand strong {
        font-size: 1.6rem
    }

    .site-header .brand small,
    .site-footer .brand small {
        font-size: .4rem
    }

    .site-header .brand-image img {
        width: 175px;
        height: 60px
    }

    .site-header .language {
        display: flex;
        font-size: .76rem
    }

    .site-header .language {
        order: 2;
        margin-left: auto;
    }

    .site-header .menu-toggle {
        order: 3;
        margin-left: 12px;
        margin-right: 0;
    }

    .site-footer .brand-image img {
        width: 245px;
        height: 82px
    }

    .footer-socials {
        width: min(245px, 100%)
    }

    .site-footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 35px
    }
}

/* Gallery widget responsive overrides kept after legacy gallery styles. */
@media(min-width:701px) and (max-width:1100px) {
    .gallery-widget .gallery-track img,
    .gallery-widget .gallery-track img:not(.main-gallery) {
        width: calc((100% - 40px) / 3);
        height: 180px;
        flex: 0 0 calc((100% - 40px) / 3);
    }

    .gallery-widget .gallery-track .main-gallery {
        height: 275px;
    }
}

@media(max-width:700px) {
    .gallery-widget .gallery-track img:not(.main-gallery) {
        display: none!important;
    }

    .gallery-widget .gallery-track img,
    .gallery-widget .gallery-track .main-gallery {
        width: 100%;
        height: 250px;
        flex: 0 0 100%;
    }
}

@media(max-width:560px) {
    .products-widget-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-right: 0;
        padding-right: 0;
        padding-bottom: 0;
        overflow: visible;
    }

    .products-widget-filters .filter {
        width: 100%;
        min-width: 0;
        min-height: 32px;
        padding: 5px 8px;
        font-size: 10px;
        line-height: 1.2;
        white-space: normal;
    }

    .product-grid.products-widget-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .products-widget-grid .product-card img {
        height: 140px;
        padding: 12px 14px 0;
    }

    .products-widget-grid .product-body {
        padding: 6px 10px 14px;
    }

    .products-widget-grid .product-body h3 {
        font-size: 13px;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .products-widget-grid .product-body p {
        font-size: 11px;
        line-height: 1.25;
    }

    .products-widget-grid .product-body .details {
        margin-top: 10px;
        font-size: 11px;
    }
}

/* Instant Primary/Secondary color swap shared by every frontend CTA. */
.btn,
.banner-one-content > a,
.banner-two-content > a,
.home-hero-content > a,
.home-organic-content > a,
.all-products > a,
.home-contact-button,
.order-button,
.contact-submit-row button,
.cookie-consent button {
    --cta-original-color: var(--gold);
    --cta-hover-background: var(--green);
    border: 2px solid var(--cta-original-color);
    transition: none;
}

.btn.dark,
.order-button,
.contact-submit-row button {
    --cta-original-color: var(--green);
    --cta-hover-background: var(--gold);
}

.btn:hover,
.banner-one-content > a:hover,
.banner-two-content > a:hover,
.home-hero-content > a:hover,
.home-organic-content > a:hover,
.all-products > a:hover,
.home-contact-button:hover,
.order-button:hover,
.contact-submit-row button:hover,
.cookie-consent button:hover {
    border-color: var(--cta-original-color);
    background: var(--cta-hover-background);
    color: #fff;
    box-shadow: none;
    transform: none;
}
