:root {
    --color-forest: #163327;
    --color-forest-dark: #10271e;
    --color-sage: #6f826e;
    --color-gold: #b98b48;
    --color-ink: #16231c;
    --color-muted: #5c6460;
    --color-line: #e5e0d5;
    --color-soft: #f4efe6;
    --color-paper: #f9f7f1;
    --color-white: #ffffff;
    --radius: 8px;
    --shadow-soft: 0 18px 54px rgba(22, 35, 28, 0.13);
    --shadow-card: 0 12px 32px rgba(22, 35, 28, 0.08);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--color-paper);
    color: var(--color-ink);
    font-family: Inter, Manrope, Arial, sans-serif;
}

body.discount-open {
    overflow: hidden;
}

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

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

.screen-reader-text {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.site-notice {
    align-items: center;
    background: var(--color-forest);
    color: var(--color-white);
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 1fr auto auto 32px;
    justify-items: center;
    min-height: 46px;
    padding: 0.5rem clamp(1rem, 4vw, 4rem);
}

.site-notice span,
.site-notice strong {
    font-size: 0.86rem;
    font-weight: 850;
}

.site-notice time {
    color: #d8ead8;
    font-variant-numeric: tabular-nums;
}

.site-notice button {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    color: var(--color-white);
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 900;
    padding: 0.32rem 0.9rem;
}

.site-notice .notice-close {
    align-items: center;
    border: 0;
    display: inline-flex;
    font-size: 1.25rem;
    height: 32px;
    justify-content: center;
    padding: 0;
    width: 32px;
}

.site-notice.is-hidden {
    display: none;
}

.site-header {
    align-items: center;
    background: rgba(251, 248, 241, 0.97);
    border-bottom: 1px solid rgba(222, 216, 205, 0.9);
    display: grid;
    gap: 1rem;
    grid-template-columns: auto auto minmax(280px, 460px) auto;
    min-height: 74px;
    padding: 0 clamp(1rem, 4vw, 4rem);
    position: sticky;
    top: 0;
    z-index: 30;
}

.site-brand {
    color: var(--color-ink);
    font-size: 1.45rem;
    font-weight: 950;
    letter-spacing: 0;
    white-space: nowrap;
}

.site-brand span {
    color: var(--color-sage);
}

.site-nav,
.header-actions {
    align-items: center;
    display: flex;
}

.site-nav {
    gap: clamp(0.8rem, 1.8vw, 1.45rem);
}

.site-nav a {
    color: var(--color-ink);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.site-search {
    position: relative;
}

.site-search input[type="search"] {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: 999px;
    color: var(--color-ink);
    font: inherit;
    font-size: 0.92rem;
    min-height: 46px;
    padding: 0 7rem 0 1.1rem;
    width: 100%;
}

.site-search button {
    background: var(--color-forest);
    border: 0;
    border-radius: 999px;
    color: var(--color-white);
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 900;
    min-height: 36px;
    padding: 0 0.9rem;
    position: absolute;
    right: 5px;
    top: 5px;
}

.search-suggestions {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    display: none;
    gap: 0.45rem;
    left: 0;
    padding: 0.7rem;
    position: absolute;
    right: 0;
    top: calc(100% + 0.45rem);
    z-index: 40;
}

.site-search:focus-within .search-suggestions {
    display: grid;
}

.search-suggestions a {
    border-radius: 6px;
    color: var(--color-forest);
    font-size: 0.88rem;
    font-weight: 850;
    padding: 0.55rem 0.65rem;
}

.search-suggestions a:hover {
    background: var(--color-soft);
}

.header-actions {
    gap: 0.8rem;
    justify-content: end;
}

.header-link {
    color: var(--color-muted);
    font-size: 0.86rem;
    font-weight: 900;
}

.cart-link {
    align-items: center;
    background: var(--color-forest);
    border-radius: 999px;
    color: var(--color-white);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 950;
    height: 30px;
    justify-content: center;
    min-width: 30px;
    padding: 0 0.45rem;
}

.button,
.header-action {
    align-items: center;
    border-radius: var(--radius);
    display: inline-flex;
    font-weight: 950;
    justify-content: center;
    min-height: 48px;
    padding: 0 1.25rem;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.button:hover,
.header-action:hover {
    transform: translateY(-1px);
}

.button-primary,
.header-action {
    background: var(--color-forest);
    box-shadow: 0 14px 24px rgba(18, 59, 41, 0.2);
    color: var(--color-white);
}

.button-secondary {
    background: rgba(251, 248, 241, 0.92);
    border: 1px solid var(--color-line);
    color: var(--color-forest);
}

.hero-section {
    padding: clamp(1rem, 2vw, 1.6rem) clamp(1rem, 4vw, 4rem);
}

.hero-shell {
    align-items: center;
    background:
        radial-gradient(circle at 75% 15%, rgba(185, 139, 72, 0.18), transparent 30%),
        linear-gradient(135deg, #fbf8f1 0%, #f1eadf 100%);
    border: 1px solid var(--color-line);
    border-radius: 16px;
    display: grid;
    gap: clamp(1.25rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 0.96fr) minmax(320px, 1.04fr);
    min-height: clamp(390px, 50vh, 485px);
    overflow: hidden;
    padding: clamp(1.1rem, 3vw, 2.6rem);
    position: relative;
}

.hero-content {
    max-width: 660px;
    position: relative;
    z-index: 2;
}

.section-kicker {
    color: var(--color-forest);
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    margin: 0 0 0.85rem;
    text-transform: uppercase;
}

.hero-content h1,
.section-heading h2,
.coa-section h2,
.sales-band h2,
.conversion-panel h2,
.final-cta h2 {
    color: var(--color-forest-dark);
    letter-spacing: 0;
    margin: 0;
}

.hero-content h1 {
    font-size: clamp(2.45rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 0.98;
}

.hero-content > p:not(.section-kicker),
.section-heading p,
.coa-section p,
.trust-section p,
.sales-band p,
.product-card p,
.process-list span,
.conversion-panel li,
.checkout-preview p,
.faq-section p,
.final-cta p,
.site-footer p,
.legal-small {
    color: var(--color-muted);
    line-height: 1.7;
}

.hero-content > p:not(.section-kicker) {
    color: #405246;
    font-size: 1.06rem;
    max-width: 570px;
}

.hero-actions,
.hero-microcopy {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.hero-actions {
    margin-top: 1.7rem;
}

.hero-microcopy {
    margin-top: 1.25rem;
}

.hero-microcopy span {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(222, 216, 205, 0.9);
    border-radius: 999px;
    color: var(--color-forest);
    font-size: 0.84rem;
    font-weight: 900;
    padding: 0.45rem 0.72rem;
}

.legal-small {
    font-size: 0.76rem;
    margin-top: 1rem;
    max-width: 580px;
}

.hero-product-stage {
    align-self: stretch;
    min-height: 320px;
    position: relative;
}

.hero-media {
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(18, 59, 41, 0.16);
    display: block;
    height: 100%;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    transform: none;
    width: 100%;
}

.hero-media::after {
    background: linear-gradient(180deg, transparent 0%, rgba(18, 59, 41, 0.22) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

.hero-media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.hero-floating-card {
    background: rgba(251, 248, 241, 0.94);
    border: 1px solid rgba(222, 216, 205, 0.95);
    border-radius: var(--radius);
    bottom: 1.2rem;
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: 0.25rem;
    left: 0;
    max-width: 280px;
    padding: 1rem;
    position: absolute;
}

.hero-floating-card span {
    color: var(--color-gold);
    font-size: 0.76rem;
    font-weight: 950;
    text-transform: uppercase;
}

.hero-floating-card strong {
    color: var(--color-forest-dark);
}

.hero-floating-card small {
    color: var(--color-muted);
    line-height: 1.45;
}

.trust-strip {
    align-items: center;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1200px;
    padding: 1.2rem clamp(1rem, 4vw, 2rem) 0;
}

.payment-logo {
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: 0 10px 24px rgba(22, 35, 28, 0.05);
    display: flex;
    justify-content: center;
    min-height: 58px;
    padding: 0.8rem 1rem;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.payment-logo:hover {
    box-shadow: 0 16px 32px rgba(22, 35, 28, 0.1);
    transform: translateY(-2px);
}

.payment-logo svg {
    display: block;
    height: 30px;
    max-width: 118px;
    width: 100%;
}

.payment-logo-visa svg {
    fill: #1a1f71;
}

.payment-logo-mastercard svg circle:first-child {
    fill: #eb001b;
}

.payment-logo-mastercard svg circle:nth-child(2) {
    fill: #f79e1b;
}

.payment-logo-mastercard svg path {
    fill: #ff5f00;
}

.payment-logo-paypal svg {
    fill: #003087;
    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
}

.payment-logo-paypal svg text:nth-child(2) {
    fill: #009cde;
}

.payment-logo-mbway svg rect {
    fill: #111827;
}

.payment-logo-mbway svg path {
    fill: #ffffff;
}

.payment-logo-applepay svg {
    fill: #111111;
    font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    font-size: 23px;
    font-weight: 800;
}

.content-section,
.coa-section,
.process-section,
.conversion-section,
.faq-section,
.final-cta {
    margin: 0 auto;
    max-width: 1200px;
    padding: clamp(3.2rem, 7vw, 6.4rem) clamp(1rem, 4vw, 2rem);
}

.trust-section {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1200px;
    padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 2rem) 0;
}

.trust-section article,
.product-card,
.coa-table,
.process-list li,
.conversion-panel,
.checkout-preview,
.faq-section details {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(222, 216, 205, 0.92);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
}

.trust-section article,
.product-card,
.process-list li,
.faq-section details {
    padding: 1.25rem;
}

.trust-section span {
    color: var(--color-gold);
    font-size: 0.74rem;
    font-weight: 950;
}

.trust-section h2,
.product-card h3 {
    color: var(--color-forest-dark);
    font-size: 1.08rem;
    margin: 0.5rem 0;
}

.sales-band {
    align-items: center;
    background: var(--color-forest);
    border-radius: var(--radius);
    color: var(--color-white);
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin: clamp(3rem, 6vw, 5rem) auto 0;
    max-width: 1200px;
    padding: clamp(1.25rem, 4vw, 2rem);
}

.sales-band p {
    color: rgba(255, 255, 255, 0.76);
    margin-bottom: 0;
}

.sales-band h2 {
    color: var(--color-white);
}

.sales-band .section-kicker {
    color: #c7dfce;
}

.sales-band .button-primary {
    background: var(--color-white);
    color: var(--color-forest);
    white-space: nowrap;
}

.section-heading {
    margin-bottom: 1.5rem;
    max-width: 720px;
}

.split-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    max-width: none;
}

.section-heading h2,
.coa-section h2,
.sales-band h2,
.conversion-panel h2,
.final-cta h2 {
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.02;
}

.product-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-card {
    display: flex;
    flex-direction: column;
    position: relative;
}

.product-image {
    align-items: center;
    aspect-ratio: 4 / 3;
    background:
        radial-gradient(circle at 50% 35%, rgba(111, 130, 110, 0.22), transparent 36%),
        linear-gradient(135deg, #ffffff, #eee9df);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
    overflow: hidden;
}

.product-image img {
    height: 100%;
    object-fit: cover;
    transition: transform 180ms ease;
    width: 100%;
}

.product-card:hover .product-image img {
    transform: scale(1.04);
}

.product-image-placeholder::before {
    background:
        linear-gradient(180deg, #ffffff 0 14%, rgba(18, 59, 41, 0.14) 14% 100%),
        #ffffff;
    border: 1px solid rgba(22, 35, 28, 0.14);
    border-radius: 18px 18px 8px 8px;
    box-shadow: 0 16px 22px rgba(22, 35, 28, 0.12);
    content: "";
    height: 76%;
    width: 28%;
}

.product-badge {
    align-self: flex-start;
    background: #edf7ef;
    border-radius: 999px;
    color: var(--color-forest);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 950;
    margin-bottom: 0.65rem;
    padding: 0.35rem 0.65rem;
}

.product-meta {
    border-top: 1px solid var(--color-line);
    display: grid;
    gap: 0.7rem;
    margin: 1rem 0;
    padding-top: 1rem;
}

.product-meta div {
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.product-meta dt {
    color: var(--color-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.product-meta dd {
    color: var(--color-ink);
    font-size: 0.82rem;
    font-weight: 900;
    margin: 0;
    text-align: right;
}

.product-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: auto 0 1rem;
}

.product-price del {
    color: var(--color-muted);
    font-size: 0.92rem;
}

.product-price strong {
    color: var(--color-forest-dark);
    font-size: 1.14rem;
}

.product-actions {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1fr 1fr;
}

.product-actions .button:only-child {
    grid-column: 1 / -1;
}

.coa-section {
    align-items: center;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 0.82fr) minmax(320px, 1.18fr);
}

.coa-table {
    overflow: hidden;
}

.coa-table [role="row"] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr 1.2fr 0.9fr;
    padding: 1rem;
}

.coa-table [role="row"] + [role="row"] {
    border-top: 1px solid var(--color-line);
}

.process-flow {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.process-flow::before {
    background: linear-gradient(90deg, var(--color-forest), var(--color-gold));
    content: "";
    height: 2px;
    left: 7%;
    position: absolute;
    right: 7%;
    top: 34px;
}

.process-flow li {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(222, 216, 205, 0.92);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    display: grid;
    gap: 0.55rem;
    opacity: 0;
    padding: 1.25rem;
    position: relative;
    transform: translateY(16px);
    transition: opacity 420ms ease, transform 420ms ease, box-shadow 180ms ease;
    z-index: 1;
}

.process-flow li.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.process-flow li:hover {
    box-shadow: 0 18px 40px rgba(22, 35, 28, 0.12);
    transform: translateY(-3px);
}

.process-flow li::after {
    border-right: 2px solid var(--color-gold);
    border-top: 2px solid var(--color-gold);
    content: "";
    height: 12px;
    position: absolute;
    right: -0.72rem;
    top: 28px;
    transform: rotate(45deg);
    width: 12px;
}

.process-flow li:last-child::after {
    display: none;
}

.process-flow span {
    align-items: center;
    background: var(--color-forest);
    border-radius: 999px;
    color: var(--color-white);
    display: flex;
    font-size: 0.78rem;
    font-weight: 950;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.process-flow strong {
    color: var(--color-forest-dark);
    font-size: 1.08rem;
}

.process-flow p {
    color: var(--color-muted);
    line-height: 1.65;
    margin: 0;
}

.conversion-section {
    align-items: stretch;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
}

.conversion-panel,
.checkout-preview {
    padding: clamp(1.25rem, 4vw, 2rem);
}

.conversion-panel ul {
    display: grid;
    gap: 0.7rem;
    margin: 1.4rem 0 0;
    padding-left: 1.1rem;
}

.checkout-preview {
    align-content: center;
    background: var(--color-forest);
    color: var(--color-white);
    display: grid;
    gap: 1rem;
}

.checkout-preview span {
    color: #c7dfce;
    font-size: 0.78rem;
    font-weight: 950;
    text-transform: uppercase;
}

.checkout-preview strong {
    font-size: 1.6rem;
    line-height: 1.1;
}

.checkout-preview p {
    color: rgba(255, 255, 255, 0.72);
}

.checkout-preview .button-primary {
    background: var(--color-white);
    color: var(--color-forest);
}

.faq-section details + details {
    margin-top: 0.75rem;
}

.faq-section summary {
    cursor: pointer;
    font-weight: 950;
}

.faq-section details[open] summary {
    color: var(--color-forest);
}

.final-cta {
    text-align: center;
}

.final-cta p {
    margin-left: auto;
    margin-right: auto;
    max-width: 620px;
}

.discount-popup {
    align-items: center;
    background: rgba(22, 35, 28, 0.58);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: 1rem;
    pointer-events: none;
    position: fixed;
    transition: opacity 180ms ease;
    z-index: 80;
}

.discount-popup.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.discount-dialog {
    background: var(--color-paper);
    border: 1px solid rgba(222, 216, 205, 0.9);
    border-radius: var(--radius);
    box-shadow: 0 24px 80px rgba(22, 35, 28, 0.3);
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(260px, 0.85fr) minmax(280px, 1fr);
    max-width: 860px;
    padding: clamp(1rem, 4vw, 1.5rem);
    position: relative;
    width: min(100%, 860px);
}

.discount-close {
    align-items: center;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--color-line);
    border-radius: 999px;
    color: var(--color-ink);
    cursor: pointer;
    display: flex;
    font-size: 1.5rem;
    height: 42px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: 42px;
    z-index: 4;
}

.roulette-panel {
    align-items: center;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.68), transparent 34%),
        linear-gradient(145deg, rgba(111, 130, 110, 0.24), rgba(18, 59, 41, 0.09));
    border: 1px solid rgba(222, 216, 205, 0.9);
    border-radius: var(--radius);
    display: flex;
    justify-content: center;
    min-height: 360px;
    overflow: hidden;
    padding: 1.2rem;
    position: relative;
}

.roulette-pointer {
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 26px solid var(--color-gold);
    filter: drop-shadow(0 5px 8px rgba(22, 35, 28, 0.18));
    left: calc(50% - 15px);
    position: absolute;
    top: 20px;
    z-index: 3;
}

.discount-wheel {
    aspect-ratio: 1;
    background:
        conic-gradient(
            #123b29 0deg 45deg,
            #d8ead8 45deg 90deg,
            #b98b48 90deg 135deg,
            #123b29 135deg 180deg,
            #0b261b 180deg 225deg,
            #b98b48 225deg 270deg,
            #d8ead8 270deg 315deg,
            #123b29 315deg 360deg
        );
    border: 12px solid var(--color-paper);
    border-radius: 50%;
    box-shadow: var(--shadow-soft);
    position: relative;
    transition: transform 2200ms cubic-bezier(0.17, 0.67, 0.2, 1);
    width: min(100%, 315px);
}

.discount-wheel span {
    color: var(--color-white);
    font-size: 0.82rem;
    font-weight: 950;
    left: calc(50% - 18px);
    position: absolute;
    text-shadow: 0 1px 8px rgba(22, 35, 28, 0.34);
    top: 22px;
    transform-origin: 18px 136px;
}

.discount-wheel span:nth-child(1) { transform: rotate(22deg); }
.discount-wheel span:nth-child(2) { transform: rotate(67deg); color: var(--color-forest); text-shadow: none; }
.discount-wheel span:nth-child(3) { transform: rotate(112deg); }
.discount-wheel span:nth-child(4) { transform: rotate(157deg); }
.discount-wheel span:nth-child(5) { transform: rotate(202deg); }
.discount-wheel span:nth-child(6) { transform: rotate(247deg); }
.discount-wheel span:nth-child(7) { transform: rotate(292deg); color: var(--color-forest); text-shadow: none; }
.discount-wheel span:nth-child(8) { transform: rotate(337deg); }

.roulette-center {
    align-items: center;
    background: var(--color-paper);
    border: 1px solid var(--color-line);
    border-radius: 50%;
    box-shadow: 0 10px 22px rgba(22, 35, 28, 0.16);
    color: var(--color-forest);
    display: flex;
    font-size: 1.35rem;
    font-weight: 950;
    height: 88px;
    justify-content: center;
    position: absolute;
    width: 88px;
}

.discount-content {
    align-content: center;
    display: grid;
    padding: 2.5rem 0.5rem 0.5rem;
}

.discount-content h2 {
    color: var(--color-forest-dark);
    font-size: clamp(1.8rem, 4vw, 2.65rem);
    line-height: 1;
    margin: 0;
}

.discount-email-label {
    color: var(--color-forest-dark);
    font-size: 0.82rem;
    font-weight: 950;
    margin-top: 1rem;
}

.discount-email-input {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    color: var(--color-ink);
    font: inherit;
    margin-top: 0.4rem;
    min-height: 48px;
    padding: 0 0.9rem;
    width: 100%;
}

.discount-email-input:focus {
    border-color: var(--color-forest);
    outline: 3px solid rgba(18, 59, 41, 0.12);
}

.discount-consent {
    align-items: flex-start;
    color: var(--color-muted);
    display: flex;
    gap: 0.55rem;
    font-size: 0.82rem;
    line-height: 1.45;
    margin: 0.75rem 0 1rem;
}

.discount-consent input {
    accent-color: var(--color-forest);
    margin-top: 0.2rem;
}

.discount-result {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    color: var(--color-forest);
    font-weight: 950;
    margin: 1rem 0 0;
    padding: 0.9rem;
}

.site-footer {
    align-items: start;
    background: var(--color-forest-dark);
    color: var(--color-white);
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    padding: 2.25rem clamp(1rem, 4vw, 4rem);
}

.site-footer .site-brand {
    color: var(--color-white);
}

.site-footer p {
    color: rgba(255, 255, 255, 0.72);
    max-width: 760px;
}

.site-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    justify-content: flex-end;
}

.site-footer nav a {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9rem;
    font-weight: 800;
}

@media (max-width: 1180px) {
    .site-header {
        grid-template-columns: auto 1fr auto;
        padding-bottom: 1rem;
        padding-top: 1rem;
    }

    .site-search {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 980px) {
    .site-notice {
        grid-template-columns: 1fr auto;
        justify-items: start;
        padding-right: 3.2rem;
        position: relative;
    }

    .site-notice .notice-close {
        position: absolute;
        right: 0.7rem;
    }

    .hero-shell,
    .coa-section,
    .conversion-section,
    .discount-dialog,
    .trust-section,
    .product-grid {
        grid-template-columns: 1fr;
    }

    .hero-product-stage {
        min-height: 360px;
    }

    .hero-media {
        right: 0;
        transform: none;
        width: 100%;
    }

    .split-heading,
    .sales-band,
    .site-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .trust-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .process-flow {
        grid-template-columns: 1fr;
    }

    .process-flow::before {
        bottom: 7%;
        height: auto;
        left: 22px;
        right: auto;
        top: 22px;
        width: 2px;
    }

    .process-flow li::after {
        border-bottom: 2px solid var(--color-gold);
        border-right: 0;
        border-top: 0;
        bottom: -0.74rem;
        left: 18px;
        right: auto;
        top: auto;
        transform: rotate(45deg);
    }

    .sales-band .button-primary {
        width: 100%;
    }

    .site-footer nav {
        justify-content: flex-start;
    }
}

@media (max-width: 700px) {
    .site-header {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .site-nav,
    .header-actions,
    .hero-actions,
    .hero-microcopy {
        flex-wrap: wrap;
        width: 100%;
    }

    .site-nav a {
        font-size: 0.78rem;
    }

    .hero-actions .button {
        width: 100%;
    }

    .header-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .header-actions .header-link {
        display: none;
    }

    .header-actions .cart-link,
    .header-actions .header-action {
        width: 100%;
    }

    .site-notice {
        grid-template-columns: 1fr auto;
    }

    .site-notice span {
        display: none;
    }

    .site-notice button:not(.notice-close) {
        min-width: 138px;
    }

    .hero-section {
        padding: 0.9rem;
    }

    .hero-shell {
        min-height: auto;
        padding: 1rem;
    }

    .hero-content h1 {
        font-size: clamp(2.35rem, 11vw, 3.7rem);
    }

    .hero-product-stage {
        min-height: 300px;
    }

    .hero-floating-card {
        bottom: 0.8rem;
        left: 0.8rem;
        right: 0.8rem;
        max-width: none;
    }

    .trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-actions,
    .coa-table [role="row"] {
        grid-template-columns: 1fr;
    }

    .roulette-panel {
        min-height: 320px;
    }

    .discount-wheel {
        width: min(100%, 280px);
    }

    .discount-wheel span {
        top: 18px;
        transform-origin: 18px 121px;
    }
}

.thepept-product-main {
    background: var(--color-paper);
}

.thepept-pdp {
    color: var(--color-ink);
}

.pdp-hero,
.pdp-bundle,
.pdp-benefits,
.pdp-compare,
.pdp-accordions {
    margin: 0 auto;
    max-width: 1240px;
    padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 2rem);
}

.pdp-hero {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
}

.pdp-gallery {
    position: sticky;
    top: 106px;
}

.pdp-gallery-main {
    background: linear-gradient(135deg, #ffffff, #eee9df);
    border: 1px solid var(--color-line);
    border-radius: 16px;
    box-shadow: var(--shadow-card);
    overflow: hidden;
}

.pdp-gallery-slide {
    aspect-ratio: 1;
    display: none;
    margin: 0;
    overflow: hidden;
}

.pdp-gallery-slide.is-active {
    display: block;
}

.pdp-gallery-slide img {
    height: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
    width: 100%;
}

.pdp-gallery-slide video {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.pdp-gallery-main:hover .pdp-gallery-slide.is-active img {
    transform: scale(1.08);
}

.pdp-gallery-thumbs {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 0.85rem;
}

.pdp-gallery-thumbs button {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    cursor: pointer;
    overflow: hidden;
    padding: 0;
}

.pdp-gallery-thumbs button.is-active {
    border-color: var(--color-forest);
    box-shadow: 0 0 0 3px rgba(18, 59, 41, 0.12);
}

.pdp-gallery-thumbs img {
    aspect-ratio: 1;
    object-fit: cover;
    width: 100%;
}

.pdp-video-thumb {
    align-items: center;
    aspect-ratio: 1;
    background: var(--color-forest);
    color: var(--color-white);
    display: flex;
    font-size: 0.78rem;
    font-weight: 950;
    justify-content: center;
    width: 100%;
}

.pdp-media-note {
    color: var(--color-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.pdp-media-note span {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 850;
    padding: 0.4rem 0.65rem;
}

.pdp-summary {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--color-line);
    border-radius: 16px;
    box-shadow: var(--shadow-card);
    padding: clamp(1.25rem, 4vw, 2rem);
}

.pdp-summary h1 {
    color: var(--color-forest-dark);
    font-size: clamp(2rem, 4vw, 3.7rem);
    line-height: 1;
    margin: 0;
}

.pdp-short-description {
    color: var(--color-muted);
    line-height: 1.7;
}

.pdp-price-row {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.2rem 0;
}

.pdp-price-row strong {
    color: var(--color-forest);
    font-size: clamp(1.8rem, 3vw, 2.45rem);
}

.pdp-price-row del {
    color: var(--color-muted);
    font-size: 1.05rem;
}

.pdp-price-row span {
    background: #edf7ef;
    border-radius: 999px;
    color: var(--color-forest);
    font-size: 0.84rem;
    font-weight: 950;
    padding: 0.42rem 0.7rem;
}

.pdp-stock-card,
.pdp-delivery-card,
.pdp-payment-card {
    background: var(--color-paper);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    margin: 1rem 0;
    padding: 1rem;
}

.pdp-stock-card {
    display: grid;
    gap: 0.85rem;
}

.pdp-stock-card strong {
    color: var(--color-forest-dark);
}

.pdp-stock-card span {
    color: var(--color-muted);
}

.pdp-stock-card.is-low strong {
    color: #9a3412;
}

.pdp-stock-bar {
    background: #efe7d9;
    border-radius: 999px;
    display: block;
    height: 9px;
    overflow: hidden;
}

.pdp-stock-bar span {
    background: linear-gradient(90deg, #b98b48, #9a3412);
    display: block;
    height: 100%;
}

.pdp-add-to-cart form.cart {
    display: grid;
    gap: 0.9rem;
}

.pdp-add-to-cart .stock,
.pdp-add-to-cart .woocommerce-variation-availability {
    color: var(--color-forest);
    font-weight: 900;
    margin: 0;
}

.pdp-add-to-cart .variations {
    border-collapse: collapse;
    width: 100%;
}

.pdp-add-to-cart .variations th,
.pdp-add-to-cart .variations td {
    display: block;
    padding: 0;
    text-align: left;
}

.pdp-add-to-cart .variations label {
    color: var(--color-forest-dark);
    display: block;
    font-weight: 950;
    margin: 0.4rem 0;
}

.pdp-add-to-cart select {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    color: var(--color-ink);
    font: inherit;
    min-height: 48px;
    padding: 0 0.75rem;
    width: 100%;
}

.pdp-add-to-cart .reset_variations {
    color: var(--color-muted);
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 850;
    margin-top: 0.5rem;
}

.pdp-add-to-cart .woocommerce-variation-price {
    color: var(--color-forest);
    font-size: 1.25rem;
    font-weight: 950;
}

.pdp-add-to-cart .quantity input {
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    min-height: 48px;
    padding: 0 0.75rem;
}

.pdp-add-to-cart .single_add_to_cart_button {
    background: var(--color-forest);
    border: 0;
    border-radius: var(--radius);
    box-shadow: 0 18px 34px rgba(18, 59, 41, 0.24);
    color: var(--color-white);
    cursor: pointer;
    font: inherit;
    font-weight: 950;
    min-height: 56px;
    padding: 0 1.25rem;
    position: relative;
    width: 100%;
}

.pdp-add-to-cart .single_add_to_cart_button::after {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
    content: "";
    inset: 0;
    position: absolute;
    transform: translateX(-100%);
}

.pdp-add-to-cart .single_add_to_cart_button:hover::after {
    transform: translateX(100%);
    transition: transform 650ms ease;
}

.pdp-buy-now-button {
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-forest);
    border-radius: var(--radius);
    color: var(--color-forest);
    display: flex;
    font-weight: 950;
    justify-content: center;
    min-height: 52px;
    padding: 0 1rem;
}

.pdp-buy-now-button.is-disabled {
    border-color: var(--color-line);
    color: var(--color-muted);
}

.pdp-payment-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.pdp-pay-logo {
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: 6px;
    display: flex;
    justify-content: center;
    min-height: 42px;
    min-width: 74px;
    padding: 0.5rem 0.6rem;
}

.pdp-pay-logo svg {
    display: block;
    height: 24px;
    max-width: 100px;
    width: 100%;
}

.pdp-pay-mbway svg rect,
.pdp-pay-multibanco svg rect {
    fill: #111827;
}

.pdp-pay-mbway svg path,
.pdp-pay-multibanco svg text {
    fill: #ffffff;
}

.pdp-pay-multibanco svg text {
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
}

.pdp-pay-visa svg {
    fill: #1a1f71;
}

.pdp-pay-mastercard svg circle:first-child {
    fill: #eb001b;
}

.pdp-pay-mastercard svg circle:nth-child(2) {
    fill: #f79e1b;
}

.pdp-pay-mastercard svg path {
    fill: #ff5f00;
}

.pdp-pay-paypal svg {
    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
}

.pdp-pay-paypal svg text:first-child {
    fill: #003087;
}

.pdp-pay-paypal svg text:nth-child(2) {
    fill: #009cde;
}

.pdp-pay-apple svg,
.pdp-pay-google svg {
    fill: #111111;
    font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    font-size: 22px;
    font-weight: 850;
}

.pdp-payment-card small {
    color: var(--color-muted);
    display: block;
    margin-top: 0.7rem;
}

.pdp-guarantees {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pdp-guarantees article {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    padding: 0.9rem;
}

.pdp-guarantees span {
    color: var(--color-gold);
    font-size: 0.74rem;
    font-weight: 950;
    text-transform: uppercase;
}

.pdp-guarantees strong {
    color: var(--color-forest-dark);
    display: block;
    margin-top: 0.35rem;
}

.pdp-guarantees p,
.pdp-delivery-card p,
.pdp-delivery-card span {
    color: var(--color-muted);
    line-height: 1.55;
}

.pdp-bundle {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
}

.pdp-bundle article {
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    display: grid;
    gap: 1rem;
    grid-template-columns: 84px 1fr auto;
    padding: 1rem;
}

.pdp-bundle img {
    border-radius: var(--radius);
}

.pdp-benefits {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
}

.pdp-benefits ul {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdp-benefits li {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    color: var(--color-forest-dark);
    font-weight: 850;
    padding: 1rem 1rem 1rem 3rem;
    position: relative;
}

.pdp-benefits li::before {
    color: var(--color-forest);
    content: "✓";
    font-weight: 950;
    left: 1rem;
    position: absolute;
}

.pdp-compare-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdp-compare article {
    border-radius: var(--radius);
    padding: 1.25rem;
}

.pdp-compare .is-positive {
    background: #edf7ef;
    border: 1px solid rgba(18, 59, 41, 0.18);
}

.pdp-compare .is-negative {
    background: #fff7ed;
    border: 1px solid rgba(154, 52, 18, 0.18);
}

.pdp-accordions {
    display: grid;
    gap: 0.85rem;
}

.pdp-accordions details {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    padding: 1rem 1.1rem;
}

.pdp-description-content {
    color: var(--color-muted);
    line-height: 1.7;
}

.pdp-description-content p {
    margin: 0.8rem 0;
}

.pdp-accordions summary {
    color: var(--color-forest-dark);
    cursor: pointer;
    font-weight: 950;
}

.pdp-accordions dl {
    display: grid;
    gap: 0.7rem;
}

.pdp-accordions dl div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.pdp-accordions dt {
    color: var(--color-muted);
    font-weight: 850;
}

.pdp-accordions dd {
    color: var(--color-forest-dark);
    font-weight: 900;
    margin: 0;
    text-align: right;
}

.pdp-sticky-cta {
    align-items: center;
    background: rgba(251, 248, 241, 0.96);
    border-top: 1px solid var(--color-line);
    bottom: 0;
    box-shadow: 0 -12px 30px rgba(22, 35, 28, 0.12);
    display: none;
    gap: 1rem;
    justify-content: space-between;
    left: 0;
    padding: 0.75rem 1rem;
    position: fixed;
    right: 0;
    z-index: 70;
}

.pdp-sticky-cta.is-visible {
    display: flex;
}

.pdp-sticky-cta strong,
.pdp-sticky-cta span {
    display: block;
}

.wp-page-main {
    background:
        radial-gradient(circle at 12% 0%, rgba(15, 118, 110, 0.08), transparent 32rem),
        var(--color-paper);
    min-height: 64vh;
    padding-top: clamp(2rem, 5vw, 4rem);
}

.wp-page-hero,
.wp-content-shell {
    margin: 0 auto;
    max-width: 1120px;
    padding: clamp(2.2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);
}

.wp-page-hero {
    max-width: 900px;
    text-align: center;
}

.wp-page-hero.is-compact {
    padding-bottom: clamp(1.5rem, 4vw, 3rem);
}

.wp-page-hero h1 {
    color: var(--color-forest-dark);
    font-size: clamp(2.35rem, 6vw, 5rem);
    line-height: 0.98;
    margin: 0 auto;
    max-width: 820px;
}

.wp-page-hero p,
.wp-archive-description {
    color: var(--color-muted);
    font-size: clamp(1rem, 2vw, 1.16rem);
    line-height: 1.7;
    margin: 1rem auto 0;
    max-width: 680px;
}

.wp-card-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wp-result-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    min-height: 220px;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.wp-result-card:hover {
    border-color: rgba(15, 118, 110, 0.34);
    box-shadow: 0 24px 52px rgba(22, 35, 28, 0.12);
    transform: translateY(-3px);
}

.wp-result-card a {
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    padding: 1.25rem;
    text-decoration: none;
}

.wp-result-card span {
    color: var(--color-gold);
    font-size: 0.76rem;
    font-weight: 950;
    text-transform: uppercase;
}

.wp-result-card h2 {
    color: var(--color-forest-dark);
    font-size: 1.2rem;
    line-height: 1.18;
    margin: 0;
}

.wp-result-card p,
.wp-empty-state p {
    color: var(--color-muted);
    line-height: 1.7;
    margin: 0;
}

.wp-single-entry {
    max-width: 880px;
}

.wp-entry-content {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    color: var(--color-forest-dark);
    line-height: 1.78;
    padding: clamp(1.25rem, 4vw, 2.5rem);
}

.wp-entry-content > *:first-child {
    margin-top: 0;
}

.wp-entry-content > *:last-child {
    margin-bottom: 0;
}

.wp-pagination {
    margin-top: 2rem;
    text-align: center;
}

.wp-empty-state {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    margin: 0 auto;
    max-width: 680px;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    text-align: center;
}

.wp-empty-state h2 {
    color: var(--color-forest-dark);
    margin-top: 0;
}

.wp-404-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1.5rem;
}

@media (max-width: 980px) {
    .pdp-hero,
    .pdp-bundle,
    .pdp-benefits,
    .pdp-compare-grid {
        grid-template-columns: 1fr;
    }

    .pdp-gallery {
        position: static;
    }

    .pdp-bundle article {
        grid-template-columns: 72px 1fr;
    }

    .pdp-bundle article .button {
        grid-column: 1 / -1;
    }

    .pdp-guarantees {
        grid-template-columns: 1fr;
    }

    .wp-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .pdp-gallery-main {
        border-radius: 0;
        margin-left: -1rem;
        margin-right: -1rem;
    }

    .pdp-gallery-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .pdp-summary h1 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .wp-card-grid {
        grid-template-columns: 1fr;
    }

    .wp-page-hero {
        text-align: left;
    }

    .wp-404-actions {
        align-items: stretch;
        flex-direction: column;
    }

}

.woocommerce main,
.woocommerce-page main,
.woocommerce .site-main,
.woocommerce-page .site-main {
    background: var(--color-paper);
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-products-header,
.woocommerce .woocommerce-notices-wrapper,
.woocommerce .products,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    padding-left: clamp(1rem, 4vw, 2rem);
    padding-right: clamp(1rem, 4vw, 2rem);
}

.thepept-shop-main {
    background:
        radial-gradient(circle at 84% 8%, rgba(185, 139, 72, 0.16), transparent 25rem),
        linear-gradient(180deg, #f4efe6 0%, var(--color-paper) 32%, var(--color-paper) 100%);
    overflow: hidden;
    padding: clamp(1rem, 2vw, 1.6rem) clamp(1rem, 4vw, 4rem) clamp(3rem, 8vw, 6rem);
}

.thepept-shop-main .woocommerce-breadcrumb {
    max-width: 1240px;
    padding-left: 0;
    padding-right: 0;
}

.shop-hero-section,
.shop-catalog-section,
.shop-proof-strip,
.shop-category-filter {
    margin-left: auto;
    margin-right: auto;
    max-width: 1240px;
}

.shop-hero-section {
    background:
        radial-gradient(circle at 79% 10%, rgba(185, 139, 72, 0.45), transparent 19rem),
        radial-gradient(circle at 100% 100%, rgba(111, 130, 110, 0.35), transparent 25rem),
        linear-gradient(135deg, var(--color-forest-dark), var(--color-forest));
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    box-shadow: 0 26px 70px rgba(11, 38, 27, 0.22);
    color: var(--color-white);
    overflow: hidden;
    position: relative;
}

.shop-hero-section::after {
    background-image: linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px);
    background-size: 42px 42px;
    content: '';
    inset: 0;
    mask-image: linear-gradient(90deg, transparent 5%, rgba(0, 0, 0, 0.55) 56%, transparent);
    pointer-events: none;
    position: absolute;
}

.shop-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(1.5rem, 6vw, 6rem);
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    min-height: 330px;
    padding: clamp(1.5rem, 5vw, 4.2rem);
    position: relative;
    z-index: 1;
}

.shop-hero-grid--single {
    grid-template-columns: 1fr;
}

.shop-hero-copy {
    max-width: 670px;
}

.shop-hero-copy .section-kicker {
    color: #d8ead8;
}

.shop-hero-copy h1 {
    color: var(--color-white);
    font-size: clamp(3rem, 6vw, 5.5rem);
    line-height: 0.9;
    margin: 0;
}

.shop-hero-copy > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: clamp(1rem, 1.8vw, 1.18rem);
    line-height: 1.7;
    margin: 1.25rem 0 0;
    max-width: 590px;
}

.shop-hero-copy small {
    color: #d8ead8;
    display: block;
    font-size: 0.77rem;
    font-weight: 800;
    line-height: 1.5;
    margin-top: 1.25rem;
    max-width: 470px;
}

.shop-category-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: clamp(1.25rem, 3vw, 2.1rem) 0;
}

.shop-category-filter a {
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid var(--color-line);
    border-radius: 999px;
    color: var(--color-forest-dark);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 900;
    gap: 0.45rem;
    min-height: 40px;
    padding: 0.45rem 0.9rem;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.shop-category-filter a:hover,
.shop-category-filter a.is-active {
    background: var(--color-forest);
    border-color: var(--color-forest);
    color: var(--color-white);
    transform: translateY(-1px);
}

.shop-category-filter span {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.7rem;
    height: 21px;
    justify-content: center;
    min-width: 21px;
    padding: 0 0.3rem;
}

.shop-catalog-section {
    padding-top: clamp(1.25rem, 3vw, 2.5rem);
}

.shop-catalog-heading {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.shop-catalog-heading h2 {
    color: var(--color-forest-dark);
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1;
    margin: 0;
}

.shop-catalog-heading > p {
    color: var(--color-muted);
    line-height: 1.6;
    margin: 0;
    max-width: 370px;
}

.thepept-shop-main .woocommerce-notices-wrapper,
.thepept-shop-main .woocommerce-result-count,
.thepept-shop-main .woocommerce-ordering,
.thepept-shop-main .products {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.thepept-shop-main .woocommerce-result-count,
.thepept-shop-main .woocommerce-ordering {
    margin-bottom: 1.25rem;
    margin-top: 0;
}

.thepept-shop-main .woocommerce-ordering select {
    min-height: 42px;
}

.thepept-shop-main.woocommerce ul.products,
.thepept-shop-main .woocommerce ul.products,
.thepept-shop-main ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.thepept-shop-main.woocommerce ul.products li.product,
.thepept-shop-main .woocommerce ul.products li.product,
.thepept-shop-main ul.products li.product {
    border-radius: 14px;
    overflow: hidden;
    padding: 0;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.thepept-shop-main.woocommerce ul.products li.product:hover,
.thepept-shop-main .woocommerce ul.products li.product:hover,
.thepept-shop-main ul.products li.product:hover {
    border-color: rgba(185, 139, 72, 0.72);
    box-shadow: 0 24px 45px rgba(22, 35, 28, 0.16);
    transform: translateY(-5px);
}

.thepept-shop-main ul.products li.product > a:first-child {
    display: block;
    padding: 0.85rem 0.85rem 0;
}

.thepept-shop-main ul.products li.product a img {
    aspect-ratio: 1 / 0.85;
}

.thepept-shop-main ul.products li.product .woocommerce-loop-product__title,
.thepept-shop-main ul.products li.product .price {
    display: block;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
}

.thepept-shop-main ul.products li.product .button {
    margin: 0.95rem 0.85rem 0.85rem;
}

.shop-empty-state {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 239, 230, 0.86));
    border: 1px dashed rgba(18, 59, 41, 0.34);
    border-radius: 16px;
    margin: 1.5rem 0 0;
    padding: clamp(1.5rem, 5vw, 3.5rem);
    text-align: center;
}

.shop-empty-state > span {
    color: var(--color-gold);
    font-size: 0.75rem;
    font-weight: 950;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.shop-empty-state h2 {
    color: var(--color-forest-dark);
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    margin: 0.75rem auto;
    max-width: 680px;
}

.shop-empty-state p {
    color: var(--color-muted);
    line-height: 1.7;
    margin: 0 auto 1.35rem;
    max-width: 650px;
}

.shop-proof-strip {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(2.5rem, 6vw, 5rem);
}

.shop-proof-strip article {
    background: rgba(255, 255, 255, 0.7);
    border-top: 2px solid var(--color-gold);
    padding: 1.25rem 0;
}

.shop-proof-strip span {
    color: var(--color-gold);
    display: block;
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

.shop-proof-strip strong {
    color: var(--color-forest-dark);
    display: block;
    font-size: 1.05rem;
    margin-top: 0.45rem;
}

.shop-proof-strip p {
    color: var(--color-muted);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0.45rem 0 0;
}

.woocommerce .woocommerce-breadcrumb {
    color: var(--color-muted);
    font-size: 0.86rem;
    font-weight: 800;
    padding-top: 1.4rem;
}

.woocommerce .woocommerce-products-header {
    padding-bottom: 1.6rem;
    padding-top: clamp(2rem, 5vw, 4rem);
}

.woocommerce .woocommerce-products-header__title,
.woocommerce div.product .product_title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
    color: var(--color-forest-dark);
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1;
    margin: 0;
}

.woocommerce .term-description,
.woocommerce .woocommerce-products-header p {
    color: var(--color-muted);
    line-height: 1.7;
    max-width: 760px;
}

.woocommerce .woocommerce-result-count {
    color: var(--color-muted);
    font-weight: 800;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-cart table.cart input,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-account input.input-text {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    color: var(--color-ink);
    font: inherit;
    min-height: 46px;
    padding: 0 0.75rem;
}

.woocommerce ul.products {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin-bottom: clamp(2rem, 5vw, 4rem);
    padding-bottom: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    float: none;
    margin: 0;
    padding: 1rem;
    width: auto;
}

.woocommerce ul.products li.product a img {
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #ffffff, #eee9df);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    margin: 0 0 1rem;
    object-fit: cover;
    width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--color-forest-dark);
    font-size: 1.08rem;
    line-height: 1.2;
    padding: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--color-forest);
    font-size: 1.1rem;
    font-weight: 950;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--color-forest);
    border: 0;
    border-radius: var(--radius);
    color: var(--color-white);
    font-weight: 950;
    line-height: 1;
    min-height: 46px;
    padding: 0.9rem 1.1rem;
    text-align: center;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--color-forest-dark);
    color: var(--color-white);
}

.woocommerce span.onsale {
    background: var(--color-gold);
    border-radius: 999px;
    color: var(--color-white);
    font-size: 0.78rem;
    font-weight: 950;
    min-height: auto;
    padding: 0.42rem 0.7rem;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-left: 4px solid var(--color-forest);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
    color: var(--color-ink);
    line-height: 1.6;
}

.woocommerce table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals,
body:not(.thepept-checkout-page) .woocommerce-checkout #customer_details,
body:not(.thepept-checkout-page) .woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
}

.woocommerce table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: var(--color-line);
    padding: 1rem;
}

.woocommerce-cart .cart-collaterals .cart_totals,
body:not(.thepept-checkout-page) .woocommerce-checkout #customer_details,
body:not(.thepept-checkout-page) .woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    padding: clamp(1rem, 3vw, 1.5rem);
}

.woocommerce-checkout .col2-set {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-account .woocommerce {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(220px, 0.3fr) minmax(0, 1fr);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    border-radius: 6px;
    color: var(--color-forest);
    display: block;
    font-weight: 900;
    padding: 0.65rem 0.75rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: var(--color-soft);
}

@media (max-width: 980px) {
    .woocommerce ul.products,
    .woocommerce-checkout .col2-set,
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
    }

    .woocommerce table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
        border-bottom: 1px solid var(--color-line);
        display: block;
    }

    .woocommerce table.shop_table_responsive tr td,
    .woocommerce-page table.shop_table_responsive tr td {
        display: flex;
        justify-content: space-between;
        text-align: right;
    }
}

@media (max-width: 700px) {
    .woocommerce .woocommerce-products-header__title,
    .woocommerce div.product .product_title,
    .woocommerce-cart .entry-title,
    .woocommerce-checkout .entry-title,
    .woocommerce-account .entry-title {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .woocommerce .woocommerce-ordering,
    .woocommerce .woocommerce-ordering select,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button {
        width: 100%;
    }
}

@media (max-width: 980px) {
    .shop-hero-grid {
        gap: 1.5rem;
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .thepept-shop-main.woocommerce ul.products,
    .thepept-shop-main .woocommerce ul.products,
    .thepept-shop-main ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .thepept-shop-main {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }

    .shop-hero-section {
        border-radius: 14px;
    }

    .shop-hero-grid {
        padding: 1.25rem;
    }

    .shop-hero-copy h1 {
        font-size: clamp(2.8rem, 15vw, 4.25rem);
    }

    .shop-category-filter {
        flex-wrap: nowrap;
        margin-left: -0.9rem;
        margin-right: -0.9rem;
        overflow-x: auto;
        padding-left: 0.9rem;
        padding-right: 0.9rem;
        scrollbar-width: thin;
    }

    .shop-category-filter a {
        flex: 0 0 auto;
    }

    .shop-catalog-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .thepept-shop-main.woocommerce ul.products,
    .thepept-shop-main .woocommerce ul.products,
    .thepept-shop-main ul.products,
    .shop-proof-strip {
        grid-template-columns: 1fr;
    }

    .shop-proof-strip {
        gap: 0;
    }

    .shop-proof-strip article {
        padding: 1rem 0;
    }
}

/* Shared header and WooCommerce catalogue */
.site-notice {
    min-height: 50px;
    grid-template-columns: 1fr auto 32px;
    gap: 18px;
    padding: 8px max(24px, calc((100vw - 1280px) / 2));
    background: var(--color-forest);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.site-notice > span { justify-self: end; }

.site-notice button:not(.notice-close) {
    min-height: 30px;
    padding: 5px 14px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.site-notice .notice-close {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
}

.site-header {
    display: grid;
    grid-template-columns: auto auto minmax(250px, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 2vw, 34px);
    min-height: 76px;
    padding: 12px max(32px, calc((100vw - 1400px) / 2));
    border-bottom: 1px solid var(--color-line);
    background: var(--color-paper);
}

.site-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 30px;
    padding: 0 9px;
    border: 1px solid #e5e0d6;
    border-radius: 11px;
    background: #fbfaf7;
    color: #173d2d;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1;
}

.site-brand .site-brand__the {
    color: #646963;
    font-weight: 400;
    letter-spacing: -.25px;
}

.site-brand .site-brand__slash {
    margin: 0 4px 0 3px;
    color: #918b7f;
    font-weight: 400;
}

.site-brand .site-brand__pept {
    color: #173d2d;
    font-weight: 600;
    letter-spacing: -.35px;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.7vw, 28px);
    white-space: nowrap;
}

.site-menu-toggle {
    display: none;
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid var(--color-line);
    border-radius: 7px;
    background: #fff;
    color: var(--color-forest);
    cursor: pointer;
    font: 800 11px/1 Inter, Manrope, Arial, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.site-nav a {
    position: relative;
    padding: 8px 0;
    color: var(--color-ink);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.site-nav a::after {
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 2px;
    background: var(--color-forest);
    content: '';
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .2s ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after {
    transform: scaleX(1);
}

.site-nav a:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
    .site-nav a::after {
        transition: none;
    }
}

.site-search {
    display: flex;
    align-items: center;
    width: min(100%, 440px);
    min-width: 0;
    min-height: 43px;
    justify-self: center;
    justify-self: end;
    padding: 3px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    background: #fff;
}

.site-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--color-ink);
    font: inherit;
    font-size: 13px;
    padding: 8px 14px;
}

.site-search input[type='search'] {
    min-height: 0;
    padding: 8px 14px;
}

.site-search input:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 2px; border-radius: 999px; }

.site-search button,
.header-action {
    flex: 0 0 auto;
    min-height: 35px;
    padding: 8px 16px;
    border: 0;
    border-radius: 999px;
    background: var(--color-forest);
    color: #fff;
    font: 800 12px/1 Inter, Manrope, Arial, sans-serif;
    cursor: pointer;
}

.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    white-space: nowrap;
}

.header-selector,
.header-link,
.header-cart {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 700;
}

.header-selector::after { margin-left: 4px; content: '⌄'; }
.header-link b,
.cart-count {
    display: inline-grid;
    width: 24px;
    height: 24px;
    margin-left: 4px;
    border-radius: 50%;
    place-items: center;
    background: var(--color-forest);
    color: #fff;
    font-size: 11px;
}

.header-cart { color: var(--color-forest); }
.header-action { border-radius: 7px; padding-inline: 15px; }

.thepept-catalogue {
    min-height: 70vh;
    padding: clamp(44px, 7vw, 88px) 24px 96px;
    background: var(--color-paper);
}

.catalogue-shell { max-width: 1400px; margin: 0 auto; }
.catalogue-intro { max-width: 700px; }

.catalogue-overline {
    margin: 0 0 12px;
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.catalogue-intro h1 {
    margin: 0;
    color: var(--color-forest);
    font-family: Inter, Manrope, Arial, sans-serif;
    font-size: clamp(36px, 4vw, 42px);
    font-weight: 900;
    letter-spacing: -.055em;
    line-height: 1;
}

.catalogue-intro > p:last-child {
    margin: 16px 0 0;
    color: var(--color-muted);
    font-size: 16px;
    line-height: 1.65;
}

.catalogue-filters {
    display: flex;
    gap: 10px;
    margin: 34px 0 22px;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: thin;
}

.catalogue-filters a {
    flex: 0 0 auto;
    padding: 10px 17px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    background: #fff;
    color: var(--color-forest);
    font-size: 13px;
    font-weight: 800;
}

.catalogue-filters a.is-active,
.catalogue-filters a:hover,
.catalogue-filters a:focus-visible {
    border-color: var(--color-forest);
    background: var(--color-forest);
    color: #fff;
    outline: 0;
}

.catalogue-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 22px;
    color: var(--color-muted);
    font-size: 13px;
}

.catalogue-toolbar p { margin: 0; color: var(--color-forest); font-weight: 900; }
.catalogue-toolbar span { font-size: 12px; }

.thepept-catalogue-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    transition: opacity .2s ease;
}

.thepept-catalogue-grid[aria-busy='true'] { opacity: .55; pointer-events: none; }

.catalog-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--color-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 51, 39, .05);
}

.catalog-product-image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #eee7da;
}

.catalog-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.catalog-product-card:hover .catalog-product-image img { transform: scale(1.035); }

.catalog-product-badge {
    position: absolute;
    z-index: 1;
    top: 13px;
    left: 13px;
    padding: 6px 9px;
    border-radius: 5px;
    background: #c59650;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.catalog-product-body { padding: 17px 16px 12px; }
.catalog-product-category { margin: 0 0 8px; color: var(--color-muted); font-size: 12px; }

.catalog-product-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.catalog-product-title-row h2 { margin: 0; color: var(--color-forest); font-size: 17px; font-weight: 900; line-height: 1.25; }
.catalog-product-title-row strong { color: var(--color-forest); font-size: 14px; font-weight: 900; text-align: right; white-space: nowrap; }
.catalog-product-stock { margin: 12px 0 0; color: var(--color-muted); font-size: 12px; font-weight: 800; }
.catalog-product-stock.is-in-stock { color: var(--color-forest); }
.catalog-product-stock.is-out-of-stock { color: #8e442f; }

.catalog-product-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
    padding: 0 16px 16px;
    margin-top: auto;
}

.catalog-add-to-cart,
.catalog-document-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.catalog-add-to-cart {
    border: 1px solid var(--color-forest);
    background: var(--color-forest);
    color: #fff;
}

.catalog-add-to-cart.added { background: var(--color-forest-dark); }

.catalog-document-link {
    border: 1px solid var(--color-forest);
    background: #fff;
    color: var(--color-forest);
    font-size: 18px;
}

.catalog-empty-state,
.catalogue-filter-error {
    grid-column: 1 / -1;
    padding: 48px 24px;
    border: 1px dashed var(--color-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .58);
    color: var(--color-muted);
    text-align: center;
}

.catalog-empty-state strong { display: block; color: var(--color-forest); font-size: 20px; }
.catalog-empty-state p { margin: 10px 0 0; }
.catalogue-filter-error { margin-bottom: 16px; padding: 14px; }

.woocommerce-shop .joinchat,
.woocommerce-shop .wa__btn_popup,
.woocommerce-shop [class*='whatsapp'],
.post-type-archive-product .joinchat,
.post-type-archive-product .wa__btn_popup,
.post-type-archive-product [class*='whatsapp'] { display: none !important; }

/* Pagelayer's global header is enabled only on the WooCommerce archive. */
body.woocommerce-shop > .pagelayer-header { display: none !important; }

body.woocommerce-shop > .site-notice:not(.site-notice--catalogue),
body.woocommerce-shop > .site-header:not(.site-header--catalogue) { display: none; }

@media (max-width: 1220px) {
    .site-header { position: relative; grid-template-columns: auto auto minmax(0, 1fr) auto; }
    .site-menu-toggle { display: inline-flex; align-items: center; }
    .site-nav { display: none; }
    .site-nav.is-open {
        position: absolute;
        z-index: 40;
        top: calc(100% + 1px);
        left: 16px;
        right: 16px;
        display: grid;
        gap: 0;
        padding: 8px;
        border: 1px solid var(--color-line);
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 16px 34px rgba(22, 35, 28, .12);
    }
    .site-nav.is-open a { padding: 13px 10px; }
    .site-nav.is-open a::after { display: none; }
    .header-selector { display: none; }
    .thepept-catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .site-notice { grid-template-columns: 1fr auto; gap: 8px; padding-inline: 16px; text-align: left; }
    .site-notice > span { justify-self: start; grid-column: 1 / -1; }
    .site-notice button:not(.notice-close) { grid-column: 1; justify-self: start; }
    .site-notice .notice-close { grid-column: 2; grid-row: 1; justify-self: end; }
    .site-header { grid-template-columns: auto auto minmax(0, 1fr); gap: 8px; min-height: auto; padding: 12px 16px; }
    .site-search { grid-column: 1 / -1; grid-row: 2; width: 100%; }
    .header-actions { gap: 8px; }
    .header-link { display: none; }
    .header-cart span { display: none; }
    .header-action { padding-inline: 11px; }
    .thepept-catalogue { padding: 42px 16px 70px; }
    .catalogue-intro > p:last-child { font-size: 15px; }
    .catalogue-toolbar { align-items: flex-start; flex-direction: column; gap: 4px; }
    .thepept-catalogue-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* Premium WooCommerce product page */
body.single-product > .pagelayer-header,
body.single-product > .site-notice:not(.site-notice--product),
body.single-product > .site-header:not(.site-header--product),
.single-product .joinchat,
.single-product .wa__btn_popup,
.single-product [class*='whatsapp'] { display: none !important; }

.thepept-product-main { background: #f9f7f1; }
.pdp-v2 { padding: 0 24px 120px; background: #f9f7f1; color: #16231c; }
.pdp-v2-shell { width: min(100%, 1180px); margin: 0 auto; }

.pdp-v2 h1,
.pdp-v2 h2,
.pdp-v2 h3 {
    color: #163327;
    font-family: Georgia, Cambria, 'Times New Roman', serif;
    font-weight: 500;
    letter-spacing: -.035em;
}

.pdp-v2-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 28px 0 34px;
    color: #5c6460;
    font-size: 12px;
}

.pdp-v2-breadcrumb a { color: #163327; }
.pdp-v2-breadcrumb a:hover { text-decoration: underline; }

.pdp-v2-hero {
    display: grid;
    align-items: start;
    gap: clamp(38px, 6vw, 80px);
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
}

.pdp-v2-media-column { min-width: 0; }
.pdp-v2-gallery { position: static; }

.pdp-v2-gallery-main {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1.05;
    border: 1px solid #e5e0d5;
    border-radius: 14px;
    background: linear-gradient(140deg, #eeeadf, #f9f7f1 58%, #e5eadf);
}

.pdp-v2-gallery-slide { display: none; height: 100%; margin: 0; }
.pdp-v2-gallery-slide.is-active { display: block; }
.pdp-v2-gallery-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: clamp(28px, 8%, 64px);
    transition: transform 220ms ease;
}

.pdp-v2-gallery-main:hover .pdp-v2-gallery-slide img { transform: scale(1.025); }

.pdp-v2-stock-badge {
    position: absolute;
    z-index: 1;
    top: 18px;
    right: 18px;
    padding: 7px 10px;
    border: 1px solid #e5e0d5;
    border-radius: 999px;
    background: rgba(255, 255, 255, .88);
    color: #5c6460;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pdp-v2-stock-badge.is-available { border-color: #b9d0be; color: #163327; }

.pdp-v2-gallery-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.pdp-v2-gallery-thumbs button {
    width: 60px;
    height: 60px;
    overflow: hidden;
    padding: 0;
    border: 1px solid #e5e0d5;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.pdp-v2-gallery-thumbs button.is-active { border-color: #163327; box-shadow: 0 0 0 2px rgba(22, 51, 39, .12); }
.pdp-v2-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }

.pdp-v2-evidence {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid #e5e0d5;
    border-radius: 12px;
    background: #fff;
}

.pdp-v2-evidence article { min-width: 0; padding: 16px; border-right: 1px solid #e5e0d5; }
.pdp-v2-evidence article:last-child { border-right: 0; }
.pdp-v2-evidence span,
.pdp-v2-evidence strong { display: block; }
.pdp-v2-evidence span { color: #5c6460; font-size: 11px; }
.pdp-v2-evidence strong { margin-top: 6px; color: #163327; font-size: 12px; line-height: 1.35; }

.pdp-v2-research-note {
    margin-top: 16px;
    padding: 16px 18px;
    border-left: 3px solid #b98b48;
    border-radius: 8px;
    background: #f3eadb;
}

.pdp-v2-research-note strong,
.pdp-v2-overline {
    color: #7a5b2e;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pdp-v2-research-note p { margin: 7px 0 0; color: #4e504c; font-size: 13px; line-height: 1.6; }
.pdp-v2-final-research-note { margin-top: 28px; }

/* Purity Tests — uses the shared ThePept palette and header. */
.site-notice--purity-tests { display: none; }
.site-nav a[aria-current='page']::after { transform: scaleX(1); }
.thepept-purity-tests-page .joinchat,
.thepept-purity-tests-page .wa__btn_popup,
.thepept-purity-tests-page [class*='whatsapp'] { display: none !important; }
.thepept-purity-tests { min-height: 70vh; padding: clamp(52px, 7vw, 104px) 24px clamp(80px, 10vw, 136px); background: var(--color-paper); }
.purity-tests-shell { width: min(100%, 1400px); margin: 0 auto; }
.purity-tests-intro { max-width: 760px; }
.purity-tests-intro .section-kicker { margin-bottom: 18px; color: var(--color-gold); }
.purity-tests-intro h1 { max-width: 690px; margin: 0; color: var(--color-forest); font-size: clamp(42px, 5vw, 72px); font-weight: 950; letter-spacing: -.065em; line-height: .96; }
.purity-tests-intro > p:last-child { max-width: 680px; margin: 24px 0 0; color: var(--color-muted); font-size: 16px; line-height: 1.65; }
.purity-tests-catalogue { margin-top: clamp(42px, 6vw, 70px); }
.purity-tests-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.purity-tests-filters { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 10px; }
.purity-tests-filters button { min-height: 36px; padding: 8px 16px; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-white); color: var(--color-forest); cursor: pointer; font: 800 12px/1 Inter, Manrope, Arial, sans-serif; transition: background 180ms ease, border-color 180ms ease, color 180ms ease; }
.purity-tests-filters button:hover { border-color: var(--color-forest); }
.purity-tests-filters button.is-active { border-color: var(--color-forest); background: var(--color-forest); color: var(--color-white); }
.purity-tests-filters button:focus-visible,
.purity-test-card:focus-within,
.purity-certificate-modal__close:focus-visible { outline: 3px solid rgba(185, 139, 72, .7); outline-offset: 3px; }
.purity-tests-count { flex: 0 0 auto; margin: 0; color: var(--color-muted); font-size: 12px; white-space: nowrap; }
.purity-tests-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.purity-test-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--color-line); border-radius: 14px; background: var(--color-white); box-shadow: var(--shadow-card); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.purity-test-card:hover { border-color: rgba(22, 51, 39, .38); box-shadow: 0 15px 30px rgba(22, 35, 28, .11); transform: translateY(-2px); }
.purity-test-card[hidden] { display: none; }
.purity-test-preview { display: grid; aspect-ratio: 1 / .82; place-items: center; overflow: hidden; border-bottom: 1px solid var(--color-line); background: var(--color-soft); }
.purity-test-preview > img { width: 100%; height: 100%; object-fit: cover; }
.purity-test-document-placeholder { display: grid; place-items: center; gap: 12px; color: var(--color-muted); font-size: 12px; font-weight: 800; text-align: center; }
.purity-test-document-placeholder svg,
.purity-tests-empty svg { width: 34px; height: 34px; fill: none; stroke: var(--color-gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.4; }
.purity-test-content { display: flex; flex: 1 1 auto; flex-direction: column; padding: 22px; }
.purity-test-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.purity-test-category { display: block; margin-bottom: 6px; color: var(--color-muted); font-size: 11px; }
.purity-test-title-row h3 { margin: 0; color: var(--color-forest); font-size: 22px; line-height: 1.05; }
.purity-test-purity { flex: 0 0 auto; padding: 7px 9px; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-soft); color: var(--color-forest); font-size: 11px; font-weight: 900; white-space: nowrap; }
.purity-test-meta { display: grid; gap: 8px; margin: 20px 0 22px; }
.purity-test-meta div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; color: var(--color-muted); font-size: 12px; }
.purity-test-meta dt,
.purity-test-meta dd { margin: 0; }
.purity-test-meta dd { color: var(--color-ink); font-weight: 700; text-align: right; }
.purity-test-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: auto; }
.purity-test-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 14px; border-radius: var(--radius); font-size: 12px; text-align: center; }
.purity-test-actions .button-primary { box-shadow: 0 8px 16px rgba(22, 51, 39, .14); }
.purity-test-actions .button-secondary { border: 1px solid var(--color-line); background: var(--color-white); color: var(--color-forest); }
.purity-test-actions .button-secondary:hover { border-color: var(--color-forest); background: var(--color-soft); }
.purity-tests-empty { display: flex; align-items: flex-start; gap: 16px; max-width: 680px; padding: 26px; border: 1px solid var(--color-line); border-radius: 14px; background: var(--color-white); }
.purity-tests-empty strong { color: var(--color-forest); }
.purity-tests-empty p { margin: 7px 0 0; color: var(--color-muted); font-size: 14px; line-height: 1.6; }
.purity-certificate-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; }
.purity-certificate-modal[hidden] { display: none; }
.purity-certificate-modal__backdrop { position: absolute; inset: 0; background: rgba(16, 39, 30, .66); }
.purity-certificate-modal__dialog { position: relative; z-index: 1; display: flex; width: min(100%, 900px); max-height: min(88vh, 920px); flex-direction: column; overflow: hidden; border: 1px solid var(--color-line); border-radius: 14px; background: var(--color-white); box-shadow: var(--shadow-soft); }
.purity-certificate-modal__dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 26px 20px; border-bottom: 1px solid var(--color-line); }
.purity-certificate-modal__dialog .section-kicker { margin-bottom: 7px; color: var(--color-gold); }
.purity-certificate-modal__dialog h2 { margin: 0; color: var(--color-forest); font-size: 27px; line-height: 1.05; }
.purity-certificate-modal__close { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid var(--color-line); border-radius: 50%; background: var(--color-paper); color: var(--color-forest); cursor: pointer; font-size: 24px; line-height: 1; }
.purity-certificate-modal__document { min-height: 0; overflow: auto; padding: 24px; background: var(--color-soft); }
.purity-certificate-modal__document img { width: 100%; height: auto; margin: 0 auto; }
.purity-certificate-modal__document iframe { display: block; width: 100%; min-height: 68vh; border: 0; background: var(--color-white); }
body.purity-modal-open { overflow: hidden; }

@media (max-width: 980px) {
    .purity-tests-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .purity-tests-toolbar { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
    .thepept-purity-tests { padding: 44px 16px 72px; }
    .purity-tests-intro h1 { font-size: clamp(40px, 13vw, 56px); }
    .purity-tests-intro > p:last-child { font-size: 15px; }
    .purity-tests-filters { flex-wrap: nowrap; width: calc(100% + 16px); padding-right: 16px; overflow-x: auto; scrollbar-width: none; }
    .purity-tests-filters::-webkit-scrollbar { display: none; }
    .purity-tests-filters button { white-space: nowrap; }
    .purity-tests-count { white-space: normal; }
    .purity-tests-grid { grid-template-columns: 1fr; gap: 16px; }
    .purity-test-content { padding: 18px; }
    .purity-certificate-modal { padding: 12px; }
    .purity-certificate-modal__dialog { max-height: 94vh; border-radius: 12px; }
    .purity-certificate-modal__dialog > header { padding: 20px 18px 16px; }
    .purity-certificate-modal__document { padding: 14px; }
    .purity-certificate-modal__document iframe { min-height: 70vh; }
}

@media (prefers-reduced-motion: reduce) {
    .purity-tests-filters button,
    .purity-test-card { transition: none; }
}

.pdp-v2-summary { padding-top: clamp(8px, 2vw, 24px); }
.pdp-v2-summary .pdp-v2-overline { margin: 0 0 12px; color: #5c6460; }
.pdp-v2-summary h1 { margin: 0; font-size: clamp(44px, 5vw, 66px); line-height: .94; }

.pdp-v2-intro {
    margin: 25px 0 0;
    padding-left: 18px;
    border-left: 1px solid #b98b48;
    color: #4f5a54;
    font-family: Georgia, Cambria, serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.62;
}

.pdp-v2-intro p { margin: 0 0 12px; }
.pdp-v2-intro p:last-child { margin-bottom: 0; }

.pdp-v2-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 11px;
    margin: 25px 0;
    color: #163327;
    font-size: 28px;
    font-weight: 850;
}

.pdp-v2-price del { color: #5c6460; font-size: 16px; }
.pdp-v2-price span { color: #5c6460; font-size: 11px; font-weight: 700; }

.pdp-v2-variants { margin: 25px 0; }
.pdp-v2-variants h2 { margin: 0 0 12px; font-family: Inter, Manrope, Arial, sans-serif; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.pdp-v2-variant-list { display: grid; gap: 9px; }

.pdp-v2-variant {
    display: grid;
    grid-template-columns: 20px 1fr auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px;
    border: 1px solid #e5e0d5;
    border-radius: 10px;
    background: #fff;
    color: #163327;
    cursor: pointer;
    text-align: left;
    transition: border-color 180ms ease, background 180ms ease;
}

.pdp-v2-variant:hover,
.pdp-v2-variant.is-active { border-color: #163327; background: #f0f4ed; }
.pdp-v2-variant > span:nth-child(2) b,
.pdp-v2-variant > span:nth-child(2) small { display: block; }
.pdp-v2-variant small { margin-top: 3px; color: #5c6460; font-size: 11px; }
.pdp-v2-variant strong { font-size: 14px; }
.pdp-v2-radio { width: 17px; height: 17px; border: 1px solid #9a9e99; border-radius: 50%; }
.pdp-v2-variant.is-active .pdp-v2-radio { border: 5px solid #163327; }

.pdp-v2-purchase form.cart {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 10px;
    margin: 0;
}

.pdp-v2-purchase .variations,
.pdp-v2-purchase .single_variation_wrap,
.pdp-v2-purchase .woocommerce-variation-description,
.pdp-v2-purchase .woocommerce-variation-price { grid-column: 1 / -1; }
.pdp-v2-purchase .variations {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.pdp-v2-purchase .reset_variations { display: none !important; }

.pdp-v2-purchase .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 10px;
}

.pdp-v2-purchase .quantity {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #e5e0d5;
    border-radius: 9px;
    background: #fff;
}

.pdp-v2-purchase .quantity input {
    width: 44px;
    min-width: 0;
    border: 0;
    background: transparent;
    color: #163327;
    font: 800 14px/1 Inter, Manrope, Arial, sans-serif;
    text-align: center;
}

.pdp-v2-quantity-button {
    width: 34px;
    border: 0;
    background: transparent;
    color: #163327;
    cursor: pointer;
    font-size: 18px;
}

.pdp-v2 .pdp-v2-purchase .single_add_to_cart_button {
    min-height: 50px;
    border: 1px solid #163327 !important;
    border-radius: 9px;
    background: #163327 !important;
    color: #fff !important;
    cursor: pointer;
    font: 800 14px/1 Inter, Manrope, Arial, sans-serif;
    transition: background 180ms ease, transform 180ms ease;
}

.pdp-v2 .pdp-v2-purchase .single_add_to_cart_button:hover { background: #0f281e !important; transform: translateY(-1px); }
.pdp-v2 .pdp-v2-purchase .single_add_to_cart_button.disabled { opacity: .55; }
.pdp-v2-purchase .stock { grid-column: 1 / -1; margin: 0; color: #163327; font-size: 12px; font-weight: 800; }

.pdp-v2-delivery {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 12px;
    margin-top: 17px;
    padding: 15px;
    border: 1px solid #e5e0d5;
    border-radius: 10px;
    background: #fff;
}

.pdp-v2-delivery > span { color: #b98b48; font-size: 20px; }
.pdp-v2-delivery strong { color: #163327; font-size: 13px; }
.pdp-v2-delivery p { margin: 5px 0 0; color: #5c6460; font-size: 12px; line-height: 1.55; }

.pdp-v2-description,
.pdp-v2-details,
.pdp-v2-faq {
    margin-top: clamp(65px, 10vw, 110px);
}

.pdp-v2-description {
    padding: clamp(28px, 5vw, 56px);
    border: 1px solid #e5e0d5;
    border-radius: 14px;
    background: #fff;
}

.pdp-v2-description h2,
.pdp-v2-faq h2 { max-width: 610px; margin: 10px 0 28px; font-size: clamp(34px, 4vw, 48px); line-height: 1; }
.pdp-v2-prose { max-width: 760px; color: #4f5a54; font-size: 15px; line-height: 1.82; }
.pdp-v2-prose p { margin: 0 0 17px; }

.pdp-v2-tab-list { display: flex; gap: 28px; border-bottom: 1px solid #e5e0d5; }
.pdp-v2-tab-list button { position: relative; padding: 0 0 13px; border: 0; background: transparent; color: #5c6460; cursor: pointer; font: 800 14px/1 Inter, Manrope, Arial, sans-serif; }
.pdp-v2-tab-list button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #163327; content: ''; transform: scaleX(0); transition: transform 180ms ease; }
.pdp-v2-tab-list button.is-active { color: #163327; }
.pdp-v2-tab-list button.is-active::after { transform: scaleX(1); }

.pdp-v2-tab-panel { margin-top: 25px; padding: clamp(22px, 4vw, 36px); border: 1px solid #e5e0d5; border-radius: 14px; background: #fff; color: #4f5a54; line-height: 1.7; }
.pdp-v2-spec-list { margin: 0; }
.pdp-v2-spec-list div { display: grid; grid-template-columns: minmax(150px, .7fr) 1.3fr; gap: 18px; padding: 13px 0; border-bottom: 1px solid #eeeae1; }
.pdp-v2-spec-list div:last-child { border-bottom: 0; }
.pdp-v2-spec-list dt { color: #5c6460; font-size: 13px; }
.pdp-v2-spec-list dd { margin: 0; color: #163327; font-size: 13px; font-weight: 750; }
.pdp-v2-document-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.pdp-v2-document-actions p { margin: 0; color: #5c6460; font-size: 13px; }
.pdp-v2-regulatory-note { margin-top: 20px; padding: 18px; border-left: 3px solid #b98b48; border-radius: 8px; background: #f7f0e5; }
.pdp-v2-regulatory-note strong { color: #163327; }
.pdp-v2-regulatory-note p { margin: 6px 0 0; }

.pdp-v2-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(65px, 10vw, 110px); overflow: hidden; border: 1px solid #e5e0d5; border-radius: 14px; background: #fff; }
.pdp-v2-trust article { min-width: 0; padding: 26px 22px; border-right: 1px solid #e5e0d5; }
.pdp-v2-trust article:last-child { border-right: 0; }
.pdp-v2-trust .pdp-v2-trust-icon { display: block; width: 20px; height: 20px; color: #b98b48; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.pdp-v2-trust strong { display: block; margin-top: 12px; color: #163327; font-size: 14px; }
.pdp-v2-trust p { margin: 8px 0 0; color: #5c6460; font-size: 12px; line-height: 1.6; }

.pdp-v2-related { margin-top: clamp(65px, 10vw, 110px); }
.pdp-v2-related-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.pdp-v2-related-heading h2 { margin: 10px 0 0; font-size: clamp(34px, 4vw, 48px); line-height: 1; }
.pdp-v2-related-heading > a { color: #163327; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.pdp-v2-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.pdp-v2-related-card { display: grid; grid-template-columns: minmax(130px, .72fr) 1fr; overflow: hidden; border: 1px solid #e5e0d5; border-radius: 12px; background: #fff; color: inherit; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.pdp-v2-related-card:hover { box-shadow: 0 14px 26px rgba(22, 35, 28, .08); transform: translateY(-2px); }
.pdp-v2-related-card:focus-visible { outline: 3px solid rgba(185, 139, 72, .7); outline-offset: 3px; }
.pdp-v2-related-image { aspect-ratio: 1 / 1.15; background: #eee9df; }
.pdp-v2-related-image img { width: 100%; height: 100%; object-fit: cover; }
.pdp-v2-related-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 20px; }
.pdp-v2-related-content > span { color: #5c6460; font-size: 11px; }
.pdp-v2-related-content h3 { margin: 8px 0 12px; font-size: 25px; line-height: 1; }
.pdp-v2-related-content strong { color: #163327; font-size: 14px; }

.pdp-v2-faq-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.pdp-v2-faq-heading h2 { margin-bottom: 0; }
.pdp-v2-faq-heading > span { padding-bottom: 8px; color: #5c6460; font-size: 12px; }
.pdp-v2-accordion { display: grid; gap: 10px; margin-top: 28px; }
.pdp-v2-accordion details { padding: 0 20px; border: 1px solid #e5e0d5; border-radius: 10px; background: #fff; }
.pdp-v2-accordion summary { display: flex; align-items: center; min-height: 62px; color: #163327; cursor: pointer; font-size: 14px; font-weight: 800; list-style: none; }
.pdp-v2-accordion summary::-webkit-details-marker { display: none; }
.pdp-v2-accordion summary::after { margin-left: auto; content: '+'; color: #163327; font-size: 21px; font-weight: 400; }
.pdp-v2-accordion details[open] summary::after { content: '−'; }
.pdp-v2-accordion details p { margin: 0 0 19px; color: #5c6460; font-size: 14px; line-height: 1.7; }

.pdp-v2-sticky {
    display: none;
    position: fixed;
    z-index: 70;
    right: 0;
    bottom: 0;
    left: 0;
    align-items: center;
    gap: 14px;
    padding: 10px max(20px, calc((100vw - 1180px) / 2));
    border-top: 1px solid #e5e0d5;
    background: rgba(249, 247, 241, .97);
    box-shadow: 0 -8px 28px rgba(22, 35, 28, .1);
}

.pdp-v2-sticky.is-visible { display: flex; }
.pdp-v2-sticky img { width: 42px; height: 42px; border-radius: 7px; object-fit: cover; }
.pdp-v2-sticky div { min-width: 0; margin-right: auto; }
.pdp-v2-sticky strong,
.pdp-v2-sticky span { display: block; }
.pdp-v2-sticky strong { color: #163327; font-size: 13px; }
.pdp-v2-sticky span { margin-top: 3px; color: #5c6460; font-size: 11px; }
.pdp-v2-sticky > b {
    flex: 0 0 auto;
    min-width: max-content;
    color: #163327;
    white-space: nowrap;
}
.pdp-v2-sticky > b .price,
.pdp-v2-sticky > b .woocommerce-Price-amount,
.pdp-v2-sticky > b .woocommerce-Price-currencySymbol {
    display: inline !important;
    white-space: nowrap;
}
.pdp-v2-sticky .button { min-height: 40px; padding: 12px 17px; border-radius: 8px; }

@media (max-width: 860px) {
    .pdp-v2 { padding-inline: 16px; }
    .pdp-v2-hero { grid-template-columns: 1fr; }
    .pdp-v2-gallery { position: static; }
    .pdp-v2-summary { padding-top: 0; }
    .pdp-v2-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pdp-v2-trust article:nth-child(2) { border-right: 0; }
    .pdp-v2-trust article:nth-child(-n+2) { border-bottom: 1px solid #e5e0d5; }
    .pdp-v2-related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .pdp-v2 { padding-bottom: 90px; }
    .pdp-v2-breadcrumb { padding: 18px 0 24px; }
    .pdp-v2-gallery-main { aspect-ratio: 1 / 1.08; }
    .pdp-v2-evidence { grid-template-columns: 1fr; }
    .pdp-v2-evidence article { padding: 13px 15px; border-right: 0; border-bottom: 1px solid #e5e0d5; }
    .pdp-v2-evidence article:last-child { border-bottom: 0; }
    .pdp-v2-summary h1 { font-size: 46px; }
    .pdp-v2-purchase form.cart { grid-template-columns: 106px minmax(0, 1fr); }
    .pdp-v2-purchase .woocommerce-variation-add-to-cart { grid-template-columns: 106px minmax(0, 1fr); }
    .pdp-v2-description, .pdp-v2-tab-panel { padding: 22px 18px; }
    .pdp-v2-spec-list div { grid-template-columns: 1fr; gap: 4px; }
    .pdp-v2-trust { grid-template-columns: 1fr; }
    .pdp-v2-trust article, .pdp-v2-trust article:nth-child(2) { border-right: 0; border-bottom: 1px solid #e5e0d5; }
    .pdp-v2-trust article:last-child { border-bottom: 0; }
    .pdp-v2-faq-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .pdp-v2-faq-heading > span { padding-bottom: 0; }
    .pdp-v2-related-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
    .pdp-v2-sticky { gap: 9px; padding: 8px 12px; }
    .pdp-v2-sticky > b { display: none; }
    .pdp-v2-sticky .button { padding: 11px 12px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .pdp-v2 *, .pdp-v2 *::before, .pdp-v2 *::after { transition: none !important; }
}

