:root {
    --cphb-green-dark: #12331e;
    --cphb-green: #244a2d;
    --cphb-green-soft: #eef7ef;
    --cphb-gold: #c79a3a;
    --cphb-gold-soft: #fff5d8;
    --cphb-cream: #fffaf0;
    --cphb-text: #18221a;
    --cphb-muted: #68736a;
    --cphb-border: rgba(36, 74, 45, .12);
    --cphb-shadow: 0 24px 80px rgba(18, 51, 30, .12);
    --cphb-radius-lg: 26px;
    --cphb-radius-xl: 36px;
}

.cphb-root,
.cphb-root * {
    box-sizing: border-box;
}

.cphb-root {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    color: var(--cphb-text);
    background: linear-gradient(180deg, #fffaf0 0%, #fff 32%, #f8fbf7 100%);
    font-family: inherit;
    line-height: 1.9;
}

.cphb-root > * {
    position: relative;
    z-index: 1;
}

.cphb-root::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 0;
    background-repeat: repeat;
    background-position: center top;
    transition: opacity .25s ease;
}

.cphb-root.cphb-pattern-enabled::before {
    opacity: var(--cphb-pattern-opacity, .18);
}

.cphb-root a {
    color: inherit;
    text-decoration: none;
}


.cphb-pattern-enabled.cphb-pattern-style-eslimi::before {
    background-size: 220px 220px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23b89449' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M110 18c22 0 42 20 42 42s-20 42-42 42S68 122 68 144s20 42 42 42'/%3E%3Cpath d='M18 110c0-22 20-42 42-42s42 20 42 42-20 42-42 42-42 20-42 42'/%3E%3Cpath d='M110 18c-22 0-42 20-42 42s20 42 42 42 42 20 42 42-20 42-42 42'/%3E%3Cpath d='M18 110c0 22 20 42 42 42s42-20 42-42 20-42 42-42 42 20 42 42'/%3E%3Ccircle cx='110' cy='110' r='9' fill='%23244a2d' fill-opacity='.42' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-geometric::before {
    background-size: 180px 180px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23244a2d' stroke-opacity='.9' stroke-width='1.15'%3E%3Cpath d='M90 18 110 38 138 38 152 62 142 90 152 118 138 142 110 142 90 162 70 142 42 142 28 118 38 90 28 62 42 38 70 38Z'/%3E%3Cpath d='M90 40 102 68 132 70 110 90 118 120 90 104 62 120 70 90 48 70 78 68Z' stroke='%23c79a3a'/%3E%3Ccircle cx='90' cy='90' r='10' fill='%23c79a3a' fill-opacity='.35' stroke='none'/%3E%3Cpath d='M0 90h40M140 90h40M90 0v40M90 140v40'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-shamseh::before {
    background-size: 200px 200px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23c79a3a' stroke-width='1.1' stroke-linejoin='round'%3E%3Ccircle cx='100' cy='100' r='54'/%3E%3Cpath d='M100 26 113 55 144 56 121 78 129 109 100 92 71 109 79 78 56 56 87 55Z'/%3E%3Cpath d='M100 8 108 34 126 16 122 42 148 34 132 54 158 60 132 66 148 86 122 78 126 104 108 86 100 112 92 86 74 104 78 78 52 86 68 66 42 60 68 54 52 34 78 42 74 16 92 34Z'/%3E%3Ccircle cx='100' cy='100' r='16' fill='%23244a2d' fill-opacity='.32' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-container {
    width: min(100% - 32px, 1220px);
    margin-inline: auto;
}

.cphb-hero-section {
    position: relative;
    isolation: isolate;
    padding: clamp(18px, 3vw, 42px) 0 clamp(20px, 5vw, 54px);
    background:
        radial-gradient(circle at 15% 9%, rgba(199, 154, 58, .22), transparent 32%),
        radial-gradient(circle at 82% 6%, rgba(36, 74, 45, .16), transparent 35%),
        linear-gradient(180deg, #fffaf0 0%, #fffdf8 58%, #fff 100%);
}

.cphb-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(36, 74, 45, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 74, 45, .04) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .48), transparent 85%);
}

.cphb-gallery-hero-container {
    display: block;
}

.cphb-gallery-shell {
    position: relative;
    max-width: 1080px;
    margin-inline: auto;
    border-radius: var(--cphb-radius-xl);
    overflow: visible;
}

.cphb-gallery-shell::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: clamp(-8px, -1vw, -4px);
    width: min(520px, 70vw);
    height: 44px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: radial-gradient(ellipse, rgba(18, 51, 30, .18), transparent 70%);
    filter: blur(18px);
    z-index: -1;
}

.cphb-slider {
    width: 100%;
}

.cphb-slider-viewport {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: clamp(14px, 3vw, 30px) 0 clamp(12px, 2vw, 24px);
}

.cphb-slider-track {
    display: flex;
    align-items: center;
    gap: 0;
    direction: ltr;
    will-change: transform;
    transition: transform .6s cubic-bezier(.22, 1, .36, 1);
    touch-action: pan-y;
    cursor: grab;
}

.cphb-slider-track.is-dragging {
    cursor: grabbing;
}

.cphb-slide {
    position: relative;
    flex: 0 0 clamp(260px, 38vw, 470px);
    aspect-ratio: 2 / 3;
    margin: 0 clamp(-62px, -4vw, -26px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 32px;
    background: linear-gradient(140deg, var(--cphb-green-soft), var(--cphb-gold-soft));
    box-shadow: 0 18px 48px rgba(18, 51, 30, .13);
    opacity: .25;
    filter: blur(4px) saturate(.72) brightness(1.02);
    transform: scale(.76) rotateY(0deg);
    transform-origin: center center;
    transition:
        opacity .48s ease,
        filter .48s ease,
        transform .48s ease,
        box-shadow .48s ease;
    pointer-events: none;
}

.cphb-slide.is-active {
    opacity: 1;
    filter: none;
    transform: scale(1);
    z-index: 6;
    box-shadow: 0 28px 82px rgba(18, 51, 30, .24);
    pointer-events: auto;
}

.cphb-slide.is-side {
    opacity: .44;
    filter: blur(2.4px) saturate(.8) brightness(1.04);
    transform: scale(.86);
    z-index: 3;
}

.cphb-slide.is-near {
    opacity: .12;
    filter: blur(5px) saturate(.68);
    transform: scale(.7);
    z-index: 1;
}

.cphb-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cphb-slide-placeholder {
    display: grid;
    place-items: center;
    color: rgba(18, 51, 30, .62);
    font-weight: 900;
    text-align: center;
    padding: 16px;
}

.cphb-slider-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 18px;
    margin-top: 2px;
}

.cphb-slider-btn {
    display: none !important;
}

.cphb-slider-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    max-width: min(420px, 56vw);
    overflow: hidden;
}

.cphb-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 0;
    border: 0;
    background: rgba(36, 74, 45, .2);
    cursor: pointer;
    transition: width .24s ease, background .24s ease, opacity .24s ease;
}

.cphb-dot.is-active {
    width: 24px;
    background: var(--cphb-gold);
}

