/* ═══════════════════════════════════════════════════════════════
   SAZZY CARDS — Site-Wide Custom Styles
   Purple (#4A1A6B) · Yellow (#F5C518) · Black · White
   ═══════════════════════════════════════════════════════════════ */

/* ─── CSS Variables ─── */
:root {
    --sazzy-purple: #4A1A6B;
    --sazzy-purple-dark: #2D0F42;
    --sazzy-yellow: #F5C518;
    --sazzy-yellow-hover: #FFD84D;
    --sazzy-black: #000000;
    --sazzy-near-black: #1a1a1a;
    --sazzy-white: #FFFFFF;
    --sazzy-light-bg: #f9f7fc;
    --sazzy-border: 3px solid #000;
    --sazzy-radius: 16px;
    --sazzy-radius-lg: 20px;
    --sazzy-radius-sm: 8px;
    --sazzy-radius-btn: 12px;
    --sazzy-shadow: 0 4px 20px rgba(0,0,0,.1);
    --sazzy-shadow-hover: 0 8px 32px rgba(0,0,0,.18);
    --sazzy-transition: all .3s ease;
}

/* ─── Sazzy Section Resets ─── */
.sazzy-section { position: relative; }
.sazzy-section * { box-sizing: border-box; }

/* Row spacing ONLY within our custom sections — does NOT touch Divi Builder controls */
.sazzy-section > .et_pb_row + .et_pb_row { margin-top: 35px; }

/* ═══════════════════════════════════════
   HERO SECTION (Native Divi modules)
   ═══════════════════════════════════════ */
.sazzy-hero {
    overflow: hidden;
}

/* Hero headline — et_pb_text with module_class */
.sazzy-hero .sazzy-hero-headline h1 {
    line-height: 1.1 !important;
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
}

/* Hero image — et_pb_image module */
.sazzy-hero-image .et_pb_image_wrap {
    border: var(--sazzy-border);
    border-radius: var(--sazzy-radius-lg);
    overflow: hidden;
}
.sazzy-hero-image .et_pb_image_wrap img {
    width: 100%;
    height: auto;
}

/* Hero buttons — et_pb_button modules */
.sazzy-btn-primary .et_pb_button {
    transition: var(--sazzy-transition) !important;
}
.sazzy-btn-primary .et_pb_button:hover {
    background: var(--sazzy-yellow-hover) !important;
    transform: translateY(-3px) !important;
    box-shadow: var(--sazzy-shadow-hover) !important;
}

.sazzy-btn-outline .et_pb_button {
    transition: var(--sazzy-transition) !important;
}
.sazzy-btn-outline .et_pb_button:hover {
    background: rgba(255,255,255,.1) !important;
    border-color: var(--sazzy-white) !important;
    transform: translateY(-3px) !important;
}

/* ═══════════════════════════════════════
   HOW IT WORKS SECTION (Native Divi Blurb modules)
   ═══════════════════════════════════════ */
.sazzy-how-it-works {
    background: var(--sazzy-near-black) !important;
    padding: 80px 0 !important;
}

/* Step blurb modules — card styling */
.sazzy-step.et_pb_blurb {
    background: var(--sazzy-white);
    border: 2px solid #e0d4e8;
    border-radius: var(--sazzy-radius-lg);
    padding: 40px 28px;
    text-align: center;
    height: 100%;
    transition: var(--sazzy-transition);
    overflow: visible;
    box-shadow: 0 2px 12px rgba(74,26,107,.06);
}
.sazzy-step.et_pb_blurb:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 32px rgba(74,26,107,.14);
    border-color: var(--sazzy-purple);
}

/* Step number badge — ::before pseudo-element */
.sazzy-step .et_pb_blurb_content {
    position: relative;
    padding-top: 20px;
}
.sazzy-step .et_pb_blurb_content::before {
    display: inline-flex;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--sazzy-yellow);
    color: var(--sazzy-black);
    font-size: 24px;
    font-weight: 800;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border: var(--sazzy-border);
}
.sazzy-step-1 .et_pb_blurb_content::before { content: "1"; }
.sazzy-step-2 .et_pb_blurb_content::before { content: "2"; }
.sazzy-step-3 .et_pb_blurb_content::before { content: "3"; }

