* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    position: relative;
}

.plans-section {
    width: 100%;
    padding: 0px 18px;
    background:
        radial-gradient(circle at top left, rgba(22, 101, 52, 0.10), transparent 32%),
        radial-gradient(circle at top right, rgba(234, 88, 12, 0.10), transparent 34%),
        #fbfff8;
    font-family: Inter, Arial, sans-serif;
    color: #0f172a;
}

.plans-container {
    max-width: 1320px;
    margin: 0 auto;
}

.plans-heading {
    text-align: center;
    margin-bottom: 58px;
}

.plans-heading h2 {
    margin: 0;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.05;
    letter-spacing: -2px;
    color: #064e2a;
    font-weight: 800;
}

    .plans-heading p {
    margin: 18px 0 0;
    color: #64748b;
    font-size: clamp(16px, 2vw, 20px);
}

/* Premium mockup refinements */
.plans-section {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 8% 4%, rgba(166, 202, 126, 0.34), transparent 27%),
        radial-gradient(circle at 94% 9%, rgba(245, 194, 73, 0.20), transparent 24%),
        linear-gradient(180deg, #fbfff7 0%, #fffdf6 100%);
}

.plans-section::before,
.plans-section::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(102, 145, 62, 0.16);
    border-radius: 56% 44% 62% 38%;
    transform: rotate(28deg);
    pointer-events: none;
}

.plans-section::before { top: 30px; left: -110px; }
.plans-section::after { right: -120px; bottom: 120px; }

.plans-heading h2 {
    color: #0c4d2a;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 800;
    letter-spacing: -2.2px;
}

.plans-heading h2::first-line { color: #0b5130; }

.plans-heading p {
    color: #506b59;
    font-weight: 500;
}

.plans-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 920px;
    margin: -16px auto 44px;
    border: 1px solid #e5ebd8;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 42px rgba(38, 79, 35, 0.08);
    overflow: hidden;
}

.plans-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 14px 15px;
    border-right: 1px solid #e5ebd8;
}

