/*==================================================*
 * RAIN SPREE PREMIUM
 * GLOBAL DESIGN SYSTEM
 *==================================================*/


/*==================================================*
 * ROOT VARIABLES
 *==================================================*/

:root {

    /* Brand Colors */

    --rs-primary: #1F5E2F;
    --rs-primary-dark: #174825;
    --rs-primary-light: #4E8D5C;

    --rs-secondary: #7C4DFF;
    --rs-secondary-light: #A27DFF;

    --rs-orange: #E89A52;


    /* Neutral */

    --rs-white: #FFFFFF;
    --rs-black: #1B1B1B;

    --rs-text: #2C2C2C;
    --rs-text-light: #666666;

    --rs-border: #E8E8E8;

    /*
     * Used by individual components only.
     * The BODY itself is transparent so the
     * Rain Spree global background can show.
     */

    --rs-background: #FFFFFF;
    --rs-background-alt: #F8F9F8;


    /* Layout */

    --rs-container: 1380px;


    /* Radius */

    --rs-radius-sm: 8px;
    --rs-radius-md: 14px;
    --rs-radius-lg: 24px;
    --rs-radius-xl: 40px;


    /* Shadows */

    --rs-shadow-sm:
        0 8px 24px rgba(0, 0, 0, .05);

    --rs-shadow-md:
        0 16px 40px rgba(0, 0, 0, .08);

    --rs-shadow-lg:
        0 20px 60px rgba(0, 0, 0, .08);


    /* Glass */

    --rs-glass-bg:
        rgba(255, 255, 255, .48);

    --rs-glass-border:
        rgba(255, 255, 255, .70);

    --rs-glass-blur:
        28px;


    /* Animation */

    --rs-transition:
        .35s ease;
}


/*==================================================*
 * GLOBAL RESET
 *==================================================*/

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;
}


html {

    min-height: 100%;

    scroll-behavior: smooth;

    background: #F8F7F4;
}


/*==================================================*
 * BODY
 *==================================================*/

body {

    /* Typography */

    --rs-font-heading:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif;

    --rs-font-body:
        "Inter",
        Arial,
        sans-serif;


    position: relative;

    min-height: 100vh;

    font-family:
        var(--rs-font-body);

    font-size: 16px;

    color:
        var(--rs-text);

    line-height: 1.6;


    /*
     * IMPORTANT:
     *
     * Body must stay transparent.
     * The global image is supplied by body::before.
     */

    background:
        transparent !important;

    overflow-x: hidden;

    isolation: isolate;
}


/*==================================================*
 * RAIN SPREE
 * WHOLE SITE BACKGROUND
 *==================================================*
 *
 * Background image:
 *
 * assets/images/site-background.webp
 *
 * This image stays fixed while the user scrolls,
 * creating one continuous background across the
 * entire website.
 *==================================================*/