/* Blurb title and description */
.sazzy-step .et_pb_module_header {
    color: var(--sazzy-purple) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}

.sazzy-step .et_pb_blurb_description p {
    color: #555 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════
   BROWSE BY CATEGORY SECTION
   ═══════════════════════════════════════ */
.sazzy-categories {
    background: var(--sazzy-white) !important;
    padding: 80px 0 !important;
}

.sazzy-section-heading {
    color: var(--sazzy-purple) !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin-bottom: 8px !important;
}

.sazzy-section-sub {
    color: #555 !important;
    font-size: 18px !important;
    text-align: center !important;
    margin-bottom: 48px !important;
}

.sazzy-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}
.sazzy-cat-grid--bottom {
    grid-template-columns: repeat(2, 1fr);
    max-width: 810px;
    margin: 20px auto 0;
}

.sazzy-cat-tile {
    border: var(--sazzy-border);
    border-radius: var(--sazzy-radius);
    padding: 40px 24px;
    text-align: center;
    cursor: pointer;
    transition: var(--sazzy-transition);
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}
.sazzy-cat-tile:hover {
    transform: translateY(-6px);
    box-shadow: var(--sazzy-shadow-hover);
}
.sazzy-cat-tile h3 {
    color: var(--sazzy-white) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,.2);
}

/* Category tile colors */
.sazzy-cat-birthday  { background: #E85D75; }
.sazzy-cat-holiday   { background: #2D8C4E; }
.sazzy-cat-love      { background: #C74375; }
.sazzy-cat-thankyou  { background: #4A90D9; }
.sazzy-cat-justbecause { background: #F5A623; }

/* ═══════════════════════════════════════
   BUNDLE COMPARISON SECTION
   ═══════════════════════════════════════ */
.sazzy-bundles-section {
    background: var(--sazzy-light-bg) !important;
    padding: 80px 0 !important;
}

/* Bundle card — polished rounded card style matching bundle builder */
.sazzy-bundle-card.et_pb_text {
    text-align: center;
    transition: var(--sazzy-transition);
    position: relative;
    overflow: visible;
    border-radius: 24px !important;
    border-width: 2px !important;
    border-color: #e0d4e8 !important;
    box-shadow: 0 4px 24px rgba(74,26,107,.08) !important;
    padding: 48px 36px 28px !important;
}
.sazzy-bundle-card.et_pb_text:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(74,26,107,.18) !important;
    border-color: var(--sazzy-purple) !important;
}

/* Popular badge refinement */
.sazzy-bundle-card .sazzy-badge-popular {
    background: var(--sazzy-yellow);
    color: var(--sazzy-black);
}
.sazzy-bundle-card .sazzy-badge-value {
    background: var(--sazzy-purple);
    color: var(--sazzy-yellow);
}

/* Feature list styling inside bundle cards */
.sazzy-bundle-card ul {
    text-align: left;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 20px !important;
}
.sazzy-bundle-card ul li {
    padding: 10px 0 10px 36px;
    position: relative;
    font-size: 15px;
    color: #444;
    font-weight: 500;
    border-bottom: 1px solid #f0ecf5;
}
.sazzy-bundle-card ul li:last-child { border-bottom: none; }
.sazzy-bundle-card ul li::before {
    content: '✓';
    position: absolute;
    left: 6px;
    color: var(--sazzy-purple);
    font-weight: 800;
    font-size: 17px;
}

/* Bundle column buttons */
.sazzy-bundle-col .et_pb_button_module .et_pb_button {
    transition: var(--sazzy-transition) !important;
    width: 100%;
    border-radius: 14px !important;
    font-size: 15px !important;
    padding: 16px 32px !important;
    letter-spacing: .5px !important;
}
.sazzy-bundle-col .et_pb_button_module .et_pb_button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(74,26,107,.25) !important;
}

/* ═══════════════════════════════════════
   POPULAR PICKS / CAROUSEL
   ═══════════════════════════════════════ */
.sazzy-popular-section {
    background: var(--sazzy-white) !important;
    padding: 80px 0 !important;
    overflow: hidden !important;
}

.sazzy-carousel-wrap {
    position: relative;
    overflow: hidden;
    padding: 20px 0;
}

.sazzy-carousel-viewport {
    overflow: hidden;
    margin: 0 60px;
}

.sazzy-carousel-track {
    display: flex;
    gap: 24px;
    animation: sazzy-carousel-scroll 40s linear infinite;
    width: max-content;
}
.sazzy-carousel-wrap:hover .sazzy-carousel-track {
    animation-play-state: paused;
}

@keyframes sazzy-carousel-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.sazzy-carousel-card {
    flex: 0 0 200px;
    background: var(--sazzy-white);
    border: var(--sazzy-border);
    border-radius: var(--sazzy-radius);
    overflow: hidden;
    cursor: pointer;
    transition: var(--sazzy-transition);
}
.sazzy-carousel-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--sazzy-shadow-hover);
}

.sazzy-carousel-card-image {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    display: block;
    background: #e8e0ee;
}

.sazzy-carousel-card-name {
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--sazzy-purple);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: var(--sazzy-white);
}