.cphb-intro-section {
    padding: clamp(22px, 5vw, 58px) 0 clamp(28px, 6vw, 76px);
    background: #fff;
}

.cphb-section-heading {
    max-width: 760px;
    margin: 0 auto clamp(22px, 4vw, 38px);
    text-align: center;
}

.cphb-luxe-heading {
    position: relative;
    padding-top: 20px;
}

.cphb-luxe-heading::before {
    content: "";
    display: block;
    width: min(190px, 42vw);
    height: 1px;
    margin: 0 auto 15px;
    background: linear-gradient(90deg, transparent, rgba(199, 154, 58, .72), transparent);
}

.cphb-section-heading h2 {
    margin: 0;
    color: var(--cphb-green-dark);
    font-size: clamp(23px, 3vw, 38px);
    line-height: 1.35;
    font-weight: 950;
    letter-spacing: -.03em;
}

.cphb-section-heading p {
    margin: 10px 0 0;
    color: var(--cphb-muted);
    font-size: 15px;
}

.cphb-category-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(10px, 2vw, 18px);
    align-items: stretch;
}

.cphb-category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 152px;
    padding: 14px 12px;
    border: 1px solid rgba(36, 74, 45, .08);
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 44px rgba(18, 51, 30, .07);
    text-align: center;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.cphb-category-card:hover {
    transform: translateY(-3px);
    border-color: rgba(199, 154, 58, .32);
    box-shadow: 0 22px 58px rgba(18, 51, 30, .11);
}

.cphb-category-image {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    margin-bottom: 10px;
    border-radius: 18px;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 28%, rgba(199, 154, 58, .22), transparent 34%),
        linear-gradient(135deg, #f8fbf7, #fff6dd);
}

.cphb-category-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cphb-category-placeholder {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    color: var(--cphb-green-dark);
    background: rgba(255, 255, 255, .75);
    font-size: 24px;
    font-weight: 950;
}

.cphb-category-card strong {
    display: block;
    color: var(--cphb-green-dark);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.65;
}

.cphb-products-section {
    padding: clamp(44px, 7vw, 86px) 0;
    background: linear-gradient(180deg, #fff, #f8fbf7);
}

.cphb-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.cphb-product-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border-radius: 24px;
    border: 1px solid var(--cphb-border);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(18, 51, 30, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    color: inherit;
}

.cphb-product-card:hover {
    transform: translateY(-5px);
    border-color: rgba(199, 154, 58, .26);
    box-shadow: 0 28px 70px rgba(18, 51, 30, .12);
}

.cphb-product-media {
    position: relative;
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #edf6ef, #fff5d8);
    overflow: hidden;
}

.cphb-product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

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

.cphb-product-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 22% 24%, rgba(199, 154, 58, .28), transparent 30%),
        linear-gradient(135deg, #edf6ef, #fff5d8);
}

.cphb-product-placeholder span {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    border-radius: 999px;
    color: var(--cphb-green-dark);
    background: rgba(255, 255, 255, .7);
    font-size: 32px;
    font-weight: 950;
}

.cphb-product-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 6px 11px;
    border-radius: 999px;
    color: var(--cphb-green-dark);
    background: rgba(255, 255, 255, .84);
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(9px);
}

.cphb-product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px;
    text-align: right;
}

.cphb-product-body h3 {
    margin: 0 0 8px;
    color: var(--cphb-green-dark);
    font-size: 17px;
    font-weight: 950;
    line-height: 1.45;
}

.cphb-product-body p {
    margin: 0;
    color: var(--cphb-muted);
    font-size: 14px;
    line-height: 1.9;
}

.cphb-product-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin-top: 18px;
    padding: 9px 14px;
    border: 1px solid rgba(199, 154, 58, .48);
    border-radius: 999px;
    color: #9a7127;
    background: rgba(255, 250, 240, .7);
    font-size: 13px;
    font-weight: 950;
}

.cphb-product-link::after {
    content: "←";
    margin-right: 7px;
    transition: transform .2s ease;
}

.cphb-product-card:hover .cphb-product-link::after {
    transform: translateX(-3px);
}

.cphb-benefits-section {
    padding: clamp(44px, 7vw, 86px) 0;
    background: #fff;
}

.cphb-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.cphb-benefit-card {
    position: relative;
    min-height: 210px;
    padding: 28px;
    border-radius: var(--cphb-radius-lg);
    border: 1px solid var(--cphb-border);
    background: linear-gradient(180deg, #fff, #fffaf0);
    box-shadow: 0 18px 50px rgba(18, 51, 30, .06);
    overflow: hidden;
}

.cphb-benefit-card::after {
    content: "";
    position: absolute;
    left: -28px;
    bottom: -38px;
    width: 110px;
    height: 110px;
    border-radius: 999px;
    background: rgba(199, 154, 58, .12);
}

.cphb-benefit-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    border-radius: 15px;
    color: #fff;
    background: var(--cphb-green);
    font-weight: 950;
}

.cphb-benefit-card h3 {
    margin: 0 0 10px;
    color: var(--cphb-green-dark);
    font-size: 20px;
    font-weight: 950;
    line-height: 1.45;
}

.cphb-benefit-card p {
    margin: 0;
    color: var(--cphb-muted);
    font-size: 14px;
}

.cphb-cta-section {
    padding: clamp(40px, 6vw, 80px) 0;
    background: #fff;
}

.cphb-cta-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: clamp(28px, 5vw, 54px);
    border-radius: 34px;
    color: #fff;
    background:
        radial-gradient(circle at 12% 14%, rgba(255, 255, 255, .18), transparent 28%),
        linear-gradient(135deg, var(--cphb-green-dark), var(--cphb-green));
    box-shadow: 0 26px 80px rgba(18, 51, 30, .22);
}

.cphb-cta-card h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 3vw, 42px);
    line-height: 1.35;
    font-weight: 950;
}

.cphb-cta-card p {
    max-width: 760px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .82);
}

.cphb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 999px;
    font-weight: 900;
    font-size: 15px;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
    border: 1px solid transparent;
    cursor: pointer;
}

.cphb-button:hover {
    transform: translateY(-2px);
}

.cphb-button-light {
    color: var(--cphb-green-dark);
    background: #fff;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .13);
}

.cphb-homepage-active.cphb-hide-theme-title .entry-title,
.cphb-homepage-active.cphb-hide-theme-title .page-title,
.cphb-homepage-active.cphb-hide-theme-title h1.entry-title {
    display: none !important;
}