.plans-trust-item:last-child { border-right: 0; }
.plans-trust-item strong { display: block; color: #14532d; font-size: 11px; }
.plans-trust-item small { display: block; margin-top: 2px; color: #748175; font-size: 10px; }
.plans-trust-icon { font-size: 21px; line-height: 1; flex: 0 0 auto; }

.basket-text-header {
    background: linear-gradient(135deg, #ffffff 5%, #f3f9e9 100%);
    border-color: #dce7cd;
    min-height: 252px;
    padding: 24px 24px 22px;
}

.family-text-header {
    background: linear-gradient(135deg, #fffefa 5%, #fff3e5 100%);
    border-color: rgba(235, 145, 47, 0.42);
}

.premium-text-header {
    background: linear-gradient(135deg, #ffffff 5%, #edf9ef 100%);
}

.basket-visual {
    display: flex;
    align-items: flex-end;
    gap: 3px;
    min-height: 42px;
    margin-bottom: 10px;
    font-size: 32px;
    filter: drop-shadow(0 7px 8px rgba(40, 85, 32, 0.12));
}

.basket-visual span:nth-child(2) { font-size: 27px; transform: translateY(-5px); }
.basket-visual span:nth-child(3) { font-size: 25px; transform: translateY(-2px); }

.plan-card {
    border-radius: 24px;
    padding: 12px 12px 18px;
    border-color: #dbe6d2;
    box-shadow: 0 24px 58px rgba(48, 80, 38, 0.10);
}

.plan-card.popular {
    border-color: #d99a32;
    box-shadow: 0 26px 66px rgba(184, 119, 22, 0.16);
}

.popular-badge {
    background: linear-gradient(135deg, #c98a20, #a96608);
    border-radius: 999px;
    padding: 9px 20px;
}

.select-plan-btn { border-radius: 999px; min-height: 50px; }

/* Keep the full five-column table visible on tablet and mobile. */
.compare-table-scroll {
    overflow: visible;
    scrollbar-width: none;
}

.compare-table-scroll::-webkit-scrollbar { display: none; }

.compare-table {
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1.16fr) repeat(4, minmax(0, 0.96fr));
}

.compare-table > div { overflow-wrap: anywhere; }

.plans-sequence-note {
    width: fit-content;
    max-width: 100%;
    margin: -30px auto 42px;
    padding: 9px 16px;
    border: 1px solid rgba(183, 139, 35, 0.34);
    border-radius: 999px;
    background: rgba(255, 250, 232, 0.82);
    color: #7a5a13;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: center;
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.plan-card {
    position: relative;
    min-width: 0;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid #d8e3d0;
    border-radius: 20px;
    padding: 14px 14px 18px;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(12px);
    overflow: visible;
}

.plan-card.popular {
    border-color: #f97316;
    box-shadow: 0 24px 70px rgba(249, 115, 22, 0.16);
}

.popular-badge {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    background: linear-gradient(135deg, #f97316, #ea580c);
    color: #fff;
    padding: 9px 20px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(234, 88, 12, 0.28);
}

/* Basket top section - same style as your reference image */
.basket-plan-header {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 292px;
    display: grid;
    grid-template-columns: 43% 57%;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(20, 83, 45, 0.16);
    background: linear-gradient(90deg, #f8fff2 0%, #fffef8 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.55);
    margin-bottom: 18px;
}

.basket-image-wrap {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #edf5df;
}

.basket-image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* soft curved white cut on image edge, like the sample */
.basket-image-wrap::after {
    content: "";
    position: absolute;
    top: -8%;
    right: -52px;
    width: 88px;
    height: 116%;
    background: #fffef8;
    border-radius: 999px 0 0 999px;
    z-index: 2;
}

.basket-round-icon {
    position: absolute;
    top: 18px;
    left: calc(43% - 35px);
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #dbe9aa;
    border: 8px solid #fff;
    z-index: 5;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 24px rgba(20, 83, 45, 0.16);
}

.family-plan .basket-round-icon {
    background: #ffe1bd;
}

.basket-round-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: #176b32;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.family-plan .basket-round-icon svg {
    stroke: #ea580c;
}

.basket-content {
    min-width: 0;
    padding: 26px 20px 22px 50px;
    color: #144f28;
}

.basket-content h3 {
    margin: 0 0 8px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: -0.7px;
    color: #14532d;
    font-weight: 800;
}

.family-plan .basket-content h3 {
    color: #c2410c;
}

.basket-subtitle {
    margin: 0 0 20px;
    color: #225b34;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
}

.family-plan .basket-subtitle {
    color: #9a3412;
}

.basket-info-list {
    display: grid;
    gap: 13px;
}

.basket-info-row {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
    color: #1f2937;
    font-size: 14.2px;
    line-height: 1.38;
    font-weight: 600;
}

.basket-info-row svg {
    width: 22px;
    height: 22px;
    margin-top: 1px;
    fill: #166534;
    stroke: #166534;
    flex-shrink: 0;
}

.family-plan .basket-info-row svg {
    fill: #ea580c;
    stroke: #ea580c;
}

.basket-info-row strong {
    color: #111827;
    font-weight: 850;
}

/* Comparison Table */
.compare-table {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(82px, 1.15fr) repeat(4, minmax(0, 0.9fr));
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.compare-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #a9c48a transparent;
}

.compare-table-scroll::-webkit-scrollbar {
    height: 6px;
}

.compare-table-scroll::-webkit-scrollbar-thumb {
    background: #a9c48a;
    border-radius: 999px;
}

.compare-table > div {
    min-height: 44px;
    min-width: 0;
    padding: 10px 7px;
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #111827;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.compare-table > div:nth-child(5n) {
    border-right: none;
}

.compare-table > div:nth-last-child(-n + 5) {
    border-bottom: none;
}

.compare-table .table-head {
    font-size: 12.5px;
    font-weight: 850;
    color: #fff;
}

.starter-plan .table-head,
.premium-plan .table-head {
    background: linear-gradient(135deg, #047857, #166534);
}

.family-plan .table-head {
    background: linear-gradient(135deg, #f97316, #ea580c);
}

.compare-table .feature-cell {
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
    font-weight: 850;
}

.compare-table .discount-cell {
    color: #ff2b2b;
    font-weight: 900;
}

/* Benefits */
.plans-benefits {
    max-width: 1120px;
    margin: 34px auto 0;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    box-shadow: 0 16px 50px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 26px;
    border-right: 1px solid #e2e8f0;
    min-width: 0;
}

.benefit-item:last-child {
    border-right: none;
}

.benefit-item span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 24px;
    color: #059669;
    flex-shrink: 0;
}

.benefit-item h4 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
}

.benefit-item p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

/* Tablet */
@media (max-width: 1100px) {
    .plans-grid {
        grid-template-columns: 1fr;
        max-width: 820px;
        margin: 0 auto;
        gap: 42px;
    }

    .plan-card {
        padding: 16px;
    }

    .plan-card.popular {
        margin-top: 12px;
    }

    .popular-badge {
        top: -16px;
    }

    .basket-plan-header {
        grid-template-columns: 43% 57%;
        min-height: 300px;
    }

    .basket-content {
        padding: 30px 30px 24px 58px;
    }

    .basket-content h3 {
        font-size: 36px;
    }

    .basket-subtitle {
        font-size: 20px;
    }

    .basket-info-row {
        font-size: 16px;
    }

    .plans-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 820px;
    }

    .benefit-item:nth-child(2) {
        border-right: none;
    }

    .benefit-item:nth-child(1),
    .benefit-item:nth-child(2) {
        border-bottom: 1px solid #e2e8f0;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .plans-section {
        padding: 48px 10px;
    }

    .plans-heading {
        margin-bottom: 40px;
    }

    .plans-heading h2 {
        letter-spacing: -1.2px;
    }

    .plan-card {
        width: 100%;
        border-radius: 16px;
        padding: 10px 10px 14px;
        overflow: visible;
    }

    .popular-badge {
        top: -15px;
        font-size: 12px;
        padding: 8px 16px;
    }

    .basket-plan-header {
        grid-template-columns: 42% 58%;
        min-height: 232px;
        border-radius: 15px;
        margin-bottom: 14px;
    }

    .basket-image-wrap::after {
        right: -38px;
        width: 68px;
    }

    .basket-round-icon {
        top: 14px;
        left: calc(42% - 25px);
        width: 56px;
        height: 56px;
        border-width: 6px;
    }

    .basket-round-icon svg {
        width: 29px;
        height: 29px;
    }

    .basket-content {
        padding: 18px 10px 14px 34px;
    }

    .basket-content h3 {
        font-size: 24px;
        letter-spacing: -0.4px;
        margin-bottom: 6px;
    }

    .basket-subtitle {
        font-size: 13.5px;
        margin-bottom: 12px;
    }

    .basket-info-list {
        gap: 8px;
    }

    .basket-info-row {
        grid-template-columns: 18px minmax(0, 1fr);
        gap: 7px;
        font-size: 11.4px;
        line-height: 1.32;
    }

    .basket-info-row svg {
        width: 16px;
        height: 16px;
    }

    .compare-table {
        grid-template-columns: minmax(70px, 1.05fr) repeat(4, minmax(0, 0.78fr));
    }

    .compare-table > div {
        min-height: 42px;
        padding: 8px 4px;
        font-size: 10.4px;
        line-height: 1.18;
    }

    .compare-table .table-head {
        font-size: 10.4px;
    }

    .plans-benefits {
        grid-template-columns: 1fr;
        margin-top: 22px;
    }

    .benefit-item {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
        padding: 18px 20px;
    }

    .benefit-item:last-child {
        border-bottom: none;
    }
}

/* Extra small mobile */
@media (max-width: 390px) {
    .plans-section {
        padding-left: 7px;
        padding-right: 7px;
    }

    .plan-card {
        padding-left: 8px;
        padding-right: 8px;
    }

    .basket-plan-header {
        min-height: 224px;
        grid-template-columns: 41% 59%;
    }

    .basket-round-icon {
        left: calc(41% - 24px);
    }

    .basket-content {
        padding-left: 30px;
    }

    .basket-content h3 {
        font-size: 22px;
    }

    .basket-subtitle {
        font-size: 12.5px;
    }

    .basket-info-row {
        font-size: 10.7px;
    }

    .compare-table > div {
        font-size: 9.4px;
        padding: 8px 3px;
    }

    .compare-table .table-head {
        font-size: 9.4px;
    }
}
    

/* ===== Clean text-only plan top section ===== */
.basket-image-wrap,
.basket-round-icon,
.basket-info-row svg {
    display: none !important;
}

.basket-text-header {
    position: relative;
    width: 100%;
    min-height: 245px;
    border-radius: 18px;
    padding: 28px 26px;
    margin-bottom: 24px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.basket-text-header h3 {
    margin: 0 0 8px;
    font-size: 31px;
    line-height: 1.05;
    letter-spacing: -0.8px;
    font-weight: 850;
    color: #166534;
}

.basket-text-header .basket-subtitle {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 750;
    color: #31513a;
}

.basket-text-header .basket-info-list {
    display: grid;
    gap: 12px;
    margin: 0;
}

.basket-text-header .basket-info-row {
    display: block;
    margin: 0;
    padding: 0;
    color: #263628;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
}

.basket-text-header .basket-info-row strong {
    color: #14532d;
    font-weight: 850;
}

.family-text-header {
    border-color: rgba(249, 115, 22, 0.30);
    background: linear-gradient(135deg, #ffffff 0%, #fff7ed 100%);
}

.family-text-header h3,
.family-text-header .basket-info-row strong {
    color: #ea580c;
}

.family-text-header .basket-subtitle {
    color: #7c2d12;
}

.premium-text-header {
    border-color: rgba(22, 101, 52, 0.28);
    background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%);
}


/* Select Plan buttons */
.select-plan-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    margin-top: 22px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 850;
    letter-spacing: -0.2px;
    transition: 0.25s ease;
    border: 1.5px solid transparent;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.starter-plan .select-plan-btn,
.premium-plan .select-plan-btn {
    color: #ffffff;
    background: linear-gradient(135deg, #166534, #15803d);
    border-color: #166534;
}

.family-plan .select-plan-btn {
    color: #ffffff;
    background: linear-gradient(135deg, #f97316, #ea580c);
    border-color: #ea580c;
    box-shadow: 0 16px 34px rgba(234, 88, 12, 0.18);
}

.select-plan-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

.select-plan-btn:active {
    transform: translateY(0);
}

/* Every plan remains open and complete on every breakpoint. */
.plans-grid {
    grid-template-areas: "essential family joint";
}

.starter-plan { grid-area: essential; }
.family-plan { grid-area: family; }
.premium-plan { grid-area: joint; }

.plan-card {
    display: flex;
    flex-direction: column;
}

.plan-card .compare-table-scroll {
    flex: 0 0 auto;
}

.plan-card .select-plan-btn {
    margin-top: auto;
}

/* keep previous responsive/overflow fixes */
html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

.plans-section,
.plans-container,
.plans-grid,
.plan-card,
.compare-table {
    max-width: 100%;
    min-width: 0;
}

.plan-card,
.compare-table > div {
    min-width: 0;
}

.plan-card.popular {
    overflow: visible;
}

.popular-badge {
    z-index: 10;
}

@media (max-width: 1100px) {
    .plans-grid {
        grid-template-areas:
            "essential"
            "family"
            "joint";
        gap: 42px;
    }

    .plan-card.popular {
        margin-top: 12px;
        padding-top: 42px;
        overflow: visible;
    }

    .popular-badge {
        top: -16px;
    }

    .basket-text-header {
        min-height: auto;
        padding: 26px 24px;
    }
}

@media (max-width: 600px) {
    .plan-card {
        width: 100%;
        overflow: visible;
    }

    .plans-sequence-note {
        margin: -20px auto 32px;
        padding: 8px 12px;
        font-size: 10px;
        letter-spacing: 0.02em;
    }

    .plan-card.popular {
        margin-top: 12px;
        padding-top: 40px;
        overflow: visible;
    }

    .popular-badge {
        top: -14px;
        font-size: 12px;
        padding: 8px 16px;
    }

    .basket-text-header {
        border-radius: 14px;
        padding: 22px 18px;
        margin-bottom: 20px;
    }

    .basket-text-header h3 {
        font-size: 25px;
    }

    .basket-text-header .basket-subtitle {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .basket-text-header .basket-info-row {
        font-size: 13px;
        line-height: 1.45;
    }

    .compare-table {
        width: 100%;
        min-width: 610px;
        grid-template-columns: 122px repeat(4, 122px);
    }

    .compare-table-scroll {
        padding-bottom: 4px;
    }

    .compare-table > div {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .select-plan-btn {
        min-height: 48px;
        margin-top: 18px;
        border-radius: 10px;
        font-size: 15px;
    }
}

@media (max-width: 360px) {
    .plans-section {
        padding-left: 8px;
        padding-right: 8px;
    }

    .basket-text-header {
        padding: 20px 14px;
    }

    .compare-table {
        min-width: 590px;
        grid-template-columns: 118px repeat(4, 118px);
    }
}

@media (min-width: 601px) and (max-width: 1100px) {
    .compare-table {
        min-width: 0;
    }

    .compare-table-scroll {
        overflow-x: visible;
    }
}

    /* Final mockup overrides: these rules intentionally come last. */
    .plans-section {
        position: relative;
        isolation: isolate;
        background:
            radial-gradient(circle at 8% 4%, rgba(166, 202, 126, 0.34), transparent 27%),
            radial-gradient(circle at 94% 9%, rgba(245, 194, 73, 0.20), transparent 24%),
            linear-gradient(180deg, #fbfff7 0%, #fffdf6 100%);
    }

    .plans-heading h2 {
        color: #0c4d2a;
        font-family: Georgia, 'Times New Roman', serif;
        font-weight: 800;
        letter-spacing: -2.2px;
    }

    .plans-heading p { color: #506b59; font-weight: 500; }

    .plans-trust-strip {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        max-width: 920px;
        margin: -16px auto 44px;
        border: 1px solid #e5ebd8;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.86);
        box-shadow: 0 16px 42px rgba(38, 79, 35, 0.08);
        overflow: hidden;
    }

    .plans-trust-item {
        display: flex;
        align-items: center;
        gap: 10px;
        min-width: 0;
        padding: 14px 15px;
        border-right: 1px solid #e5ebd8;
    }

    .plans-trust-item:last-child { border-right: 0; }
    .plans-trust-item strong { display: block; color: #14532d; font-size: 12px; }
    .plans-trust-item small { display: block; margin-top: 2px; color: #748175; font-size: 11px; }
    .plans-trust-icon { font-size: 21px; line-height: 1; flex: 0 0 auto; }

    .basket-text-header {
        min-height: 252px;
        padding: 24px;
        background: linear-gradient(135deg, #ffffff 5%, #f3f9e9 100%);
        border-color: #dce7cd;
    }

    .family-text-header {
        background: linear-gradient(135deg, #fffefa 5%, #fff3e5 100%);
        border-color: rgba(235, 145, 47, 0.42);
    }

    .premium-text-header { background: linear-gradient(135deg, #ffffff 5%, #edf9ef 100%); }

    .basket-visual {
        display: flex;
        align-items: flex-end;
        gap: 3px;
        min-height: 42px;
        margin-bottom: 10px;
        font-size: 32px;
        filter: drop-shadow(0 7px 8px rgba(40, 85, 32, 0.12));
    }

    .basket-visual span:nth-child(2) { font-size: 27px; transform: translateY(-5px); }
    .basket-visual span:nth-child(3) { font-size: 25px; transform: translateY(-2px); }

    .plan-card { border-radius: 24px; padding: 12px 12px 18px; border-color: #dbe6d2; box-shadow: 0 24px 58px rgba(48, 80, 38, 0.10); }
    .plan-card.popular { border-color: #d99a32; box-shadow: 0 26px 66px rgba(184, 119, 22, 0.16); }
    .popular-badge { background: linear-gradient(135deg, #c98a20, #a96608); border-radius: 999px; padding: 9px 20px; }
    .select-plan-btn { border-radius: 999px; min-height: 50px; }

    .compare-table-scroll { overflow: visible; scrollbar-width: none; }
    .compare-table-scroll::-webkit-scrollbar { display: none; }
    .compare-table { min-width: 0 !important; grid-template-columns: minmax(0, 1.16fr) repeat(4, minmax(0, 0.96fr)); }
    .compare-table > div { overflow-wrap: anywhere; }

    @media (max-width: 1100px) {
        .plans-trust-strip { max-width: 820px; }
        .plans-grid { grid-template-areas: "essential" "family" "joint"; }
        .compare-table-scroll { overflow: visible; }
    }

    @media (max-width: 600px) {
        .plans-section { padding: 0px 9px; }
        .plans-heading { margin-bottom: 34px; }
        .plans-heading h2 { font-size: clamp(30px, 9vw, 42px); letter-spacing: -1.2px; }
        .plans-heading p { margin-top: 12px; font-size: 14px; }
        .plans-trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: -10px auto 30px; border-radius: 15px; }
        .plans-trust-item { padding: 11px 10px; border-bottom: 1px solid #e5ebd8; }
        .plans-trust-item:nth-child(2n) { border-right: 0; }
        .plans-trust-item:nth-child(n+3) { border-bottom: 0; }
        .plans-trust-item strong { font-size: 10px; }
        .plans-trust-item small { font-size: 9px; }
        .plans-trust-icon { font-size: 17px; }
        .plan-card { padding: 9px 8px 14px; border-radius: 18px; }
        .basket-text-header { min-height: auto; padding: 17px 14px 16px; border-radius: 14px; }
        .basket-visual { min-height: 31px; margin-bottom: 6px; font-size: 25px; }
        .basket-visual span:nth-child(2) { font-size: 21px; }
        .basket-visual span:nth-child(3) { font-size: 20px; }
        .basket-text-header h3 { font-size: 24px; }
        .basket-text-header .basket-subtitle { font-size: 12.5px; margin-bottom: 12px; }
        .basket-text-header .basket-info-row { font-size: 11.4px; line-height: 1.35; }
        .compare-table { width: 100%; min-width: 0 !important; grid-template-columns: minmax(0, 1.18fr) repeat(4, minmax(0, 0.955fr)); }
        .compare-table > div { min-height: 39px; padding: 7px 2px; font-size: clamp(8px, 2.45vw, 10.5px); line-height: 1.12; }
        .compare-table .table-head { font-size: clamp(8px, 2.35vw, 10px); }
        .select-plan-btn { min-height: 44px; margin-top: 15px; font-size: 14px; }
    }

    @media (max-width: 360px) {
        .plans-trust-item { padding-left: 7px; padding-right: 7px; }
        .plans-trust-item strong { font-size: 10px; }
        .plans-trust-item small { font-size: 9px; }
        .basket-text-header h3 { font-size: 21px; }
        .basket-text-header .basket-info-row { font-size: 10px; }
        .compare-table > div { font-size: 7.6px; padding-left: 1px; padding-right: 1px; }
        .compare-table .table-head { font-size: 7.5px; }
    }
    /* Complete page sections */
    .plans-hero {
        position: relative;
        min-height: 440px;
        display: grid;
        place-items: center;
        overflow: hidden;
        color: #fffef7;
        background:
            radial-gradient(circle at 50% 8%, rgba(134, 185, 74, 0.52), transparent 34%),
            linear-gradient(135deg, #174d26 0%, #2f7428 56%, #4c812b 100%);
    }

    .plans-hero::before,
    .plans-hero::after {
        content: "";
        position: absolute;
        width: 330px;
        height: 480px;
        border: 1px solid rgba(236, 195, 72, 0.56);
        border-radius: 55% 45% 60% 40%;
        opacity: .75;
        transform: rotate(28deg);
    }

    .plans-hero::before { left: -180px; top: -110px; }
    .plans-hero::after { right: -190px; top: -110px; transform: scaleX(-1) rotate(28deg); }

    .plans-hero { margin: 0 -18px; }
    .plans-hero-inner { position: relative; z-index: 1; width: min(900px, 92%); text-align: center; padding: 58px 0 76px; }
    .plans-hero-kicker, .plans-section-kicker { color: #d9ac3b; font-size: 13px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
    .plans-hero-kicker { display: inline-block; padding: 9px 18px; border: 1px solid rgba(235, 195, 76, .74); border-radius: 999px; }
    .plans-hero h1 { margin: 22px 0 14px; color: #fffdf5; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(48px, 7vw, 86px); line-height: .98; letter-spacing: -3px; }
    .plans-hero h1 em { color: #f4c94b; font-style: normal; }
    .plans-hero p { margin: 18px auto 0; max-width: 872px; color: rgba(255,255,255,.88); font-size: clamp(16px, 2vw, 21px); }
    .plans-hero-divider { display: flex; align-items: center; justify-content: center; gap: 18px; color: #e5b743; }
    .plans-hero-divider span { width: 150px; height: 1px; background: rgba(229,183,67,.75); }
    .plans-hero-divider b { font-size: 18px; font-weight: 400; }
    .plans-hero-leaf { position: absolute; color: rgba(230, 187, 65, .72); font-size: 170px; line-height: 1; transform: rotate(-35deg); }
    .plans-hero-leaf-left { left: 6%; bottom: 8%; }
    .plans-hero-leaf-right { right: 6%; top: 10%; transform: scaleX(-1) rotate(-35deg); }

    .plans-container { position: relative; z-index: 2; }
    .plans-trust-strip { position: relative; z-index: 3; margin-top: -38px; }
    .plans-heading-after-hero { margin: 62px auto 28px; }
    .plans-heading-after-hero h2 { margin-top: 12px; font-size: clamp(34px, 5vw, 56px); color: #124d29; }
    .plans-heading-after-hero p { max-width: 650px; margin-left: auto; margin-right: auto; }
    .section-heading-line { margin: 0 auto 28px; text-align: center; }
    .section-heading-line h2 { margin: 9px 0 8px; color: #124d29; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(28px, 4vw, 43px); line-height: 1.05; letter-spacing: -1.2px; }
    .section-heading-line p { margin: 0; color: #68766c; font-size: 15px; }

    .basket-inside-section, .plans-how-section, .plans-benefits-section, .plans-faq-section { margin: 78px auto 0; }
    .basket-inside-section { padding: 34px 26px; border: 1px solid #e4ead7; border-radius: 24px; background: rgba(255,255,255,.7); }
    .basket-inside-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
    .inside-item { padding: 18px 12px; text-align: center; border: 1px solid #e4ead7; border-radius: 16px; background: #fffef8; }
    .inside-item > span { display: block; margin-bottom: 9px; font-size: 34px; }
    .inside-item strong { display: block; color: #14532d; font-size: 13px; }
    .inside-item small { display: block; margin-top: 5px; color: #748175; font-size: 11px; line-height: 1.35; }

    .plans-how-section { padding: 42px 24px; border-radius: 24px; background: linear-gradient(135deg, #f0f7df, #fffdf5); border: 1px solid #e0e8cd; }
    .how-plans-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
    .how-step { position: relative; padding: 21px 16px 18px; border: 1px solid #dbe5ca; border-radius: 17px; background: rgba(255,255,255,.85); text-align: center; }
    .how-step > span { position: absolute; top: 10px; left: 12px; color: #39802d; font-size: 11px; font-weight: 900; }
    .how-step-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 12px; border-radius: 50%; background: #e6f1ce; color: #2d762b; font-size: 23px; font-weight: 800; }
    .how-step strong { display: block; color: #174d2b; font-size: 14px; }
    .how-step small { display: block; margin-top: 7px; color: #718073; font-size: 11px; line-height: 1.35; }

    .plans-benefits-section { padding: 42px 0 0; }
    .section-heading-left { text-align: left; margin-left: 0; }
    .section-heading-left h2 { max-width: 560px; }
    .plans-benefits-section .plans-benefits { margin-top: 20px; }

    .plans-faq-section { max-width: 900px; }
    .plans-faq-list { display: grid; gap: 10px; }
    .plans-faq-list details { border: 1px solid #e0e7d4; border-radius: 14px; background: rgba(255,255,255,.78); }
    .plans-faq-list summary { cursor: pointer; list-style: none; padding: 18px 48px 18px 20px; position: relative; color: #174d2b; font-size: 15px; font-weight: 800; }
    .plans-faq-list summary::-webkit-details-marker { display: none; }
    .plans-faq-list summary::after { content: "+"; position: absolute; right: 20px; color: #ae7b1a; font-size: 22px; font-weight: 400; }
    .plans-faq-list details[open] summary::after { content: "−"; }
    .plans-faq-list details p { margin: -4px 20px 19px; color: #68766c; font-size: 14px; line-height: 1.6; }

    .plans-bottom-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 78px 0 10px; padding: 34px 40px; border-radius: 26px; color: #fffef4; background: linear-gradient(135deg, #175125, #3f8028); box-shadow: 0 20px 42px rgba(36, 89, 35, .19); }
    .plans-bottom-cta .plans-section-kicker { color: #e7bf4e; }
    .plans-bottom-cta h2 { margin: 9px 0 6px; color: #fffef4; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(27px, 4vw, 44px); line-height: 1; }
    .plans-bottom-cta p { margin: 0; color: rgba(255,255,255,.78); font-size: 14px; }
    .plans-cta-button { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 14px 20px; border-radius: 999px; color: #174d27; background: #fffdf1; text-decoration: none; font-size: 14px; font-weight: 850; box-shadow: 0 10px 24px rgba(0,0,0,.12); }
    .plans-cta-button span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #fff; background: #218234; }

    /* Soil To Bowl theme palette for all basket cards */
    .plan-card,
    .plan-card.popular {
        background: rgba(255, 254, 247, .96);
        border-color: #d5e2c8;
        box-shadow: 0 24px 58px rgba(35, 86, 35, .11);
    }

    .plan-card.popular {
        border-color: #d6ad45;
        box-shadow: 0 26px 66px rgba(154, 116, 27, .16);
    }

    .popular-badge {
        color: #fffdf3;
        background: linear-gradient(135deg, #c8952d, #a87516);
        box-shadow: 0 12px 28px rgba(145, 104, 18, .25);
    }

    .basket-text-header,
    .family-text-header,
    .premium-text-header {
        color: #1f3e27;
        border-color: #d8e5cc;
        background: linear-gradient(135deg, #fffef9 0%, #f1f7e8 100%);
    }

    .family-text-header {
        border-color: #e0c77c;
        background: linear-gradient(135deg, #fffef8 0%, #f8f3df 100%);
    }

    .basket-text-header h3,
    .family-text-header h3,
    .basket-text-header .basket-info-row strong,
    .family-text-header .basket-info-row strong {
        color: #176331;
    }

    .basket-text-header .basket-subtitle,
    .family-text-header .basket-subtitle {
        color: #3f6046;
    }

    .basket-text-header .basket-info-row,
    .family-text-header .basket-info-row {
        color: #344c39;
    }

    .compare-table {
        border-color: #d5e2d0;
        background: #fffef9;
    }

    .compare-table > div {
        color: #273b2d;
        border-color: #dce6d8;
    }

    .compare-table .table-head,
    .starter-plan .table-head,
    .family-plan .table-head,
    .premium-plan .table-head {
        color: #fffdf2;
        background: linear-gradient(135deg, #3d812d, #216329);
    }

    .family-plan .table-head {
        background: linear-gradient(135deg, #568f35, #2e6f2b);
    }

    .compare-table .feature-cell {
        color: #214b2a;
    }

    .compare-table .discount-cell,
    .family-plan .compare-table .discount-cell {
        color: #a87413;
    }

    .starter-plan .select-plan-btn,
    .family-plan .select-plan-btn,
    .premium-plan .select-plan-btn {
        color: #fffef4;
        border-color: #216329;
        background: linear-gradient(135deg, #1c5d28, #2f7d2c);
        box-shadow: 0 14px 30px rgba(35, 103, 38, .20);
    }

    .starter-plan .select-plan-btn:hover,
    .family-plan .select-plan-btn:hover,
    .premium-plan .select-plan-btn:hover {
        background: linear-gradient(135deg, #245f29, #3d8a31);
    }

    .basket-visual { filter: drop-shadow(0 7px 8px rgba(44, 101, 42, .15)); }

    @media (max-width: 900px) {
        .plans-hero { min-height: 390px; }
        .basket-inside-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .how-plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 600px) {
        .plans-hero { margin: 0 -9px; }
        .plans-hero { min-height: 350px; }
        .plans-hero-inner { padding: 44px 0 58px; }
        .plans-hero-kicker { font-size: 9px; padding: 8px 12px; letter-spacing: .1em; }
        .plans-hero h1 { margin-top: 18px; font-size: clamp(36px, 10vw, 52px); letter-spacing: -1.7px; }
        .plans-hero-divider span { width: 72px; }
        .plans-hero p { font-size: 14px; line-height: 1.4; }
        .plans-hero-leaf { font-size: 120px; }
        .plans-trust-strip { margin-top: -27px; }
        .plans-heading-after-hero { margin-top: 46px; }
        .plans-sequence-note { margin-bottom: 24px; font-size: 9px; }
        .basket-inside-section, .plans-how-section, .plans-benefits-section, .plans-faq-section { margin-top: 50px; }
        .basket-inside-section, .plans-how-section { padding: 25px 13px; border-radius: 18px; }
        .basket-inside-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
        .inside-item { padding: 13px 7px; }
        .inside-item > span { font-size: 27px; }
        .inside-item strong { font-size: 11px; }
        .inside-item small { font-size: 9px; }
        .how-plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
        .how-step { padding: 18px 8px 13px; }
        .how-step-icon { width: 39px; height: 39px; font-size: 18px; }
        .how-step strong { font-size: 11px; }
        .how-step small { font-size: 9px; }
        .section-heading-line h2 { font-size: 29px; }
        .section-heading-line p { font-size: 13px; line-height: 1.45; }
        .section-heading-left { text-align: center; }
        .plans-bottom-cta { align-items: flex-start; flex-direction: column; margin-top: 52px; padding: 27px 22px; border-radius: 20px; }
        .plans-cta-button { width: 100%; justify-content: center; }
        .plans-faq-list summary { padding: 16px 42px 16px 15px; font-size: 13px; }
        .plans-faq-list details p { margin-left: 15px; margin-right: 15px; font-size: 12px; }
    }
    /* Green and white visual treatment for freshness sections */
    .plans-trust-strip {
        background: linear-gradient(135deg, #1c5729 0%, #3d812d 100%);
        border-color: rgba(255,255,255,.18);
        box-shadow: 0 18px 42px rgba(28, 87, 41, .22);
    }

    .plans-trust-item { border-color: rgba(255,255,255,.22); }
    .plans-trust-item strong { color: #fffef4; }
    .plans-trust-item small { color: rgba(255,255,255,.76); }
    .plans-trust-icon {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        color: #fffef4;
        background: rgba(255,255,255,.14);
        border: 1px solid rgba(255,255,255,.38);
        flex: 0 0 auto;
    }
    .plans-trust-icon svg { width: 40px; height: 40px; }

    .basket-inside-section {
        border-color: rgba(255,255,255,.18);
        background: linear-gradient(135deg, #1b5528 0%, #3c7c2d 100%);
        box-shadow: 0 20px 52px rgba(35, 91, 37, .16);
    }

    .basket-inside-section .plans-section-kicker,
    .basket-inside-section .section-heading-line h2,
    .plans-how-section .plans-section-kicker,
    .plans-how-section .section-heading-line h2 {
        color: #fffef4;
    }

    .basket-inside-section .section-heading-line p,
    .plans-how-section .section-heading-line p { color: rgba(255,255,255,.76); }

    .basket-inside-grid { gap: 14px; }
    .inside-item {
        border-color: rgba(255,255,255,.24);
        background: rgba(255,254,244,.98);
        box-shadow: 0 10px 24px rgba(16, 60, 26, .12);
    }
    .inside-item > span {
        display: grid;
        place-items: center;
        width: 62px;
        height: 62px;
        margin: 0 auto 13px;
        border-radius: 50%;
        color: #fffef4;
        background: linear-gradient(135deg, #4f9636, #236b2b);
        box-shadow: 0 8px 18px rgba(34, 104, 38, .22);
    }
    .inside-item > span svg { width: 34px; height: 34px; }
    .inside-item strong { color: #155b2d; }
    .inside-item small { color: #6a756c; }

    .plans-how-section {
        border-color: rgba(255,255,255,.18);
        background: linear-gradient(135deg, #235f2b 0%, #4a872f 100%);
    }
    .plans-how-section .how-step { border-color: rgba(255,255,255,.24); background: rgba(255,254,244,.96); }

    @media (max-width: 600px) {
        .plans-trust-icon { width: 37px; height: 37px; }
        .plans-trust-icon svg { width: 30px; height: 30px; }
        .inside-item > span { width: 50px; height: 50px; margin-bottom: 9px; }
        .inside-item > span svg { width: 27px; height: 27px; }
    }
    /* Premium vegetable pricing cards */
    .plans-grid { align-items: start; }

    .plan-card {
        padding: 12px 12px 18px;
        border-radius: 25px;
        background: #fffef8;
    }

    .plan-card.popular { border-width: 2px; }

    .basket-text-header,
    .family-text-header,
    .premium-text-header {
        position: relative;
        min-height: 0;
        padding: 12px 12px 22px;
        overflow: visible;
        border-radius: 20px;
        text-align: center;
    }

    .plan-audience-badge {
        position: absolute;
        top: 14px;
        left: 15px;
        z-index: 2;
        padding: 10px 14px;
        border-radius: 10px;
        color: #fffef4;
        background: #34782c;
        box-shadow: 0 9px 18px rgba(35, 93, 37, .18);
        font-size: 11px;
        font-weight: 850;
    }

    .plan-art {
        position: relative;
        display: grid;
        place-items: center;
        min-height: 178px;
        margin-bottom: 18px;
        border-radius: 18px;
        overflow: visible;
        background:
            radial-gradient(circle at 50% 65%, rgba(255,255,255,.5), transparent 38%),
            linear-gradient(135deg, #e8f3dd, #f8f9ec);
    }

    .family-text-header .plan-art { background: linear-gradient(135deg, #e5f1d9, #f7f8e7); }
    .plan-art-basket {
        position: relative;
        display: block;
        padding: 42px 22px 32px;
        border-radius: 10px 10px 22px 22px;
        color: #fff;
        background: linear-gradient(165deg, #a86a36 0 15%, #c58a4e 16% 100%);
        box-shadow: 0 15px 18px rgba(93, 67, 30, .20);
        font-size: 46px;
        line-height: 1;
        letter-spacing: -11px;
        white-space: nowrap;
        transform: translateY(11px);
    }

    .plan-art-basket::after {
        content: "SOIL TO BOWL";
        position: absolute;
        left: 50%;
        bottom: 18px;
        transform: translateX(-50%);
        padding: 5px 9px;
        border: 1px solid rgba(64, 76, 31, .6);
        border-radius: 50%;
        color: #4a5a2a;
        background: #f3e9bf;
        font-size: 7px;
        font-weight: 900;
        letter-spacing: .04em;
    }

    .plan-art-star {
        position: absolute;
        right: 7px;
        bottom: 5px;
        display: grid;
        place-items: center;
        width: 78px;
        height: 78px;
        border: 5px solid #fffef0;
        border-radius: 50%;
        color: #503b12;
        background: #dba62f;
        box-shadow: 0 0 0 2px #e4bd50, 0 10px 20px rgba(129, 91, 15, .24);
        font-size: 17px;
        line-height: 1;
    }

    .plan-art-star small { display: block; margin-top: 3px; font-size: 9px; font-weight: 900; text-align: center; }
    .basket-text-header h3 { margin: 0 0 8px; font-size: 31px; }
    .basket-text-header .basket-subtitle { margin-bottom: 15px; font-size: 16px; }
    .plan-chip-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 8px auto 17px; max-width: 330px; }
    .plan-chip { padding: 7px 11px; border: 1px solid #dce6cc; border-radius: 999px; color: #35632d; background: #f9fbef; font-size: 10px; font-weight: 800; line-height: 1; }
    .basket-text-header .basket-info-list { text-align: left; }

    .plan-price-highlight {
        display: grid;
        grid-template-columns: 1fr 1.18fr 1fr;
        align-items: stretch;
        min-height: 111px;
        margin: 17px 0;
        overflow: hidden;
        border: 1px solid #dce7ce;
        border-radius: 17px;
        background: #fafcf3;
        text-align: center;
    }

    .plan-price-highlight > div { display: flex; flex-direction: column; justify-content: center; padding: 10px 6px; }
    .plan-price-highlight small { color: #718073; font-size: 11px; font-weight: 700; }
    .plan-price-highlight strong { display: block; margin-top: 5px; color: #334052; font-size: 18px; }
    .plan-price-highlight > div:last-child strong { color: #bc711b; }
    .plan-pay-cell { color: #fffef4; background: linear-gradient(135deg, #5c9b35, #327b2c); }
    .plan-pay-cell small, .plan-pay-cell strong { color: #fffef4; }
    .plan-pay-cell strong { font-size: 24px; }
    .plan-pay-cell b { display: inline-block; margin: 6px auto 0; padding: 3px 12px; border-radius: 999px; color: #3c762f; background: #f7f8e9; font-size: 9px; letter-spacing: .06em; }

    .plan-card .select-plan-btn { gap: 12px; }
    .plan-button-arrow { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: #23642a; background: #fffef4; font-size: 19px; line-height: 1; }

    @media (max-width: 600px) {
        .plan-card { padding: 8px 8px 14px; }
        .basket-text-header { padding: 9px 8px 16px; }
        .plan-audience-badge { top: 10px; left: 10px; padding: 8px 9px; font-size: 8px; }
        .plan-art { min-height: 145px; margin-bottom: 14px; }
        .plan-art-basket { padding: 34px 17px 26px; font-size: 35px; }
        .plan-art-star { width: 62px; height: 62px; font-size: 13px; }
        .plan-art-star small { font-size: 7px; }
        .basket-text-header h3 { font-size: 23px; }
        .basket-text-header .basket-subtitle { font-size: 12px; }
        .plan-chip-row { gap: 5px; margin-bottom: 13px; }
        .plan-chip { padding: 6px 7px; font-size: 8px; }
        .plan-price-highlight { min-height: 91px; margin: 13px 0; }
        .plan-price-highlight strong { font-size: 14px; }
        .plan-pay-cell strong { font-size: 18px; }
        .plan-price-highlight small { font-size: 9px; }
        .plan-pay-cell b { margin-top: 4px; padding: 3px 8px; font-size: 7px; }
        .plan-button-arrow { width: 26px; height: 26px; font-size: 16px; }
    }

    @media (max-width: 360px) {
        .plan-art { min-height: 128px; }
        .plan-art-basket { font-size: 30px; }
        .plan-audience-badge { font-size: 7px; }
        .plan-chip { font-size: 7px; }
        .plan-price-highlight strong { font-size: 12px; }
        .plan-pay-cell strong { font-size: 16px; }
    }
    
 /* Soil To Bowl — Fresh Vegetable Packages */
/* Soil To Bowl — Fresh Vegetable Packages */
.veg-pkg-basket-section {
    --veg-green: #34782c;
    --veg-deep: #1d5b29;
    --veg-gold: #c8952d;
    --veg-ink: #173f28;
    --veg-cream: #fffef7;
    --veg-line: #dbe6cf;
    width: 100%;
    padding: 0px 18px 68px;
    overflow: hidden;
    color: var(--veg-ink);
    font-family: inherit;
}

.veg-pkg-basket-container {
    width: min(1320px, 100%);
    margin: 0 auto;
}

.veg-pkg-basket-heading {
    margin: 0 auto 70px;
    text-align: center;
}

.veg-pkg-dairy-heading { max-width: 1000px; margin: 0 auto; }

.veg-pkg-dairy-top-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border: 1px solid rgba(200, 149, 45, .52);
    border-radius: 999px;
    color: #9b7016;
    background: #fff9e8;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.veg-pkg-dairy-heading h2 {
    margin: 16px 0 10px;
    color: var(--veg-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(35px, 5vw, 62px);
    line-height: .98;
    letter-spacing: -2px;
}

.veg-pkg-dairy-heading h2 span { color: var(--veg-gold); }

.veg-pkg-dairy-heading p {
    margin: 0;
    color: #52685a;
    font-size: clamp(15px, 1.8vw, 19px);
}

.veg-pkg-basket-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 28px;
}

.veg-pkg-basket-card {
    min-width: 0;
    padding: 16px 16px 18px;
    border: 1px solid var(--veg-line);
    border-radius: 25px;
    background: rgba(255, 255, 251, .94);
    box-shadow: 0 22px 48px rgba(40, 87, 39, .10);
}

.veg-pkg-basket-card.veg-pkg-basket-featured {
    border: 2px solid #9ab87a;
    box-shadow: 0 26px 58px rgba(40, 87, 39, .16);
    transform: translateY(-28px);
}

.veg-pkg-basket-image-box {
    position: relative;
    min-height: 276px;
    display: grid;
    place-items: center;
    overflow: visible;
    border-radius: 20px;
    background: linear-gradient(135deg, #edf7e4, #f7f9ed);
}

.veg-pkg-basket-image-box img {
    display: block;
    width: 67%;
    height: 246px;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
}

.veg-pkg-basket-tag {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 16px;
    padding: 10px 14px;
    border-radius: 9px;
    color: #fffef4;
    background: var(--veg-green);
    box-shadow: 0 9px 18px rgba(38, 97, 39, .18);
    font-size: 11px;
    font-weight: 850;
}

.veg-pkg-farm-fresh-badge {
    position: absolute;
    right: 4px;
    bottom: -6px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border: 6px solid #fffef2;
    border-radius: 50%;
    color: #503b12;
    background: #e0aa31;
    box-shadow: 0 0 0 2px #e8c45d, 0 12px 20px rgba(131, 94, 17, .24);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.05;
    text-align: center;
}

.veg-pkg-farm-fresh-badge span {
    display: block;
    margin-bottom: 3px;
    font-size: 18px;
}

.veg-pkg-basket-content { padding: 22px 8px 0; text-align: center; }

.veg-pkg-basket-content h3 {
    margin: 0 0 10px;
    color: var(--veg-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(27px, 2.4vw, 36px);
    line-height: 1.05;
    letter-spacing: -.8px;
}

.veg-pkg-basket-subtitle {
    min-height: 44px;
    margin: 0 auto 12px;
    color: #425448;
    font-size: 16px;
    line-height: 1.45;
}

.veg-pkg-basket-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    max-width: 330px;
    margin: 0 auto 18px;
}

.veg-pkg-basket-pills span {
    padding: 7px 11px;
    border: 1px solid var(--veg-line);
    border-radius: 999px;
    color: #35652e;
    background: #fafcf2;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
}

.veg-pkg-basket-price-box {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    min-height: 106px;
    overflow: hidden;
    border: 1px solid var(--veg-line);
    border-radius: 16px;
    background: #fafcf3;
}

.veg-pkg-basket-price-box > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 5px;
}

.veg-pkg-basket-price-box small {
    color: #6c7b70;
    font-size: 11px;
    font-weight: 700;
}

.veg-pkg-basket-price-box strong {
    margin-top: 5px;
    color: #263b31;
    font-size: 18px;
}

.veg-pkg-basket-main-price {
    color: #fffef4;
    background: linear-gradient(135deg, #63aa38, #347e2b);
}

.veg-pkg-basket-main-price small,
.veg-pkg-basket-main-price strong { color: #fffef4; }
.veg-pkg-basket-main-price strong { font-size: 25px; }

.veg-pkg-price-duration {
    display: inline-block;
    width: fit-content;
    margin: 6px auto 0;
    padding: 3px 12px;
    border-radius: 999px;
    color: #3c762f;
    background: #f6f8e9;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.veg-pkg-save-price { color: #bd711c !important; }

.veg-pkg-pricing-table-wrap {
    width: 100%;
    margin: 18px 0 16px;
    overflow: hidden;
    border: 1px solid var(--veg-line);
    border-radius: 16px;
    background: #fffef8;
    box-shadow: 0 8px 20px rgba(37, 91, 38, .06);
}

.veg-pkg-pricing-table {
    display: table;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    color: #263d2d;
    font-family: inherit;
    font-size: 12px;
}

.veg-pkg-pricing-table th,
.veg-pkg-pricing-table td {
    width: 19%;
    min-width: 0;
    padding: 10px 3px;
    border-right: 1px solid var(--veg-line);
    border-bottom: 1px solid #e4ecdc;
    text-align: center;
    vertical-align: middle;
    line-height: 1.18;
    white-space: nowrap;
}

.veg-pkg-pricing-table th:first-child,
.veg-pkg-pricing-table td:first-child { width: 24%; }
.veg-pkg-pricing-table th:last-child,
.veg-pkg-pricing-table td:last-child { border-right: 0; }
.veg-pkg-pricing-table tbody tr:last-child th,
.veg-pkg-pricing-table tbody tr:last-child td { border-bottom: 0; }

.veg-pkg-pricing-table thead th {
    color: #fffef4;
    background: linear-gradient(135deg, #216329, #438d31);
    font-size: 10px;
    font-weight: 850;
}

.veg-pkg-pricing-table tbody tr:nth-child(even) th,
.veg-pkg-pricing-table tbody tr:nth-child(even) td { background: #f7faef; }
.veg-pkg-pricing-table tbody th { color: #214f2a; font-weight: 850; }
.veg-pkg-pricing-table tbody td { color: #36463a; font-weight: 650; }
.veg-pkg-pricing-table tbody td:last-child { color: #a87314; font-weight: 900; }

.veg-pkg-pricing-table tbody tr:nth-child(2) td:nth-child(3) {
    color: #176331;
    font-weight: 900;
}

.veg-pkg-basket-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 51px;
    margin-top: 18px;
    border-radius: 999px;
    color: #fffef4;
    background: linear-gradient(135deg, #63aa38, #347e2b);
    box-shadow: 0 14px 25px rgba(45, 108, 39, .20);
    text-decoration: none;
    font-size: 16px;
    font-weight: 850;
    transition: transform .2s ease, filter .2s ease;
}

.veg-pkg-basket-btn:hover { transform: translateY(-2px); filter: brightness(1.04); }

.veg-pkg-btn-pill__icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #34782c;
    background: #fffef4;
}

.veg-pkg-btn-pill__icon svg { width: 18px; height: 18px; }

.veg-pkg-basket-bottom-info {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 30px;
    border: 1px solid var(--veg-line);
    border-radius: 18px;
    background: rgba(255,255,251,.82);
    overflow: hidden;
}

.veg-pkg-basket-info-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 18px 20px;
    border-right: 1px solid var(--veg-line);
}

.veg-pkg-basket-info-item:last-child { border-right: 0; }
.veg-pkg-info-icon { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 auto; border-radius: 50%; color: #fffef4; background: #579a36; }
.veg-pkg-info-icon svg { width: 35px; height: 35px; }
.veg-pkg-basket-info-item h4 { margin: 0 0 4px; color: var(--veg-deep); font-size: 13px; }
.veg-pkg-basket-info-item p { margin: 0; color: #718073; font-size: 11px; line-height: 1.35; }

.veg-pkg-trial-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 43px;
    margin: 13px 0 12px;
    padding: 9px 42px 9px 35px;
    overflow: hidden;
    border: 1px solid #4e9635;
    border-radius: 999px;
    color: #fffef4;
    background: linear-gradient(135deg, #63aa38, #347e2b);
    box-shadow: 0 12px 24px rgba(45, 108, 39, .20);
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    transition: transform .2s ease, filter .2s ease;
}

.veg-pkg-trial-btn::before {
    content: "";
    position: absolute;
    top: -30%;
    left: -45%;
    width: 32%;
    height: 160%;
    z-index: 0;
    border: 0;
    border-radius: 0;
    background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.08) 35%, rgba(255,255,255,.52) 50%, rgba(255,255,255,.08) 65%, transparent 100%);
    transform: skewX(-20deg);
    animation: vegPkgTrialShine 2.5s ease-in-out infinite;
}

.veg-pkg-trial-btn:hover { transform: translateY(-2px) scale(1.01); filter: brightness(1.06); }
.veg-pkg-trial-btn > span { position: relative; z-index: 1; }
.veg-pkg-trial-btn strong { color: #fffef4; font-size: 14px; }
.veg-pkg-trial-sparkle { position: absolute !important; left: 16px; color: #efffcf; font-size: 16px; }
.veg-pkg-trial-arrow { position: absolute !important; right: 10px; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: #34782c; background: #fffef4; font-size: 17px; line-height: 1; }

@keyframes vegPkgTrialShine {
    0% { left: -45%; opacity: 0; }
    12% { opacity: 1; }
    58% { left: 115%; opacity: 1; }
    75%, 100% { left: 115%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .veg-pkg-trial-btn::before { animation: none; }
}

@media (max-width: 1050px) {
    .veg-pkg-basket-grid { grid-template-columns: 1fr; max-width: 650px; margin: 0 auto; gap: 28px; }
    .veg-pkg-basket-card.veg-pkg-basket-featured { transform: none; }
    .veg-pkg-basket-image-box { min-height: 290px; }
    .veg-pkg-basket-image-box img { width: 55%; height: 260px; }
    .veg-pkg-basket-bottom-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .veg-pkg-basket-info-item:nth-child(2) { border-right: 0; }
    .veg-pkg-basket-info-item:nth-child(-n+2) { border-bottom: 1px solid var(--veg-line); }
}

@media (max-width: 600px) {
    .veg-pkg-basket-section { padding: 0px 10px 50px; }
    .veg-pkg-basket-heading { margin-bottom: 28px; }
    .veg-pkg-dairy-heading h2 { font-size: 37px; letter-spacing: -1.2px; }
    .veg-pkg-dairy-heading p { font-size: 14px; line-height: 1.4; }
    .veg-pkg-basket-grid { width: 100%; gap: 22px; }
    .veg-pkg-basket-card { padding: 9px 9px 14px; border-radius: 19px; }
    .veg-pkg-basket-image-box { min-height: 220px; border-radius: 15px; }
    .veg-pkg-basket-image-box img { width: 65%; height: 198px; }
    .veg-pkg-basket-tag { top: 11px; left: 11px; padding: 8px 9px; font-size: 9px; }
    .veg-pkg-farm-fresh-badge { right: 0; bottom: -5px; width: 64px; height: 64px; border-width: 4px; font-size: 8px; }
    .veg-pkg-farm-fresh-badge span { font-size: 14px; }
    .veg-pkg-basket-content { padding: 18px 3px 0; }
    .veg-pkg-basket-content h3 { font-size: 28px; }
    .veg-pkg-basket-subtitle { min-height: 0; font-size: 14px; }
    .veg-pkg-basket-pills { gap: 5px; margin-bottom: 14px; }
    .veg-pkg-basket-pills span { padding: 6px 7px; font-size: 13px; }
    .veg-pkg-basket-price-box { min-height: 90px; }
    .veg-pkg-basket-price-box small { font-size: 9px; }
    .veg-pkg-basket-price-box strong { font-size: 14px; }
    .veg-pkg-basket-main-price strong { font-size: 19px; }
    .veg-pkg-price-duration { padding: 3px 8px; font-size: 7px; }
    .veg-pkg-pricing-table-wrap { margin: 14px 0 14px; border-radius: 12px; }
    .veg-pkg-pricing-table { font-size: 8px; }
    .veg-pkg-pricing-table th,
    .veg-pkg-pricing-table td { padding: 8px 1px; font-size: 13px; }
    .veg-pkg-pricing-table thead th { font-size: 7.3px; }
    .veg-pkg-trial-btn { min-height: 39px; margin: 10px 0; padding-left: 29px; padding-right: 35px; font-size: 10px; }
    .veg-pkg-trial-btn strong { font-size: 12px; }
    .veg-pkg-trial-sparkle { left: 11px; font-size: 13px; }
    .veg-pkg-trial-arrow { right: 7px; width: 24px; height: 24px; font-size: 15px; }
    .veg-pkg-basket-btn { min-height: 46px; font-size: 14px; }
    .veg-pkg-btn-pill__icon { width: 28px; height: 28px; }
    .veg-pkg-basket-bottom-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .veg-pkg-basket-info-item { border-right: 0; border-bottom: 1px solid var(--veg-line); padding: 14px 16px; }
    .veg-pkg-basket-info-item:last-child { border-bottom: 0; }
}

@media (max-width: 360px) {
    .veg-pkg-dairy-heading h2 { font-size: 32px; line-height: 1.3; }
    .veg-pkg-basket-price-box strong { font-size: 12px; }
    .veg-pkg-basket-main-price strong { font-size: 17px; }
    .veg-pkg-basket-pills span { font-size: 10px; }
    .veg-pkg-pricing-table { font-size: 7px; }
    .veg-pkg-pricing-table th,
    .veg-pkg-pricing-table td { font-size: 9px; }
    .veg-pkg-pricing-table thead th { font-size: 6.5px; }
    .veg-pkg-trial-btn { font-size: 9px; }
    .veg-pkg-trial-btn strong { font-size: 11px; }
}

/* Trial enquiry modal */
.veg-pkg-modal[hidden] { display: none !important; }
.veg-pkg-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 18px; }
.veg-pkg-modal-backdrop { position: absolute; inset: 0; background: rgba(13, 48, 23, .68); backdrop-filter: blur(7px); }
.veg-pkg-modal-dialog { position: relative; width: min(560px, 100%); max-height: min(90vh, 760px); overflow-y: auto; padding: 30px; border: 1px solid #d7e5ca; border-radius: 25px; color: #24432c; background: #fffef7; box-shadow: 0 28px 80px rgba(7, 37, 17, .35); }
.veg-pkg-modal-close { position: absolute; top: 14px; right: 16px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #d7e5ca; border-radius: 50%; color: #27652d; background: #f3f8e9; cursor: pointer; font-size: 25px; line-height: 1; }
.veg-pkg-modal-close:hover { color: #fff; background: #347e2b; }
.veg-pkg-modal-heading { padding-right: 40px; margin-bottom: 22px; }
.veg-pkg-modal-kicker { color: #b17b1c; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.veg-pkg-modal-heading h2 { margin: 8px 0 6px; color: #17572b; font-family: Georgia, 'Times New Roman', serif; font-size: 32px; line-height: 1.05; }
.veg-pkg-modal-heading p { margin: 0; color: #6a776c; font-size: 13px; line-height: 1.45; }
.veg-pkg-modal-form-shell h3 { margin: 0 0 18px; color: #17572b; font-family: Georgia, 'Times New Roman', serif; font-size: 20px; text-align: left !important; }
.veg-pkg-modal-form-shell form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.veg-pkg-modal-form-shell form > div { grid-column: span 2; }
.veg-pkg-modal-form-shell form > div:nth-of-type(1),
.veg-pkg-modal-form-shell form > div:nth-of-type(2) { grid-column: span 1; }
.veg-pkg-modal-form-shell label { display: block; margin-bottom: 5px; color: #31533a; font-size: 12px; font-weight: 800; }
.veg-pkg-modal-form-shell input,
.veg-pkg-modal-form-shell textarea { width: 100%; border: 1px solid #d5e2ca !important; border-radius: 10px !important; outline: none; color: #294432; background: #fbfdf5 !important; box-shadow: none !important; font-size: 13px; }
.veg-pkg-modal-form-shell input { min-height: 43px; }
.veg-pkg-modal-form-shell textarea { min-height: 100px; resize: vertical; }
.veg-pkg-modal-form-shell input:focus,
.veg-pkg-modal-form-shell textarea:focus { border-color: #579a36 !important; box-shadow: 0 0 0 3px rgba(87, 154, 54, .13) !important; }
.veg-pkg-modal-form-shell button[type="submit"] { min-height: 46px; border: 0 !important; border-radius: 999px !important; color: #fffef4 !important; background: linear-gradient(135deg, #63aa38, #347e2b) !important; cursor: pointer; font-weight: 850; }
    .veg-pkg-modal-form-shell button[type="submit"]:disabled { opacity: .65; cursor: wait; }
.veg-pkg-modal-form-shell .text-red-500 { margin-top: 4px; color: #b64c3b; font-size: 11px; }
.veg-pkg-modal-form-shell .text-green-500 { color: #347e2b; font-size: 12px; }
.veg-pkg-modal-status { min-height: 20px; margin-top: 13px; font-size: 13px; font-weight: 750; }
.veg-pkg-modal-status.is-success { color: #28712e; }
.veg-pkg-modal-status.is-error { color: #b64c3b; }
body.veg-pkg-modal-open { overflow: hidden; }

@media (max-width: 600px) {
    .veg-pkg-modal { align-items: end; padding: 0; }
    .veg-pkg-modal-dialog { width: 100%; max-height: 94vh; padding: 24px 18px 22px; border-radius: 24px 24px 0 0; }
    .veg-pkg-modal-heading h2 { font-size: 28px; }
    .veg-pkg-modal-form-shell form { grid-template-columns: 1fr; gap: 12px; }
    .veg-pkg-modal-form-shell form > div,
    .veg-pkg-modal-form-shell form > div:nth-of-type(1),
    .veg-pkg-modal-form-shell form > div:nth-of-type(2) { grid-column: span 1; }
}

/* Final premium modal overrides */
.veg-pkg-modal {
    z-index: 2147483000 !important;
    padding: 24px !important;
}

.veg-pkg-modal-backdrop {
    background:
        radial-gradient(circle at 50% 0%, rgba(95, 151, 66, .25), transparent 42%),
        rgba(11, 42, 21, .78) !important;
    backdrop-filter: blur(10px) !important;
}

.veg-pkg-modal-dialog {
    width: min(700px, 100%) !important;
    max-height: min(92vh, 800px) !important;
    padding: 38px 42px 34px !important;
    border: 1px solid rgba(200, 149, 45, .38) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 239, 207, .6), transparent 28%),
        #fffef7 !important;
    box-shadow: 0 30px 90px rgba(3, 28, 11, .48) !important;
}

.veg-pkg-modal-dialog::before {
    content: "";
    position: absolute;
    top: 0;
    left: 38px;
    right: 38px;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #347e2b, #c8952d, #347e2b);
}

.veg-pkg-modal-close {
    top: 20px !important;
    right: 22px !important;
    width: 40px !important;
    height: 40px !important;
    border-color: #d9e6cb !important;
    color: #2c6b30 !important;
    background: #f3f8e9 !important;
    font-size: 24px !important;
}

.veg-pkg-modal-heading {
    max-width: 570px;
    padding-right: 54px !important;
    margin: 5px 0 27px !important;
}

.veg-pkg-modal-kicker { color: #b27d1b !important; font-size: 11px !important; letter-spacing: .16em; }
.veg-pkg-modal-heading h2 { margin: 10px 0 8px !important; color: #16552b !important; font-size: clamp(32px, 5vw, 48px) !important; letter-spacing: -1.2px; }
.veg-pkg-modal-heading p { color: #627268 !important; font-size: 15px !important; }

.veg-pkg-modal-form-shell {
    padding: 24px 24px 22px;
    border: 1px solid #e0e9d3;
    border-radius: 20px;
    background: rgba(255, 255, 249, .82);
}

.veg-pkg-modal-form-shell h3 {
    margin: 0 0 21px !important;
    color: #1b5b30 !important;
    font-size: 25px !important;
    line-height: 1.18;
}

.veg-pkg-modal-form-shell form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 17px 18px !important;
}

.veg-pkg-modal-form-shell form > div { grid-column: span 2 !important; }
.veg-pkg-modal-form-shell form > div:nth-of-type(1),
.veg-pkg-modal-form-shell form > div:nth-of-type(2) { grid-column: span 1 !important; }
.veg-pkg-modal-form-shell label { margin-bottom: 7px !important; color: #31563a !important; font-size: 12px !important; font-weight: 850 !important; }
.veg-pkg-modal-form-shell input,
.veg-pkg-modal-form-shell textarea { border-color: #d4e2c8 !important; border-radius: 11px !important; background: #fffef9 !important; }
.veg-pkg-modal-form-shell input { min-height: 47px !important; }
.veg-pkg-modal-form-shell textarea { min-height: 112px !important; }
.veg-pkg-modal-form-shell input:focus,
.veg-pkg-modal-form-shell textarea:focus { border-color: #579a36 !important; box-shadow: 0 0 0 4px rgba(87, 154, 54, .13) !important; }
.veg-pkg-modal-form-shell button[type="submit"] { display: inline-flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 50px !important; margin-top: 2px; border-radius: 999px !important; background: linear-gradient(135deg, #63aa38, #347e2b) !important; box-shadow: 0 12px 24px rgba(45, 108, 39, .2); font-size: 15px !important; }
.veg-pkg-modal-form-shell button[type="submit"]::after { content: "  \2197"; margin-left: 8px; font-size: 20px; }
.veg-pkg-modal-status { margin-top: 14px !important; }

@media (max-width: 700px) {
    .veg-pkg-modal { align-items: center !important; padding: 12px !important; }
    .veg-pkg-modal-dialog { width: min(560px, 100%) !important; max-height: 94vh !important; padding: 30px 22px 24px !important; border-radius: 25px !important; }
    .veg-pkg-modal-dialog::before { left: 25px; right: 25px; }
    .veg-pkg-modal-close { top: 15px !important; right: 16px !important; }
    .veg-pkg-modal-heading { padding-right: 45px !important; margin-bottom: 21px !important; }
    .veg-pkg-modal-heading h2 { font-size: 31px !important; }
    .veg-pkg-modal-heading p { font-size: 13px !important; }
    .veg-pkg-modal-form-shell { padding: 20px 15px 17px; }
    .veg-pkg-modal-form-shell h3 { font-size: 21px !important; }
    .veg-pkg-modal-form-shell form { grid-template-columns: 1fr !important; gap: 13px !important; }
    .veg-pkg-modal-form-shell form > div,
    .veg-pkg-modal-form-shell form > div:nth-of-type(1),
    .veg-pkg-modal-form-shell form > div:nth-of-type(2) { grid-column: span 1 !important; }
}

@media (max-width: 420px) {
    .veg-pkg-modal { padding: 0 !important; align-items: end !important; }
    .veg-pkg-modal-dialog { max-height: 94vh !important; padding: 27px 15px 20px !important; border-radius: 24px 24px 0 0 !important; }
    .veg-pkg-modal-dialog::before { left: 20px; right: 20px; }
    .veg-pkg-modal-heading { margin-top: 8px !important; }
    .veg-pkg-modal-heading h2 { font-size: 29px !important; }
    .veg-pkg-modal-form-shell { padding: 18px 13px 15px; }
    .veg-pkg-modal-form-shell h3 { font-size: 20px !important; }
}

/* Compact contact-form modal polish */
.veg-pkg-modal-dialog {
    width: min(850px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: hidden !important;
    padding: 34px 40px 30px !important;
}

.veg-pkg-modal-heading { margin-bottom: 20px !important; }
.veg-pkg-modal-kicker { color: #a87516 !important; }
.veg-pkg-modal-heading h2 { font-size: clamp(34px, 5vw, 54px) !important; }
.veg-pkg-modal-heading p { font-size: 15px !important; }
.veg-pkg-modal-basket-context { display: inline-flex; margin-top: 12px; padding: 6px 11px; border: 1px solid #dce8ce; border-radius: 999px; color: #34782c; background: #f4f9e9; font-size: 11px; font-weight: 850; }

.veg-pkg-modal-form-shell {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.veg-pkg-modal-form-shell > h3 { display: none !important; }
.veg-pkg-modal-form-shell form { gap: 14px 18px !important; }
.veg-pkg-modal-form-shell input { min-height: 45px !important; }
.veg-pkg-modal-form-shell textarea { min-height: 92px !important; }
.veg-pkg-modal-form-shell button[type="submit"] { margin-top: 1px; }

.veg-pkg-modal-status {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 48px;
    margin: 13px auto 0 !important;
    padding: 10px 15px;
    border-radius: 12px;
    text-align: center;
}

.veg-pkg-modal-status.is-success,
.veg-pkg-modal-status.is-error { display: flex; flex-direction: column; }
.veg-pkg-modal-status strong { font-size: 14px; }
.veg-pkg-modal-status span { font-size: 12px; }
.veg-pkg-modal-status.is-success { border: 1px solid #b8d9a5; color: #28712e; background: #eff9e9; }
.veg-pkg-modal-status.is-error { border: 1px solid #e5b5aa; color: #a94136; background: #fff2ef; }

@media (max-width: 700px) {
    .veg-pkg-modal-dialog { max-height: calc(100dvh - 24px) !important; padding: 29px 24px 23px !important; }
    .veg-pkg-modal-heading h2 { font-size: 34px !important; }
    .veg-pkg-modal-form-shell form { gap: 11px !important; }
}

@media (max-width: 420px) {
    .veg-pkg-modal-dialog { max-height: 100dvh !important; padding: 26px 16px 18px !important; border-radius: 23px 23px 0 0 !important; }
    .veg-pkg-modal-heading { margin-bottom: 15px !important; }
    .veg-pkg-modal-heading h2 { margin-top: 8px !important; font-size: 30px !important; }
    .veg-pkg-modal-heading p { font-size: 12px !important; }
    .veg-pkg-modal-basket-context { margin-top: 8px; font-size: 10px; }
    .veg-pkg-modal-form-shell form { gap: 9px !important; }
    .veg-pkg-modal-form-shell input { min-height: 41px !important; }
    .veg-pkg-modal-form-shell textarea { min-height: 76px !important; }
    .veg-pkg-modal-form-shell button[type="submit"] { min-height: 44px !important; }
}

/* Keep the form and its feedback above the mobile navigation */
body.veg-pkg-modal-open .mobile-footer,
body.veg-pkg-modal-open .mobile-bottom-nav,
body.veg-pkg-modal-open .stb-mobile-footer,
body.veg-pkg-modal-open .mobile-footer-nav { display: none !important; }

.veg-pkg-modal-dialog { position: relative !important; }
.veg-pkg-modal-message[hidden] { display: none !important; }
.veg-pkg-modal-message {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    padding: 24px;
    border-radius: inherit;
    background: rgba(255, 254, 247, .9);
    backdrop-filter: blur(8px);
}

.veg-pkg-modal-message-card {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: min(350px, 100%);
    padding: 28px 22px 24px;
    border: 1px solid #cfe2bf;
    border-radius: 22px;
    background: #fffef8;
    box-shadow: 0 18px 48px rgba(29, 83, 36, .18);
    text-align: center;
}

.veg-pkg-modal-message-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin-bottom: 13px;
    border-radius: 50%;
    color: #fffef4;
    background: #3e8a31;
    font-size: 30px;
    font-weight: 900;
}

.veg-pkg-modal-message-title { color: #1b5b30; font-family: Georgia, 'Times New Roman', serif; font-size: 24px; line-height: 1.1; }
.veg-pkg-modal-message-text { margin-top: 8px; color: #657468; font-size: 13px; line-height: 1.45; }
.veg-pkg-modal-message-action { margin-top: 18px; min-width: 130px; min-height: 40px; padding: 8px 17px; border: 0; border-radius: 999px; color: #fffef4; background: #347e2b; cursor: pointer; font-size: 12px; font-weight: 850; }
.veg-pkg-modal-message.is-success .veg-pkg-modal-message-card { border-color: #b5d6a1; }
.veg-pkg-modal-message.is-error .veg-pkg-modal-message-card { border-color: #e4b8ae; }
.veg-pkg-modal-message.is-error .veg-pkg-modal-message-icon { background: #b95645; }
.veg-pkg-modal-message.is-error .veg-pkg-modal-message-title { color: #9f4337; }
.veg-pkg-modal-message.is-error .veg-pkg-modal-message-action { background: #a94b3d; }

@media (max-width: 700px) {
    .veg-pkg-modal { padding: 8px !important; }
    .veg-pkg-modal-dialog { max-height: calc(100dvh - 16px) !important; }
    .veg-pkg-modal-form-shell textarea { min-height: 78px !important; max-height: 90px !important; }
    .veg-pkg-modal-form-shell button[type="submit"] { min-height: 46px !important; }
}

@media (max-width: 420px) {
    .veg-pkg-modal { padding: 0 !important; }
    .veg-pkg-modal-dialog { max-height: 100dvh !important; border-radius: 22px 22px 0 0 !important; }
    .veg-pkg-modal-form-shell textarea { min-height: 66px !important; max-height: 78px !important; }
    .veg-pkg-modal-message { border-radius: inherit; }
}

/* Final modal behavior: content-height, centered on mobile/tablet, above all site UI */
html body.veg-pkg-modal-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

html body.veg-pkg-modal-open .veg-pkg-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: grid !important;
    place-items: center !important;
    align-items: center !important;
    padding: 16px !important;
    overflow: hidden !important;
}

html body.veg-pkg-modal-open .veg-pkg-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
}

html body.veg-pkg-modal-open .veg-pkg-modal-dialog {
    display: block !important;
    width: min(850px, 100%) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
}

html body.veg-pkg-modal-open .veg-pkg-modal-form-shell,
html body.veg-pkg-modal-open .veg-pkg-modal-form-shell form {
    height: auto !important;
    min-height: 0 !important;
    align-content: start !important;
}

html body.veg-pkg-modal-open .veg-pkg-modal-form-shell button[type="submit"] {
    margin-bottom: 0 !important; font-family: inherit;
}

html body.veg-pkg-modal-open .mobile-footer,
html body.veg-pkg-modal-open .mobile-bottom-nav,
html body.veg-pkg-modal-open .stb-mobile-footer,
html body.veg-pkg-modal-open .mobile-footer-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 700px) {
    html body.veg-pkg-modal-open .veg-pkg-modal { padding: 12px !important; }
    html body.veg-pkg-modal-open .veg-pkg-modal-dialog {
        width: min(600px, 100%) !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 27px !important;
    }
}

@media (max-width: 420px) {
    html body.veg-pkg-modal-open .veg-pkg-modal { padding: 8px !important; }
    html body.veg-pkg-modal-open .veg-pkg-modal-dialog {
        width: 100% !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 25px !important;
    }
}

/* Family Basket — Best Seller badge polish */
.veg-pkg-basket-card .veg-pkg-farm-fresh-badge {
    position: absolute;
    right: -8px;
    bottom: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    width: 92px;
    height: 92px;
    padding-top: 3px;
    border: 5px solid #fffdf0;
    border-radius: 50%;
    color: #4b370d;
    background: radial-gradient(circle at 35% 28%, #f1c95a 0%, #dfa92f 54%, #c88e1b 100%);
    box-shadow: 0 0 0 2px #e9bd4b, 0 12px 24px rgba(137, 95, 12, .24);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    animation: vegPkgBestSellerGlow 1.9s ease-in-out infinite;
}

.veg-pkg-basket-card .veg-pkg-farm-fresh-badge::before {
    content: "";
    position: absolute;
    inset: -8px;
    border: 2px solid rgba(245, 204, 82, .72);
    border-radius: 50%;
    pointer-events: none;
    animation: vegPkgBestSellerHalo 1.9s ease-in-out infinite;
}

.veg-pkg-basket-card .veg-pkg-farm-fresh-badge span {
    display: block;
    margin: 0;
    color: #5b4008;
    font-size: 22px;
    line-height: 1;
}

@keyframes vegPkgBestSellerGlow {
    0%, 100% { box-shadow: 0 0 0 2px #e9bd4b, 0 10px 24px rgba(137, 95, 12, .28); }
    50% { box-shadow: 0 0 0 5px #f5d477, 0 0 46px rgba(239, 190, 52, .92), 0 0 78px rgba(238, 185, 43, .42), 0 16px 34px rgba(137, 95, 12, .34); }
}

@keyframes vegPkgBestSellerHalo {
    0%, 100% { transform: scale(.96); opacity: .72; }
    50% { transform: scale(1.18); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .veg-pkg-basket-card .veg-pkg-farm-fresh-badge,
    .veg-pkg-basket-card .veg-pkg-farm-fresh-badge::before { animation: none; }
}

@media (max-width: 600px) {
    .veg-pkg-basket-card .veg-pkg-farm-fresh-badge {
        right: -5px;
        bottom: -7px;
        width: 68px;
        height: 68px;
        border-width: 4px;
        font-size: 9px;
    }

    .veg-pkg-basket-card .veg-pkg-farm-fresh-badge span { font-size: 16px; }
}

/* Premium trial popup refinement */
.veg-pkg-modal-dialog {
    isolation: isolate;
    
}

/* Mobile-friendly close control */
.veg-pkg-modal-dialog {
    position: relative;
    z-index: 2;
}

.veg-pkg-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 50;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.veg-pkg-modal-close:active {
    transform: scale(0.94);
}

@media (max-width: 767px) {
    .veg-pkg-modal-close {
        top: 10px;
        right: 10px;
    }
}

.veg-pkg-modal-dialog::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -78px;
    bottom: -92px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(200, 149, 45, .18);
    border-radius: 50%;
    box-shadow: 0 0 0 22px rgba(200, 149, 45, .035), 0 0 0 44px rgba(200, 149, 45, .025);
    pointer-events: none;
}

.veg-pkg-modal-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px;
    border: 1px solid rgba(200, 149, 45, .42);
    border-radius: 999px;
    background: #fff7dd;
    box-shadow: 0 7px 16px rgba(180, 125, 23, .08);
}

.veg-pkg-modal-kicker > span {
    color: #c8952d;
    font-size: 15px;
    line-height: 1;
}

.veg-pkg-modal-heading {
    position: relative;
    z-index: 1;
}

.veg-pkg-modal-leaf {
    position: absolute;
    z-index: -1;
    top: -10px;
    right: -24px;
    width: 185px;
    color: rgba(83, 137, 57, .13);
    pointer-events: none;
}

.veg-pkg-modal-leaf svg { display: block; width: 100%; height: auto; }

.veg-pkg-modal-heading h2 {
    max-width: 680px;
    font-weight: 700 !important;
}

.veg-pkg-modal-basket-context {
    gap: 6px;
    color: #2f722c !important;
    background: linear-gradient(180deg, #f4fae9, #edf6df) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}

.veg-pkg-modal-form-shell form > div { position: relative; }

.veg-pkg-modal-form-shell input,
.veg-pkg-modal-form-shell textarea {
    padding-left: 47px !important;
    background-repeat: no-repeat !important;
    background-position: 16px center !important;
    background-size: 20px 20px !important;
}

.veg-pkg-modal-form-shell textarea {
    background-position: 16px 16px !important;
    padding-top: 14px !important;
}

.veg-pkg-modal-form-shell input[name="name"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b8f43' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.2'/%3E%3Cpath d='M5.5 20c.6-3.7 2.8-5.6 6.5-5.6s5.9 1.9 6.5 5.6'/%3E%3C/svg%3E") !important;
}

.veg-pkg-modal-form-shell input[name="email"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b8f43' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2'/%3E%3Cpath d='m5 7 7 5 7-5'/%3E%3C/svg%3E") !important;
}

.veg-pkg-modal-form-shell input[name="mobile_number"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b8f43' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.2 3.5h2.3l1.2 4.2-2 1.5a14.3 14.3 0 0 0 6.1 6.1l1.5-2 4.2 1.2v2.3c0 1.2-1 2.2-2.2 2.2C11 18.9 5.1 13 5.1 5.7c0-1.2.9-2.2 2.1-2.2Z'/%3E%3C/svg%3E") !important;
}

.veg-pkg-modal-form-shell textarea[name="msg"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b8f43' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5.5h14a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-8l-5 3v-3.4a2 2 0 0 1-1-1.7v-7a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E") !important;
}

.veg-pkg-modal-form-shell input::placeholder,
.veg-pkg-modal-form-shell textarea::placeholder { color: #819083 !important; opacity: 1; }

.veg-pkg-modal-form-shell button[type="submit"] {
    position: relative;
    overflow: hidden;
    letter-spacing: .08em;
    box-shadow: 0 14px 28px rgba(45, 108, 39, .24) !important;
}

.veg-pkg-modal-form-shell button[type="submit"]::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 34%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.32), transparent);
    transform: translateX(-150%) skewX(-18deg);
    animation: vegPkgModalButtonShine 3.2s ease-in-out infinite;
    pointer-events: none;
}

.veg-pkg-modal-form-shell button[type="submit"]::after { position: relative; z-index: 1; }

@keyframes vegPkgModalButtonShine {
    0%, 42% { transform: translateX(-150%) skewX(-18deg); }
    72%, 100% { transform: translateX(390%) skewX(-18deg); }
}

@media (max-width: 700px) {
    .veg-pkg-modal { padding: 10px !important; }
    .veg-pkg-modal-dialog {
        width: min(600px, 100%) !important;
        max-height: calc(100dvh - 20px) !important;
        padding: 28px 24px 22px !important;
        border-radius: 27px !important;
    }
    .veg-pkg-modal-heading h2 { font-size: clamp(30px, 7vw, 39px) !important; }
    .veg-pkg-modal-leaf { right: -18px; width: 145px; }
    .veg-pkg-modal-form-shell form { gap: 12px !important; }
    .veg-pkg-modal-form-shell input { min-height: 45px !important; }
    .veg-pkg-modal-form-shell textarea { min-height: 86px !important; }
}

@media (max-width: 420px) {
    .veg-pkg-modal { padding: 0 !important; align-items: end !important; }
    .veg-pkg-modal-dialog {
        max-height: calc(100dvh - 8px) !important;
        padding: 25px 16px 17px !important;
        border-radius: 25px 25px 0 0 !important;
    }
    .veg-pkg-modal-dialog::before { left: 22px; right: 22px; height: 3px; }
    .veg-pkg-modal-close { top: 16px !important; right: 16px !important; width: 38px !important; height: 38px !important; }
    .veg-pkg-modal-heading { padding-right: 46px !important; margin-bottom: 14px !important; }
    .veg-pkg-modal-kicker { padding: 7px 10px; font-size: 10px !important; }
    .veg-pkg-modal-heading h2 { margin: 8px 0 5px !important; font-size: 29px !important; }
    .veg-pkg-modal-heading p { font-size: 12px !important; }
    .veg-pkg-modal-basket-context { margin-top: 8px; font-size: 10px; }
    .veg-pkg-modal-leaf { right: -17px; top: 12px; width: 110px; opacity: .7; }
    .veg-pkg-modal-form-shell form { gap: 9px !important; }
    .veg-pkg-modal-form-shell label { margin-bottom: 4px !important; font-size: 11px !important; }
    .veg-pkg-modal-form-shell input { min-height: 41px !important; font-size: 12px !important; }
    .veg-pkg-modal-form-shell textarea { min-height: 70px !important; max-height: 82px !important; font-size: 12px !important; }
    .veg-pkg-modal-form-shell button[type="submit"] { min-height: 45px !important; font-size: 13px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .veg-pkg-modal-form-shell button[type="submit"]::before { animation: none; }
}

/* Final desktop modal sizing: centered, compact and scroll-safe. */
@media (min-width: 701px) {
    html body.veg-pkg-modal-open .veg-pkg-modal {
        padding: 32px !important;
        place-items: center !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-dialog {
        width: min(720px, calc(100vw - 64px)) !important;
        max-height: min(760px, calc(100dvh - 64px)) !important;
        height: auto !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        padding: 30px 34px 28px !important;
        scroll-padding-bottom: 24px;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-heading {
        max-width: none !important;
        margin-bottom: 18px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-heading h2 {
        max-width: none !important;
        margin: 8px 0 6px !important;
        font-size: clamp(34px, 4vw, 46px) !important;
        line-height: 1.05 !important;
        white-space: nowrap;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell form {
        gap: 12px 16px !important;
    }

    /* The honeypot is the first div; name and mobile are the next two. */
    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell form > div:nth-of-type(2),
    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell form > div:nth-of-type(3) {
        grid-column: span 1 !important;
    }
}

/* High-contrast close control, visible against the light modal surface. */
html body.veg-pkg-modal-open .veg-pkg-modal-close {
    top: 14px !important;
    right: 14px !important;
    z-index: 60 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border: 2px solid #347e2b !important;
    color: #1d5b2b !important;
    background: #edf8df !important;
    box-shadow: 0 5px 16px rgba(39, 101, 45, .2), 0 0 0 4px rgba(255, 255, 247, .9) !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

html body.veg-pkg-modal-open .veg-pkg-modal-close:hover,
html body.veg-pkg-modal-open .veg-pkg-modal-close:focus-visible {
    color: #fff !important;
    background: #347e2b !important;
    border-color: #245d25 !important;
    outline: 3px solid rgba(200, 149, 45, .45) !important;
    outline-offset: 2px;
    transform: scale(1.04);
}

@media (max-width: 700px) {
    html body.veg-pkg-modal-open .veg-pkg-modal-close {
        top: 12px !important;
        right: 12px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }
}

@media (max-width: 420px) {
    html body.veg-pkg-modal-open .veg-pkg-modal-close {
        top: 10px !important;
        right: 10px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }
}

/* Final desktop fit: no scrollbar; the complete form fits in one viewport. */
@media (min-width: 701px) {
    html body.veg-pkg-modal-open .veg-pkg-modal-dialog {
        width: min(640px, calc(100vw - 48px)) !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        padding: 22px 28px 20px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-heading {
        margin-bottom: 12px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-kicker {
        padding: 6px 10px !important;
        font-size: 10px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-heading h2 {
        margin: 6px 0 4px !important;
        font-size: 34px !important;
        line-height: 1.05 !important;
        white-space: nowrap;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-heading p {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-basket-context {
        margin-top: 6px !important;
        padding: 5px 9px !important;
        font-size: 10px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell form {
        gap: 8px 12px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell label {
        margin-bottom: 3px !important;
        font-size: 11px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell input {
        min-height: 40px !important;
        height: 40px !important;
        padding: 8px 10px 8px 44px !important;
        font-size: 12px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell textarea {
        min-height: 68px !important;
        height: 68px !important;
        max-height: 68px !important;
        padding: 9px 10px 9px 44px !important;
        font-size: 12px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-form-shell button[type="submit"] {
        min-height: 43px !important;
        height: 43px !important;
        padding: 7px 12px !important;
        font-size: 13px !important;
    }

    html body.veg-pkg-modal-open .veg-pkg-modal-close {
        top: 10px !important;
        right: 10px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }
}


/* =========================================================
   Soil To Bowl vegetables page — premium sections after plans
   ========================================================= */
.veg-freshness-editorial,
.veg-seasonal-section,
.veg-journey-section,
.veg-routine-panel,
.veg-faq-section,
.veg-final-cta {
    max-width: 1240px;
    margin: 100px auto 0;
}

.veg-page-kicker {
    display: inline-block;
    color: #b9821b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15em;
    line-height: 1.25;
    text-transform: uppercase;
}

.veg-freshness-editorial {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(410px, .84fr);
    align-items: center;
    gap: clamp(34px, 7vw, 96px);
    padding: clamp(26px, 4vw, 55px);
    overflow: hidden;
    border: 1px solid #dbe8d1;
    border-radius: 30px;
    background: linear-gradient(115deg, #fffef8 0%, #f3f8ea 100%);
    box-shadow: 0 22px 55px rgba(30, 91, 38, .09);
}

.veg-freshness-copy h2,
.veg-section-heading h2,
.veg-journey-heading h2,
.veg-routine-copy h2,
.veg-final-cta h2 {
    margin: 9px 0 14px;
    color: #164e2a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(33px, 4.2vw, 55px);
    font-weight: 700;
    letter-spacing: -1.9px;
    line-height: 1.02;
}

.veg-freshness-copy h2 em,
.veg-section-heading h2 em,
.veg-journey-heading h2 em,
.veg-routine-copy h2 em { color: #9c6d16; font-style: normal; }
.veg-freshness-copy > p { max-width: 555px; margin: 0; color: #657567; font-size: 15px; line-height: 1.7; }

.veg-freshness-points { display: grid; gap: 16px; margin: 27px 0 24px; padding: 0; list-style: none; }
.veg-freshness-points li { display: flex; align-items: flex-start; gap: 12px; }
.veg-check { display: grid; flex: 0 0 auto; place-items: center; width: 25px; height: 25px; margin-top: 2px; border-radius: 50%; color: #fff; background: #367b32; font-size: 13px; font-weight: 900; }
.veg-freshness-points strong { display: block; color: #225535; font-size: 14px; }
.veg-freshness-points small { display: block; margin-top: 3px; color: #788579; font-size: 12px; line-height: 1.45; }

.veg-delivery-note { display: inline-flex; align-items: center; gap: 10px; padding: 10px 15px 10px 10px; border: 1px solid #dae8cf; border-radius: 14px; background: rgba(255, 255, 255, .78); }
.veg-delivery-note-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: #fffdf3; background: #266c2c; font-size: 19px; font-weight: 700; }
.veg-delivery-note strong { display: block; color: #205631; font-size: 11px; }
.veg-delivery-note small { display: block; margin-top: 2px; color: #728072; font-size: 10px; }

.veg-freshness-art { position: relative; display: grid; min-height: 405px; place-items: center; overflow: hidden; border-radius: 24px; isolation: isolate; background: radial-gradient(circle at 50% 28%, rgba(229, 197, 83, .43), transparent 22%), linear-gradient(145deg, #1a5429, #4a862f); }
.veg-freshness-art::before { position: absolute; z-index: -1; inset: 18px; border: 1px solid rgba(255,255,255,.28); border-radius: 19px; content: ""; }
.veg-freshness-art img { position: relative; z-index: 2; width: min(82%, 370px); max-height: 350px; object-fit: contain; filter: drop-shadow(0 24px 18px rgba(7, 36, 15, .3)); }
.veg-art-glow { position: absolute; z-index: 0; width: 230px; height: 230px; border-radius: 50%; background: rgba(237, 211, 109, .30); filter: blur(5px); }
.veg-art-ring { position: absolute; z-index: 0; width: 285px; height: 285px; border: 1px solid rgba(255,255,255,.27); border-radius: 45% 55% 51% 49%; }
.veg-art-ring-one { transform: rotate(28deg); }
.veg-art-ring-two { width: 380px; height: 380px; transform: rotate(-35deg); }
.veg-art-chip { position: absolute; z-index: 3; padding: 8px 10px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; color: #fffdf1; background: rgba(14, 65, 26, .46); backdrop-filter: blur(5px); font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.veg-art-chip-top { top: 42px; right: 28px; }
.veg-art-chip-bottom { bottom: 42px; left: 28px; }
.veg-art-stamp { position: absolute; z-index: 3; right: 24px; bottom: 27px; display: grid; place-items: center; width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.68); border-radius: 50%; color: #fffdf2; background: rgba(26, 82, 40, .72); text-align: center; transform: rotate(0deg); }
.veg-art-stamp b { font-size: 12px; letter-spacing: .1em; }
.veg-art-stamp span { margin-top: -5px; font-size: 7px; font-weight: 800; letter-spacing: .08em; line-height: 1.3; }

.veg-section-heading { max-width: 710px; margin: 0 auto 34px; text-align: center; }
.veg-section-heading p { margin: 0 auto; color: #6a786d; font-size: 15px; line-height: 1.6; }
.veg-seasonal-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.veg-season-card { min-height: 215px; padding: 22px 17px; border: 1px solid #e0e9d8; border-radius: 20px; background: #fffef9; box-shadow: 0 12px 26px rgba(30, 83, 35, .05); transition: transform .25s ease, box-shadow .25s ease; }
.veg-season-card:hover { box-shadow: 0 17px 32px rgba(30, 83, 35, .11); transform: translateY(-5px); }
.veg-season-card-featured { border-color: #2f7531; color: #fffdf3; background: linear-gradient(145deg, #1c5a2a, #3f812e); }
.veg-card-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 28px; border-radius: 16px; color: #2f762e; background: #eef6e5; }
.veg-card-icon svg { width: 31px; height: 31px; }
.veg-season-card-featured .veg-card-icon { color: #fffdf5; background: rgba(255,255,255,.14); }
.veg-season-card h3 { margin: 0; color: #19512d; font-size: 15px; }
.veg-season-card p { margin: 8px 0 0; color: #748074; font-size: 11px; line-height: 1.55; }
.veg-season-card-featured h3 { color: #fffdf4; }
.veg-season-card-featured p { color: rgba(255,255,255,.76); }
.veg-seasonal-footnote { margin: 18px 0 0; color: #879187; font-size: 11px; text-align: center; }

.veg-journey-section { padding: clamp(31px, 5vw, 60px); overflow: hidden; border-radius: 28px; color: #fffef6; background: radial-gradient(circle at 85% 0%, rgba(210, 183, 67, .22), transparent 25%), linear-gradient(135deg, #184f27, #397b2f); }
.veg-journey-heading { max-width: 640px; margin: 0 auto 42px; text-align: center; }
.veg-journey-heading .veg-page-kicker { color: #efd36b; }
.veg-journey-heading h2 { color: #fffdf4; }
.veg-journey-heading h2 em { color: #f0cf64; font-style: normal; }
.veg-journey-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.23); border-radius: 19px; background: rgba(255,255,255,.18); }
.veg-journey-step { position: relative; min-height: 210px; padding: 25px 20px; background: rgba(8, 57, 22, .22); }
.veg-step-no { position: absolute; top: 18px; right: 18px; color: rgba(255,255,255,.46); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.veg-step-icon { display: grid; place-items: center; width: 47px; height: 47px; margin-bottom: 26px; border: 1px solid rgba(255,255,255,.34); border-radius: 14px; color: #f4d568; background: rgba(255,255,255,.10); font-size: 24px; font-weight: 700; }
.veg-journey-step h3 { margin: 0; color: #fffdf5; font-size: 15px; }
.veg-journey-step p { margin: 8px 0 0; color: rgba(255,255,255,.71); font-size: 11px; line-height: 1.58; }
.veg-journey-delivery { display: flex; align-items: center; justify-content: center; gap: 15px; margin-top: 28px; text-align: center; }
.veg-journey-delivery span { color: #efd36b; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.veg-journey-delivery strong { color: #fffdf2; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 400; }
.veg-journey-delivery i { margin: 0 4px; color: #f0cf64; font-style: normal; }
.veg-journey-delivery small { color: rgba(255,255,255,.64); font-size: 10px; }

.veg-routine-panel { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 50px; align-items: center; padding: clamp(28px, 5vw, 62px); border-radius: 28px; background: #f0f7e8; }
.veg-routine-copy h2 { margin-bottom: 13px; }
.veg-routine-copy > p { max-width: 465px; margin: 0 0 24px; color: #667669; font-size: 15px; line-height: 1.67; }
.veg-section-button, .veg-final-cta-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 8px 9px 8px 19px; border-radius: 999px; color: #fffef4; background: #215e2a; box-shadow: 0 13px 25px rgba(31, 91, 41, .19); font-size: 13px; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.veg-section-button:hover, .veg-final-cta-button:hover { color: #fffef4; background: #35792e; transform: translateY(-2px); }
.veg-section-button b, .veg-final-cta-button b { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: #27692c; background: #fffef5; font-size: 18px; line-height: 1; }
.veg-routine-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.veg-routine-benefits > div { min-height: 145px; padding: 19px; border: 1px solid #dbe8d0; border-radius: 17px; background: rgba(255,255,255,.76); }
.veg-routine-benefits span { display: block; margin-bottom: 22px; color: #bd8c27; font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.veg-routine-benefits strong { display: block; color: #20562f; font-size: 13px; }
.veg-routine-benefits small { display: block; margin-top: 6px; color: #778277; font-size: 11px; line-height: 1.5; }

.veg-faq-section { max-width: 925px; }
.veg-faq-list { display: grid; gap: 10px; }
.veg-faq-list details { border: 1px solid #dfe9d8; border-radius: 16px; background: rgba(255,255,255,.78); box-shadow: 0 8px 18px rgba(32, 83, 36, .035); }
.veg-faq-list summary { position: relative; padding: 18px 54px 18px 20px; cursor: pointer; color: #1e512c; font-size: 14px; font-weight: 800; list-style: none; }
.veg-faq-list summary::-webkit-details-marker { display: none; }
.veg-faq-list summary::after { position: absolute; top: 50%; right: 17px; display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: #1f672d; background: #edf5e7; content: "+"; font-size: 20px; font-weight: 400; line-height: 1; transform: translateY(-50%); }
.veg-faq-list details[open] summary::after { color: #fff; background: #286e2d; content: "−"; }
.veg-faq-list details p { margin: -1px 56px 19px 20px; color: #6f7d70; font-size: 13px; line-height: 1.65; }

.veg-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 20px; padding: clamp(29px, 5vw, 52px); overflow: hidden; border-radius: 28px; color: #fffef5; background: radial-gradient(circle at 86% 18%, rgba(227, 195, 77, .25), transparent 21%), linear-gradient(135deg, #1a5428, #3d812e); box-shadow: 0 20px 48px rgba(30, 88, 36, .18); }
.veg-final-cta .veg-page-kicker { color: #efd56b; }
.veg-final-cta h2 { margin-bottom: 10px; color: #fffef5; }
.veg-final-cta p { margin: 0; color: rgba(255,255,255,.77); font-size: 14px; }
.veg-final-cta-button { flex: 0 0 auto; color: #205a29; background: #fffef5; box-shadow: none; }
.veg-final-cta-button:hover { color: #205a29; background: #f3f8e7; }
.veg-final-cta-button b { color: #fffef5; background: #2f752e; }

@media (max-width: 1000px) {
    .veg-seasonal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .veg-season-card:last-child { grid-column: 2 / span 1; }
    .veg-freshness-editorial { grid-template-columns: 1fr 1fr; gap: 28px; }
    .veg-freshness-art { min-height: 360px; }
}

@media (max-width: 720px) {
    .veg-freshness-editorial,
    .veg-seasonal-section,
    .veg-journey-section,
    .veg-routine-panel,
    .veg-faq-section,
    .veg-final-cta { margin-top: 58px; }
    .veg-freshness-editorial { grid-template-columns: 1fr; padding: 24px 17px 17px; border-radius: 22px; }
    .veg-freshness-copy h2, .veg-section-heading h2, .veg-journey-heading h2, .veg-routine-copy h2, .veg-final-cta h2 { font-size: 35px; letter-spacing: -1.35px; }
    .veg-freshness-copy > p, .veg-routine-copy > p { font-size: 13px; }
    .veg-freshness-points { gap: 13px; margin: 23px 0 20px; }
    .veg-freshness-points small { font-size: 11px; }
    .veg-freshness-art { min-height: 295px; border-radius: 17px; }
    .veg-freshness-art img { max-height: 263px; }
    .veg-art-ring-two { width: 300px; height: 300px; }
    .veg-art-chip-top { top: 24px; right: 18px; }
    .veg-art-chip-bottom { bottom: 22px; left: 18px; }
    .veg-art-stamp { right: 17px; bottom: 17px; width: 66px; height: 66px; }
    .veg-section-heading { margin-bottom: 25px; }
    .veg-section-heading p { font-size: 13px; }
    .veg-seasonal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .veg-season-card, .veg-season-card:last-child { min-height: 178px; padding: 16px 13px; grid-column: auto; }
    .veg-season-card:last-child { grid-column: 1 / -1; min-height: 145px; }
    .veg-card-icon { width: 43px; height: 43px; margin-bottom: 18px; border-radius: 13px; }
    .veg-card-icon svg { width: 25px; height: 25px; }
    .veg-season-card h3 { font-size: 12px; }
    .veg-season-card p { font-size: 10px; }
    .veg-journey-section { padding: 27px 14px 19px; border-radius: 22px; }
    .veg-journey-heading { margin-bottom: 25px; }
    .veg-journey-steps { grid-template-columns: repeat(2, 1fr); border-radius: 15px; }
    .veg-journey-step { min-height: 172px; padding: 17px 13px; }
    .veg-step-no { top: 12px; right: 12px; font-size: 8px; }
    .veg-step-icon { width: 37px; height: 37px; margin-bottom: 17px; border-radius: 11px; font-size: 19px; }
    .veg-journey-step h3 { font-size: 12px; }
    .veg-journey-step p { font-size: 9.5px; }
    .veg-journey-delivery { display: grid; gap: 5px; margin-top: 20px; }
    .veg-journey-delivery strong { font-size: 19px; }
    .veg-journey-delivery small { font-size: 9px; }
    .veg-routine-panel { grid-template-columns: 1fr; gap: 25px; padding: 27px 17px; border-radius: 22px; }
    .veg-routine-benefits > div { min-height: 130px; padding: 15px; }
    .veg-routine-benefits span { margin-bottom: 17px; font-size: 9px; }
    .veg-routine-benefits strong { font-size: 11px; }
    .veg-routine-benefits small { font-size: 9.5px; }
    .veg-faq-list summary { padding: 16px 48px 16px 15px; font-size: 12px; line-height: 1.45; }
    .veg-faq-list summary::after { right: 13px; width: 23px; height: 23px; }
    .veg-faq-list details p { margin: -2px 48px 16px 15px; font-size: 11px; }
    .veg-final-cta { display: block; padding: 28px 20px; border-radius: 22px; }
    .veg-final-cta p { font-size: 12px; line-height: 1.5; }
    .veg-final-cta-button { width: 100%; margin-top: 22px; }
}

@media (max-width: 360px) {
    .veg-freshness-copy h2, .veg-section-heading h2, .veg-journey-heading h2, .veg-routine-copy h2, .veg-final-cta h2 { font-size: 31px; }
    .veg-season-card h3 { font-size: 11px; }
    .veg-season-card p { font-size: 9px; }
}
/* ===================== Vegetables page — V2 refinements ===================== */

/* 1. Clean selection-to-delivery timeline */
.veg-journey-section {
    padding: clamp(15px, 3vw, 36px) 0 0;
    overflow: visible;
    border-radius: 0;
    color: inherit;
    background: transparent;
}

.veg-journey-heading { max-width: 780px; margin: 0 auto 52px; }
.veg-journey-heading .veg-page-kicker { position: relative; color: #4d842e; }
.veg-journey-heading .veg-page-kicker::before,
.veg-journey-heading .veg-page-kicker::after {
    position: absolute;
    top: 50%;
    width: 58px;
    height: 1px;
    background: #b8cfaa;
    content: "";
}
.veg-journey-heading .veg-page-kicker::before { right: calc(100% + 14px); }
.veg-journey-heading .veg-page-kicker::after { left: calc(100% + 14px); }
.veg-journey-heading h2 { color: #154d28; }
.veg-journey-heading h2 em { color: #b27a14; }

.veg-journey-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}
.veg-journey-track::before {
    position: absolute;
    z-index: 0;
    top: 37px;
    right: 12.5%;
    left: 12.5%;
    height: 1px;
    background: #c8dabd;
    content: "";
}
.veg-journey-step {
    position: relative;
    z-index: 1;
    min-height: 0;
    padding: 0 18px;
    background: transparent;
    text-align: center;
}
.veg-step-icon {
    display: grid;
    width: 74px;
    height: 74px;
    margin: 0 auto 20px;
    place-items: center;
    border: 7px solid #fbfff8;
    border-radius: 50%;
    color: #4d852e;
    background: #f0f7e9;
    box-shadow: 0 10px 28px rgba(47, 105, 39, .10);
}
.veg-step-icon svg { width: 34px; height: 34px; }
.veg-step-no { display: block; position: static; margin: 0 0 15px; color: #43812d; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.veg-journey-step h3 { color: #174f2b; font-size: 16px; }
.veg-journey-step p { max-width: 225px; margin: 9px auto 0; color: #607565; font-size: 12px; line-height: 1.55; }
.veg-journey-delivery {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 50px 0 0;
    padding: 18px 24px;
    border-top: 1px solid #d8e5d0;
    text-align: center;
}
.veg-journey-delivery span { color: #af7815; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.veg-journey-delivery strong { color: #1f5b2e; font-size: 24px; }
.veg-journey-delivery i { color: #c68a18; }
.veg-journey-delivery small { color: #728174; font-size: 11px; }

/* 2. Premium seasonal bento */
.veg-seasonal-section {
    position: relative;
    padding: clamp(30px, 5vw, 62px);
    overflow: hidden;
    border: 1px solid #e0ead8;
    border-radius: 30px;
    background: radial-gradient(circle at 7% 8%, rgba(232, 201, 95, .14), transparent 20%), linear-gradient(135deg, #fcfff9, #f2f8eb);
}
.veg-seasonal-section::before {
    position: absolute;
    right: -88px;
    bottom: -110px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(68, 126, 47, .13);
    border-radius: 47% 53% 58% 42%;
    content: "";
    transform: rotate(25deg);
}
.veg-seasonal-section .veg-section-heading { position: relative; z-index: 1; }
.veg-seasonal-section .veg-section-heading h2 { font-size: clamp(36px, 4.6vw, 58px); }
.veg-seasonal-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.1fr repeat(2, 1fr);
    grid-template-rows: repeat(2, minmax(166px, 1fr));
    gap: 13px;
}
.veg-season-card,
.veg-season-card:last-child {
    min-height: 0;
    padding: 23px 20px;
    border: 1px solid #dce8d4;
    border-radius: 19px;
    background: rgba(255,255,252,.86);
    box-shadow: none;
}
.veg-season-card:hover { border-color: #abc99c; box-shadow: 0 16px 30px rgba(34, 92, 36, .09); transform: translateY(-4px); }
.veg-season-card-featured {
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    border-color: #2b702d;
    background: radial-gradient(circle at 30% 15%, rgba(232, 204, 95, .23), transparent 27%), linear-gradient(145deg, #18542a, #3b7f30);
}
.veg-season-card-featured::after {
    position: absolute;
    top: -28px;
    right: -13px;
    width: 155px;
    height: 155px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 48% 52% 44% 56%;
    content: "";
    transform: rotate(27deg);
}
.veg-season-card { position: relative; }
.veg-card-icon { position: relative; z-index: 1; margin-bottom: auto; }
.veg-season-card h3 { position: relative; z-index: 1; margin-top: 20px; }
.veg-season-card p { position: relative; z-index: 1; max-width: 185px; }
.veg-season-card-featured .veg-card-icon { width: 63px; height: 63px; border-radius: 18px; }
.veg-season-card-featured .veg-card-icon svg { width: 36px; height: 36px; }
.veg-season-card-featured h3 { margin-top: 38px; color: #fffdf4; font-size: 20px; }
.veg-season-card-featured p { color: rgba(255,255,255,.78); font-size: 12px; }
.veg-seasonal-footnote { position: relative; z-index: 1; margin: 20px 0 0; }

/* 3. Smooth, single-open FAQ accordion */
.veg-faq-list { display: grid; gap: 12px; }
.veg-faq-item { overflow: hidden; border: 1px solid #dae7d3; border-radius: 17px; background: rgba(255,255,255,.78); box-shadow: 0 9px 22px rgba(35, 86, 38, .04); transition: border-color .26s ease, box-shadow .26s ease, background .26s ease; }
.veg-faq-item.is-open { border-color: #9bc489; background: #fbfff8; box-shadow: 0 16px 30px rgba(37, 94, 39, .09); }
.veg-faq-question { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 20px 25px; border: 0; color: #174e2a; background: transparent; cursor: pointer; font: inherit; font-size: 14px; font-weight: 850; text-align: left; }
.veg-faq-question i { display: grid; flex: 0 0 auto; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: #28742f; background: #edf5e7; font-size: 22px; font-style: normal; font-weight: 400; line-height: 1; transition: color .28s ease, background .28s ease, transform .35s ease; }
.veg-faq-item.is-open .veg-faq-question i { color: #fff; background: #2e762e; transform: rotate(45deg); }
.veg-faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .38s cubic-bezier(.4,0,.2,1); }
.veg-faq-answer > div { min-height: 0; overflow: hidden; }
.veg-faq-item.is-open .veg-faq-answer { grid-template-rows: 1fr; }
.veg-faq-answer p { margin: 0; padding: 0 75px 21px 25px; color: #6c7c6e; font-size: 13px; line-height: 1.65; }

@media (max-width: 900px) {
    .veg-seasonal-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
    .veg-season-card-featured { grid-row: auto; min-height: 250px; }
}

@media (max-width: 720px) {
    .veg-journey-section { margin-top: 58px; padding-top: 0; }
    .veg-journey-heading { margin-bottom: 31px; }
    .veg-journey-heading .veg-page-kicker::before,
    .veg-journey-heading .veg-page-kicker::after { width: 28px; }
    .veg-journey-track { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
    .veg-journey-track::before { display: none; }
    .veg-journey-step { padding: 0 8px; }
    .veg-step-icon { width: 60px; height: 60px; margin-bottom: 13px; border-width: 5px; }
    .veg-step-icon svg { width: 29px; height: 29px; }
    .veg-step-no { margin-bottom: 10px; font-size: 9px; }
    .veg-journey-step h3 { font-size: 12px; }
    .veg-journey-step p { font-size: 10px; }
    .veg-journey-delivery { display: grid; gap: 5px; margin-top: 29px; padding: 17px 8px 0; }
    .veg-journey-delivery strong { font-size: 21px; }
    .veg-journey-delivery small { font-size: 9px; }
    .veg-seasonal-section { padding: 27px 14px; border-radius: 22px; }
    .veg-seasonal-grid { gap: 9px; }
    .veg-season-card, .veg-season-card:last-child { min-height: 156px; padding: 15px 13px; }
    .veg-season-card-featured { min-height: 225px; }
    .veg-season-card-featured h3 { margin-top: 25px; font-size: 18px; }
    .veg-season-card-featured .veg-card-icon { width: 53px; height: 53px; }
    .veg-faq-question { padding: 17px 15px 17px 17px; font-size: 12px; line-height: 1.42; }
    .veg-faq-question i { width: 27px; height: 27px; font-size: 19px; }
    .veg-faq-answer p { padding: 0 52px 17px 17px; font-size: 11px; }
}

@media (max-width: 390px) {
    .veg-season-card h3 { font-size: 11px; }
    .veg-season-card p { font-size: 9px; }
}
/* Mobile + tablet: vertical selection-to-delivery timeline */
@media (max-width: 900px) {
    .veg-journey-section {
        padding-top: 0;
    }

    .veg-journey-track {
        display: grid;
        grid-template-columns: minmax(0, 560px);
        justify-content: center;
        row-gap: 0;
    }

    .veg-journey-track::before {
        display: none;
    }

    .veg-journey-step {
        position: relative;
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        column-gap: 22px;
        min-height: 0;
        padding: 0 0 38px;
        text-align: left;
    }

    .veg-journey-step:last-child {
        padding-bottom: 0;
    }

    .veg-journey-step:not(:last-child)::after {
        position: absolute;
        z-index: 0;
        top: 72px;
        bottom: 0;
        left: 35px;
        width: 1px;
        background: #c8dabd;
        content: "";
    }

    .veg-step-icon {
        position: relative;
        z-index: 1;
        grid-column: 1;
        grid-row: 1 / span 3;
        align-self: start;
        width: 72px;
        height: 72px;
        margin: 0;
        border-width: 6px;
    }

    .veg-step-icon svg {
        width: 33px;
        height: 33px;
    }

    .veg-step-no {
        grid-column: 2;
        margin: 4px 0 8px;
        color: #43812d;
        font-size: 11px;
        text-align: left;
    }

    .veg-journey-step h3 {
        grid-column: 2;
        margin: 0;
        color: #174f2b;
        font-size: 16px;
        text-align: left;
    }

    .veg-journey-step p {
        grid-column: 2;
        max-width: 335px;
        margin: 8px 0 0;
        color: #607565;
        font-size: 12px;
        line-height: 1.6;
        text-align: left;
    }

    .veg-journey-delivery {
        display: grid;
        gap: 6px;
        margin-top: 34px;
        padding: 20px 8px 0;
    }
}

@media (max-width: 520px) {
    .veg-journey-heading {
        margin-bottom: 32px;
    }

    .veg-journey-track {
        grid-template-columns: 1fr;
    }

    .veg-journey-step {
        grid-template-columns: 60px minmax(0, 1fr);
        column-gap: 17px;
        padding-bottom: 31px;
    }

    .veg-journey-step:not(:last-child)::after {
        top: 60px;
        left: 29px;
    }

    .veg-step-icon {
        width: 60px;
        height: 60px;
        border-width: 5px;
    }

    .veg-step-icon svg {
        width: 28px;
        height: 28px;
    }

    .veg-step-no {
        margin-top: 2px;
        font-size: 10px;
    }

    .veg-journey-step h3 {
        font-size: 13px;
    }

    .veg-journey-step p {
        max-width: none;
        font-size: 10.5px;
        line-height: 1.58;
    }
}
/* Premium editorial seasonal section — no card/box look */
.veg-seasonal-section {
    padding: 18px 0 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.veg-seasonal-section::before {
    display: none;
}

.veg-seasonal-section .veg-section-heading {
    max-width: 820px;
    margin-bottom: 47px;
}

.veg-seasonal-section .veg-section-heading h2 {
    font-size: clamp(38px, 4.7vw, 60px);
}

.veg-seasonal-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0 auto;
    padding: 0 10px;
    background: transparent;
}

.veg-season-card,
.veg-season-card:last-child,
.veg-season-card-featured {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 27px 11px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.veg-season-card:hover {
    border: 0;
    box-shadow: none;
    transform: none;
}

.veg-season-card::after {
    position: absolute;
    top: 15px;
    right: 0;
    width: 1px;
    height: 124px;
    background: linear-gradient(
        to bottom,
        transparent,
        #c9dabe 18%,
        #c9dabe 82%,
        transparent
    );
    content: "";
}

.veg-season-card:last-child::after {
    display: none;
}

.veg-season-card-featured {
    grid-row: auto;
}

.veg-season-card-featured::after {
    top: 15px;
    right: 0;
    width: 1px;
    height: 124px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(
        to bottom,
        transparent,
        #c9dabe 18%,
        #c9dabe 82%,
        transparent
    );
    content: "";
    transform: none;
}

.veg-card-icon,
.veg-season-card-featured .veg-card-icon {
    display: grid;
    width: 57px;
    height: 57px;
    margin: 0 0 23px;
    place-items: center;
    border: 1px solid #d4e3ca;
    border-radius: 50%;
    color: #2f762e;
    background: #f5faef;
    box-shadow: 0 9px 20px rgba(43, 105, 40, 0.07);
}

.veg-card-icon svg,
.veg-season-card-featured .veg-card-icon svg {
    width: 29px;
    height: 29px;
}

.veg-season-card-featured .veg-card-icon {
    color: #a87515;
    border-color: #ead9ad;
    background: #fff9e9;
}

.veg-season-card h3,
.veg-season-card-featured h3 {
    margin: 0;
    color: #164f2a;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.2px;
}

.veg-season-card p,
.veg-season-card-featured p {
    max-width: 190px;
    margin: 9px 0 0;
    color: #708070;
    font-size: 11px;
    line-height: 1.6;
}

.veg-seasonal-footnote {
    margin-top: 36px;
    color: #849184;
    font-size: 11px;
}

@media (max-width: 900px) {
    .veg-seasonal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 38px;
        padding: 0;
    }

    .veg-season-card,
    .veg-season-card:last-child,
    .veg-season-card-featured {
        padding: 0 22px;
    }

    .veg-season-card:nth-child(3)::after {
        display: none;
    }

    .veg-season-card:nth-child(4)::after {
        display: block;
    }
}

@media (max-width: 600px) {
    .veg-seasonal-section {
        margin-top: 58px;
    }

    .veg-seasonal-section .veg-section-heading {
        margin-bottom: 35px;
    }

    .veg-seasonal-section .veg-section-heading h2 {
        font-size: 35px;
    }

    .veg-seasonal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 34px;
    }

    .veg-season-card,
    .veg-season-card:last-child,
    .veg-season-card-featured {
        min-height: 0;
        padding: 0 14px;
    }

    .veg-season-card::after,
    .veg-season-card-featured::after {
        top: 8px;
        right: 0;
        height: 112px;
    }

    .veg-season-card:nth-child(2)::after,
    .veg-season-card:nth-child(4)::after,
    .veg-season-card:last-child::after {
        display: none;
    }

    .veg-season-card:nth-child(3)::after {
        display: block;
    }

    .veg-season-card:last-child {
        grid-column: 1 / -1;
        max-width: 210px;
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }

    .veg-season-card:last-child .veg-card-icon {
        margin-right: auto;
        margin-left: auto;
    }

    .veg-season-card:last-child p {
        margin-right: auto;
        margin-left: auto;
    }

    .veg-card-icon,
    .veg-season-card-featured .veg-card-icon {
        width: 49px;
        height: 49px;
        margin-bottom: 17px;
    }

    .veg-card-icon svg,
    .veg-season-card-featured .veg-card-icon svg {
        width: 25px;
        height: 25px;
    }

    .veg-season-card h3,
    .veg-season-card-featured h3 {
        font-size: 12px;
    }

    .veg-season-card p,
    .veg-season-card-featured p {
        margin-top: 7px;
        font-size: 10px;
        line-height: 1.52;
    }

    .veg-seasonal-footnote {
        margin-top: 29px;
        font-size: 10px;
    }
}
/* =========================================================
   Soil To Bowl — weekly market editorial basket section
   ========================================================= */
.veg-weekly-market {
    display: grid;
    grid-template-columns: minmax(320px, .92fr) minmax(430px, 1.08fr);
    grid-template-areas:
        "media intro"
        "media list"
        "media cta";
    column-gap: clamp(38px, 6vw, 92px);
    row-gap: 0;
    align-items: start;
    max-width: 1240px;
    margin: 108px auto 0;
    padding: 0 clamp(4px, 1.5vw, 15px);
}

.veg-market-intro { grid-area: intro; padding-top: 25px; }
.veg-market-intro h2 { margin: 9px 0 15px; color: #164f2a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(40px, 4.45vw, 62px); font-weight: 700; letter-spacing: -2.1px; line-height: .98; }
.veg-market-intro h2 em { color: #ae7714; font-style: normal; }
.veg-market-intro p { max-width: 570px; margin: 0; color: #667669; font-size: 15px; line-height: 1.7; }

.veg-market-media { position: relative; grid-area: media; min-height: 610px; overflow: hidden; border-radius: 28px; background: #edf4e7; box-shadow: 0 24px 52px rgba(33, 83, 34, .12); }
.veg-market-media::after { position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.52); border-radius: 21px; content: ""; pointer-events: none; }
.veg-market-media img { display: block; width: 100%; height: 100%; min-height: 610px; object-fit: cover; object-position: center; }
.veg-market-badges { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; display: flex; flex-wrap: wrap; gap: 9px; }
.veg-market-badges span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px 9px 9px; border: 1px solid rgba(255,255,255,.76); border-radius: 999px; color: #1b512b; background: rgba(255,254,246,.92); box-shadow: 0 8px 22px rgba(21, 60, 22, .14); font-size: 9px; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.veg-market-badges svg { width: 24px; height: 24px; padding: 4px; border-radius: 50%; color: #fffef4; background: #2b722e; }

.veg-market-list { display: grid; grid-area: list; margin-top: 30px; border-top: 1px solid #cedec6; }
.veg-market-item { display: grid; grid-template-columns: 63px minmax(0, 1fr); gap: 17px; align-items: center; min-height: 112px; padding: 18px 0; border-bottom: 1px solid #cedec6; }
.veg-market-item-icon { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid #d7e5cd; border-radius: 50%; color: #2b712d; background: #f4f9ef; }
.veg-market-item-icon svg { width: 30px; height: 30px; }
.veg-market-item h3 { margin: 0; color: #19512d; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 700; letter-spacing: -.55px; }
.veg-market-item p { max-width: 470px; margin: 5px 0 0; color: #708071; font-size: 12px; line-height: 1.55; }

.veg-market-cta { display: inline-flex; grid-area: cta; width: max-content; align-items: center; justify-content: space-between; gap: 25px; min-height: 53px; margin-top: 30px; padding: 8px 9px 8px 21px; border-radius: 999px; color: #fffef4; background: linear-gradient(135deg, #1d5a29, #357a2e); box-shadow: 0 15px 28px rgba(32, 91, 38, .20); font-size: 13px; font-weight: 850; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.veg-market-cta:hover { color: #fffef4; box-shadow: 0 19px 34px rgba(32, 91, 38, .28); transform: translateY(-3px); }
.veg-market-cta b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #276b2d; background: #fffef5; font-size: 20px; font-weight: 500; line-height: 1; }

@media (max-width: 900px) {
    .veg-weekly-market { grid-template-columns: minmax(285px, .85fr) minmax(0, 1.15fr); column-gap: 30px; margin-top: 78px; }
    .veg-market-media, .veg-market-media img { min-height: 560px; }
    .veg-market-intro { padding-top: 12px; }
    .veg-market-intro h2 { font-size: 45px; }
    .veg-market-item { grid-template-columns: 54px minmax(0, 1fr); gap: 12px; min-height: 105px; }
    .veg-market-item-icon { width: 47px; height: 47px; }
    .veg-market-item h3 { font-size: 18px; }
}

@media (max-width: 680px) {
    .veg-weekly-market { grid-template-columns: 1fr; grid-template-areas: "intro" "media" "list" "cta"; gap: 0; margin-top: 62px; padding: 0; }
    .veg-market-intro { padding: 0 5px; }
    .veg-market-intro h2 { margin-top: 8px; font-size: clamp(38px, 11vw, 51px); letter-spacing: -1.55px; line-height: .99; }
    .veg-market-intro p { font-size: 13px; line-height: 1.6; }
    .veg-market-media { min-height: 425px; margin-top: 25px; border-radius: 22px; }
    .veg-market-media img { min-height: 425px; object-position: center; }
    .veg-market-media::after { inset: 10px; border-radius: 16px; }
    .veg-market-badges { right: 11px; bottom: 11px; left: 11px; justify-content: center; gap: 6px; }
    .veg-market-badges span { gap: 6px; padding: 7px 9px 7px 7px; font-size: 7.5px; letter-spacing: .05em; }
    .veg-market-badges svg { width: 20px; height: 20px; padding: 3px; }
    .veg-market-list { margin-top: 22px; }
    .veg-market-item { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; min-height: 88px; padding: 13px 3px; }
    .veg-market-item-icon { width: 41px; height: 41px; }
    .veg-market-item-icon svg { width: 25px; height: 25px; }
    .veg-market-item h3 { font-size: 17px; }
    .veg-market-item p { margin-top: 3px; font-size: 10.5px; line-height: 1.48; }
    .veg-market-cta { width: 100%; min-height: 52px; margin-top: 24px; padding-left: 20px; font-size: 13px; }
}

@media (max-width: 360px) {
    .veg-market-media, .veg-market-media img { min-height: 380px; }
    .veg-market-badges span { font-size: 7px; }
    .veg-market-item h3 { font-size: 15px; }
}
/* ========================================================
   Soil To Bowl — light pink weekly market section
   ======================================================== */
.veg-pink-market {
    display: grid;
    grid-template-columns: minmax(370px, .94fr) minmax(430px, 1.06fr);
    grid-template-areas:
        "visual copy"
        "visual list"
        "visual cta";
    column-gap: clamp(36px, 6vw, 88px);
    row-gap: 0;
    align-items: start;
    max-width: 1320px;
    margin: 104px auto 0;
    padding: clamp(40px, 5.1vw, 70px);
    overflow: hidden;
    border: 1px solid #f1deda;
    border-radius: 34px;
    background:
        radial-gradient(circle at 4% 7%, rgba(255,255,255,.67), transparent 24%),
        radial-gradient(circle at 96% 96%, rgba(255,255,255,.42), transparent 26%),
        #faece9;
}

.veg-pink-market-copy { grid-area: copy; padding-top: 18px; }
.veg-pink-market-copy .veg-page-kicker { color: #ae7417; }
.veg-pink-market-copy h2 { margin: 10px 0 15px; color: #164f2a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(40px, 4.45vw, 62px); font-weight: 700; letter-spacing: -2.1px; line-height: .98; }
.veg-pink-market-copy h2 em { color: #ae7714; font-style: normal; }
.veg-pink-market-copy p { max-width: 540px; margin: 0; color: #657669; font-size: 15px; line-height: 1.7; }

.veg-pink-market-visual { position: relative; grid-area: visual; min-height: 535px; isolation: isolate; }
.veg-pink-market-visual::before { position: absolute; z-index: -1; right: 5%; bottom: 5%; left: 5%; height: 26%; border-radius: 50%; background: rgba(180, 113, 103, .17); filter: blur(21px); content: ""; }
.veg-pink-market-visual img { position: absolute; z-index: 1; bottom: -10px; left: 50%; width: min(132%, 620px); max-width: none; height: auto; transform: translateX(-50%); filter: drop-shadow(0 21px 13px rgba(74, 50, 38, .16)); }
.veg-pink-orbit { position: absolute; z-index: -1; border: 1px solid rgba(52, 110, 48, .15); border-radius: 50%; }
.veg-pink-orbit-one { top: 2%; left: 4%; width: 260px; height: 260px; }
.veg-pink-orbit-two { right: -35px; bottom: 5%; width: 180px; height: 180px; border-color: rgba(177, 122, 21, .18); }
.veg-pink-market-badges { position: absolute; z-index: 3; bottom: 4px; left: 4px; display: grid; gap: 8px; }
.veg-pink-market-badges span { display: inline-flex; width: max-content; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; color: #225a2e; background: rgba(255,253,247,.91); box-shadow: 0 9px 19px rgba(93, 56, 40, .11); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.veg-pink-market-badges b { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: #fffdf5; background: #2e732e; font-size: 12px; }

.veg-pink-market-list { display: grid; grid-area: list; margin-top: 28px; border-top: 1px solid rgba(108, 145, 100, .38); }
.veg-pink-market-item { display: grid; grid-template-columns: 61px minmax(0, 1fr); gap: 16px; align-items: center; min-height: 105px; padding: 17px 0; border-bottom: 1px solid rgba(108, 145, 100, .38); }
.veg-pink-market-icon { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid rgba(67, 118, 57, .22); border-radius: 50%; color: #2c722e; background: rgba(255,255,255,.31); }
.veg-pink-market-icon svg { width: 30px; height: 30px; }
.veg-pink-market-item h3 { margin: 0; color: #18522d; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 700; letter-spacing: -.5px; }
.veg-pink-market-item p { max-width: 470px; margin: 5px 0 0; color: #718071; font-size: 12px; line-height: 1.52; }

.veg-pink-market-cta { display: inline-flex; grid-area: cta; width: max-content; align-items: center; justify-content: space-between; gap: 25px; min-height: 53px; margin-top: 29px; padding: 8px 9px 8px 21px; border-radius: 999px; color: #fffef4; background: linear-gradient(135deg, #1c5929, #367c30); box-shadow: 0 15px 28px rgba(32, 91, 38, .20); font-size: 13px; font-weight: 850; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.veg-pink-market-cta:hover { color: #fffef4; box-shadow: 0 19px 34px rgba(32, 91, 38, .28); transform: translateY(-3px); }
.veg-pink-market-cta b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #2a6b2d; background: #fffef5; font-size: 20px; font-weight: 500; line-height: 1; }

@media (max-width: 980px) {
    .veg-pink-market { grid-template-columns: minmax(290px, .86fr) minmax(0, 1.14fr); column-gap: 29px; padding: 40px 32px; }
    .veg-pink-market-visual { min-height: 505px; }
    .veg-pink-market-copy h2 { font-size: 45px; }
    .veg-pink-market-item { grid-template-columns: 54px minmax(0, 1fr); gap: 12px; }
    .veg-pink-market-icon { width: 47px; height: 47px; }
    .veg-pink-market-item h3 { font-size: 18px; }
}

@media (max-width: 700px) {
    .veg-pink-market { grid-template-columns: 1fr; grid-template-areas: "copy" "visual" "list" "cta"; gap: 0; margin-top: 63px; padding: 29px 17px; border-radius: 24px; }
    .veg-pink-market-copy { padding: 0 3px; }
    .veg-pink-market-copy h2 { font-size: clamp(38px, 10.5vw, 51px); letter-spacing: -1.55px; line-height: .99; }
    .veg-pink-market-copy p { font-size: 13px; line-height: 1.6; }
    .veg-pink-market-visual { min-height: 370px; margin-top: 20px; }
    .veg-pink-market-visual img { bottom: -6px; width: min(125%, 480px); }
    .veg-pink-orbit-one { width: 190px; height: 190px; }
    .veg-pink-orbit-two { width: 135px; height: 135px; }
    .veg-pink-market-badges { bottom: 3px; left: 0; gap: 6px; }
    .veg-pink-market-badges span { gap: 6px; padding: 7px 9px; font-size: 7.5px; }
    .veg-pink-market-badges b { width: 18px; height: 18px; font-size: 10px; }
    .veg-pink-market-list { margin-top: 19px; }
    .veg-pink-market-item { grid-template-columns: 47px minmax(0, 1fr); gap: 11px; min-height: 86px; padding: 13px 2px; }
    .veg-pink-market-icon { width: 41px; height: 41px; }
    .veg-pink-market-icon svg { width: 25px; height: 25px; }
    .veg-pink-market-item h3 { font-size: 16px; }
    .veg-pink-market-item p { margin-top: 3px; font-size: 10.5px; line-height: 1.48; }
    .veg-pink-market-cta { width: 100%; min-height: 51px; margin-top: 23px; padding-left: 19px; font-size: 13px; }
}

@media (max-width: 360px) {
    .veg-pink-market { padding-right: 13px; padding-left: 13px; }
    .veg-pink-market-visual { min-height: 325px; }
    .veg-pink-market-item h3 { font-size: 14px; }
}
/* ===== Pink basket section: final desktop + tablet/mobile layout fix ===== */

/* Desktop: compact left basket + right content, benefits in one row */
@media (min-width: 1101px) {
    .veg-pink-market {
        grid-template-columns: minmax(440px, .86fr) minmax(0, 1.14fr);
        grid-template-areas:
            "visual copy"
            "visual list"
            "visual cta";
        column-gap: clamp(38px, 5vw, 74px);
        padding: 44px clamp(38px, 4.3vw, 64px);
    }

    .veg-pink-market-copy {
        padding-top: 18px;
    }

    .veg-pink-market-copy h2 {
        font-size: clamp(42px, 4vw, 58px);
    }

    .veg-pink-market-visual {
        min-height: 505px;
        align-self: stretch;
    }

    .veg-pink-market-visual img {
        bottom: 0;
        width: min(112%, 570px);
    }

    .veg-pink-market-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin-top: 24px;
        border-top: 1px solid rgba(108, 145, 100, .38);
    }

    .veg-pink-market-item {
        display: block;
        min-height: 155px;
        padding: 19px 17px 10px;
        border-bottom: 0;
        border-right: 1px solid rgba(108, 145, 100, .38);
    }

    .veg-pink-market-item:first-child {
        padding-left: 0;
    }

    .veg-pink-market-item:last-child {
        padding-right: 0;
        border-right: 0;
    }

    .veg-pink-market-icon {
        width: 46px;
        height: 46px;
        margin-bottom: 15px;
    }

    .veg-pink-market-icon svg {
        width: 25px;
        height: 25px;
    }

    .veg-pink-market-item h3 {
        font-size: 17px;
        line-height: 1.18;
    }

    .veg-pink-market-item p {
        margin-top: 7px;
        font-size: 10.5px;
        line-height: 1.52;
    }

    .veg-pink-market-cta {
        margin-top: 20px;
    }
}

/* Tablet + mobile: heading first, then image, then benefit rows */
@media (max-width: 1100px) {
    .veg-pink-market {
        grid-template-columns: 1fr;
        grid-template-areas:
            "copy"
            "visual"
            "list"
            "cta";
        gap: 0;
        max-width: 1020px;
        margin-right: auto;
        margin-left: auto;
    }

    .veg-pink-market-copy {
        padding-top: 0;
    }

    .veg-pink-market-visual {
        width: 100%;
        min-height: clamp(465px, 62vw, 600px);
        margin-top: 26px;
    }

    .veg-pink-market-visual img {
        bottom: 0;
        width: min(96%, 500px);
    }

    .veg-pink-market-badges {
        bottom: 6px;
        left: 5px;
    }

    .veg-pink-market-list {
        margin-top: 22px;
    }
}

@media (max-width: 700px) {
    .veg-pink-market {
        padding: 29px 17px;
    }

    .veg-pink-market-copy h2 {
        font-size: clamp(38px, 10.5vw, 51px);
    }

    .veg-pink-market-visual {
        min-height: clamp(430px, 126vw, 510px);
        margin-top: 24px;
    }

    .veg-pink-market-visual img {
        bottom: 0;
        width: min(100%, 410px);
    }

    .veg-pink-market-badges {
        gap: 6px;
    }

    .veg-pink-market-list {
        margin-top: 19px;
    }
}
@media (min-width: 1101px) {
    .veg-pink-market-badges {
        display: flex;
        align-items: center;
        gap: 9px;
    }
}
/* Fix extra blank space above basket image on mobile */
@media (max-width: 700px) {
    .veg-pink-market-visual {
        min-height: 345px;
        margin-top: 8px;
    }

    .veg-pink-market-visual img {
        bottom: -4px;
        width: min(100%, 410px);
    }
}

@media (max-width: 390px) {
    .veg-pink-market-visual {
        min-height: 325px;
    }
}
/* Prevent basket image from overlapping text at 500px–700px widths */
@media (max-width: 700px) {
    .veg-pink-market-visual {
        min-height: 420px;
        margin-top: 12px;
        overflow: hidden;
    }

    .veg-pink-market-visual img {
        top: -88px;
        bottom: auto;
        width: min(100%, 410px);
    }
}

@media (max-width: 390px) {
    .veg-pink-market-visual {
        min-height: 390px;
    }

    .veg-pink-market-visual img {
        top: -76px;
    }
}
.veg-pink-market-badges {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7px;
}

.veg-pink-market-badges span {
    white-space: nowrap;
}

@media (max-width: 390px) {
    .veg-pink-market-badges {
        gap: 5px;
    }

    .veg-pink-market-badges span {
        font-size: 9px;
        padding: 8px 10px;
    }
}
/* Tablet / small laptop: remove transparent image padding without cropping basket */
@media (min-width: 701px) and (max-width: 1100px) {
    .veg-pink-market-visual {
        height: 440px;
        min-height: 0;
        margin-top: 14px;
        overflow: hidden;
    }

    .veg-pink-market-visual img {
        top: -140px;
        bottom: auto;
        left: 50%;
        width: min(100%, 540px);
        max-width: none;
        transform: translateX(-50%);
    }

    .veg-pink-market-badges {
        bottom: 8px;
    }
}
/* 360px mobile: basket ke just neeche badges */
@media (max-width: 390px) {
    .veg-pink-market-visual {
        height: 330px;
        min-height: 330px;
        margin-top: 8px;
    }

    .veg-pink-market-badges {
        bottom: 8px;
    }
}
/* ============================================================
   Soil To Bowl — Fresh vegetables, made useful (premium block)
   ============================================================ */
.veg-fresh-useful {
    max-width: 1320px;
    margin: 104px auto 0;
    overflow: hidden;
    border: 1px solid #dce9d2;
    border-radius: 34px;
    background:
        radial-gradient(circle at 5% 8%, rgba(255,255,255,.62), transparent 25%),
        radial-gradient(circle at 94% 6%, rgba(196, 218, 174, .25), transparent 24%),
        #edf5e8;
}

.veg-fresh-useful-top {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
    align-items: center;
    min-height: 510px;
    padding: clamp(38px, 5.2vw, 72px) clamp(38px, 5.8vw, 80px) 34px;
}

.veg-fresh-useful-copy { position: relative; z-index: 2; max-width: 555px; }
.veg-fresh-useful-copy .veg-page-kicker { color: #af7714; }
.veg-fresh-useful-copy h2 { margin: 10px 0 16px; color: #164f2a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 5vw, 66px); font-weight: 700; letter-spacing: -2.3px; line-height: .96; }
.veg-fresh-useful-copy h2 em { color: #a97216; font-style: normal; }
.veg-fresh-useful-copy p { max-width: 500px; margin: 0; color: #627565; font-size: 15px; line-height: 1.7; }

.veg-fresh-useful-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 53px; margin-top: 28px; padding: 8px 9px 8px 21px; border-radius: 999px; color: #fffef6; background: linear-gradient(135deg, #1a5729, #33792e); box-shadow: 0 15px 28px rgba(32, 91, 38, .20); font-size: 13px; font-weight: 850; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.veg-fresh-useful-cta:hover { color: #fffef6; box-shadow: 0 19px 34px rgba(32, 91, 38, .28); transform: translateY(-3px); }
.veg-fresh-useful-cta b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #276b2d; background: #fffef6; font-size: 20px; font-weight: 500; line-height: 1; }

.veg-fresh-useful-visual { position: relative; min-height: 430px; isolation: isolate; }
.veg-fresh-useful-visual::before { position: absolute; z-index: -1; right: 4%; bottom: 3%; left: 8%; height: 32%; border-radius: 50%; background: rgba(74, 126, 51, .14); filter: blur(24px); content: ""; }
.veg-fresh-useful-visual img { position: absolute; z-index: 2; right: 50%; bottom: -8px; width: min(112%, 615px); max-height: 455px; object-fit: contain; transform: translateX(50%); filter: drop-shadow(0 23px 17px rgba(34, 82, 35, .18)); }
.veg-fresh-useful-orbit { position: absolute; z-index: -1; border: 1px solid rgba(50, 113, 47, .18); border-radius: 50%; }
.veg-fresh-useful-orbit-one { top: 5%; right: 5%; width: 332px; height: 332px; }
.veg-fresh-useful-orbit-two { right: 26%; bottom: -28px; width: 210px; height: 210px; border-color: rgba(181, 128, 30, .22); }
.veg-fresh-useful-glow { position: absolute; z-index: -1; top: 17%; right: 16%; width: 210px; height: 210px; border-radius: 50%; background: rgba(226, 198, 92, .17); filter: blur(5px); }

.veg-fresh-useful-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 clamp(38px, 5.8vw, 80px); border-top: 1px solid rgba(103, 146, 94, .40); }
.veg-fresh-useful-point { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 15px; min-height: 144px; align-items: center; padding: 25px clamp(17px, 2.4vw, 35px); border-right: 1px solid rgba(103, 146, 94, .40); }
.veg-fresh-useful-point:first-child { padding-left: 0; }
.veg-fresh-useful-point:last-child { padding-right: 0; border-right: 0; }
.veg-fresh-useful-icon { display: grid; width: 51px; height: 51px; place-items: center; border: 1px solid #cadfbd; border-radius: 50%; color: #276d2e; background: rgba(255,255,255,.42); }
.veg-fresh-useful-icon svg { width: 29px; height: 29px; }
.veg-fresh-useful-point h3 { margin: 0; color: #19512d; font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 700; letter-spacing: -.4px; line-height: 1.15; }
.veg-fresh-useful-point p { margin: 6px 0 0; color: #6d7f6d; font-size: 11px; line-height: 1.55; }

@media (max-width: 980px) {
    .veg-fresh-useful-top { grid-template-columns: minmax(0, .88fr) minmax(310px, 1.12fr); min-height: 460px; padding: 44px 34px 24px; }
    .veg-fresh-useful-copy h2 { font-size: 48px; }
    .veg-fresh-useful-visual { min-height: 365px; }
    .veg-fresh-useful-visual img { max-height: 390px; }
    .veg-fresh-useful-points { margin: 0 34px; }
    .veg-fresh-useful-point { grid-template-columns: 47px minmax(0, 1fr); gap: 11px; padding: 21px 15px; }
    .veg-fresh-useful-icon { width: 43px; height: 43px; }
    .veg-fresh-useful-point h3 { font-size: 16px; }
}

@media (max-width: 700px) {
    .veg-fresh-useful { margin-top: 62px; border-radius: 24px; }
    .veg-fresh-useful-top { grid-template-columns: 1fr; min-height: 0; padding: 30px 17px 0; }
    .veg-fresh-useful-copy h2 { font-size: clamp(39px, 10.8vw, 52px); letter-spacing: -1.65px; line-height: .98; }
    .veg-fresh-useful-copy p { font-size: 13px; line-height: 1.62; }
    .veg-fresh-useful-visual { min-height: clamp(340px, 96vw, 460px); margin-top: 21px; }
    .veg-fresh-useful-visual img { right: 50%; bottom: -1px; width: min(108%, 455px); max-height: none; }
    .veg-fresh-useful-orbit-one { width: 245px; height: 245px; }
    .veg-fresh-useful-orbit-two { width: 150px; height: 150px; }
    .veg-fresh-useful-cta { width: 100%; margin-top: 22px; }
    .veg-fresh-useful-points { grid-template-columns: 1fr; margin: 20px 17px 0; }
    .veg-fresh-useful-point { grid-template-columns: 47px minmax(0, 1fr); min-height: 84px; padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(103, 146, 94, .40); }
    .veg-fresh-useful-point:first-child { padding-left: 0; }
    .veg-fresh-useful-point:last-child { padding-bottom: 17px; border-bottom: 0; }
    .veg-fresh-useful-icon { width: 42px; height: 42px; }
    .veg-fresh-useful-icon svg { width: 25px; height: 25px; }
    .veg-fresh-useful-point h3 { font-size: 16px; }
    .veg-fresh-useful-point p { margin-top: 3px; font-size: 10.5px; line-height: 1.47; }
}

@media (max-width: 360px) {
    .veg-fresh-useful-top { padding-right: 13px; padding-left: 13px; }
    .veg-fresh-useful-visual { min-height: 325px; }
    .veg-fresh-useful-points { margin-right: 13px; margin-left: 13px; }
    .veg-fresh-useful-point h3 { font-size: 14px; }
}

/* All selectors are unique to this section. */
    .veg-curation-v2 {
        --v2-cream: #fffaf0;
        --v2-gold: #edb83e;
        --v2-rule: rgba(255, 248, 230, .31);
        max-width: 1420px;
        margin: 104px auto;
        padding: 0 20px;
    }

    .veg-curation-v2__inner {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
        gap: clamp(48px, 6.2vw, 105px);
        overflow: hidden;
        padding: clamp(56px, 6vw, 86px);
        border: 1px solid rgba(237, 184, 62, .6);
        border-radius: 34px;
        color: var(--v2-cream);
        background:
            radial-gradient(circle at 90% 5%, rgba(133, 185, 61, .4), transparent 28%),
            radial-gradient(circle at 7% 92%, rgba(4, 66, 30, .21), transparent 31%),
            linear-gradient(112deg, #195b2d 0%, #286e2e 52%, #4b8129 100%);
        box-shadow: 0 24px 58px rgba(20, 74, 33, .13);
    }

    .veg-curation-v2__inner::before,
    .veg-curation-v2__inner::after {
        position: absolute;
        z-index: 0;
        width: 260px;
        height: 260px;
        content: "";
        border: 1px solid rgba(237, 184, 62, .25);
        border-radius: 50%;
        pointer-events: none;
    }

    .veg-curation-v2__inner::before { top: -175px; right: -70px; }
    .veg-curation-v2__inner::after { bottom: -190px; left: -110px; }

    .veg-curation-v2__intro,
    .veg-curation-v2__specs { position: relative; z-index: 1; }

    .veg-curation-v2__eyebrow,
    .veg-curation-v2__spec h3 {
        display: block;
        margin: 0;
        color: var(--v2-gold);
        font-family: inherit;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .17em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .veg-curation-v2 h2 {
        max-width: 670px;
        margin: 18px 0 0;
        color: var(--v2-cream);
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(51px, 5.15vw, 78px);
        font-weight: 700;
        letter-spacing: -.055em;
        line-height: .98;
    }

    .veg-curation-v2 h2 em { color: var(--v2-gold); font-style: normal; }

    .veg-curation-v2__lead {
        max-width: 558px;
        margin: 25px 0 0;
        color: rgba(255, 250, 240, .91);
        font-size: 17px;
        line-height: 1.68;
    }

    .veg-curation-v2__cycle {
        width: min(100%, 430px);
        margin: clamp(28px, 4vw, 46px) 0 0 7px;
        color: var(--v2-cream);
    }

    .veg-curation-v2__cycle svg { display: block; width: 100%; height: auto; }

    .veg-curation-v2__specs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: center;
    }

    .veg-curation-v2__spec {
        min-width: 0;
        padding: 8px clamp(20px, 3.2vw, 50px) 17px;
        border-left: 1px solid var(--v2-rule);
    }

    .veg-curation-v2__spec h3 {
        max-width: 205px;
        min-height: 48px;
        margin-bottom: 35px;
    }

    .veg-curation-v2__spec ol {
        display: grid;
        gap: 38px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .veg-curation-v2__spec li {
        display: grid;
        grid-template-columns: 47px minmax(0, 1fr);
        gap: 15px;
        align-items: start;
    }

    .veg-curation-v2__spec li > span {
        color: var(--v2-gold);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 27px;
        line-height: 1.04;
    }

    .veg-curation-v2__spec li > span::after {
        display: block;
        width: 27px;
        height: 1px;
        margin-top: 12px;
        content: "";
        background: var(--v2-gold);
    }

    .veg-curation-v2__spec strong {
        color: var(--v2-cream);
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(21px, 2.05vw, 31px);
        font-weight: 600;
        letter-spacing: -.036em;
        line-height: 1.13;
    }

    .veg-curation-v2__note {
        grid-column: 1 / -1;
        display: flex;
        gap: 12px;
        align-items: center;
        justify-content: center;
        margin: 43px 0 0;
        padding-top: 25px;
        border-top: 1px solid var(--v2-rule);
        color: rgba(255, 250, 240, .82);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 15px;
        font-style: italic;
        line-height: 1.45;
        text-align: center;
    }

    .veg-curation-v2__note svg {
        flex: 0 0 auto;
        width: 24px;
        height: 24px;
        color: #dce9c7;
    }

    /* Tablet */
    @media (max-width: 1080px) {
        .veg-curation-v2 { margin: 80px auto; }

        .veg-curation-v2__inner {
            gap: 35px;
            padding: 47px 38px;
        }

        .veg-curation-v2 h2 { font-size: clamp(43px, 5.4vw, 60px); }
        .veg-curation-v2__lead { font-size: 15px; }
        .veg-curation-v2__cycle { width: 325px; margin-left: 0; }
        .veg-curation-v2__spec { padding-right: 18px; padding-left: 18px; }
        .veg-curation-v2__spec li { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
        .veg-curation-v2__spec li > span { font-size: 22px; }
        .veg-curation-v2__spec strong { font-size: 23px; }
    }

    /* Mobile */
    @media (max-width: 780px) {
        .veg-curation-v2 {
            margin: 64px auto;
            padding: 0 14px;
        }

        .veg-curation-v2__inner {
            display: block;
            padding: 38px 24px 31px;
            border-radius: 27px;
            background:
                radial-gradient(circle at 94% 3%, rgba(135, 186, 62, .35), transparent 30%),
                linear-gradient(145deg, #195b2d 0%, #286e2e 55%, #4b8129 100%);
        }

        .veg-curation-v2__inner::before { top: -108px; right: -92px; width: 180px; height: 180px; }
        .veg-curation-v2__inner::after { bottom: -108px; left: -96px; width: 175px; height: 175px; }

        .veg-curation-v2__intro { text-align: center; }
        .veg-curation-v2__eyebrow { font-size: 10px; letter-spacing: .15em; }
        .veg-curation-v2 h2 { margin-top: 17px; font-size: clamp(43px, 12vw, 58px); line-height: .99; }
        .veg-curation-v2__lead { max-width: 470px; margin: 21px auto 0; font-size: 15px; line-height: 1.6; }

        .veg-curation-v2__cycle {
            width: min(100%, 320px);
            margin: 21px auto 28px;
        }

        .veg-curation-v2__specs { display: block; }

        .veg-curation-v2__spec {
            padding: 27px 0 28px;
            border-top: 1px solid var(--v2-rule);
            border-left: 0;
        }

        .veg-curation-v2__spec h3 {
            min-height: 0;
            margin-bottom: 22px;
            font-size: 10px;
            text-align: center;
        }

        .veg-curation-v2__spec ol { gap: 19px; }
        .veg-curation-v2__spec li { grid-template-columns: 41px minmax(0, 1fr); gap: 13px; }
        .veg-curation-v2__spec li > span { font-size: 23px; }
        .veg-curation-v2__spec li > span::after { width: 24px; margin-top: 9px; }
        .veg-curation-v2__spec strong { font-size: clamp(21px, 6vw, 26px); }

        .veg-curation-v2__note {
            margin-top: 3px;
            padding-top: 22px;
            font-size: 14px;
        }
    }

    @media (max-width: 390px) {
        .veg-curation-v2__inner { padding: 33px 18px 27px; border-radius: 23px; }
        .veg-curation-v2 h2 { font-size: 42px; }
        .veg-curation-v2__lead { font-size: 14px; }
        .veg-curation-v2__cycle { width: 285px; margin-top: 18px; margin-bottom: 24px; }
        .veg-curation-v2__spec strong { font-size: 21px; }
        .veg-curation-v2__note { font-size: 13px; }
    }
    .veg-curation-v2__cycle {
    width: min(100%, 430px);
    margin: 28px 0 0 7px;
    line-height: 0;
}

.veg-curation-v2__cycle img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 780px) {
    .veg-curation-v2__cycle {
        width: min(100%, 320px);
        margin: 21px auto 28px;
    }
}

/*----new section start---- */

.veg-curation-v3 {
        --v3-cream: #fffaf0;
        --v3-gold: #edb83e;
        --v3-rule: rgba(255, 249, 230, .31);
        max-width: 1420px;
        margin: 96px auto;
        padding: 0 20px;
    }

    .veg-curation-v3__inner {
        position: relative;
        display: grid;
        grid-template-columns: minmax(245px, .86fr) minmax(205px, .68fr) minmax(410px, 1.46fr);
        grid-template-areas: "copy wheel specs";
        gap: clamp(28px, 3.6vw, 58px);
        align-items: center;
        overflow: hidden;
        min-height: 500px;
        padding: clamp(48px, 5vw, 70px);
        border: 1px solid rgba(237, 184, 62, .6);
        border-radius: 32px;
        color: var(--v3-cream);
        background:
            radial-gradient(circle at 92% 4%, rgba(135, 186, 62, .42), transparent 28%),
            radial-gradient(circle at 7% 96%, rgba(5, 67, 30, .2), transparent 31%),
            linear-gradient(112deg, #195b2d 0%, #286e2e 52%, #4b8129 100%);
        box-shadow: 0 24px 58px rgba(20, 74, 33, .13);
    }

    .veg-curation-v3__inner::before,
    .veg-curation-v3__inner::after {
        position: absolute;
        z-index: 0;
        width: 235px;
        height: 235px;
        content: "";
        border: 1px solid rgba(237, 184, 62, .24);
        border-radius: 50%;
        pointer-events: none;
    }

    .veg-curation-v3__inner::before { top: -165px; right: -70px; }
    .veg-curation-v3__inner::after { bottom: -175px; left: -105px; }

    .veg-curation-v3__copy,
    .veg-curation-v3__wheel,
    .veg-curation-v3__specs { position: relative; z-index: 1; }

    .veg-curation-v3__copy { grid-area: copy; }

    .veg-curation-v3__eyebrow,
    .veg-curation-v3__spec h3 {
        display: block;
        margin: 0;
        color: var(--v3-gold);
        font-family: inherit;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .16em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .veg-curation-v3 h2 {
        margin: 16px 0 0;
        color: var(--v3-cream);
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(45px, 4.45vw, 68px);
        font-weight: 700;
        letter-spacing: -.058em;
        line-height: .97;
    }

    .veg-curation-v3 h2 em { color: var(--v3-gold); font-style: normal; }

    .veg-curation-v3__copy p {
        margin: 22px 0 0;
        color: rgba(255, 250, 240, .9);
        font-size: 15px;
        line-height: 1.62;
    }

    .veg-curation-v3__wheel {
        grid-area: wheel;
        width: 100%;
        max-width: 330px;
        justify-self: center;
    }

    .veg-curation-v3__wheel img {
        display: block;
        width: 100%;
        height: auto;
        filter: drop-shadow(0 16px 23px rgba(4, 48, 21, .2));
    }

    .veg-curation-v3__specs {
        grid-area: specs;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-width: 0;
        align-items: start;
    }

    .veg-curation-v3__spec {
        min-width: 0;
        padding: 5px clamp(16px, 2.2vw, 32px) 15px;
        border-left: 1px solid var(--v3-rule);
    }

    .veg-curation-v3__spec h3 {
        min-height: 32px;
        margin-bottom: 25px;
        font-size: 10px;
    }

    .veg-curation-v3__spec ol {
        gap: 25px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .veg-curation-v3__spec li {
        display: grid;
        grid-template-columns: 31px minmax(0, 1fr);
        gap: 11px;
        align-items: start;
    }

    .veg-curation-v3__spec li > span {
        color: var(--v3-gold);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 20px;
        line-height: 1.05;
    }

    .veg-curation-v3__spec li > span::after {
        display: block;
        width: 23px;
        height: 1px;
        margin-top: 9px;
        content: "";
        background: var(--v3-gold);
    }

    .veg-curation-v3__spec strong {
        display: block;
        color: var(--v3-cream);
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(18px, 1.65vw, 25px);
        font-weight: 600;
        letter-spacing: -.035em;
        line-height: 1.12;
    }

    .veg-curation-v3__note {
        grid-column: 1 / -1;
        display: flex;
        gap: 9px;
        align-items: center;
        justify-content: center;
        margin: 28px 0 0;
        padding-top: 18px;
        border-top: 1px solid var(--v3-rule);
        color: rgba(255, 250, 240, .82);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 12px;
        font-style: italic;
        line-height: 1.4;
        text-align: center;
    }

    .veg-curation-v3__note svg {
        flex: 0 0 auto;
        width: 19px;
        height: 19px;
        color: #dce9c7;
    }

    /* Tablet: compact two-zone layout */
    @media (max-width: 1100px) {
        .veg-curation-v3 { margin: 76px auto; }

        .veg-curation-v3__inner {
            grid-template-columns: minmax(250px, .82fr) minmax(390px, 1.18fr);
            grid-template-areas:
                "copy specs"
                "wheel specs";
            gap: 23px 35px;
            min-height: 0;
            padding: 46px 38px;
        }

        .veg-curation-v3 h2 { font-size: clamp(43px, 5.3vw, 60px); }
        .veg-curation-v3__copy p { font-size: 14px; }
        .veg-curation-v3__wheel { max-width: 285px; align-self: end; }
        .veg-curation-v3__spec strong { font-size: clamp(18px, 2.05vw, 23px); }
    }

    /* Mobile: all content is compact, and the six points stay in two columns */
    @media (max-width: 780px) {
        .veg-curation-v3 {
            margin: 58px auto;
            padding: 0 14px;
        }

        .veg-curation-v3__inner {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-template-areas:
                "copy copy"
                "wheel wheel"
                "specs specs";
            gap: 0;
            padding: 33px 21px 26px;
            border-radius: 26px;
            background:
                radial-gradient(circle at 94% 3%, rgba(135, 186, 62, .34), transparent 30%),
                linear-gradient(145deg, #195b2d 0%, #286e2e 55%, #4b8129 100%);
        }

        .veg-curation-v3__inner::before { width: 165px; height: 165px; top: -100px; right: -91px; }
        .veg-curation-v3__inner::after { width: 155px; height: 155px; bottom: -106px; left: -91px; }

        .veg-curation-v3__copy { text-align: center; }
        .veg-curation-v3__eyebrow { font-size: 9px; letter-spacing: .145em; }
        .veg-curation-v3 h2 { margin-top: 15px; font-size: clamp(38px, 11.5vw, 49px); line-height: .98; }
        .veg-curation-v3__copy p { max-width: 330px; margin: 18px auto 0; font-size: 13px; line-height: 1.55; }

        .veg-curation-v3__wheel {
            width: min(100%, 220px);
            max-width: none;
            margin: 19px auto 20px;
        }

        .veg-curation-v3__specs {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            border-top: 1px solid var(--v3-rule);
        }

        .veg-curation-v3__spec {
            padding: 20px 10px 13px;
            border-left: 0;
        }

        .veg-curation-v3__spec + .veg-curation-v3__spec { border-left: 1px solid var(--v3-rule); }
        .veg-curation-v3__spec h3 { min-height: 29px; margin-bottom: 16px; font-size: 8px; line-height: 1.35; }
        .veg-curation-v3__spec ol { gap: 15px; }
        .veg-curation-v3__spec li { grid-template-columns: 24px minmax(0, 1fr); gap: 7px; }
        .veg-curation-v3__spec li > span { font-size: 16px; }
        .veg-curation-v3__spec li > span::after { width: 18px; margin-top: 7px; }
        .veg-curation-v3__spec strong { font-size: clamp(14px, 4.45vw, 17px); line-height: 1.13; }

        .veg-curation-v3__note {
            grid-column: 1 / -1;
            gap: 7px;
            margin-top: 2px;
            padding-top: 15px;
            font-size: 10px;
            line-height: 1.35;
        }

        .veg-curation-v3__note svg { width: 16px; height: 16px; }
    }
.veg-curation-v3__spec ol {
        display: grid;
        gap: 25px;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    @media (max-width: 370px) {
        .veg-curation-v3__inner { padding-right: 17px; padding-left: 17px; }
        .veg-curation-v3 h2 { font-size: 37px; }
        .veg-curation-v3__wheel { width: 208px; }
        .veg-curation-v3__spec { padding-right: 7px; padding-left: 7px; }
        .veg-curation-v3__spec strong { font-size: 14px; }
    }
.veg-curation-v3__spec ol {
        display: grid;
        gap: 25px;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    /* Desktop only: wider editorial top area + a single compact details strip */
    @media (min-width: 1180px) {
        .veg-curation-v3__inner {
            grid-template-columns: minmax(500px, .95fr) minmax(440px, 1.05fr);
            grid-template-areas:
                "copy wheel"
                "specs specs";
            gap: 38px clamp(58px, 7vw, 125px);
            align-items: center;
            min-height: 0;
            padding: 58px clamp(56px, 5vw, 86px) 46px;
        }

        .veg-curation-v3__copy {
            max-width: 670px;
            align-self: center;
        }

        .veg-curation-v3 h2 {
            max-width: 670px;
            font-size: clamp(55px, 4.15vw, 70px);
        }

        .veg-curation-v3__copy p {
            max-width: 590px;
            font-size: 16px;
        }

        .veg-curation-v3__wheel {
            width: min(100%, 475px);
            max-width: 475px;
            margin: 0;
            justify-self: center;
        }

        .veg-curation-v3__specs {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            margin-top: 3px;
            padding-top: 25px;
            border-top: 1px solid var(--v3-rule);
        }

        .veg-curation-v3__spec {
            
            grid-template-columns: 124px minmax(0, 1fr);
            gap: 18px;
            padding: 0 clamp(24px, 3.2vw, 54px);
            border-left: 0;
        }

        .veg-curation-v3__spec + .veg-curation-v3__spec {
            border-left: 1px solid var(--v3-rule);
        }

        .veg-curation-v3__spec h3 {
            min-height: 0;
            margin: 4px 0 7px;
            font-size: 10px;
        }

        .veg-curation-v3__spec ol {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 22px;
        }

        .veg-curation-v3__spec li {
            min-width: 0;
            grid-template-columns: 25px minmax(0, 1fr);
            gap: 7px;
        }

        .veg-curation-v3__spec li > span { font-size: 17px; }
        .veg-curation-v3__spec li > span::after { width: 18px; margin-top: 8px; }

        .veg-curation-v3__spec strong {
            min-width: 0;
            font-size: clamp(15px, 1.08vw, 18px);
            overflow-wrap: anywhere;
        }

        .veg-curation-v3__note {
            margin-top: 22px;
            padding-top: 16px;
        }
    
    }
    
    .stb-au-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 36px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    justify-content: center;
    font-weight: 700;
}

.stb-au-breadcrumb a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
}

.stb-au-breadcrumb strong {
    color: #ffffff;
}

@media (max-width: 1024px) {
.stb-au-breadcrumb {
        justify-content: center;
    }
}

@media (max-width: 767px) {
 .stb-au-breadcrumb {
        margin-bottom: 25px;
        font-size: 11px;
    }
}