/* Carousel navigation arrows */
.sazzy-carousel-prev,
.sazzy-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--sazzy-purple);
    color: var(--sazzy-yellow);
    border: var(--sazzy-border);
    font-size: 20px;
    font-weight: 800;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--sazzy-transition);
}
.sazzy-carousel-prev:hover,
.sazzy-carousel-next:hover {
    background: var(--sazzy-purple-dark);
    transform: translateY(-50%) scale(1.1);
}
.sazzy-carousel-prev { left: 4px; }
.sazzy-carousel-next { right: 4px; }

/* Lightbox */
.sazzy-lightbox-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.85);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
}
.sazzy-lightbox-overlay.active {
    opacity: 1;
    visibility: visible;
}

.sazzy-lightbox-content {
    background: var(--sazzy-white);
    border: var(--sazzy-border);
    border-radius: var(--sazzy-radius-lg);
    max-width: 480px;
    width: 90%;
    overflow: hidden;
    transform: scale(.9);
    transition: transform .3s ease;
    position: relative;
}
.sazzy-lightbox-overlay.active .sazzy-lightbox-content {
    transform: scale(1);
}

.sazzy-lightbox-image {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    display: block;
    background: #e8e0ee;
}

.sazzy-lightbox-name {
    padding: 16px 20px;
    font-size: 18px;
    font-weight: 700;
    color: var(--sazzy-purple);
    text-align: center;
}

.sazzy-lightbox-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--sazzy-black);
    color: var(--sazzy-white);
    border: none;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: var(--sazzy-transition);
}
.sazzy-lightbox-close:hover {
    background: var(--sazzy-purple);
    transform: rotate(90deg);
}

/* Lightbox flip button for inside card view */
.sazzy-lightbox-flip {
    display: none;
    margin: 0 auto 8px;
    padding: 8px 20px;
    background: var(--sazzy-purple);
    color: var(--sazzy-yellow);
    border: 2px solid var(--sazzy-black);
    border-radius: var(--sazzy-radius-sm);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: .5px;
    transition: var(--sazzy-transition);
}
.sazzy-lightbox-flip.has-inside { display: inline-block; }
.sazzy-lightbox-flip:hover {
    background: var(--sazzy-purple-dark);
    transform: translateY(-2px);
}

/* ═══════════════════════════════════════
   ABOUT PREVIEW SECTION
   ═══════════════════════════════════════ */
.sazzy-about-preview {
    background: var(--sazzy-purple) !important;
    padding: 80px 0 !important;
}

.sazzy-about-preview h2 {
    color: var(--sazzy-yellow) !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    margin-bottom: 20px !important;
}