@media (max-width: 1100px) {
    .cphb-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cphb-category-strip {
        grid-template-columns: repeat(5, minmax(120px, 1fr));
        overflow-x: auto;
        padding: 4px 2px 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .cphb-category-strip::-webkit-scrollbar {
        display: none;
    }

    .cphb-category-card {
        scroll-snap-align: center;
    }
}

@media (max-width: 900px) {
    .cphb-slide {
        flex-basis: clamp(250px, 56vw, 370px);
        margin-inline: -34px;
    }

    .cphb-benefits-grid,
    .cphb-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 640px) {
    
.cphb-pattern-enabled.cphb-pattern-style-eslimi::before {
    background-size: 220px 220px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23b89449' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M110 18c22 0 42 20 42 42s-20 42-42 42S68 122 68 144s20 42 42 42'/%3E%3Cpath d='M18 110c0-22 20-42 42-42s42 20 42 42-20 42-42 42-42 20-42 42'/%3E%3Cpath d='M110 18c-22 0-42 20-42 42s20 42 42 42 42 20 42 42-20 42-42 42'/%3E%3Cpath d='M18 110c0 22 20 42 42 42s42-20 42-42 20-42 42-42 42 20 42 42'/%3E%3Ccircle cx='110' cy='110' r='9' fill='%23244a2d' fill-opacity='.42' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-geometric::before {
    background-size: 180px 180px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23244a2d' stroke-opacity='.9' stroke-width='1.15'%3E%3Cpath d='M90 18 110 38 138 38 152 62 142 90 152 118 138 142 110 142 90 162 70 142 42 142 28 118 38 90 28 62 42 38 70 38Z'/%3E%3Cpath d='M90 40 102 68 132 70 110 90 118 120 90 104 62 120 70 90 48 70 78 68Z' stroke='%23c79a3a'/%3E%3Ccircle cx='90' cy='90' r='10' fill='%23c79a3a' fill-opacity='.35' stroke='none'/%3E%3Cpath d='M0 90h40M140 90h40M90 0v40M90 140v40'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-shamseh::before {
    background-size: 200px 200px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23c79a3a' stroke-width='1.1' stroke-linejoin='round'%3E%3Ccircle cx='100' cy='100' r='54'/%3E%3Cpath d='M100 26 113 55 144 56 121 78 129 109 100 92 71 109 79 78 56 56 87 55Z'/%3E%3Cpath d='M100 8 108 34 126 16 122 42 148 34 132 54 158 60 132 66 148 86 122 78 126 104 108 86 100 112 92 86 74 104 78 78 52 86 68 66 42 60 68 54 52 34 78 42 74 16 92 34Z'/%3E%3Ccircle cx='100' cy='100' r='16' fill='%23244a2d' fill-opacity='.32' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-container {
        width: min(100% - 20px, 1220px);
    }

    .cphb-hero-section {
        padding: 10px 0 22px;
    }

    .cphb-slider-viewport {
        width: calc(100% + 20px);
        margin-inline: -10px;
        border-radius: 0;
        padding: 14px 0 10px;
    }

    .cphb-slide {
        flex-basis: min(72vw, 312px);
        margin-inline: -32px;
        border-radius: 27px;
        opacity: .2;
        filter: blur(4px) saturate(.7);
        transform: scale(.72);
        box-shadow: 0 12px 36px rgba(18, 51, 30, .12);
    }

    .cphb-slide.is-active {
        opacity: 1;
        filter: none;
        transform: scale(1);
        box-shadow: 0 22px 58px rgba(18, 51, 30, .22);
    }

    .cphb-slide.is-side {
        opacity: .38;
        transform: scale(.82);
        filter: blur(2.6px) saturate(.78);
    }

    .cphb-slider-nav {
        margin-top: 0;
    }

    .cphb-dot {
        width: 6px;
        height: 6px;
    }

    .cphb-dot.is-active {
        width: 20px;
    }

    .cphb-intro-section {
        padding: 18px 0 34px;
    }

    .cphb-section-heading {
        margin-bottom: 20px;
    }

    .cphb-luxe-heading {
        padding-top: 14px;
    }

    .cphb-section-heading h2 {
        font-size: 23px;
    }

    .cphb-section-heading p {
        font-size: 14px;
    }

    .cphb-category-strip {
        display: flex;
        gap: 12px;
        margin-inline: -10px;
        padding: 4px 10px 16px;
        overflow-x: auto;
    }

    .cphb-category-card {
        flex: 0 0 118px;
        min-height: 136px;
        padding: 12px 10px;
        border-radius: 18px;
    }

    .cphb-category-image {
        width: 68px;
        height: 68px;
        border-radius: 16px;
    }

    .cphb-category-card strong {
        font-size: 13px;
    }

    .cphb-benefits-grid,
    .cphb-products-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cphb-products-section,
    .cphb-benefits-section {
        padding: 38px 0;
    }

    .cphb-benefit-card {
        min-height: auto;
        padding: 22px;
        border-radius: 22px;
    }

    .cphb-product-card {
        border-radius: 22px;
    }

    .cphb-product-media {
        aspect-ratio: 16 / 10;
    }

    .cphb-cta-card {
        padding: 26px 20px;
        border-radius: 26px;
        text-align: center;
    }

    .cphb-button {
        width: 100%;
    }
}

@media (max-width: 390px) {
    .cphb-slide {
        flex-basis: 74vw;
        margin-inline: -28px;
    }

    .cphb-product-body {
        padding: 16px;
    }
}

/* v1.0.3: subtle luxury pattern and practical hero image guard */
.cphb-root {
    position: relative;
    isolation: isolate;
}

.cphb-root.cphb-pattern-enabled::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: var(--cphb-pattern-opacity, .22);
    background-image:
        radial-gradient(circle at 16px 16px, rgba(199, 154, 58, .34) 0 1.1px, transparent 1.2px),
        radial-gradient(ellipse at 70% 30%, rgba(36, 74, 45, .22) 0 1.6px, transparent 1.7px),
        linear-gradient(135deg, transparent 0 45%, rgba(199, 154, 58, .08) 45% 46%, transparent 46% 100%);
    background-size: 42px 42px, 74px 74px, 118px 118px;
    background-position: 0 0, 12px 18px, 0 0;
    mix-blend-mode: multiply;
}

.cphb-root.cphb-pattern-enabled > * {
    position: relative;
    z-index: 1;
}

.cphb-root.cphb-pattern-enabled .cphb-hero-section {
    background:
        radial-gradient(circle at 15% 9%, rgba(199, 154, 58, .24), transparent 32%),
        radial-gradient(circle at 82% 6%, rgba(36, 74, 45, .18), transparent 35%),
        radial-gradient(circle at 50% 96%, rgba(199, 154, 58, .12), transparent 28%),
        linear-gradient(180deg, #fffaf0 0%, #fffdf8 58%, #fff 100%);
}

.cphb-root.cphb-pattern-enabled .cphb-intro-section,
.cphb-root.cphb-pattern-enabled .cphb-benefits-section,
.cphb-root.cphb-pattern-enabled .cphb-cta-section {
    background: rgba(255, 255, 255, .86);
}

.cphb-root.cphb-pattern-enabled .cphb-products-section {
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,251,247,.9));
}

.cphb-image-shield {
    display: none;
}

.cphb-image-guard-enabled .cphb-slide,
.cphb-image-guard-enabled .cphb-slide * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.cphb-image-guard-enabled .cphb-slide img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}