.rs-hero,
.rs-hero-banner,
.rs-home-hero {
    background-image: none !important;
    background-color: transparent !important;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

body::before {

    content: "";

    position: fixed;

    inset: 0;

    width: 100vw;
    height: 100vh;

    z-index: -1;

    pointer-events: none;

    background-image:
        url("../images/site-background.webp");

    background-repeat:
        no-repeat;

    background-position:
        center center;

    background-size:
        cover;
}

/*==================================================*
 * WORDPRESS / THEME WRAPPERS
 *==================================================*
 *
 * These must remain transparent so they don't
 * cover the global background.
 *==================================================*/

#page,
.site,
.site-content,
#content,
main,
#primary,
.site-main {

    position: relative;

    z-index: 1;

    background:
        transparent !important;
}


/*==================================================*
 * RAIN SPREE MAIN SECTIONS
 *==================================================*/

.rs-section,
.rs-home,
.rs-home-section,
.rs-home-discover,
.rs-category-showcase,
.rs-category-showcase__container,
.rs-explore-blog,
.rs-explore-blog-inner {

    background:
        transparent !important;
}


/*==================================================*
 * TYPOGRAPHY
 *==================================================*/

h1,
h2,
h3,
h4,
h5,
h6 {

    font-family:
        var(--rs-font-heading);

    color:
        var(--rs-text);
}


h1 {

    font-size: 4rem;

    line-height: 1.1;

    font-weight: 800;
}


h2 {

    font-size: 2.8rem;

    line-height: 1.2;

    font-weight: 700;
}


h3 {

    font-size: 1.7rem;

    line-height: 1.2;

    font-weight: 700;
}


h4 {

    font-size: 1.25rem;

    line-height: 1.3;

    font-weight: 700;
}


p {

    color:
        var(--rs-text-light);
}


/*==================================================*
 * IMAGES
 *==================================================*/

img {

    display: block;

    max-width: 100%;

    height: auto;
}


/*==================================================*
 * LINKS
 *==================================================*/

a {

    color: inherit;

    text-decoration: none;

    transition:
        var(--rs-transition);
}


/*==================================================*
 * BUTTONS
 *==================================================*/

button {

    font: inherit;

    cursor: pointer;

    border: none;

    background: none;
}


/*==================================================*
 * LISTS
 *==================================================*/

ul,
ol {

    margin: 0;

    padding: 0;

    list-style: none;
}


/*==================================================*
 * CONTAINER
 *==================================================*/

.rs-container {

    width:
        min(
            calc(100% - 40px),
            var(--rs-container)
        );

    margin-left: auto;

    margin-right: auto;
}


/*==================================================*
 * GENERAL SECTION
 *==================================================*/

.rs-section {

    padding:
        100px 0;

    background:
        transparent !important;
}


.rs-section-title {

    margin-bottom:
        18px;
}


.rs-section-description {

    max-width:
        720px;
}


/*==================================================*
 * BUTTONS
 *==================================================*/

.rs-btn {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        10px;

    min-height:
        52px;

    padding:
        0 28px;

    border-radius:
        999px;

    font-weight:
        600;

    transition:
        var(--rs-transition);
}


.rs-btn-primary {

    background:
        var(--rs-primary);

    color:
        #fff;
}


.rs-btn-primary:hover {

    background:
        var(--rs-primary-dark);
}


.rs-btn-outline {

    border:
        2px solid
        var(--rs-primary);

    color:
        var(--rs-primary);
}


.rs-btn-outline:hover {

    background:
        var(--rs-primary);

    color:
        #fff;
}


/*==================================================*
 * STANDARD CARD
 *==================================================*/

.rs-card {

    background:
        #fff;

    border-radius:
        var(--rs-radius-lg);

    overflow:
        hidden;

    box-shadow:
        var(--rs-shadow-sm);

    transition:
        var(--rs-transition);
}


.rs-card:hover {

    transform:
        translateY(-8px);

    box-shadow:
        var(--rs-shadow-lg);
}


/*==================================================*
 * APPLE GLASS
 *==================================================*/

.rs-glass {

    background:
        var(--rs-glass-bg);

    backdrop-filter:
        blur(var(--rs-glass-blur));

    -webkit-backdrop-filter:
        blur(var(--rs-glass-blur));

    border:
        1px solid
        var(--rs-glass-border);

    box-shadow:

        0 18px 45px
        rgba(45, 35, 65, .10),

        inset 0 1px 0
        rgba(255, 255, 255, .65);
}


/*==================================================*
 * ACCESSIBILITY
 *==================================================*/

:focus-visible {

    outline:
        2px solid
        var(--rs-primary);

    outline-offset:
        3px;
}


/*==================================================*
 * TABLET
 *==================================================*/

@media (max-width: 991px) {

    h1 {

        font-size:
            3rem;
    }


    h2 {

        font-size:
            2.2rem;
    }

}


/*==================================================*
 * MOBILE
 *==================================================*/

@media (max-width: 768px) {

    .rs-section {

        padding:
            60px 0;
    }


    h1 {

        font-size:
            2.5rem;
    }


    .rs-container {

        width:
            min(
                calc(100% - 28px),
                var(--rs-container)
            );
    }

}


/*==================================================*
 * SMALL MOBILE
 *==================================================*/

@media (max-width: 600px) {

    body::before {

        background-position:
            center top;

        background-size:
            cover;
    }

}


/*==================================================*
 * RAIN SPREE
 * ENCLOSED GLASS SECTION SYSTEM
 * MATCH NEWSLETTER STYLE
 *==================================================*/


/*==================================================*
 * 1. SECTION ITSELF
 *==================================================*/

.rs-category-showcase,
.rs-home-favorites,
.rs-action-section,
.rs-why-rainspree,
.rs-explore-blog,
.rs-customer-stories,
.rs-real-customer-stories,
.rs-testimonials {

    position: relative;

    background:
        transparent !important;

    border:
        none !important;

    box-shadow:
        none !important;

    backdrop-filter:
        none !important;

    -webkit-backdrop-filter:
        none !important;
}


/*==================================================*
 * 2. ENCLOSED GLASS PANELS
 * Visual glass styling only.
 * Width and alignment are controlled by the unified
 * homepage width system below.
 *==================================================*/

.rs-category-showcase__container,
.rs-home-favorites__container,
.rs-action-container,
.rs-why-rainspree__inner,
.rs-explore-blog-inner {

    position: relative;

    padding:
        38px;

    background:
        rgba(255, 255, 255, 0.68);

    border:
        1px solid rgba(255, 255, 255, 0.86);

    border-radius:
        28px;

    box-shadow:
        0 18px 50px rgba(31, 94, 47, 0.08),
        0 4px 20px rgba(255, 255, 255, 0.30);

    backdrop-filter:
        blur(24px)
        saturate(125%);

    -webkit-backdrop-filter:
        blur(24px)
        saturate(125%);

    overflow:
        hidden;
}


/*==================================================*
 * 3. SUBTLE INNER WHITE BORDER
 *==================================================*/

.rs-category-showcase__container::before,
.rs-home-favorites__container::before,
.rs-action-container::before,
.rs-why-rainspree__inner::before,
.rs-explore-blog-inner::before {

    content:
        "";

    position:
        absolute;

    inset:
        1px;

    border:
        1px solid rgba(255, 255, 255, 0.42);

    border-radius:
        27px;

    pointer-events:
        none;

    z-index:
        0;
}


/*==================================================*
 * 4. CONTENT ABOVE GLASS
 *==================================================*/

.rs-category-showcase__container > *,
.rs-home-favorites__container > *,
.rs-action-container > *,
.rs-why-rainspree__inner > *,
.rs-explore-blog-inner > * {

    position:
        relative;

    z-index:
        1;
}


/*==================================================*
 * 5. CUSTOMER STORIES
 *==================================================*/

.rs-customer-stories > .rs-container,
.rs-real-customer-stories > .rs-container,
.rs-testimonials > .rs-container {

    position:
        relative;

    width:
        min(100% - 40px, 1100px);

    margin:
        20px auto;

    padding:
        38px;

    background:
        rgba(255, 255, 255, 0.68);

    border:
        1px solid rgba(255, 255, 255, 0.86);

    border-radius:
        28px;

    box-shadow:
        0 18px 50px rgba(31, 94, 47, 0.08);

    backdrop-filter:
        blur(24px)
        saturate(125%);

    -webkit-backdrop-filter:
        blur(24px)
        saturate(125%);

    overflow:
        hidden;
}


/*==================================================*
 * 6. MOBILE
 *==================================================*/

@media (max-width: 768px) {

    .rs-category-showcase__container,
    .rs-home-favorites__container,
    .rs-action-container,
    .rs-why-rainspree__inner,
    .rs-explore-blog-inner,
    .rs-customer-stories > .rs-container,
    .rs-real-customer-stories > .rs-container,
    .rs-testimonials > .rs-container {

        padding:
            24px 18px;

        border-radius:
            22px;

        background:
            rgba(255, 255, 255, 0.72);

        backdrop-filter:
            blur(18px);

        -webkit-backdrop-filter:
            blur(18px);
    }

}


/*==================================================*
 * RAIN SPREE
 * HOMEPAGE — UNIFIED WIDTH & ALIGNMENT SYSTEM
 *==================================================*
 *
 * ONE COMMON CONTENT WIDTH
 * ------------------------
 * Hero inner
 * Discover
 * Favorites
 * Real Products / Action
 * Why Rain Spree
 * Blog
 * Customer Stories
 * Newsletter
 * Footer
 *
 * The outer sections remain full-width so the single
 * global botanical background continues uninterrupted.
 * Only the inner content panels share the same width.
 *==================================================*/

:root {
    --rs-home-width: 1180px;
    --rs-home-gutter: 40px;
}


/*==================================================*
 * COMMON HOMEPAGE INNER WIDTH
 *==================================================*/

.rs-hero__inner,
.rs-home-discover-container,
.rs-home-favorites__container,
.rs-action-container,
.rs-why-rainspree__inner,
.rs-explore-blog-inner,
.rs-customer-stories > .rs-container,
.rs-real-customer-stories > .rs-container,
.rs-testimonials > .rs-container,
.rs-customer-stories > div,
.rs-real-customer-stories > div,
.rs-testimonials > div,
.rs-newsletter > .rs-container,
.rs-home-newsletter > .rs-container,
.rs-newsletter-section > .rs-container,
.rs-footer .rs-container {

    width:
        min(
            calc(100% - (var(--rs-home-gutter) * 2)),
            var(--rs-home-width)
        ) !important;

    max-width:
        var(--rs-home-width) !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;

    box-sizing:
        border-box !important;
}

.rs-category-showcase__container {
    width: min(
        calc(100% - 40px),
        1180px
    ) !important;

    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

/*==================================================*
 * HERO INNER
 *==================================================*/

.rs-hero__inner {

    min-height:
        0 !important;

    padding:
        28px 34px !important;

    border-radius:
        28px !important;
}


/*==================================================*
 * HERO OUTER
 * FULL WIDTH — BACKGROUND STAYS OUTSIDE
 *==================================================*/

.rs-hero,
.rs-hero-banner,
.rs-home-hero {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        12px 0 !important;

    border-radius:
        0 !important;

    border-left:
        0 !important;

    border-right:
        0 !important;

    box-sizing:
        border-box !important;
}


/*==================================================*
 * FOOTER OUTER
 * FULL WIDTH
 *==================================================*/

.rs-footer {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    box-sizing:
        border-box !important;
}


/*==================================================*
 * FOOTER CONTAINER
 *==================================================*/

.rs-footer .rs-container {

    box-sizing:
        border-box !important;
}


/*==================================================*
 * FOOTER GLASS
 * THE GLASS PANEL FILLS THE COMMON FOOTER WIDTH
 *==================================================*/

.rs-footer-glass {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    box-sizing:
        border-box !important;

    padding:
        28px 30px 16px !important;

    border-radius:
        26px !important;
}


/*==================================================*
 * FOOTER BACKGROUND
 * FULL WIDTH — GLASS STAYS INSIDE
 *==================================================*/

.rs-footer-bg {

    width:
        100% !important;

    max-width:
        none !important;

    padding:
        18px 0 !important;

    box-sizing:
        border-box !important;
}


/*==================================================*
 * MOBILE — SAME WIDTH RULE FOR EVERY SECTION
 *==================================================*/

@media (max-width: 700px) {

    :root {
        --rs-home-width: 100%;
        --rs-home-gutter: 24px;
    }


    .rs-hero__inner,
    .rs-home-discover-container,
    .rs-home-favorites__container,
    .rs-action-container,
    .rs-why-rainspree__inner,
    .rs-explore-blog-inner,
    .rs-category-showcase__container,
    .rs-customer-stories > .rs-container,
    .rs-real-customer-stories > .rs-container,
    .rs-testimonials > .rs-container,
    .rs-customer-stories > div,
    .rs-real-customer-stories > div,
    .rs-testimonials > div,
    .rs-footer .rs-container {

        width:
            calc(100% - 48px) !important;

        max-width:
            none !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }


    .rs-hero__inner {

        padding:
            20px 18px !important;

        border-radius:
            22px !important;
    }


    .rs-footer-bg {

        padding:
            10px 0 !important;
    }


    .rs-footer-glass {

        padding:
            24px 18px 14px !important;

        border-radius:
            22px !important;
    }
}


/*==================================================*
 * VERY SMALL MOBILE
 * KEEP EVERY SECTION ON THE SAME LEFT / RIGHT EDGE
 *==================================================*/

@media (max-width: 480px) {

    :root {
        --rs-home-gutter: 16px;
    }


    .rs-hero__inner,
    .rs-home-discover-container,
    .rs-home-favorites__container,
    .rs-action-container,
    .rs-why-rainspree__inner,
    .rs-explore-blog-inner,
    .rs-category-showcase__container,
    .rs-customer-stories > .rs-container,
    .rs-real-customer-stories > .rs-container,
    .rs-testimonials > .rs-container,
    .rs-customer-stories > div,
    .rs-real-customer-stories > div,
    .rs-testimonials > div,
    .rs-footer .rs-container {

        width:
            calc(100% - 32px) !important;
    }
}

/* =========================================================
   RAIN SPREE — TESTIMONIALS GLASS PANEL
   ========================================================= */

.rs-testimonials,
.rs-customer-stories,
.rs-real-customer-stories {

    position: relative;

    width: min(
        calc(100% - (var(--rs-home-gutter) * 2)),
        var(--rs-home-width)
    ) !important;

    max-width: var(--rs-home-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    margin-top: 20px !important;
    margin-bottom: 20px !important;

    padding: 38px !important;

    background:
        rgba(255, 255, 255, .68) !important;

    border:
        1px solid rgba(255, 255, 255, .86) !important;

    border-radius:
        28px !important;

    box-shadow:
        0 18px 50px rgba(31, 94, 47, .08),
        0 4px 20px rgba(255, 255, 255, .30) !important;

    backdrop-filter:
        blur(24px)
        saturate(125%);

    -webkit-backdrop-filter:
        blur(24px)
        saturate(125%);

    box-sizing: border-box !important;
    overflow: hidden;
}


/* =========================================================
   REMOVE OLD INNER CONTAINER EFFECT
   ========================================================= */

.rs-testimonials > .rs-container,
.rs-customer-stories > .rs-container,
.rs-real-customer-stories > .rs-container {

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* =========================================================
   IF TESTIMONIALS HAS A NORMAL INNER DIV
   KEEP IT TRANSPARENT
   ========================================================= */

.rs-testimonials > div,
.rs-customer-stories > div,
.rs-real-customer-stories > div {

    background: transparent !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .rs-testimonials,
    .rs-customer-stories,
    .rs-real-customer-stories {

        width:
            calc(100% - 48px) !important;

        max-width:
            none !important;

        margin-top:
            12px !important;

        margin-bottom:
            12px !important;

        padding:
            24px 18px !important;

        border-radius:
            22px !important;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .rs-testimonials,
    .rs-customer-stories,
    .rs-real-customer-stories {

        width:
            calc(100% - 32px) !important;

    }

}

/* =========================================================
   RAIN SPREE — NEWSLETTER COMPACT BALANCED LOCK
   ========================================================= */

.rs-newsletter {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 0 !important;
}

/* Compact outer background */
.rs-newsletter__background {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Main panel */
.rs-newsletter__glass {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    height: 220px !important;
    min-height: 220px !important;
    margin: 0 auto !important;
	margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px 28px !important;

    display: grid !important;
    grid-template-columns: 185px minmax(0, 1fr) !important;
    gap: 26px !important;

    align-items: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    border-radius: 24px !important;
}

/* ---------------------------------------------------------
   LEFT VISUAL — COMPRESSED
   --------------------------------------------------------- */

.rs-newsletter__visual {
    min-width: 0 !important;
    min-height: 150px !important;
    height: 150px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rs-newsletter__envelope {
    width: 175px !important;
    height: 138px !important;

    transform: rotate(-3deg) !important;
}

.rs-newsletter__paper {
    top: -28px !important;
    left: 28px !important;

    width: 112px !important;
    height: 90px !important;

    padding: 10px 8px !important;
}

.rs-newsletter__paper img {
    width: 78px !important;
    max-height: 62px !important;
}

.rs-newsletter__paper small {
    margin-top: 5px !important;
    font-size: 6px !important;
}

.rs-newsletter__envelope-body {
    inset: 18px 0 0 !important;
}

.rs-newsletter__envelope-heart {
    width: 28px !important;
    height: 28px !important;

    bottom: 7px !important;

    font-size: 14px !important;
}

.rs-newsletter__heart {
    top: 18px !important;
    left: 0 !important;

    width: 40px !important;
    height: 40px !important;

    font-size: 17px !important;
}

.rs-newsletter__sparkle {
    font-size: 14px !important;
}

/* ---------------------------------------------------------
   CONTENT — COMPACT
   --------------------------------------------------------- */

.rs-newsletter__content {
    min-width: 0 !important;
    width: 100% !important;
}

.rs-newsletter__eyebrow {
    display: inline-flex !important;

    padding: 6px 10px !important;

    font-size: 8px !important;
    line-height: 1 !important;
}

.rs-newsletter__content h2 {
    margin: 7px 0 6px !important;

    font-size: 34px !important;
    line-height: 1.02 !important;

    letter-spacing: -.02em !important;
}

.rs-newsletter__content > p {
    max-width: 540px !important;

    margin: 0 0 10px !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
}

/* ---------------------------------------------------------
   FORM — KEEP IT VISIBLE
   --------------------------------------------------------- */

.rs-newsletter__form {
    width: 100% !important;
    max-width: 560px !important;

    margin: 0 !important;
}

.rs-newsletter__input {
    width: 100% !important;

    height: 42px !important;
    min-height: 42px !important;

    padding: 3px !important;

    box-sizing: border-box !important;
}

.rs-newsletter__input > i {
    margin-left: 12px !important;
    margin-right: 7px !important;

    font-size: 15px !important;
}

.rs-newsletter__input input {
    height: 34px !important;

    padding: 0 12px !important;

    font-size: 11px !important;
}

.rs-newsletter__input button {
    flex: 0 0 100px !important;

    width: 100px !important;
    height: 34px !important;

    padding: 0 10px !important;

    font-size: 11px !important;
}

.rs-newsletter__input button i {
    font-size: 14px !important;
}

/* ---------------------------------------------------------
   PRIVACY — KEEP VISIBLE
   --------------------------------------------------------- */

.rs-newsletter__privacy {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    margin-left: 2px !important;

    font-size: 8px !important;
    line-height: 1.2 !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {

    .rs-newsletter__glass {
        width: min(900px, calc(100% - 32px)) !important;
        max-width: 900px !important;

        height: 210px !important;
        min-height: 210px !important;

        grid-template-columns: 145px minmax(0, 1fr) !important;

        gap: 20px !important;

        padding: 16px 22px !important;
    }

    .rs-newsletter__visual {
        min-height: 135px !important;
        height: 135px !important;
    }

    .rs-newsletter__envelope {
        width: 155px !important;
        height: 122px !important;
    }

    .rs-newsletter__content h2 {
        font-size: 30px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .rs-newsletter {
        padding: 12px 0 !important;
    }

    .rs-newsletter__background {
        min-height: 0 !important;
        height: auto !important;
    }

    .rs-newsletter__glass {
        width: calc(100% - 24px) !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;

        grid-template-columns: 1fr !important;

        gap: 8px !important;

        padding: 16px 14px 18px !important;

        text-align: center !important;
    }

    .rs-newsletter__visual {
        min-height: 135px !important;
        height: 135px !important;
    }

    .rs-newsletter__content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .rs-newsletter__content h2 {
        font-size: 27px !important;
    }

    .rs-newsletter__content > p {
        max-width: 420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .rs-newsletter__form {
        max-width: 100% !important;
    }

    .rs-newsletter__privacy {
        justify-content: center !important;
        margin-left: 0 !important;
    }
}

/* =========================================================
   RAIN SPREE — HOMEPAGE SECTION SPACING SYSTEM
   Keep sections visually connected like Hero + Shop By Category
   ========================================================= */

/* Remove the old oversized generic section spacing */
.rs-section {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

/* Main homepage sections */
.rs-home,
.rs-home-section,
.rs-home-discover,
.rs-category-showcase,
.rs-why-rainspree,
.rs-explore-blog,
.rs-newsletter,
.rs-customer-stories,
.rs-real-customer-stories,
.rs-testimonials {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Compact vertical rhythm between the actual section blocks */
.rs-home-discover,
.rs-category-showcase,
.rs-why-rainspree,
.rs-explore-blog,
.rs-newsletter,
.rs-customer-stories,
.rs-real-customer-stories,
.rs-testimonials {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

/* Keep glass containers from creating extra external spacing */
.rs-category-showcase__container,
.rs-why-rainspree__inner,
.rs-newsletter > .rs-container,
.rs-customer-stories > .rs-container,
.rs-real-customer-stories > .rs-container,
.rs-testimonials > .rs-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .rs-section {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .rs-home-discover,
    .rs-category-showcase,
    .rs-why-rainspree,
    .rs-explore-blog,
    .rs-newsletter,
    .rs-customer-stories,
    .rs-real-customer-stories,
    .rs-testimonials {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }
}

/* =========================================================
   RAIN SPREE — COMPACT HOMEPAGE RHYTHM
   Match Hero + Shop By Category spacing
   ========================================================= */

/* Outer sections */
.rs-category-showcase,
.rs-home-favorites,
.rs-action-section,
.rs-why-rainspree,
.rs-explore-blog,
.rs-customer-stories,
.rs-real-customer-stories,
.rs-testimonials,
.rs-newsletter {
    margin: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Glass panels */
.rs-category-showcase__container,
.rs-home-favorites__container,
.rs-action-container,
.rs-why-rainspree__inner,
.rs-explore-blog-inner {
    margin-top: 8px !important;
    margin-bottom: 8px !important;

    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

/* Keep horizontal padding */
.rs-category-showcase__container,
.rs-home-favorites__container,
.rs-action-container,
.rs-why-rainspree__inner,
.rs-explore-blog-inner {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .rs-category-showcase,
    .rs-home-favorites,
    .rs-action-section,
    .rs-why-rainspree,
    .rs-explore-blog,
    .rs-customer-stories,
    .rs-real-customer-stories,
    .rs-testimonials,
    .rs-newsletter {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .rs-category-showcase__container,
    .rs-home-favorites__container,
    .rs-action-container,
    .rs-why-rainspree__inner,
    .rs-explore-blog-inner {
        margin-top: 6px !important;
        margin-bottom: 6px !important;

        padding-top: 18px !important;
        padding-bottom: 18px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* =========================================================
   RAIN SPREE — TESTIMONIALS ALIGNMENT FIX
   Do not let generic section spacing distort the panel
   ========================================================= */

.rs-testimonials,
.rs-customer-stories,
.rs-real-customer-stories {
    position: relative !important;

    width: min(
        calc(100% - (var(--rs-home-gutter) * 2)),
        var(--rs-home-width)
    ) !important;

    max-width: var(--rs-home-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    margin-top: 10px !important;
    margin-bottom: 10px !important;

    padding: 22px 28px !important;

    box-sizing: border-box !important;

    transform: none !important;
    rotate: none !important;
    scale: 1 !important;
    translate: none !important;

    overflow: hidden !important;
}

/* Kill any accidental skew/rotation on the testimonial panel */
.rs-testimonials::before,
.rs-testimonials::after,
.rs-customer-stories::before,
.rs-customer-stories::after,
.rs-real-customer-stories::before,
.rs-real-customer-stories::after {
    transform: none !important;
}

/* Inner wrapper must not introduce a second alignment */
.rs-testimonials > .rs-container,
.rs-customer-stories > .rs-container,
.rs-real-customer-stories > .rs-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .rs-testimonials,
    .rs-customer-stories,
    .rs-real-customer-stories {
        width: calc(100% - 24px) !important;
        max-width: none !important;

        margin: 6px auto !important;

        padding: 18px 14px !important;

        transform: none !important;
    }
}

@media (max-width: 480px) {

    .rs-testimonials,
    .rs-customer-stories,
    .rs-real-customer-stories {
        width: calc(100% - 20px) !important;
    }
}