.sazzy-about-preview p {
    color: var(--sazzy-white) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    margin-bottom: 16px !important;
}

/* About image — et_pb_image module with Divi border attributes */
.sazzy-about-image .et_pb_image_wrap {
    background: #e8e0ee;
    overflow: hidden;
}
.sazzy-about-image .et_pb_image_wrap img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* About preview buttons — Divi native et_pb_button */
.sazzy-about-preview .et_pb_button_module .et_pb_button {
    transition: var(--sazzy-transition) !important;
}
.sazzy-about-preview .et_pb_button_module .et_pb_button:hover {
    background: var(--sazzy-yellow-hover) !important;
    transform: translateY(-3px) !important;
    box-shadow: var(--sazzy-shadow-hover) !important;
}

/* ═══════════════════════════════════════
   FINAL CTA BANNER
   ═══════════════════════════════════════ */
.sazzy-cta-banner {
    background: var(--sazzy-yellow) !important;
    padding: 80px 0 !important;
    border-top: var(--sazzy-border);
}

.sazzy-cta-banner h2 {
    color: var(--sazzy-black) !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin-bottom: 12px !important;
}

.sazzy-cta-banner p {
    color: #333 !important;
    font-size: 18px !important;
    text-align: center !important;
    margin-bottom: 32px !important;
}

/* CTA banner buttons — now native et_pb_button modules */
.sazzy-cta-banner .et_pb_button_module .et_pb_button {
    transition: var(--sazzy-transition) !important;
}
.sazzy-cta-banner .et_pb_button_module .et_pb_button:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--sazzy-shadow-hover) !important;
}

/* ═══════════════════════════════════════
   BUNDLE BUILDER PAGES (6-Pack / 12-Pack)
   ═══════════════════════════════════════ */