.cphb-image-guard-enabled .cphb-image-shield {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 8;
    pointer-events: auto;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    background:
        linear-gradient(135deg, rgba(255,255,255,.035), transparent 24%, rgba(199,154,58,.035) 54%, transparent 78%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 1px, transparent 1px 18px);
}

.cphb-image-guard-enabled .cphb-slide[data-cphb-watermark]::after {
    content: attr(data-cphb-watermark);
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 9;
    transform: translateX(-50%);
    pointer-events: none;
    color: rgba(255, 255, 255, .32);
    text-shadow: 0 2px 12px rgba(18, 51, 30, .18);
    font-size: clamp(14px, 2vw, 22px);
    font-weight: 950;
    letter-spacing: .08em;
    opacity: .52;
    mix-blend-mode: overlay;
}

@media print {
    .cphb-image-guard-enabled .cphb-hero-gallery-section {
        display: none !important;
    }
}

@media (max-width: 640px) {
    .cphb-root.cphb-pattern-enabled::before {
        opacity: calc(var(--cphb-pattern-opacity, .22) * .72);
        background-size: 38px 38px, 64px 64px, 96px 96px;
    }

    .cphb-image-guard-enabled .cphb-slide[data-cphb-watermark]::after {
        bottom: 13px;
        font-size: 13px;
        opacity: .42;
    }
}


/* v1.0.5: Visible Iranian background pattern fix.
   The old root-only pattern sat behind opaque sections. This overlay paints the pattern
   inside the content sections, above their solid backgrounds but below real content. */

.cphb-pattern-enabled {
    --cphb-current-pattern-size: 220px 220px;
    --cphb-current-pattern-image: none;
    --cphb-section-pattern-opacity: calc(var(--cphb-pattern-opacity, .18) * .65);
}

.cphb-pattern-enabled.cphb-pattern-style-eslimi {
    --cphb-current-pattern-size: 220px 220px;
    --cphb-current-pattern-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23b89449' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M110 18c22 0 42 20 42 42s-20 42-42 42S68 122 68 144s20 42 42 42'/%3E%3Cpath d='M18 110c0-22 20-42 42-42s42 20 42 42-20 42-42 42-42 20-42 42'/%3E%3Cpath d='M110 18c-22 0-42 20-42 42s20 42 42 42 42 20 42 42-20 42-42 42'/%3E%3Cpath d='M18 110c0 22 20 42 42 42s42-20 42-42 20-42 42-42 42 20 42 42'/%3E%3Cpath d='M110 52c16 18 16 98 0 116M52 110c18-16 98-16 116 0' stroke='%23244a2d' stroke-opacity='.55'/%3E%3Ccircle cx='110' cy='110' r='8' fill='%23c79a3a' fill-opacity='.45' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-geometric {
    --cphb-current-pattern-size: 180px 180px;
    --cphb-current-pattern-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23244a2d' stroke-opacity='1' stroke-width='1.45'%3E%3Cpath d='M90 18 110 38 138 38 152 62 142 90 152 118 138 142 110 142 90 162 70 142 42 142 28 118 38 90 28 62 42 38 70 38Z'/%3E%3Cpath d='M90 40 102 68 132 70 110 90 118 120 90 104 62 120 70 90 48 70 78 68Z' stroke='%23c79a3a' stroke-width='1.8'/%3E%3Ccircle cx='90' cy='90' r='10' fill='%23c79a3a' fill-opacity='.42' stroke='none'/%3E%3Cpath d='M0 90h40M140 90h40M90 0v40M90 140v40' stroke-opacity='.55'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-shamseh {
    --cphb-current-pattern-size: 200px 200px;
    --cphb-current-pattern-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23c79a3a' stroke-width='1.45' stroke-linejoin='round'%3E%3Ccircle cx='100' cy='100' r='56'/%3E%3Cpath d='M100 26 113 55 144 56 121 78 129 109 100 92 71 109 79 78 56 56 87 55Z'/%3E%3Cpath d='M100 8 108 34 126 16 122 42 148 34 132 54 158 60 132 66 148 86 122 78 126 104 108 86 100 112 92 86 74 104 78 78 52 86 68 66 42 60 68 54 52 34 78 42 74 16 92 34Z'/%3E%3Ccircle cx='100' cy='100' r='16' fill='%23244a2d' fill-opacity='.36' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled::before {
    background-image: var(--cphb-current-pattern-image);
    background-size: var(--cphb-current-pattern-size);
    background-repeat: repeat;
    opacity: var(--cphb-pattern-opacity, .18);
}

.cphb-pattern-enabled .cphb-hero-section,
.cphb-pattern-enabled .cphb-intro-section,
.cphb-pattern-enabled .cphb-products-section,
.cphb-pattern-enabled .cphb-benefits-section,
.cphb-pattern-enabled .cphb-cta-section {
    position: relative;
    isolation: isolate;
}

.cphb-pattern-enabled .cphb-hero-section::before,
.cphb-pattern-enabled .cphb-intro-section::before,
.cphb-pattern-enabled .cphb-products-section::before,
.cphb-pattern-enabled .cphb-benefits-section::before,
.cphb-pattern-enabled .cphb-cta-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    opacity: var(--cphb-section-pattern-opacity);
    background-image: var(--cphb-current-pattern-image);
    background-size: var(--cphb-current-pattern-size);
    background-repeat: repeat;
    background-position: center top;
}

.cphb-pattern-enabled .cphb-container,
.cphb-pattern-enabled .cphb-gallery-shell,
.cphb-pattern-enabled .cphb-section-heading,
.cphb-pattern-enabled .cphb-category-strip,
.cphb-pattern-enabled .cphb-products-grid,
.cphb-pattern-enabled .cphb-benefits-grid,
.cphb-pattern-enabled .cphb-cta-card {
    position: relative;
    z-index: 2;
}

/* Slightly reveal the pattern under white sections without making product cards ugly. */
.cphb-pattern-enabled .cphb-intro-section {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .90), rgba(255, 255, 255, .94)),
        #fff;
}

.cphb-pattern-enabled .cphb-products-section {
    background:
        linear-gradient(180deg, rgba(248, 251, 247, .92), rgba(255, 255, 255, .94)),
        #f8fbf7;
}

@media (max-width: 640px) {
    .cphb-pattern-enabled {
        --cphb-section-pattern-opacity: calc(var(--cphb-pattern-opacity, .18) * .48);
    }

    .cphb-pattern-enabled.cphb-pattern-style-eslimi,
    .cphb-pattern-enabled.cphb-pattern-style-shamseh {
        --cphb-current-pattern-size: 160px 160px;
    }

    .cphb-pattern-enabled.cphb-pattern-style-geometric {
        --cphb-current-pattern-size: 140px 140px;
    }
}


/* v1.0.6: Product switcher and retail/wholesale sliders */
.cphb-product-switcher {
    display: grid;
    gap: clamp(16px, 3vw, 28px);
}

.cphb-featured-product-panel {
    display: grid;
    grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
    gap: clamp(18px, 4vw, 42px);
    align-items: center;
    padding: clamp(16px, 3vw, 28px);
    border: 1px solid rgba(36, 74, 45, .10);
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 16%, rgba(199, 154, 58, .14), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(255, 250, 240, .88));
    box-shadow: 0 22px 68px rgba(18, 51, 30, .10);
    overflow: hidden;
}

.cphb-featured-product-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 28px;
    background: var(--cphb-green-soft);
}

.cphb-featured-product-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cphb-featured-product-content {
    min-width: 0;
}

.cphb-mini-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 8px;
    padding: 5px 12px;
    border-radius: 999px;
    color: var(--cphb-green-dark);
    background: rgba(199, 154, 58, .16);
    font-size: 12px;
    font-weight: 900;
}

.cphb-featured-product-content h3 {
    margin: 0;
    color: var(--cphb-green-dark);
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.4;
    font-weight: 950;
}

.cphb-featured-product-content p {
    margin: 10px 0 18px;
    color: var(--cphb-muted);
    font-size: 15px;
}

.cphb-feature-link {
    display: inline-flex;
    width: fit-content;
}

.cphb-switcher-row-wrap,
.cphb-horizontal-slider {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 10px;
    align-items: center;
}

.cphb-switcher-row,
.cphb-horizontal-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(160px, 220px);
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 4px 2px 12px;
    direction: rtl;
}

.cphb-switcher-row::-webkit-scrollbar,
.cphb-horizontal-track::-webkit-scrollbar {
    display: none;
}

.cphb-switcher-card {
    scroll-snap-align: start;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 86px;
    padding: 10px;
    border: 1px solid rgba(36, 74, 45, .12);
    border-radius: 22px;
    background: rgba(255, 255, 255, .82);
    color: var(--cphb-text);
    text-align: right;
    cursor: pointer;
    box-shadow: 0 12px 32px rgba(18, 51, 30, .07);
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.cphb-switcher-card:hover,
.cphb-switcher-card.is-active {
    transform: translateY(-2px);
    border-color: rgba(199, 154, 58, .55);
    background: #fffaf0;
    box-shadow: 0 18px 44px rgba(18, 51, 30, .12);
}

.cphb-switcher-card .cphb-category-image {
    width: 64px;
    height: 64px;
    border-radius: 18px;
}

.cphb-switcher-card strong {
    display: block;
    overflow: hidden;
    color: var(--cphb-green-dark);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cphb-switcher-card small {
    display: inline-flex;
    margin-top: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    color: #6d4c0f;
    background: rgba(199, 154, 58, .17);
    font-size: 11px;
    font-weight: 900;
}

.cphb-strip-btn {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: var(--cphb-green-dark);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(18, 51, 30, .18);
    transition: transform .2s ease, opacity .2s ease;
}

.cphb-strip-btn:hover {
    transform: translateY(-1px);
}

.cphb-product-slider-section {
    padding: clamp(34px, 6vw, 82px) 0;
    background:
        radial-gradient(circle at 15% 8%, rgba(199, 154, 58, .13), transparent 32%),
        linear-gradient(180deg, #fffdf8, #f8fbf7);
}

.cphb-wholesale-slider-section {
    background:
        radial-gradient(circle at 88% 18%, rgba(36, 74, 45, .12), transparent 34%),
        linear-gradient(180deg, #f8fbf7, #fff);
}

.cphb-horizontal-track {
    grid-auto-columns: minmax(240px, 292px);
    padding-block: 8px 16px;
}

.cphb-slider-product-card {
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    border: 1px solid rgba(36, 74, 45, .10);
    border-radius: 28px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 20px 54px rgba(18, 51, 30, .10);
    transition: transform .22s ease, box-shadow .22s ease;
}

.cphb-slider-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 76px rgba(18, 51, 30, .15);
}

.cphb-slider-product-card .cphb-product-media {
    aspect-ratio: 4 / 3;
    border-radius: 0;
}

.cphb-price {
    margin: 6px 0 10px;
    color: var(--cphb-green-dark);
    font-weight: 950;
}

.cphb-section-action {
    display: flex;
    justify-content: center;
    margin-top: clamp(16px, 3vw, 26px);
}

.cphb-button-outline {
    border: 1px solid rgba(199, 154, 58, .46);
    color: var(--cphb-green-dark);
    background: rgba(255, 255, 255, .72);
}

.cphb-button-outline:hover {
    background: var(--cphb-gold-soft);
}

.cphb-pattern-enabled .cphb-product-slider-section {
    position: relative;
    isolation: isolate;
}

.cphb-pattern-enabled .cphb-product-slider-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: var(--cphb-section-pattern-opacity);
    background-image: var(--cphb-current-pattern-image);
    background-size: var(--cphb-current-pattern-size);
    background-repeat: repeat;
    background-position: center top;
}

@media (max-width: 768px) {
    .cphb-featured-product-panel {
        grid-template-columns: 1fr;
        border-radius: 28px;
        padding: 14px;
    }

    .cphb-featured-product-media {
        aspect-ratio: 16 / 11;
        border-radius: 24px;
    }

    .cphb-switcher-row-wrap,
    .cphb-horizontal-slider {
        grid-template-columns: 1fr;
    }

    .cphb-strip-btn {
        display: none;
    }

    .cphb-switcher-row {
        grid-auto-columns: minmax(148px, 76vw);
        padding-inline: 2px;
    }

    .cphb-horizontal-track {
        grid-auto-columns: minmax(235px, 78vw);
        padding-inline: 2px;
    }

    .cphb-product-slider-section {
        padding: 34px 0;
    }
}

@media (max-width: 480px) {
    .cphb-switcher-card {
        grid-template-columns: 58px minmax(0, 1fr);
        min-height: 78px;
        border-radius: 20px;
    }

    .cphb-switcher-card .cphb-category-image {
        width: 58px;
        height: 58px;
        border-radius: 16px;
    }

    .cphb-featured-product-content h3 {
        font-size: 21px;
    }
}


/* v1.0.7: all-products mixed autoplay slider under featured products */
.cphb-all-products-mix {
    margin: clamp(10px, 2vw, 18px) 0 clamp(24px, 4vw, 44px);
    padding: clamp(16px, 3vw, 24px);
    border: 1px solid rgba(36, 74, 45, .10);
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 10%, rgba(199, 154, 58, .16), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(255, 250, 240, .86));
    box-shadow: 0 20px 62px rgba(18, 51, 30, .09);
}

.cphb-subsection-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.cphb-subsection-heading h3 {
    margin: 0;
    color: var(--cphb-green-dark);
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.35;
    font-weight: 950;
}

.cphb-subsection-heading p {
    max-width: 620px;
    margin: 0;
    color: var(--cphb-muted);
    font-size: 14px;
}

.cphb-auto-products-slider .cphb-horizontal-track {
    grid-auto-columns: minmax(220px, 270px);
}

.cphb-mix-product-card {
    background: rgba(255, 255, 255, .94);
}

.cphb-mix-product-card .cphb-product-media {
    aspect-ratio: 1 / 1;
}

@media (max-width: 768px) {
    .cphb-all-products-mix {
        padding: 14px;
        border-radius: 28px;
    }

    .cphb-subsection-heading {
        display: block;
    }

    .cphb-subsection-heading p {
        margin-top: 6px;
    }

    .cphb-auto-products-slider .cphb-horizontal-track {
        grid-auto-columns: minmax(220px, 76vw);
    }
}

/* v1.0.8: Corpyco nuts and dried-fruits pattern */
.cphb-pattern-enabled.cphb-pattern-style-nuts::before {
    background-size: 210px 210px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='210' height='210' viewBox='0 0 210 210'%3E%3Cg fill='none' stroke='%23244a2d' stroke-opacity='.72' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='54' cy='54' rx='10' ry='25' transform='rotate(-34 54 54)' fill='%23c79a3a' fill-opacity='.18'/%3E%3Cellipse cx='54' cy='54' rx='4' ry='16' transform='rotate(-34 54 54)'/%3E%3Cellipse cx='158' cy='58' rx='12' ry='22' transform='rotate(28 158 58)' fill='%23244a2d' fill-opacity='.10'/%3E%3Cpath d='M151 45c10 9 13 20 8 31'/%3E%3Cpath d='M64 142c18-8 34-5 45 9-17 10-34 7-45-9Z' fill='%23c79a3a' fill-opacity='.16'/%3E%3Cpath d='M71 143c12 1 22 4 31 11'/%3E%3Cpath d='M146 143c9-17 23-25 40-22-6 20-20 28-40 22Z' fill='%23244a2d' fill-opacity='.10'/%3E%3Cpath d='M151 140c11-5 20-10 29-17'/%3E%3Cpath d='M104 88c10-17 24-23 43-17-8 17-23 24-43 17Z' fill='%23c79a3a' fill-opacity='.13'/%3E%3Cpath d='M112 86c10-2 18-6 27-12'/%3E%3C/g%3E%3Cg fill='%23c79a3a' fill-opacity='.28'%3E%3Ccircle cx='25' cy='112' r='3'/%3E%3Ccircle cx='188' cy='96' r='2.8'/%3E%3Ccircle cx='118' cy='190' r='2.6'/%3E%3Ccircle cx='92' cy='25' r='2.4'/%3E%3C/g%3E%3C/svg%3E");
}

.cphb-pattern-enabled.cphb-pattern-style-nuts {
    --cphb-current-pattern-size: 210px 210px;
    --cphb-current-pattern-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='210' height='210' viewBox='0 0 210 210'%3E%3Cg fill='none' stroke='%23244a2d' stroke-opacity='.72' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='54' cy='54' rx='10' ry='25' transform='rotate(-34 54 54)' fill='%23c79a3a' fill-opacity='.18'/%3E%3Cellipse cx='54' cy='54' rx='4' ry='16' transform='rotate(-34 54 54)'/%3E%3Cellipse cx='158' cy='58' rx='12' ry='22' transform='rotate(28 158 58)' fill='%23244a2d' fill-opacity='.10'/%3E%3Cpath d='M151 45c10 9 13 20 8 31'/%3E%3Cpath d='M64 142c18-8 34-5 45 9-17 10-34 7-45-9Z' fill='%23c79a3a' fill-opacity='.16'/%3E%3Cpath d='M71 143c12 1 22 4 31 11'/%3E%3Cpath d='M146 143c9-17 23-25 40-22-6 20-20 28-40 22Z' fill='%23244a2d' fill-opacity='.10'/%3E%3Cpath d='M151 140c11-5 20-10 29-17'/%3E%3Cpath d='M104 88c10-17 24-23 43-17-8 17-23 24-43 17Z' fill='%23c79a3a' fill-opacity='.13'/%3E%3Cpath d='M112 86c10-2 18-6 27-12'/%3E%3C/g%3E%3Cg fill='%23c79a3a' fill-opacity='.28'%3E%3Ccircle cx='25' cy='112' r='3'/%3E%3Ccircle cx='188' cy='96' r='2.8'/%3E%3Ccircle cx='118' cy='190' r='2.6'/%3E%3Ccircle cx='92' cy='25' r='2.4'/%3E%3C/g%3E%3C/svg%3E");
}

@media (max-width: 640px) {
    .cphb-pattern-enabled.cphb-pattern-style-nuts {
        --cphb-current-pattern-size: 170px 170px;
    }
}


/* v1.0.12: homepage category system */
.cphb-home-categories-section {
    position: relative;
    isolation: isolate;
    padding: clamp(28px, 5vw, 72px) 0;
    background:
        radial-gradient(circle at 8% 12%, rgba(199, 154, 58, .16), transparent 34%),
        radial-gradient(circle at 92% 18%, rgba(36, 74, 45, .10), transparent 36%),
        linear-gradient(180deg, #fffdf8 0%, #fff 100%);
}

.cphb-home-categories-section .cphb-container {
    display: grid;
    gap: clamp(26px, 5vw, 54px);
}

.cphb-category-heading {
    margin-bottom: clamp(16px, 3vw, 28px);
}

.cphb-main-category-strip {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 10px;
    align-items: center;
}

.cphb-main-category-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 280px);
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 6px 2px 16px;
    direction: rtl;
}