.sazzy-builder-page-header {
    background: var(--sazzy-purple);
    border-bottom: var(--sazzy-border);
    padding: 48px 0;
    text-align: center;
}
.sazzy-builder-page-header h1 {
    color: var(--sazzy-white) !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
}
.sazzy-builder-page-header p {
    color: var(--sazzy-yellow) !important;
    font-size: 18px !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════ */
.sazzy-about-hero {
    background: var(--sazzy-purple) !important;
    padding: 80px 0 60px !important;
    text-align: center;
}
.sazzy-about-hero h1 {
    color: var(--sazzy-yellow) !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
}
.sazzy-about-hero p {
    color: var(--sazzy-white) !important;
    font-size: 18px !important;
}

.sazzy-about-story {
    background: var(--sazzy-white) !important;
    padding: 80px 0 !important;
}
.sazzy-about-story h2 {
    color: var(--sazzy-purple) !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    margin-bottom: 24px !important;
}
.sazzy-about-story p {
    color: #444 !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    margin-bottom: 20px !important;
}

/* About page photo — et_pb_image module with Divi border attributes */
.sazzy-about-photo .et_pb_image_wrap {
    background: #e8e0ee;
    min-height: 360px;
    overflow: hidden;
}
.sazzy-about-photo .et_pb_image_wrap img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* ═══════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════ */
.sazzy-contact-hero {
    background: var(--sazzy-purple) !important;
    padding: 80px 0 60px !important;
    text-align: center;
}
.sazzy-contact-hero h1 {
    color: var(--sazzy-yellow) !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
}
.sazzy-contact-hero p {
    color: var(--sazzy-white) !important;
    font-size: 18px !important;
}

.sazzy-contact-content {
    background: var(--sazzy-white) !important;
    padding: 80px 0 !important;
}

/* Contact form styling */
.sazzy-contact-content .et_pb_contact_form .et_pb_contact_field input,
.sazzy-contact-content .et_pb_contact_form .et_pb_contact_field textarea {
    border: 2px solid var(--sazzy-black) !important;
    border-radius: var(--sazzy-radius-sm) !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
}
.sazzy-contact-content .et_pb_contact_form .et_pb_contact_field input:focus,
.sazzy-contact-content .et_pb_contact_form .et_pb_contact_field textarea:focus {
    border-color: var(--sazzy-purple) !important;
    outline: none !important;
}
.sazzy-contact-content .et_pb_contact_submit {
    background: var(--sazzy-purple) !important;
    color: var(--sazzy-yellow) !important;
    border: var(--sazzy-border) !important;
    border-radius: var(--sazzy-radius-btn) !important;
    padding: 16px 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: var(--sazzy-transition) !important;
}
.sazzy-contact-content .et_pb_contact_submit:hover {
    background: var(--sazzy-purple-dark) !important;
    transform: translateY(-2px) !important;
}

.sazzy-contact-info h3 {
    color: var(--sazzy-purple) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}
.sazzy-contact-info p {
    color: #444 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}
.sazzy-contact-info a {
    color: var(--sazzy-purple) !important;
    font-weight: 600;
}
.sazzy-contact-info a:hover {
    color: var(--sazzy-yellow) !important;
}

/* ═══════════════════════════════════════
   HOMEPAGE TEXT READABILITY
   ═══════════════════════════════════════ */

/* Hero subtitle — boost white text on purple */
.sazzy-hero .et_pb_text p {
    color: rgba(255,255,255,.95) !important;
}

/* Hemp Heritage section — boost text readability on purple */
.sazzy-hemp .et_pb_text p,
.sazzy-hemp .et_pb_blurb_description p {
    color: rgba(255,255,255,.92) !important;
}
.sazzy-hemp .et_pb_module_header {
    color: var(--sazzy-yellow) !important;
}
.sazzy-hemp h2 {
    color: var(--sazzy-yellow) !important;
}
.sazzy-hemp em, .sazzy-hemp i {
    color: var(--sazzy-yellow) !important;
}

/* Waitlist / Collections section — boost text on dark bg */
.sazzy-waitlist p {
    color: rgba(255,255,255,.88) !important;
}
.sazzy-waitlist h2 {
    color: var(--sazzy-white) !important;
}

/* Final CTA — boost subtitle on purple */
.sazzy-final-cta p {
    color: rgba(255,255,255,.9) !important;
}
.sazzy-final-cta h2 {
    color: var(--sazzy-yellow) !important;
}

/* Card showcase subtitle */
.sazzy-cards-showcase .et_pb_text p {
    color: #555 !important;
}

/* ═══════════════════════════════════════
   PACK CARDS — Rounded Premium Style
   ═══════════════════════════════════════ */
.sazzy-pack-card.et_pb_text {
    border-radius: 24px !important;
    overflow: hidden;
    transition: var(--sazzy-transition);
    box-shadow: 0 4px 24px rgba(0,0,0,.12);
    border: 3px solid rgba(0,0,0,.15) !important;
}
.sazzy-pack-card.et_pb_text:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0,0,0,.2);
}

/* 6-Pack (white bg) */
.sazzy-pack-card:not(.sazzy-pack-featured) {
    border-color: rgba(0,0,0,.1) !important;
}
.sazzy-pack-card:not(.sazzy-pack-featured) h3 {
    color: var(--sazzy-purple) !important;
}
.sazzy-pack-card:not(.sazzy-pack-featured) .et_pb_text_inner > p:first-of-type {
    color: var(--sazzy-purple) !important;
}

/* 12-Pack (purple bg / featured) */
.sazzy-pack-featured.et_pb_text {
    border-color: var(--sazzy-purple) !important;
}
.sazzy-pack-featured h3 {
    color: var(--sazzy-yellow) !important;
}
.sazzy-pack-featured p {
    color: rgba(255,255,255,.85) !important;
}

/* Pack card buttons — more rounded */
.sazzy-bundle-cta .et_pb_button_module .et_pb_button {
    border-radius: 14px !important;
    transition: var(--sazzy-transition) !important;
    font-size: 15px !important;
}
.sazzy-bundle-cta .et_pb_button_module .et_pb_button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.25) !important;
}