.cphb-main-category-track::-webkit-scrollbar {
    display: none;
}

.cphb-main-category-card {
    scroll-snap-align: start;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    min-height: 106px;
    padding: 14px;
    border: 1px solid rgba(36, 74, 45, .12);
    border-radius: 28px;
    color: var(--cphb-text);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(255, 250, 240, .82));
    box-shadow: 0 16px 44px rgba(18, 51, 30, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.cphb-main-category-card:hover {
    transform: translateY(-3px);
    border-color: rgba(199, 154, 58, .55);
    box-shadow: 0 24px 62px rgba(18, 51, 30, .13);
}

.cphb-main-category-icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 24px;
    color: var(--cphb-green-dark);
    background:
        radial-gradient(circle at 35% 28%, rgba(199, 154, 58, .32), transparent 44%),
        linear-gradient(135deg, var(--cphb-green-soft), #fff);
    font-size: 28px;
    font-weight: 950;
}

.cphb-main-category-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cphb-main-category-text {
    min-width: 0;
}

.cphb-main-category-text small,
.cphb-specialty-category-body small {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    color: #6f4b0c;
    background: rgba(199, 154, 58, .18);
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
}

.cphb-main-category-text strong {
    display: block;
    color: var(--cphb-green-dark);
    font-size: 17px;
    line-height: 1.45;
    font-weight: 950;
}

.cphb-main-category-text em {
    display: -webkit-box;
    margin-top: 4px;
    overflow: hidden;
    color: var(--cphb-muted);
    font-size: 12px;
    font-style: normal;
    line-height: 1.65;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cphb-specialty-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 2vw, 20px);
}

.cphb-specialty-category-card {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    min-height: 164px;
    overflow: hidden;
    border: 1px solid rgba(36, 74, 45, .10);
    border-radius: 30px;
    color: var(--cphb-text);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 52px rgba(18, 51, 30, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.cphb-specialty-category-card:hover {
    transform: translateY(-4px);
    border-color: rgba(199, 154, 58, .52);
    box-shadow: 0 28px 70px rgba(18, 51, 30, .13);
}

.cphb-specialty-category-image {
    display: grid;
    place-items: center;
    min-height: 100%;
    overflow: hidden;
    border-radius: 0 30px 30px 0;
    color: var(--cphb-green-dark);
    background:
        radial-gradient(circle at 40% 34%, rgba(199, 154, 58, .25), transparent 45%),
        var(--cphb-green-soft);
    font-size: 34px;
    font-weight: 950;
}

.cphb-specialty-category-image img {
    width: 100%;
    height: 100%;
    min-height: 164px;
    display: block;
    object-fit: cover;
}

.cphb-specialty-category-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 16px 0 16px 16px;
}

.cphb-specialty-category-body strong {
    color: var(--cphb-green-dark);
    font-size: 18px;
    line-height: 1.45;
    font-weight: 950;
}

.cphb-specialty-category-body em {
    display: -webkit-box;
    margin-top: 7px;
    overflow: hidden;
    color: var(--cphb-muted);
    font-size: 13px;
    font-style: normal;
    line-height: 1.8;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cphb-specialty-category-body b {
    display: inline-flex;
    width: fit-content;
    margin-top: 12px;
    color: var(--cphb-gold);
    font-size: 12px;
    font-weight: 950;
}

.cphb-pattern-enabled .cphb-home-categories-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: var(--cphb-section-pattern-opacity);
    background-image: var(--cphb-current-pattern-image);
    background-size: var(--cphb-current-pattern-size);
    background-repeat: repeat;
    background-position: center top;
}

@media (max-width: 980px) {
    .cphb-specialty-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cphb-specialty-category-card {
        grid-template-columns: 112px minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    .cphb-home-categories-section {
        padding: 30px 0;
    }

    .cphb-main-category-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .cphb-main-category-strip .cphb-strip-btn {
        display: none;
    }

    .cphb-main-category-track {
        grid-auto-columns: minmax(220px, 76vw);
        padding-inline: 2px;
    }

    .cphb-specialty-category-grid {
        grid-template-columns: 1fr;
    }

    .cphb-specialty-category-card {
        grid-template-columns: 104px minmax(0, 1fr);
        min-height: 138px;
        border-radius: 24px;
    }

    .cphb-specialty-category-image {
        border-radius: 0 24px 24px 0;
    }

    .cphb-specialty-category-image img {
        min-height: 138px;
    }

    .cphb-specialty-category-body {
        padding: 13px 0 13px 13px;
    }

    .cphb-specialty-category-body strong {
        font-size: 16px;
    }
}

@media (max-width: 440px) {
    .cphb-specialty-category-card {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .cphb-specialty-category-body em {
        -webkit-line-clamp: 2;
    }
}



/* v1.0.14: frontend section ordering */
.cphb-root {
    display: flex;
    flex-direction: column;
}

.cphb-root > .cphb-hero-section {
    order: var(--cphb-order-hero, 10);
}

.cphb-root > .cphb-home-categories-section {
    order: var(--cphb-order-categories, 20);
}

.cphb-root > .cphb-quality-video-section {
    order: var(--cphb-order-quality-video, 25);
}

.cphb-root > .cphb-intro-section {
    order: var(--cphb-order-intro, 30);
}

.cphb-root > .cphb-all-products-section {
    order: var(--cphb-order-all-products, 40);
}

.cphb-root > .cphb-featured-products-section {
    order: var(--cphb-order-featured-products, 45);
}

.cphb-root > #cphb-retail-products {
    order: var(--cphb-order-retail, 50);
}

.cphb-root > #cphb-wholesale-products {
    order: var(--cphb-order-wholesale, 60);
}

.cphb-root > .cphb-benefits-section {
    order: var(--cphb-order-benefits, 70);
}

.cphb-root > .cphb-cta-section {
    order: var(--cphb-order-cta, 80);
}


/* v1.0.15: split all-products and featured-products into separate sections */
.cphb-all-products-section {
    padding: clamp(34px, 6vw, 82px) 0;
    background:
        radial-gradient(circle at 12% 10%, rgba(199, 154, 58, .14), transparent 34%),
        linear-gradient(180deg, #fffdf8, #f8fbf7);
}

.cphb-featured-products-section {
    padding-top: clamp(34px, 6vw, 82px);
}

.cphb-all-products-section .cphb-all-products-mix {
    margin-top: 0;
    margin-bottom: 0;
}

.cphb-pattern-enabled .cphb-all-products-section {
    position: relative;
    isolation: isolate;
}

.cphb-pattern-enabled .cphb-all-products-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: var(--cphb-section-pattern-opacity);
    background-image: var(--cphb-current-pattern-image);
    background-size: var(--cphb-current-pattern-size);
    background-repeat: repeat;
    background-position: center top;
}

/* v1.0.16: SEO intro, shorter gallery, clearer retail/wholesale, lighter product cards */
.cphb-hero-copy {
    width: min(100%, 880px);
    margin: clamp(12px, 2vw, 22px) auto 0;
    text-align: center;
}

.cphb-hero-copy h1 {
    margin: 0;
    color: var(--cphb-green-dark);
    font-size: clamp(26px, 4vw, 48px);
    line-height: 1.35;
    font-weight: 950;
    letter-spacing: -.02em;
}

.cphb-hero-copy p {
    max-width: 820px;
    margin: 10px auto 0;
    color: var(--cphb-muted);
    font-size: clamp(14px, 1.6vw, 17px);
    line-height: 2;
}

.cphb-hero-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.cphb-button-primary {
    color: #fff;
    background: var(--cphb-green-dark);
    box-shadow: 0 16px 38px rgba(18, 51, 30, .18);
}

.cphb-button-primary:hover {
    transform: translateY(-1px);
    background: #0e2b19;
}

.cphb-hero-gallery-section .cphb-gallery-shell {
    max-width: 920px;
}

.cphb-hero-gallery-section .cphb-slider-viewport {
    padding: clamp(8px, 2vw, 18px) 0 clamp(6px, 1.4vw, 14px);
}

.cphb-hero-gallery-section .cphb-slide {
    flex-basis: clamp(210px, 28vw, 340px);
    box-shadow: 0 14px 38px rgba(18, 51, 30, .12);
}

.cphb-hero-gallery-section .cphb-slide.is-active {
    box-shadow: 0 20px 58px rgba(18, 51, 30, .20);
}

.cphb-unit-label {
    display: inline-flex;
    width: fit-content;
    margin: 4px 0 10px;
    padding: 4px 10px;
    border-radius: 999px;
    color: var(--cphb-green-dark);
    background: rgba(36, 74, 45, .08);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.7;
}

.cphb-retail-slider-section {
    background:
        radial-gradient(circle at 14% 12%, rgba(199, 154, 58, .16), transparent 30%),
        linear-gradient(180deg, #fffaf0, #fffdf8);
}

.cphb-wholesale-slider-section {
    background:
        radial-gradient(circle at 86% 12%, rgba(36, 74, 45, .18), transparent 32%),
        linear-gradient(180deg, #eef7ef, #fff);
}

.cphb-retail-slider-section .cphb-section-heading h2::after,
.cphb-wholesale-slider-section .cphb-section-heading h2::after {
    content: "";
    display: block;
    width: 72px;
    height: 4px;
    margin: 10px auto 0;
    border-radius: 999px;
}

.cphb-retail-slider-section .cphb-section-heading h2::after {
    background: var(--cphb-gold);
}

.cphb-wholesale-slider-section .cphb-section-heading h2::after {
    background: var(--cphb-green-dark);
}

.cphb-wholesale-slider-section .cphb-product-badge {
    background: var(--cphb-green-dark);
    color: #fff;
}

.cphb-retail-slider-section .cphb-product-badge {
    background: var(--cphb-gold-soft);
    color: #6f4b0c;
}

@media (max-width: 640px) {
    .cphb-hero-section {
        padding: 8px 0 18px;
    }

    .cphb-hero-gallery-section .cphb-slide {
        flex-basis: min(58vw, 230px);
        margin-inline: -24px;
        border-radius: 22px;
    }

    .cphb-hero-copy {
        margin-top: 10px;
        padding-inline: 4px;
    }

    .cphb-hero-copy h1 {
        font-size: 23px;
    }

    .cphb-hero-copy p {
        font-size: 13px;
        line-height: 1.85;
    }

    .cphb-hero-actions .cphb-button {
        width: 100%;
        justify-content: center;
    }
}


/* v1.0.17: center single leftover specialty category card on desktop */
@media (min-width: 981px) {
    .cphb-specialty-category-grid > .cphb-specialty-category-card:last-child:nth-child(3n + 1) {
        grid-column: 2 / span 1;
    }
}


/* v1.0.18: real product quality video, lazy-loaded and mobile-first */
.cphb-quality-video-section {
    position: relative;
    padding: clamp(30px, 5vw, 72px) 0;
    overflow: hidden;
    isolation: isolate;
}

.cphb-quality-video-section::before {
    content: "";
    position: absolute;
    inset: 8% -12% auto auto;
    width: min(420px, 62vw);
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(36, 74, 45, .13), rgba(36, 74, 45, 0) 68%);
    pointer-events: none;
    z-index: -1;
}

.cphb-quality-video-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    align-items: center;
    gap: clamp(26px, 5vw, 72px);
    padding: clamp(20px, 3.6vw, 46px);
    border: 1px solid rgba(36, 74, 45, .10);
    border-radius: clamp(28px, 4vw, 46px);
    background:
        radial-gradient(circle at 88% 18%, rgba(199, 154, 58, .13), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(246, 250, 245, .94));
    box-shadow: 0 24px 70px rgba(18, 51, 30, .10);
}

.cphb-quality-video-content {
    max-width: 610px;
}

.cphb-quality-video-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    color: var(--cphb-green-dark);
    background: rgba(36, 74, 45, .08);
    font-size: 12px;
    font-weight: 900;
}