/* Bundle CTA heading and subtitle on yellow */
.sazzy-bundle-cta h2 {
    color: var(--sazzy-purple) !important;
}
.sazzy-bundle-cta > .et_pb_row:first-child p {
    color: #333 !important;
}

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE
   ═══════════════════════════════════════ */
@media (max-width: 980px) {
    .sazzy-hero .sazzy-hero-headline h1 {
        font-size: 36px !important;
    }
    .sazzy-cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sazzy-cat-grid--bottom {
        grid-template-columns: 1fr;
        max-width: 400px;
    }
    .sazzy-about-preview h2,
    .sazzy-cta-banner h2 {
        font-size: 32px !important;
    }
    .sazzy-carousel-viewport { margin: 0 50px; }
    .sazzy-carousel-card { flex: 0 0 160px; }
}

@media (max-width: 767px) {
    .sazzy-hero .sazzy-hero-headline h1 {
        font-size: 28px !important;
    }
    .sazzy-cat-grid {
        grid-template-columns: 1fr;
    }
    .sazzy-cat-grid--bottom {
        grid-template-columns: 1fr;
    }
    .sazzy-cat-tile {
        min-height: 100px;
        padding: 28px 20px;
    }
    .sazzy-bundle-card.et_pb_text { padding: 36px 24px 24px !important; border-radius: 20px !important; }
    .sazzy-pack-card.et_pb_text { border-radius: 20px !important; }

    .sazzy-carousel-viewport { margin: 0 12px; }
    .sazzy-carousel-prev,
    .sazzy-carousel-next { display: none; }
    .sazzy-carousel-card { flex: 0 0 150px; }

    .sazzy-cta-banner .et_pb_button_module { width: 100%; }
    .sazzy-cta-banner .et_pb_button_module .et_pb_button { width: 100% !important; text-align: center !important; }

    .sazzy-builder-page-header h1 { font-size: 32px !important; }

    .sazzy-about-hero h1,
    .sazzy-contact-hero h1 { font-size: 36px !important; }

    .sazzy-lightbox-content { max-width: 92%; }
}

/* ═══════════════════════════════════════
   DIVI COMPATIBILITY — Targeted Only
   ═══════════════════════════════════════ */

/* Prevent Divi from adding arrow icons to our buttons */
.sazzy-section .et_pb_button:after,
.sazzy-section .et_pb_button:before { display: none !important; }

/* Make sure Code modules expand properly */
.sazzy-section .et_pb_code_inner { width: 100%; }

/* Remove Divi default section shadows on our custom sections */
.sazzy-section.et_pb_section { box-shadow: none !important; }

/* ─── Native Divi Module Compatibility ─── */
/* Ensure et_pb_text modules within our sections don't get extra Divi spacing */
.sazzy-section .et_pb_text_inner { line-height: inherit; }

/* All Divi buttons in our sections — consistent hover transition */
.sazzy-section .et_pb_button_module .et_pb_button {
    transition: var(--sazzy-transition) !important;
}

/* Blurb modules in our sections — reset Divi defaults */
.sazzy-section .et_pb_blurb .et_pb_blurb_content {
    max-width: 100%;
}
.sazzy-section .et_pb_blurb .et_pb_blurb_container {
    padding-bottom: 0;
}

/* ─── WooCommerce Cart ─── */
.woocommerce-cart .entry-content,
.woocommerce-cart .et_pb_post_content,
.wc-block-cart { padding-left: 50px; padding-right: 50px; }

/* Hide "New in store" and all cross-sell/upsell blocks on cart page */
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wc-block-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.woocommerce-cart .wp-block-heading:not(.wc-block-cart__heading):not(.wc-block-cart__totals-title),
.woocommerce-cart .wc-block-grid,
.woocommerce-cart .cross-sells,
.woocommerce-cart .wp-block-woocommerce-product-new,
.woocommerce-cart .products.columns-3,
.woocommerce-cart .cart-collaterals .cross-sells,
.woocommerce-cart section.products,
.woocommerce-cart .wp-block-woocommerce-product-on-sale,
.woocommerce-cart .related.products { display: none !important; }