.cphb-quality-video-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cphb-gold);
    box-shadow: 0 0 0 5px rgba(199, 154, 58, .12);
}

.cphb-quality-video-content h2 {
    margin: 0;
    color: var(--cphb-green-dark);
    font-size: clamp(26px, 3.6vw, 46px);
    line-height: 1.45;
    font-weight: 950;
    letter-spacing: -.025em;
}

.cphb-quality-video-content > p {
    margin: 14px 0 0;
    color: var(--cphb-muted);
    font-size: clamp(14px, 1.45vw, 17px);
    line-height: 2.05;
}

.cphb-quality-video-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.cphb-quality-video-points span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(36, 74, 45, .10);
    border-radius: 999px;
    color: #294c33;
    background: rgba(255, 255, 255, .76);
    font-size: 12px;
    font-weight: 800;
}

.cphb-quality-video-points span::before {
    content: "✓";
    color: var(--cphb-green-dark);
    font-weight: 950;
}

.cphb-quality-video-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.cphb-quality-video-media {
    position: relative;
    width: min(100%, 520px);
    justify-self: end;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .70);
    border-radius: clamp(24px, 3vw, 38px);
    background: #e9efe8;
    box-shadow: 0 24px 60px rgba(18, 51, 30, .18);
}

.cphb-quality-video-media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(10, 31, 18, .07), transparent 32%, transparent 70%, rgba(10, 31, 18, .16));
}

.cphb-quality-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #e9efe8;
}

.cphb-quality-video-badge,
.cphb-quality-video-note,
.cphb-quality-video-toggle {
    position: absolute;
    z-index: 2;
}

.cphb-quality-video-badge {
    top: 14px;
    right: 14px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 999px;
    color: #fff;
    background: rgba(14, 43, 25, .72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 11px;
    font-weight: 900;
}

.cphb-quality-video-note {
    right: 14px;
    bottom: 14px;
    padding: 6px 10px;
    border-radius: 999px;
    color: rgba(255, 255, 255, .94);
    background: rgba(14, 43, 25, .58);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 10px;
    font-weight: 800;
}

.cphb-quality-video-toggle {
    left: 14px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    color: #fff;
    background: rgba(14, 43, 25, .66);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.cphb-quality-video-toggle:hover,
.cphb-quality-video-toggle:focus-visible {
    transform: translateY(-1px) scale(1.03);
    background: rgba(14, 43, 25, .86);
}

.cphb-quality-video-toggle span {
    display: block;
    font-size: 14px;
    line-height: 1;
}

.cphb-video-reduced-motion .cphb-quality-video-note {
    display: none;
}

@media (max-width: 900px) {
    .cphb-quality-video-card {
        grid-template-columns: 1fr;
    }

    .cphb-quality-video-content {
        max-width: none;
        text-align: center;
    }

    .cphb-quality-video-points,
    .cphb-quality-video-actions {
        justify-content: center;
    }

    .cphb-quality-video-media {
        justify-self: center;
        width: min(100%, 560px);
    }
}

@media (max-width: 640px) {
    .cphb-quality-video-section {
        padding: 22px 0 34px;
    }

    .cphb-quality-video-card {
        gap: 20px;
        padding: 16px;
        border-radius: 26px;
    }

    .cphb-quality-video-content h2 {
        font-size: 25px;
        line-height: 1.55;
    }

    .cphb-quality-video-content > p {
        font-size: 13px;
        line-height: 1.9;
    }

    .cphb-quality-video-points {
        gap: 6px;
        margin-top: 14px;
    }

    .cphb-quality-video-points span {
        padding: 6px 9px;
        font-size: 11px;
    }

    .cphb-quality-video-actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .cphb-quality-video-actions .cphb-button {
        width: 100%;
        justify-content: center;
    }

    .cphb-quality-video-media {
        border-radius: 24px;
    }

    .cphb-quality-video-badge {
        top: 10px;
        right: 10px;
    }

    .cphb-quality-video-note {
        right: 10px;
        bottom: 10px;
    }

    .cphb-quality-video-toggle {
        left: 10px;
        bottom: 10px;
        width: 40px;
        height: 40px;
    }
}
