/* DETAILS
==================================================
    Theme Name: Bloom Montana Website
==================================================
*/

@charset "utf-8";

/* ============================================================
   FONTS (self-hosted to avoid FOUT flash on first paint)
   ============================================================ */

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 100 900;
    font-display: optional;
    src: url("../fonts/montserrat-var.woff2") format("woff2");
}

@font-face {
    font-family: "Oswald";
    font-style: normal;
    font-weight: 200 700;
    font-display: optional;
    src: url("../fonts/oswald-var.woff2") format("woff2");
}

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

:root {
    /* ~-~-~-~-~ common transition ~-~-~-~-~ */
    --transition-common: all 0.5s ease 0s;
    /* ~-~-~-~-~ common transition ~-~-~-~-~ */

    /* ~-~-~-~-~ colors ~-~-~-~-~ */

    /* Primary */
    --color-primary-1: #FFD370; /* Yellow/Gold */
    --color-primary-2: #0C3026; /* Dark Green */
    --color-primary-3: #1F8E3A; /* Green */

    /* Secondary */
    --color-secondary-1: #F6F1EA; /* Beige */
    --color-secondary-2: #F8F8F8; /* Off-White */
    --color-black: #000000; /* Black */

    /* Text */
    --color-text-1: #636363; /* Gray */
    --color-text-2: #373737; /* Dark Gray */
    --color-text-3: #C5D5D1; /* Light Greenish Gray */
    --color-white: #FFFFFF; /* White */

    /* ~-~-~-~-~ colors ~-~-~-~-~ */

    /* ~-~-~-~-~ declare font family & weight ~-~-~-~-~ */
    --ff-heading: "Oswald", sans-serif;
    --ff-base: "Montserrat", sans-serif;
    --ff-awesome: "Font Awesome 7 Free ";
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semi-bold: 600;
    --fw-bold: 700;
    /* ~-~-~-~-~ declare font family & weight ~-~-~-~-~ */

    /* ~-~-~-~-~ declare font size ~-~-~-~-~ */

    --f-size-XXXL: 48px;
    --f-size-XXL: 32px;
    --f-size-XL: 24px;
    --f-size-L: 22px;
    --f-size-M: 18px;
    --f-size-S: 16px;
    --f-size-XS: 14px;
    /* ~-~-~-~-~ declare font size ~-~-~-~-~ */

    /* ~-~-~-~-~ other adjustments ~-~-~-~-~ */
    --margin-title: 0 0 30px 0;
    --margin-paragraph: 0 0 30px 0;

    --padding-height: 70px;
    --gap-24: 24px;
    --gap-50: 35px;
    /* ~-~-~-~-~ other adjustments ~-~-~-~-~ */

    /* ~-~-~-~-~ form adjustments ~-~-~-~-~ */
    --form-height: 45px;
    --form-font-color: var(--color-text-muted);
    --form-placeholder-color: var(--color-text-muted);
    --form-holder-bg: var(--color-white);
    ;
    /* ~-~-~-~-~ form adjustments ~-~-~-~-~ */
}

@media only screen and (max-width: 1799px) {
    :root {
        /*--f-size-XXXL: 80px;
        --f-size-XXL: 45px;*/
    }
}

@media only screen and (max-width: 1599px) {
    :root {
        /* ~-~-~-~-~ declare font size ~-~-~-~-~ */
        /*--f-size-XXXL: 60px;
        --f-size-XXL: 40px;
        --f-size-XL: 30px;
        --f-size-L: 20px;
        --f-size-M: 18px;
        --f-size-S: 16px;
        --f-size-XS: 14px;*/
        /* ~-~-~-~-~ declare font size ~-~-~-~-~ */
        --gap-50: 40px;

        --padding-height: 60px;
    }
}

@media only screen and (max-width: 1199px) {
    :root {
        /* ~-~-~-~-~ declare font size ~-~-~-~-~ */
        --f-size-XXXL: 36px;
        /*--f-size-XXL: 32px;
        --f-size-XL: 26px;
        --f-size-L: 18px;
        --f-size-M: 16px;
        --f-size-S: 15px;
        --f-size-XS: 14px;*/


        /* ~-~-~-~-~ declare font size ~-~-~-~-~ */

        --gap-50: 30px;

        --margin-title: 0 0 20px 0;
        --margin-paragraph: 0 0 20px 0;

        --padding-height: 50px;

        --form-height: 50px;

    }
}

@media only screen and (max-width: 767px) {
    :root {
        --f-size-XXXL: 32px;
        --f-size-XXL: 28px;
        --f-size-XL: 22px;
        --f-size-L: 18px;
        --f-size-M: 16px;
        --f-size-S: 14px;
        --f-size-XS: 13px;

        --padding-height: 40px;
    }
}


/* ============================================================
   GLOBAL FONT SETTINGS
   ============================================================ */

/* ~-~-~-~-~-~-~-~-~-~ global font settings start ~-~-~-~-~-~-~-~-~-~ */

html {
  scroll-behavior: smooth; 
}

body.menu-open {
    overflow: hidden;
}

body {
    font-family: var(--ff-base);
    font-weight: var(--fw-medium);
    font-size: var(--f-size-S);
    background: #fbfbfa;
    color: var(--color-text-2);
    overflow-x: hidden;
    line-height: 1.5;
    padding: 15px;
}

body,
p {
    margin: 0;
}

p:not(:last-child) {
    margin: var(--margin-paragraph);
}

p strong { font-weight: var(--fw-semi-bold); }

.text-XS {
    font-family: var(--ff-base);
    font-size: var(--f-size-XS);
    font-weight: var(--fw-medium);
    line-height: 1.5;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-family: var(--ff-heading); font-weight: var(--fw-medium); color: var(--color-dark-1); line-height: 1.2; margin: var(--margin-title); text-transform: uppercase; }

h1, .h1 { font-size: var(--f-size-XXXL); }

h2, .h2 { font-size: var(--f-size-XXL); }

h3, .h3 { font-size: var(--f-size-XL); color: var(--color-black); }

h4, .h4 { font-size: var(--f-size-L); line-height: 1.2; }

h5, .h5 { font-size: var(--f-size-M); line-height: 1.2; }

h6, .h6 { font-size: var(--f-size-S); line-height: 1.2; }


/* ============================================================
   GLOBAL ADJUSTMENTS
   ============================================================ */

/* ~-~-~-~-~-~-~-~-~-~ global adjustments start ~-~-~-~-~-~-~-~-~-~ */

img {
    max-width: 100%;
}

a,
img {
    border: none;
    text-decoration: none;
    outline: none;
}

a,
a:link,
a:visited,
a:focus,
a:hover { outline: none; text-decoration: none; transition: var(--transition-common); color: #1d6c26; }
ul { list-style: none; margin: 0; padding: 0; }
.padding-common { padding-top: var(--padding-height); padding-bottom: var(--padding-height); }
.padding-top-common { padding-top: var(--padding-height); }
.padding-bottom-common { padding-bottom: var(--padding-height); }
.padding-small { padding: 80px 0; }
strong { font-weight: var(--fw-bold); }

a:focus-visible {
  outline: 1px solid #005fcc;
  outline-offset: 1px;
}


/* ============================================================
   UTILITY CLASSES
   ============================================================ */

/* ==##==##== utility classes ==##==##== */

.overlay-content { position: relative; z-index: 3; }
.inner-section { position: relative; }
.inner-section > .container { position: relative; z-index: 1; }
.inner-section__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.inner-section__bg::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to right, #f6f1ea 0%, #ffffff 30%, rgba(246, 241, 234, 0) 65%); }
.inner-section__bg::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, #f6f1ea 0%, #ffffff 30%, rgba(246, 241, 234, 0) 65%); }
.inner-section__bg img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }

@media only screen and (max-width: 991px) {
    .inner-section__bg::before { background: linear-gradient(to right, var(--color-secondary-1) 0%, var(--color-secondary-1) 55%, rgba(246, 241, 234, 0) 100%); }
}

@media only screen and (max-width: 767px) {
    .inner-section__bg { opacity: 0.5; }
    .inner-section__bg::before { background: linear-gradient(to right, var(--color-secondary-1) 0%, rgba(246, 241, 234, 0.2) 100%); }
}

.background-attachment-sec {position: relative; z-index: 1;    overflow: hidden;}
.background-attachment-sec::before { content: ""; position: absolute; inset: 0; opacity: 0.8; background: linear-gradient(180deg, #FFFFFF 100%, rgba(255, 255, 255, 0) 91%); z-index: -1; }
.arrow { display: inline-flex; justify-content: center; align-items: center; width: 45px; height: 45px; background: var(--color-accent); transition: var(--transition-common); }
.arrow::before { content: ""; background: url(../images/right-arrow.svg) top left no-repeat; background-size: 100%; width: 20px; height: 20px; }
.fade-bg { background: var(--color-quaternary); }
.background-cover { background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.responsive-image-wrapper { position: relative; overflow: hidden; padding-bottom: 100%; }
.responsive-image-wrapper img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: var(--border-radius-image); }

.mb-24 { margin-bottom: var(--gap-24); }
.mb-50 { margin-bottom: var(--gap-50); }

/* ==##==##== utility classes ==##==##== */


/* ============================================================
   CONTENT WIDTH ADJUSTMENTS
   ============================================================ */

/* ==##==##== content width adjustments ==##==##== */

.margin-lr-auto { margin-left: auto; margin-right: auto; }
.max-width__1176 { max-width: 1176px; }

/* .max-width__1200{ max-width: 1200px;}
.max-width__1100{ max-width: 1100px;} */

/* ==##==##== content width adjustments ==##==##== */


/* ============================================================
   LOOP SPACE ADJUSTMENTS
   ============================================================ */

/* ==##==##== loop space adjustments ==##==##== */

.row-gap_24 .item { margin-bottom: 24px; }

/* ==##==##== loop space adjustments ==##==##== */


/* ============================================================
   BUTTON SETTINGS
   ============================================================ */

/* ==##==##== button settings ==##==##== */

.btn-dark, .btn-yellow, .btn-outline { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: var(--f-size-XS); /* 16px base */ line-height: 1; text-transform: uppercase; padding: 15px 22px; border-radius: 50px; text-decoration: none; transition: var(--transition-common); border: none; cursor: pointer; }
.btn-full-width { display: flex; width: 100%; }
.btn-dark::after, .btn-yellow::after { content: ''; display: inline-block; width: 14px; height: 14px; background-size: contain; background-repeat: no-repeat; background-position: center; transition: all 0.3s ease; }
.btn-dark, a.btn-dark { background-color: var(--color-primary-2); color: var(--color-white); }
.btn-dark::after { background-image: url('../images/white-btn-arrow.svg'); }
.btn-dark:hover { background-color: var(--color-primary-1); color: var(--color-primary-2); }
.btn-dark:hover::after { background-image: url('../images/green-btn-arrow.svg'); }
.btn-yellow, a.btn-yellow { background-color: var(--color-primary-1); color: var(--color-primary-2); }
.btn-yellow::after { background-image: url('../images/green-btn-arrow.svg'); }
.btn-yellow:hover { background-color: var(--color-primary-2); color: var(--color-white); }
.btn-yellow:hover::after { background-image: url('../images/white-btn-arrow.svg'); }
.btn-dark.btn-no-arrow::after, .btn-yellow.btn-no-arrow::after { display: none; }
.btn-outline, a.btn-outline { border: 1px solid var(--color-primary-2); color: var(--color-primary-2); background-color: transparent; }
.btn-outline:hover { background-color: var(--color-primary-2); color: var(--color-white); }
a.link-btn { display: inline-flex; align-items: center; font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: var(--f-size-XS); color: var(--color-primary-2); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; transition: var(--transition-common); text-transform: uppercase; }
a.link-btn::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 12px; background-image: url('../images/green-btn-arrow.svg'); background-size: contain; background-repeat: no-repeat; background-position: center; transition: transform 0.3s ease; }
.link-btn:hover { color: var(--color-primary-3); text-decoration: none; }
a.link-btn:hover::after { transform: translateX(5px); }
a.link-btn.brown{ color: #B56300; }
a.link-btn.brown::after{ background-image: url('../images/brown-btn-arrow.svg'); }
a.link-btn.brown:hover { color: rgba(181, 100, 0, 0.7); text-decoration-color: rgba(181, 100, 0, 0.7); }
a.link-btn.green{ color: var(--color-primary-3); }
a.link-btn.green::after{ background-image: url('../images/light-green-btn-arrow.svg'); }
a.link-btn.green:hover { color: rgba(31, 142, 58, 0.7); text-decoration-color: rgba(31, 142, 58, 0.7); }
a.link-btn.black{ color: var(--color-black); }
a.link-btn.black::after{ background-image: url('../images/black-btn-arrow.svg'); }
a.link-btn.black:hover { color: rgba(0, 0, 0, 0.7); text-decoration-color: rgba(0, 0, 0, 0.7); }
/* ==##==##== tag settings ==##==##== */

.tag { display: inline-flex; align-items: center; justify-content: center; font-family: var(--ff-base); font-weight: var(--fw-semi-bold); font-size: 14px; line-height: 26px; letter-spacing: -0.28px; padding: 8px 10px; border-radius: 50px; text-transform: uppercase; line-height: 1; gap: 3px;}
.tag-open { background-color: #4CAD2026; color: var(--color-primary-3); }
.tag-closed { background-color: #F21B1B26; color: #F21B1B; }
.tag-closing-soon { background-color: #E9C92926; color: var(--color-primary-1); }
@media only screen and (max-width: 1199px) {
    .btn-dark, .btn-yellow {
        padding: 16px 32px;
        font-size: var(--f-size-XS); /* 16px */
    }

    .link-btn {
        font-size: var(--f-size-XS);
        text-underline-offset: 4px;
    }

    .mb-5 {
        margin-bottom: 25px !important;
    }
}

/* ==##==##== button settings ==##==##== */


/* ============================================================
   FORM CONTROL SETTINGS
   ============================================================ */

/* ==##==##== form control settings ==##==##== */

/* .form-group {margin-top: 24px;} */

.form-group { margin-bottom: 10px; }
.form-button { margin-top: 30px; }
.form-control { background-color: var(--color-white); height: var(--form-height); border: none; border-radius: var(--form-border-radious); color: var(--form-font-color); font-family: var(--ff-base); font-size: var(--f-size-M); padding-right: 30px; padding-left: 30px; border: 1px solid transparent; }
select.form-control { background-image: url(../images/accord-dropdown.svg); background-position: right 10px center; background-size: 9px; background-repeat: no-repeat; height: var(--form-height); cursor: pointer; }
textarea.form-control { height: 170px; padding-top: 20px; resize: none; }
.form-control::-moz-placeholder { color: var(--form-placeholder-color); opacity: 1; font-weight: 400; text-transform: capitalize; }
.form-control:-ms-input-placeholder { color: var(--form-placeholder-color); font-weight: 400; text-transform: capitalize; }
.form-control::-webkit-input-placeholder { color: var(--form-placeholder-color); font-weight: 400; text-transform: capitalize; }
.form-control:focus { box-shadow: none; border: 1px solid var(--color-accent-green); background-color: #F6F6F6 }
.input-search { outline: none; height: 45px; border: 1px solid var(--color-primary-2); box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25); border-radius: 30px; padding-left: 18px; padding-right: 45px; background: url(../images/search.svg) no-repeat center right 30px; color: var(--color-gray); font-size: var(--f-size-XS); font-weight: var(--fw-medium); }
.input-search.has-text { background: none; }

/* .form-btn .button__primary { width: 100%; } */

/* Chrome, Safari, Edge, Opera */

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

@media only screen and (max-width: 1199px) {
    .form-group {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 767px) {

    .form-control {
        padding-right: 20px;
        padding-left: 20px;
    }

    textarea.form-control {
        height: 130px;
        padding-top: 12px;
    }
}

/* ==##==##== form control settings ==##==##== */


/* ============================================================
   BACKGROUND UTILITIES
   ============================================================ */

.bg-light-grey {
    background: #EFEEF0;
}

.bg-light {
    background: #E8E7EC;
}


/* ============================================================
   CONTAINER RESPONSIVE (global .container width)
   ============================================================ */

/*@media only screen and (min-width: 1799px) {
    .container {
        max-width: 1602px;
    }
}*/

@media only screen and (min-width: 1300px) {
    .container {
        max-width: 1200px;
    }
}

@media only screen and (max-width: 1799px) {}

@media only screen and (max-width: 1599px) {}


/* ============================================================
   HEADER
   ============================================================ */

/* ~-~-~-~-~-~-~-~-~-~ header adjustments start ~-~-~-~-~-~-~-~-~-~ */

/* ~~hamburger menu start~~ */

/* .hamburger-nav / .hamburger-nav-close are now real <button> elements
   (header.php) for keyboard accessibility — reset the native button chrome
   (border/background/padding/font) neither selector ever accounted for when
   these were plain <div>s, so the visual design is unchanged. */
.hamburger-nav,
.hamburger-nav-close {
    border: none;
    background: none;
    padding: 0;
    font: inherit;
}

.hamburger-nav {
    display: none;
    vertical-align: top;
    width: 28px;
    height: 26px;
    position: relative;
    margin: 0 0 0 10px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    margin-top: 0;
    z-index: 9;
	border: 0;
}

.hamburger-nav span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: var(--color-primary-2);
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.hamburger-nav span:nth-child(1) {
    top: 2px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.hamburger-nav span:nth-child(2) {
    top: 10px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.hamburger-nav span:nth-child(3) {
    top: 18px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.hamburger-nav-close {
    vertical-align: top;
    width: 30px;
    height: 24px;
    position: relative;
    margin: 0 0 0 15px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    margin-top: 0;
    z-index: 9;
}

.hamburger-nav-close span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: var(--color-white);
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.hamburger-nav-close span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 10px;
    left: 3px;
}

.hamburger-nav-close span:nth-child(2) {
    width: 0%;
    opacity: 0;
}

.hamburger-nav-close span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 10px;
    left: 2px;
}

/* ~~hamburger menu end~~ */

.main-header {
    position: relative;
    z-index: 999;
    transition: var(--transition-common);
}

.header-announcement {
    background: var(--color-primary-1);
    padding: 15px 0;
    border-radius: 20px 20px 0 0;
}

.header-announcement p {
    margin: 0;
    color: var(--color-primary-2);
    font-weight: var(--fw-semi-bold);
    font-size: var(--f-size-XS);
    text-align: center;
}

.header-main {
    background: var(--color-secondary-2);
    padding: 24px 0;
    transition: var(--transition-common);
}

.header-logo a {
    display: block;
    height: 60px;
}

.header-logo a img {
    display: block;
    width: auto;
    height: 100%;
}

.desktop-menu ul {
    align-items: center;
    justify-content: center;
}

.desktop-menu ul li:not(:last-child) {
    margin-right: 30px;
}

.desktop-menu ul li a {
    display: block;
    font-size: var(--f-size-XS);
    font-weight: var(--fw-semi-bold);
    color: var(--color-dark-1);
    position: relative;
    text-transform: uppercase;
}

.desktop-menu ul li.current-menu-item a, .desktop-menu ul li a:hover {
    color: var(--color-primary-3);
}

.header-menu ul li.current-menu-item a {
    font-weight: var(--fw-bold);
    color: var(--color-primary-3);
}

.desktop-menu ul li.header-app a { display: flex; align-items: center; gap: 5px; color: var(--color-primary-3); font-weight: 800; background-image: url(../images/app-icon.svg); background-repeat: no-repeat; background-size: 16px; padding: 0 26px 0 0; background-position: right; }

.header-app a img { width: 17px; }
.header-search-form { position: relative; display: flex; align-items: center; }
.header-search-form .input-search { width: 360px; background: var(--color-white); }
.header-search-form button { position: absolute; right: 7px; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: var(--color-primary-2); border: none; border-radius: 80px; cursor: pointer; }

.header-search-form button img { width: 14px; }
.header-store { margin-left: 20px; }



.header-store select, .header-store button { appearance: none; -webkit-appearance: none; -moz-appearance: none; border: 1px solid var(--color-primary-2); border-radius: 55px; width: 100%; min-width: 200px; background-color: var(--color-white); background-image: url("../images/pin-icon.svg"), url("../images/chevron-down.svg"); background-repeat: no-repeat, no-repeat; background-position: 18px center, right 18px center; background-size: 16px, 11px; padding: 10px 40px 10px 42px; color: var(--color-primary-2); font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: 15px; cursor: pointer; outline: none; letter-spacing: 0 !important;}

.header-categories { background: var(--color-primary-2); padding: 18px 0; }
.header-categories .nav { display: flex; align-items: center; justify-content: space-between; }
.header-categories .nav li a { display: block; padding: 10px 15px; color: var(--color-white); font-weight: var(--fw-semi-bold); font-size: var(--f-size-XS); text-transform: uppercase; border-radius: 30px; line-height: 1; white-space: nowrap; }
.header-categories .nav li.current-menu-item a { background: var(--color-primary-1); color: var(--color-primary-2); font-weight: var(--fw-bold); }

/* sub-menu start */

.main-header .menu-item-has-children {
    position: relative;
}

.main-header .menu-item-has-children .sub-menu {
    background: var(--color-white);
    width: 220px;
    border-radius: 0 0 var(--border-radius-image) var(--border-radius-image);
    position: absolute;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: var(--transition-common);
}

.main-header .menu-item-has-children .sub-menu li {
    margin: 0;
}

.main-header .menu-item-has-children .sub-menu li a {
    display: block;
    margin: 0;
    padding: 10px 20px;
    color: var(--color-black) !important;
    font-weight: var(--fw-semi-bold);
}

.main-header .menu-item-has-children .sub-menu a:hover {
    background: var(--color-primary-3);
    color: var(--color-white) !important;
}

.main-header .menu-item-has-children:hover .sub-menu,
.main-header .menu-item-has-children:focus-within .sub-menu {
    transform: translateY(10px);
    opacity: 1;
    visibility: visible;
}

.main-header .menu-item-has-children>a {
    padding-right: 25px !important;
}

.main-header .menu-item-has-children>a::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 3px;
    width: 20px;
    height: 20px;
    background-color: var(--color-primary-2);
    -webkit-mask-image: url("../images/dropdown.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: var(--transition-common);
}

.desktop-menu ul li a:hover::before {
    transform: rotate(-180deg);
}

/* sub-menu end */

/* Mobile Menu */

.mobile-menu {
    display: none;
    background: var(--color-primary-2);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
    overflow: hidden;
    z-index: 9999;
    transition: var(--transition-common);
}

.mobile-menu .top-row {
    padding: 20px;
}

.mobile-menubar {
    height: calc(100vh - 120px);
    padding: 20px 0;
    overflow: auto;
}

.mobile-menu .mobile-menubar li {
    opacity: 0;
    -webkit-transform: translateX(-150px);
    transform: translateX(-150px);
    -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s;
    padding: 0 20px;
    font-size: 22px;
}

.mobile-menu .mobile-menubar li.header-app {
    margin-top: 8px;
}

.mobile-menu .mobile-menubar li a {
    color: var(--color-white);
}

.mobile-menu .mobile-menubar li a {
    display: inline-block;
    padding: 10px 0;
    text-transform: uppercase;
}

.mobile-menu .mobile-menubar li.current-menu-item a {
    color: var(--color-primary-3);
}

.mobile-menu .mobile-menubar li .sub-arrow {
    display: flex;
    align-items: center;
    justify-content: end;
    width: 33px;
    height: 33px;
    position: absolute;
    z-index: 1;
    top: 10px;
    right: 20px;
    color: #fff;
}

.mobile-menu .mobile-menubar li li {
    padding: 0;
}

.menu-open .mobile-menu {
    right: 0;
}

.menu-open .mobile-menu .mobile-menubar li {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    position: relative;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(2) {
    transition-delay: 0.24s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(3) {
    transition-delay: 0.32s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(4) {
    transition-delay: 0.40s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(5) {
    transition-delay: 0.48s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(6) {
    transition-delay: 0.56s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(7) {
    transition-delay: 0.57s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(8) {
    transition-delay: 0.58s;
}

.menu-open .mobile-menu .mobile-menubar li:nth-child(9) {
    transition-delay: 0.59s;
}

.mobile-menu .mobile-menubar li.button__primary {
    display: none;
}

.mobile-menu .mobile-menubar li.header-app a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--color-primary-3);
    background-image: url(../images/app-icon.svg); background-repeat: no-repeat; background-size: 16px; padding: 0 26px 0 0; background-position: right;
}

.mobile-menu .mobile-menubar li.mobile-store {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 0;
    padding-top: 20px;
}

.mobile-menu .mobile-menubar li.mobile-store img {
    width: 20px;
}

.mobile-menu .mobile-menubar li.mobile-store select {width: auto;}

/* ~~ header sticky start ~~ */



@keyframes slide-down {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-sticky .header-main {
    position: fixed;
    top: 0;
    left: 15px;
    right: 15px;
    z-index: 99;
}

.header-sticky .header-announcement{
    display: none;
}

.header-sticky .header-main {
    padding: 12px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.header-sticky .header-logo a {
    height: 45px;
}

.single-post .main-header {
    position: relative;
    background: var(--color-navy);
    padding: 25px 0;
}

/* ~~ header sticky end ~~ */

@media only screen and (max-width: 1799px) {
    .desktop-menu ul li:not(:last-child) {
        margin-right: 16px;
    }
}

@media only screen and (max-width: 1599px) {
    .header-search-form button { width: 36px; height: 36px; }
    .header-search-form .input-search {
        width: 280px;
    }
}

@media only screen and (max-width: 1399px) {

    .header-logo a {height: 50px;}

    

    .header-store {
        margin-left: 10px;
    }
    .header-search-form .input-search {
    width: 260px;
}
}

@media only screen and (max-width: 1199px) {

    .main-header .header-inner-wrap {justify-content: flex-start !important;}

    .main-header .header-inner-wrap .header-menu {margin-left: auto;}

    .main-header .header-inner-wrap .header-menu .header-search {
        display: none !important;
        margin-left: auto;
    }

    .desktop-menu {
        display: none;
    }

    .hamburger-nav {
        display: block;
    }

    .header-main {padding: 10px 0;}

    .header-logo{
        width: auto;
    }

    .header-logo a {
        height: 50px;
    }

    .mobile-menu {
        display: block;
    }

    .mobile-menu .logo-wrap a {
        display: inline-block;
        height: 70px;
    }

    .mobile-menu .logo-wrap a img {
        display: block;
        width: auto;
        height: 100%;
        filter: brightness(0) invert(1);
    }

    .mobile-menu .sub-menu {
        display: none;
        width: calc(100% - 20px);
        margin-left: auto;
    }

    .mobile-menu .sub-menu li {
        padding: 0;
    }

    .header-categories .nav {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 5px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

}

@media only screen and (max-width: 991px) {
    .mobile-menu .top-row {
        padding: 20px 15px;
    }
}

@media only screen and (max-width: 767px) {

    body.header-sticky {
        padding-top: 59px;
    }

    .header-logo a {
        height: 40px;
    }

    .header-sticky .header-logo a {
        height: 35px;
    }

    .mobile-menu .logo-wrap a {
        height: 45px;
    }

    .mobile-menu .mobile-menubar li {
        font-size: 16px;
    }

    .mobile-menu .mobile-menubar li.button__primary {
        display: inline-flex;
        margin: 10px 20px 0;
        padding: 15px 30px;
        font-size: 16px;
    }

    .mobile-menu .mobile-menubar li.button__primary a {
        padding: 0;
    }

    /* .hamburger-nav {
        margin: 0 0 0 8px;
    } */

    .header-number {
        margin-left: 0;
    }

    .header-number a {
        font-size: 0;
    }

    .header-number a img {
        margin: 0;
        width: 20px;
    }
}

/* ~~ header sticky end ~~ */

/* ~-~-~-~-~-~-~-~-~-~ global adjustments  end ~-~-~-~-~-~-~-~-~-~ */

/* ~-~-~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~-~~-~-~ */

/* HOME PAGE START HERE ********************/

/* HOME PAGE START HERE ********************/


/* ============================================================
   SHARED COMPONENTS (used by 2+ homepage sections: splide slider
   arrows/pagination, section-heading, shop-brand-sec/store-slider-sec bg)
   ============================================================ */

.splide__arrow {
    width: 45px;
    height: 45px;
    background: var(--color-white);
    border: 1px solid var(--color-primary-2);
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.08);
    opacity: 1;
    transition: var(--transition-common);
}

.splide__arrow:disabled {
    opacity: 0.3;
}

.splide__arrow:hover:not(:disabled) {
    background: var(--color-primary-2);
}

.splide__arrow svg {
    display: none;
}

.splide__arrow::before {
    content: '';
    width: 16px;
    height: 14px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 14px;
}

.splide__arrow:hover:not(:disabled)::before {
    filter: invert(1) brightness(2);
}

.splide__arrow--prev {
    left: -29px;
}

.splide__arrow--prev::before {
    background-image: url(../images/previous.svg);
}

.splide__arrow--next {
    right: -29px;
}

.splide__arrow--next::before {
    background-image: url(../images/right-arrow.svg);
}

.splide:not(.is-overflow) .splide__pagination,
.splide__pagination {
    display: flex;
    position: relative;
    bottom: 0;
    margin-top: 40px;
}

.splide__pagination__page {
    width: 9px;
    height: 5px;
    margin: 0 1px;
    background: var(--color-primary-2);
    opacity: 0.15;
    border-radius: 100px;
    transition: var(--transition-common);
}

.splide__pagination__page.is-active {
    width: 21px;
    background: var(--color-primary-2);
    opacity: 1;
    transform: none;
}

@media only screen and (max-width: 1199px) {
    .splide__arrow {
        width: 48px;
        height: 48px;
    }
    .splide__arrow--next {
        right: -20px;
    }
    .splide__arrow--prev {
        left: -20px;
    }

}

@media only screen and (max-width: 767px) {
    .brand-slider {
        padding: 0;
    }

    .splide__arrow {
        display: none;
    }

    .splide:not(.is-overflow) .splide__pagination, .splide__pagination {margin-top: 20px;}
}

/* ==##==##== section heading ==##==##== */

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: var(--gap-50);
}

.section-heading h1, .section-heading h2 {
    margin: 0;
    color: var(--color-primary-2);
}

.section-heading h1 span, .section-heading h2 span {
    color: var(--color-primary-3);
}

.section-heading--center {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 15px;
}

.section-heading p {
    width: 100%;
    margin: 0;
    color: var(--color-text-1);
}

.section-heading--light h2 {
    color: var(--color-white);
}

.section-heading--light h2 span {
    color: var(--color-primary-3);
}

.section-heading--light p {
    color: var(--color-text-3);
}

@media only screen and (max-width: 767px) {
    .section-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}

/* ==##==##== section heading ==##==##== */

.shop-brand-sec, .store-slider-sec{background: #f0e7da;}


/* ============================================================
   SECTION 1 — HERO BANNER
   ============================================================ */

/* ==##==##== hero banner ==##==##== */

.hero-banner {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    min-height: 480px;
    padding: 50px 0;
    border-radius: 0 0 20px 20px;
}

.hero-banner::after {content: ''; position: absolute; inset: 0; background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 10.31%, #000 107.86%);}

.hero-banner__media {
    position: absolute;
    inset: 0;
}

.hero-banner__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% center;
}

.hero-banner .container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.hero-banner__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    position: relative;
    z-index: 2;
}

.hero-banner__title {
    color: var(--color-white);
    margin: 0;
}

.hero-banner__title span {
    color: var(--color-primary-3);
}

.hero-banner__features {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.hero-banner__feature {
    display: flex;
    align-items: center;
    gap: 20px;
}

.hero-banner__feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--color-white);
    flex-shrink: 0;
}

.hero-banner__feature-icon svg {
    width: 100%;
    height: 100%;
}

.hero-banner__feature p {
    margin: 0;
    color: var(--color-white);
    width: 100%;
    max-width: 150px;
}

.hero-banner__divider {
    display: none;
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, 0.4);
}

@media only screen and (min-width: 576px) {
    .hero-banner__features {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 24px;
    }

    .hero-banner__divider {
        display: block;
    }
}

@media only screen and (min-width: 1200px) {
    .hero-banner {
        min-height: 652px;
        padding: 0;
    }

    .hero-banner__media img {
        object-position: center;
    }

    .hero-banner__content {
        max-width: 650px;
    }

    .hero-banner .container {
        gap: 40px;
    }

    .hero-banner__features {
        gap: 30px;
    }

    /*.hero-banner__feature-icon {
        width: 50px;
        height: 50px;
    }*/
}

/* ==##==##== hero banner ==##==##== */


/* ============================================================
   SECTION 2 — FINDER CARDS (store / deals / rewards / pickup)
   ============================================================ */

/* ==##==##== finder card ==##==##== */

.finder-card-sldr {
    display: none;
}

.finder-card {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background: var(--color-white);
    border-radius: 20px;
    box-shadow: 0px 4px 28px 0px rgba(0, 0, 0, 0.15);
    padding: 30px;height: 100%;
}

.finder-card__media {
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    pointer-events: none;
}

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

.finder-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
}

.finder-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
}

.finder-card__icon img {
    height: 20px;
}

.finder-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.finder-card.Brown a.link-btn {
    color: #B56300;
}
.finder-card.Green a.link-btn {
    color: var(--color-primary-3);
}
.finder-card.Black a.link-btn {
    color: var(--color-black);
}

.finder-card h4 {
    margin: 0;
    color: var(--color-primary-2);
}

.finder-card p {
    color: var(--color-text-1);
    margin-bottom: 8px;
    min-height: 48px;
}

@media only screen and (max-width: 991px) {

    .finder-card__media {
        bottom: 0;
    }

}

@media only screen and (max-width: 767px) {
    .finder-card {
        padding: 20px;
    }

    .finder-card__content {
        gap: 14px;
    }

    .finder-card__icon {
        width: 46px;
        height: 46px;
    }

    .finder-card__icon img {
        height: 20px;
    }

    .finder-card-sldr {
    display: block; margin-inline: -5%;
    }
    .finder-card-sldr .splide__track {
        padding-block: 5%;
    }
    .finder-card-sldr .splide__track .finder-card {
        box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.15);
    }

    .find-card-desktop {
        display: none;
    }
}

/* ==##==##== finder card ==##==##== */


/* ==##==##== location card ==##==##== */

.location-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; width: 100%; background-color: var(--color-white); border: 1px solid rgba(12, 48, 38, 0.1); border-radius: 20px; overflow: hidden; height: 100%; }
.location-card__body { padding: 40px 30px 0; position: relative; z-index: 1; }
.location-card__header { display: flex; align-items: center; gap: 20px; }
.location-card__icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 70px; height: 70px; border-radius: 50%; background-color: var(--color-primary-2); }

.location-card__icon img { height: 34px; }
.location-card__heading { min-width: 0; }
.location-card__heading h5 { margin: 0 0 5px; color: var(--color-primary-2); }
.location-card__heading p { margin: 0; font-weight: 600; color: var(--color-text-1); }
.location-card__accordion.faq-accordion { --bs-accordion-border-radius: 0; --bs-accordion-inner-border-radius: 0; --bs-accordion-btn-padding-x: 0; --bs-accordion-btn-padding-y: 15px; --bs-accordion-body-padding-x: 0; --bs-accordion-body-padding-y: 0 15px 15px; --bs-accordion-bg: transparent; --bs-accordion-active-bg: transparent; --bs-accordion-btn-icon-width: 16px; gap: 0; margin-top: 35px; }

.location-card__accordion.faq-accordion .accordion-item { background-color: transparent; border-bottom: 1px solid rgba(12, 48, 38, 0.12); border-radius: 0; }
.location-card__accordion.faq-accordion .accordion-button { gap: 20px; text-transform: none; align-items: center; padding-left: 0; }
.location-card__accordion.faq-accordion .accordion-button::after { margin-top: 0; }
.location-card__accordion.faq-accordion .accordion-button:focus-visible { outline: 2px solid var(--color-primary-3); outline-offset: 2px; }
.location-card__accordion.faq-accordion .accordion-body { padding: var(--bs-accordion-body-padding-y) 0; background-color: transparent; color: inherit; max-height: 279px; overflow-y: auto; }

@media only screen and (max-width: 1599px) {
.location-card__body{padding: 20px 20px 0;}
.location-card__header {gap: 15px;}
}

@media only screen and (max-width: 1199px) {
.location-card__accordion.faq-accordion { --bs-accordion-btn-padding-x: 0; --bs-accordion-body-padding-x: 0; }
.location-card__accordion.faq-accordion .accordion-body { padding: var(--bs-accordion-body-padding-y) 0; }
}

.location-card__row { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; gap: 10px; }
.location-card__pin { flex-shrink: 0; width: 16px; height: auto; }
.location-card__city { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-primary-2); }
.location-card__count { flex-shrink: 0; font-family: var(--ff-base); font-weight: var(--fw-medium); font-size: 16px; color: var(--color-primary-2); }
.location-card__stores { display: flex; flex-direction: column; gap: 15px; }
.location-card__store { display: flex; flex-direction: column; gap: 10px; padding: 10px 15px; border-radius: 6px; background-color: var(--color-secondary-2); }
.location-card__store--active { padding: 10px 15px !important; }
.location-card__store-name { display: flex; align-items: center; gap: 8px; font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: 16px; color: var(--color-text-2); }

.location-card__dot { flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background-color: var(--color-text-2); }
.location-card__links { display: flex; align-items: center; flex-wrap: wrap; row-gap: 5px; }
.location-card__link { padding: 0 7px; font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: 10px; line-height: 22px; color: var(--color-primary-3); text-decoration: underline !important; text-underline-offset: 3px; text-transform: uppercase; white-space: nowrap; }
.location-card__link:first-child { padding-left: 0; }
.location-card__link:not(:first-child) { border-left: 1px solid rgba(12, 48, 38, 0.15); }
.location-card__link:hover, .location-card__link:focus-visible { color: var(--color-primary-2); }

.location-card__media { width: 100%; aspect-ratio: 3 / 1; line-height: 0; position: relative; margin-top: -60px; }
.location-card__media::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 50%; background: linear-gradient( 0deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%); }
.location-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }


.faq-accordion .accordion-body p.location-card__store-name:not(:last-child){ margin-bottom: 2px; }

@media only screen and (max-width: 1799px) {
    .location-card__link { padding: 0 10px;}
}

@media only screen and (max-width: 767px) {
.location-card__body { padding: 15px 15px; }
.location-card__header { gap: 14px; }
.location-card__icon { width: 56px; height: 56px; }
.location-card__icon img { width: 22px; }
.location-card__accordion.faq-accordion { margin-top: 10px; }
.location-card__accordion { margin-top: 15px; }
.location-card__accordion.faq-accordion .accordion-button { padding: 12px; padding-left: 0; }
.location-card__links { row-gap: 8px; }

.location-card__store { padding: 10px 10px; }
.location-card__link {padding: 0 5px; font-size: 9px; }


}

/* ==##==##== location card ==##==##== */


/* ============================================================
   SECTION 3 — EXCLUSIVE DEALS
   ============================================================ */

/* ==##==##== universal card ==##==##== */

.universal-card { position: relative; display: block; width: 100%; aspect-ratio: 6 / 4; overflow: hidden; border-radius: 20px; }
.universal-card::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 32.6%, #000000 114.19%); }
.universal-card__media { height: 100%; width: 100%; }
.universal-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.universal-card__overlay { position: absolute; inset: 0; background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 32.604%, rgba(0, 0, 0, 1) 114.19%); }
.universal-card__content {position: absolute; padding: 20px; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 15px; z-index: 3; right: 0; bottom: 0; left: 0; }

.universal-card h3 {
    margin: 0;
    color: var(--color-white);
}


/* Desktop/default: untouched Bootstrap grid, Splide inert */
#deals-splide { visibility: visible !important; }
#deals-splide .splide__track {
    overflow: visible;
}

/* Mobile: once Splide mounts, it adds is-initialized + inline flex/transform styles */

#deals-splide { padding: 0; }
#deals-splide .splide__track {
    padding: 0 !important;
}
#deals-splide.is-initialized .splide__track {
    overflow: hidden;
}
#deals-splide.is-initialized .splide__list.row {
    flex-wrap: nowrap;   /* override Bootstrap's row wrap */
    margin: 0;
}
#deals-splide.is-initialized .splide__slide.col-lg-6 {
    width: 100%;         /* override the lg-6 width, mobile only needs full width anyway */
    max-width: 100%;
    flex: 0 0 100%;
}




@media only screen and (max-width: 1199px) {
    
}

@media only screen and (max-width: 767px) {
    

    
}

/* ==##==##== universal card ==##==##== */


/* ==##==##== New E-deals card ==##==##== */

.e-deals-box {
    margin-top: 24px;
    position: relative;
}

.e-deals-box .img-box {
    padding: 0 0 65%;
    position: relative;
}

.e-deals-box .img-box img {
    position: absolute;
    inset: 0;
    border-radius: 20px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.e-deals-box .img-box:after {
    content: '';
    background: linear-gradient(0deg, #00000085, transparent);
    position: absolute;
    inset: 0;
    border-radius: 20px;
}

.e-deals-box .e-deals-info {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 20px;
    text-align: center;
}

.e-deals-box .e-deals-info h3 {
    color: var(--color-white);
    margin: 0 0 15px;
}

/* ==##==##== New E-deals card ==##==##== */




/* ============================================================
   SECTION 4 — SHOP BY CATEGORY
   ============================================================ */

/* ==##==##== category card ==##==##== */

.category-card {
    position: relative;
    background: var(--color-secondary-2);
    border-radius: 20px;
    padding: 25px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: var(--transition-common);
}

.category-card:hover {box-shadow: 0px 35px 57.9px 0px #0000001A;
    border-color: var(--color-primary-2);
}

.category-card__image {
    position: relative;
    aspect-ratio: 1 / 0.7;
    margin-bottom: 20px;
}

.category-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.category-card h4 {
    margin: auto 0 0;
    color: var(--color-primary-2);
    text-align: center;
    white-space: nowrap;
}

@media only screen and (max-width: 767px) {
    .category-card {
        padding: 20px;
        border-radius: 16px;
    }
}

/* ==##==##== category card ==##==##== */

.shop-category-sec {
    position: relative;
}

.shop-category-sec::before {
    content: "";
    position: absolute;
    top: -200px;
    right: -15px;
    background: url(../images/flower-shape.png) no-repeat top right;
    width: 214px;
    height: 304px;
    z-index: -1;
}


/* ============================================================
   SECTION 5 — SHOP BY BRAND
   ============================================================ */

/* ==##==##== brand card ==##==##== */

.brand-card a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 1px;
}

.brand-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 160px;
    padding: 20px;
    background: var(--color-secondary-1);
    border-radius: 20px;
    border: 1px solid transparent;
    transition: var(--transition-common);
}

.brand-card:hover .brand-card__logo {
    box-shadow: 0px 15px 57.9px 0px #0000001A;
    border-color: var(--color-primary-2);
}

.brand-card__logo img {
    display: block;
    height: 95px;
    object-fit: contain;
}

.brand-card h4 {
    margin: 0;
    color: var(--color-primary-2);
    text-align: center;
}

.brand-slider .splide__arrow {
    top: 34%;
}

@media only screen and (max-width: 767px) {
    .brand-card__logo {
        height: 140px;
    }

    .brand-card__logo img {height: 80px;}
}

/* ==##==##== brand card ==##==##== */

.shop-brand-sec {border-radius: 20px 20px 0 0; position: relative;}

.shop-brand-sec::before {
    content: "";
    position: absolute;
    top: -60px;
    left: 30%;
    background: url(../images/shape-leaf.svg) no-repeat top left;
    width: 126px;
    height: 144px;
}

@media only screen and (max-width: 991px) {

    .shop-brand-sec::before {display: none;}

}


/* ============================================================
   SECTION 6 — FIND A STORE
   ============================================================ */

/* ==##==##== store card ==##==##== */

.store-card { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; background: var(--color-secondary-2); border-radius: 20px; padding: 10px 10px 30px; transition: var(--transition-common); height: 100%;}
.store-card:hover { box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); }
.store-card__image { position: relative; overflow: hidden; width: 100%; padding-bottom: 70.75%; border-radius: 16px; margin: 0; }
.store-card__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: var(--transition-common); }
.store-card:hover .store-card__image img { transform: scale(1.05); }
.store-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; width: 100%; padding: 0 15px; }
.store-card__info { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; width: 100%; }
.store-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; width: 100%; }
.store-card__header h4 { flex: 1 1 0; color: var(--color-primary-2); margin: 0; }
.store-card__meta-list { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; }
.store-card__meta { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--color-text-1); line-height: 1.2; letter-spacing: -0.9px; }
.store-card__meta.store-card__meta--location {min-height: 40px; }
.store-card__meta.store-card__meta--phone a { color: var(--color-primary-3); }
.store-card__meta i, .store-card__meta svg { flex-shrink: 0; width: 20px; text-align: center; color: var(--color-primary-2); font-size: var(--f-size-XS); }
.store-card .btn-dark { width: 100%; }

@media only screen and (max-width: 1599px) {

    .store-card {
        gap: 15px;
    }
}

@media only screen and (max-width: 1199px) {
    .store-card__info{gap: 10px;}

    .store-card__body {
        gap: 15px;
    }
}

@media only screen and (max-width: 767px) {
    .store-card {
        padding: 8px 8px 24px;
        border-radius: 16px;
    }

    .store-card__image {
        border-radius: 12px;
    }

    .store-card__body {
        padding: 0 10px;
    }

    .store-card__meta {gap: 5px;}
}

/* ==##==##== store card ==##==##== */

/* ==##==##== store results list ==##==##== */

.store-results {
    background-color: var(--color-white);
    border-radius: 0 0 0 20px;
    padding: 30px 0;
}

.store-results .store-button {padding: 0 30px;}

.store-results__count {
    font-family: var(--ff-base);
    font-weight: var(--fw-semi-bold);
    font-size: var(--f-size-XS);
    color: var(--color-primary-2);
    letter-spacing: -0.8px;
    margin-bottom: 25px;
    padding: 0 30px;
}

.store-results__list::-webkit-scrollbar, .panel::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.store-results__list::-webkit-scrollbar-track, .panel::-webkit-scrollbar-track {
  background: rgba(6, 48, 38, 0.10);
  border-radius: 999px;
}

.store-results__list::-webkit-scrollbar-thumb, .panel::-webkit-scrollbar-thumb {
  background: var(--color-primary-2);
  border-radius: 999px;
  transition: background 0.3s ease;
}

.store-results__list::-webkit-scrollbar-corner, .panel::-webkit-scrollbar-corner {
  background: transparent;
}

.store-results__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 600px;
    overflow-y: scroll;
}

.store-results__list .store-card {
    flex-direction: row;
    align-items: center;
    padding: 0 30px;
    background: transparent;
    position: relative;
}

.store-results__list .store-card:hover {
    box-shadow: none;
}

.store-results__list .store-card:not(:last-child) {
    padding-bottom: 20px;
}


/*.store-results__list .store-card:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.20);
    height: 1px;
}*/

.store-results__list .store-card__image {
    flex: 0 1 310px;
    max-width: 310px;
    aspect-ratio: 3 / 2.5;
    padding-bottom: 0;
}

.store-results__list .store-card__body {
    flex: 1 1 0;
    width: auto;
    padding: 0;
}

.store-results__list .store-card__status {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.store-results__list .store-card__status .tag-open {
    gap: 5px;
    backdrop-filter: blur(3.55px);
}

.store-results__list .store-card__status .tag-open::before {
    content: '';
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-primary-3);
}

.store-results__list .store-card__closing {
    color: var(--color-text-1);
    font-family: var(--ff-base);
    font-weight: var(--fw-medium);
    font-size: var(--f-size-S);
    letter-spacing: -0.9px;
    white-space: nowrap;
}

.store-results__list .store-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.store-results__list .store-card__actions .btn-dark,
.store-results__list .store-card__actions .btn-outline {
    width: auto;
    padding: 15px 22px;
    white-space: nowrap;
}

.store-results__load-more {
    margin-top: 40px;
}

@media only screen and (max-width: 1599px) {

    .store-results {padding: 20px 0;}

    .store-results__count, .store-results__list .store-card, .store-results .store-button{ padding: 0 20px;}
}

@media only screen and (max-width: 1359px) {

    .store-results__list {
        height: 400px;
    }

    .store-results__list .store-card__image {
        flex: 0 1 270px;
        max-width: 270px;
    }
}

@media only screen and (max-width: 1199px) {

    .store-results__list .store-card__image {
        flex: 0 1 200px;
        max-width: 200px;
    }

    .store-results__list .store-card__actions {
        flex-wrap: wrap;
    }

    .store-results__list .store-card__actions .btn-dark, .store-results__list .store-card__actions .btn-outline {padding: 12px 15px;}
}

@media only screen and (max-width: 767px) {
    .store-results__list .store-card {
        flex-direction: column;
    }

    /* .store-results__list .store-card__image {
        width: 100%;
        height: auto;
        padding-bottom: 70.75%;
    } */

    .store-results__list .store-card__image {
        flex: 0 1 100%;
        max-width: 100%;
        /* padding: 0; */
    }
}

.map-wrapper {height: 100%;}
.map-wrapper iframe {width: 100%; height: 100%;}

@media only screen and (max-width: 991px) {
    .store-results {
        border-radius: 20px;
    }

    .search-result-form-sec .row {
        row-gap: 30px;
    }

    .map-wrapper {
        position: relative;
        padding-bottom: 45%;
    }

    .map-wrapper iframe {
        position: absolute;
        inset: 0;
        object-fit: cover;
    }
}

@media only screen and (max-width: 767px) {
    .store-card--list {
        flex-direction: column;
    }

    .store-card--list .store-card__image {
        width: 100%;
        height: auto;
        padding-bottom: 55%;
    }
}

/* ==##==##== store results list ==##==##== */

/* ==##==##== store slider ==##==##== */

.store-slider .splide__arrow {
    top: 45%;
}

@media only screen and (max-width: 767px) {
    .store-slider {
        padding: 0;
    }
}

/* ==##==##== store slider ==##==##== */


/* ============================================================
   SECTION 7 — WHY CHOOSE BLOOM MONTANA
   ============================================================ */

/* ==##==##== why choose ==##==##== */

.why-choose {
    position: relative;
    background: #f0e7da;
}

.why-choose::before {
    content: "";
    position: absolute;
    top: 0;
    left: 12%;
    background: url(../images/why-choose-bg1.svg) no-repeat top left;
    width: 364px;
    height: 254px;
    z-index: 1;
    opacity: 50%;
}

.why-choose::after {
    content: "";
    position: absolute;
    top: 80px;
    right: 18%;
    background: url(../images/why-choose-bg2.svg) no-repeat top right;
    width: 91px;
    height: 104px;
}

.why-choose__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 20px;
}

.why-choose__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.why-choose__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #0C3026 14.02%, rgba(12, 48, 38, 0.75) 70.95%, rgba(12, 48, 38, 0.00) 124.37%);
}

.why-choose .container {
    position: relative;
    z-index: 1;
}

.why-choose__content .section-heading {
    margin: 0 auto var(--gap-50);
    width: 100%;
    max-width: 620px;
}

@media only screen and (max-width: 1199px) {
    .why-choose::before{
        opacity: 25%;
    }

    .why-choose::after {
        opacity: 45%;
    }
}

@media only screen and (max-width: 767px) {
    .why-choose::before, .why-choose::after{
        display: none;
    }
}

/* ==##==##== why choose ==##==##== */

/* ==##==##== feature card ==##==##== */

.feature-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    height: 100%;
    background: var(--color-white);
    border-radius: 20px;
    padding: 24px;
    transition: var(--transition-common);
}

.feature-card:hover {
    background: var(--color-primary-1);
}

.feature-card:hover p{
    color: var(--color-text-2);
}

.feature-card__icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.feature-card__icon img {
    display: block;
    width: 100%;
    height: 100%;
}

.feature-card h4 {
    margin: 0 0 9px;
    color: var(--color-primary-2);
}

.feature-card p {
    margin: 0;
    color: var(--color-text-1);
}

.feature-card .link-btn {
    margin-top: auto;
}

@media only screen and (max-width: 1199px) {
    .feature-card {
        padding: 20px;
    }
}

/* ==##==##== feature card ==##==##== */


/* ============================================================
   SECTION 8 — EDUCATION
   ============================================================ */

/* ==##==##== education ==##==##== */

.education__media {
    margin: 0;
    border-radius: 20px 200px 20px 200px;
    overflow: hidden;
}

.education-media-wrap {position: relative;}

.education-media-wrap::before {
    content: "";
    position: absolute;
    top: -70px;
    right: -110px;
    background: url(../images/expert-leaf-shape.svg) no-repeat top right;
    width: 224px;
    height: 256px;
    z-index: -1;
}

.education__media img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1.3;
    object-fit: cover;
}

.education__content .section-heading {margin-bottom: 40px;}

.education__content p {
    color: var(--color-text-1);
}

.education__content .btn-dark {
    margin-top: 10px;
}

@media only screen and (max-width: 1599px) {
.education__media {
    border-radius: 20px 120px 20px 120px;
}
}

@media only screen and (max-width: 991px) {

    .education__media img {
        aspect-ratio: 16 / 11;
    }

    .education__content .section-heading { margin-bottom: 30px; }

    .education-media-wrap::before {display: none;}

}

@media only screen and (max-width: 767px) {
    .education__media {
        border-radius: 20px 60px 20px 60px;
    }
}

/* ==##==##== education ==##==##== */


/* ============================================================
   SECTION 9 — STORE LOCATOR
   ============================================================ */

/* ==##==##== store locator ==##==##== */

.store-locator {
    position: relative;
}

.store-locator::before {
    content: "";
    position: absolute;
    top: -550px;
    right: -15px;
    background: url(../images/flower-shape-2.png) no-repeat top right;
    width: 351px;
    height: 586px;
    z-index: -1;
}

.store-locator__content .section-heading {margin-bottom: 40px;}

.store-locator__content p {
    color: var(--color-text-1);
}

.store-locator__content .btn-dark {
    margin-top: 10px;
}

.store-locator__map-wrap {
    border-radius: 150px 20px 150px 20px;
    overflow: hidden;
    aspect-ratio: 1 / 0.75;
}
.store-locator__map-wrap img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.store-locator__map-wrap iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media only screen and (max-width: 1599px) {
    .store-locator__map-wrap {
        border-radius: 120px 20px 120px 20px;
    }
}

@media only screen and (max-width: 991px) {

    .store-locator .row {flex-direction: column-reverse;}

    .store-locator__content .section-heading { margin-bottom: 30px; }
}

@media only screen and (max-width: 767px) {
    .store-locator__map-wrap {
        /* aspect-ratio: 4 / 3; */
        border-radius: 20px 60px 20px 60px;
    }
}

/* ==##==##== store locator ==##==##== */


/* ============================================================
   SECTION 10 — FAQ
   ============================================================ */

/* ==##==##== faq accordion ==##==##== */

.faq {background: #F0E7DA; border-radius: 20px 20px 0 0; position: relative; z-index: 1;}
.faq a.btn-dark { margin: 30px auto 0; display: flex; width: max-content; text-align: center; }
.faq::before {content: ""; position: absolute; top: 50%; left: 0; background: url(../images/faq-shape-1.png) no-repeat top left; transform: translateY(-50%); width: 336px;height: 455px;}
.faq::after {content: ""; position: absolute; bottom: 100px; right: 0; background: url(../images/faq-shape-2.png) no-repeat top right; width: 251px;height: 310px; z-index: -1;}

.faq-inner {width: 100%;max-width: 1056px; margin: 0 auto;}
.faq-inner .section-heading {width: 100%;max-width: 600px; margin-inline: auto;}

.faq-accordion { --bs-accordion-border-width: 0; --bs-accordion-border-radius: 20px; --bs-accordion-inner-border-radius: 20px; --bs-accordion-btn-padding-x: 30px; --bs-accordion-btn-padding-y: 30px; --bs-accordion-body-padding-x: 30px; --bs-accordion-body-padding-y: 0 0 30px; --bs-accordion-bg: var(--color-secondary-1); --bs-accordion-active-bg: var(--color-primary-1); --bs-accordion-active-color: var(--color-primary-2); --bs-accordion-btn-color: var(--color-primary-2); --bs-accordion-btn-focus-border-color: transparent; --bs-accordion-btn-focus-box-shadow: 0 0 0 2px var(--color-primary-3); --bs-accordion-btn-icon: url(../images/icon-plus.svg); --bs-accordion-btn-active-icon: url(../images/icon-minus.svg); --bs-accordion-btn-icon-width: 24px; display: flex; flex-direction: column; gap: 20px; }
.faq-accordion .accordion-item { background-color: #F0E7DA; border-radius: 20px; overflow: hidden; }
.faq-accordion .accordion-button { font-weight: var(--fw-medium); font-size: var(--f-size-M); line-height: 1.5; text-transform: uppercase; border-radius: var(--bs-accordion-border-radius) !important; align-items: flex-start; padding: 22px; }
.faq-accordion .accordion-button:not(.collapsed) { box-shadow: none; }
.faq-accordion .accordion-button::after { flex-shrink: 0; transform: none !important; margin-top: 2px; }

.accordion-button:focus {
    box-shadow: none;
}

.faq-accordion__label {
    display: flex;
    gap: 15px;
    flex: 1 0 0;
    min-width: 0;
}

.faq-accordion__icon {
    width: 19px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 4px;
}

.faq-accordion .accordion-body {
    background-color: #F0E7DA;
    color: var(--color-text-1);
    padding: 40px 30px;
}

.faq-accordion .accordion-body ul {
    list-style: disc;
    padding-left: 20px;
}

.faq-accordion .accordion-body ul li {
    margin: 0 0 10px;
}

.faq-accordion .accordion-body p:not(:last-child) {
    margin-bottom: 20px;
}

.faq-accordion .accordion-body p span {
    font-family: var(--ff-base) !important;
}

@media only screen and (max-width: 1199px) {
    .faq-accordion {
        --bs-accordion-btn-padding-x: 15px;
        --bs-accordion-btn-padding-y: 15px;
        --bs-accordion-body-padding-x: 15px;
    }

    .faq-accordion .accordion-body{
        padding: 20px;
    }
}

/* ==##==##== faq accordion ==##==##== */


/* ============================================================
   SECTION 11 — TESTIMONIAL
   ============================================================ */

/* ==##==##== testimonial card ==##==##== */

.testimonial{background: #F0E7DA;}

.testimonial-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 15px;
    height: 100%;
    background: var(--color-secondary-2);
    border-radius: 20px;
    padding: 30px;
}

.testimonial-card__brand {
    width: 30px;
    height: 31px;
}

.testimonial-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.testimonial-card__rating {
    width: 98px;
    height: 20px;
}

.testimonial-card__top h4 {
    margin: 0;
    padding-right: 0;
    color: var(--color-primary-2);
    width: 100%;
}

.testimonial-card p {
    margin: 0;
    color: var(--color-text-1);
}

.testimonial-card__info {
    height: calc(100% - 86px);
}

.testimonial-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

.testimonial-card__author {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.testimonial-card__author h5 {
    margin: 0;
    color: var(--color-primary-2);
}

.testimonial-card__author span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-text-1);
    font-family: var(--ff-base);
    font-weight: var(--fw-medium);
    font-size: var(--f-size-XS);
}

.testimonial-card__author span img {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.testimonial-card__avatar {
    flex-shrink: 0;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.testimonial-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 767px) {
    .testimonial-card {
        gap: 24px;
        padding: 24px;
    }

    .testimonial-card__brand {
        top: 24px;
        right: 24px;
    }
}

/* ==##==##== testimonial card ==##==##== */

/* ==##==##== testimonial slider ==##==##== */

.testimonial-slider .splide__arrow {
    top: 45%;
}

@media only screen and (max-width: 767px) {
    .testimonial-slider {
        padding: 0;
    }
}

/* ==##==##== testimonial slider ==##==##== */


/* ============================================================
   SECTION 12 — NEWSLETTER
   ============================================================ */

/* ==##==##== newsletter cta ==##==##== */

.newsletter-cta{background: #F0E7DA;}

.newsletter-cta__panel {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}

.newsletter-cta__media {
    position: absolute;
    inset: 0;
}

.newsletter-cta__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

.newsletter-cta__panel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(270deg, rgba(255, 230, 91, 0.00) 30.58%, rgba(255, 230, 91, 0.89) 68.95%, #FFE65B 91.93%);
}

.newsletter-cta__panel .container {
    position: relative;
    z-index: 1;
}

.newsletter-cta__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    width: 100%;
    max-width: 500px;
}

.newsletter-cta__content .section-heading {
    margin: 0;
}

.newsletter-cta__content .wpcf7 {width: 100%;}

.newsletter-cta__form {
    position: relative;
}

.newsletter-cta__form p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: var(--color-white);
    border-radius: 100px;
    padding: 8px 8px 8px 25px;
}

.newsletter-cta__form p span.wpcf7-form-control-wrap {
    width: calc(100% - 180px);
}

.newsletter-cta__form-input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: url(../images/icon-mail.svg) no-repeat left center;
    background-size: 24px 24px;
    padding-left: 35px;
    font-family: var(--ff-base);
    font-weight: var(--fw-medium);
    font-size: var(--f-size-XS);
    color: var(--color-black);
    width: 100%;
}
.newsletter-cta__form span.wpcf7-spinner {
    position: absolute;
    right: 0;
}

.newsletter-cta__form-input::placeholder {
    color: var(--color-black);
    opacity: 0.4;
}

.newsletter-cta__form .btn-dark {
    flex-shrink: 0;
    padding: 12px 18px;
}

@media only screen and (max-width: 767px) {

    .newsletter-cta__content { gap: 20px; }

    .newsletter-cta__form p {
        flex-wrap: wrap;
        border-radius: 12px;
        padding: 16px;
    }

    .newsletter-cta__form-input {
        width: 100%;
    }

    .newsletter-cta__form .btn-dark {
        width: 100%;
    }

    .newsletter-cta__media img {
        object-position: 75% center;
    }

    .newsletter-cta__panel::after {
        background: linear-gradient(to left, rgba(255, 230, 91, 0.55) 25%, rgba(255, 230, 91, 0.92) 60%, var(--color-primary-1) 90%);
    }

    .newsletter-cta__form p span.wpcf7-form-control-wrap {
        width: 100%;
    }
}

/* ==##==##== newsletter cta ==##==##== */




/* ============================================================
   AGE VERIFICATION SECTION STYLES
   ============================================================ */

/* Outer screen-wide overlay with beautiful backdrop banner image */
.age-verification-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; background-size: cover; display: flex; align-items: center; justify-content: center; padding: 20px; }
.age-verification-card { position: relative; width: 100%; max-width: 941px; background: #F4EDDD; border-radius: 20px; padding: 81px; text-align: center; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4); overflow: hidden; z-index: 1; }
.av-logo-wrapper { max-width: 241px; margin: 0 auto 25px; }
.av-subtitle { display: block; font-family: var(--ff-base); font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #936F2D; margin: 25px 0; }
.age-verification-card p { color: #636363; margin: 0 auto 24px auto !important; line-height: 1.6; }
.age-verification-card-inner h1.h2{color: var(--color-primary-2);}
.age-verification-card-inner h1.h2 span{color: #936F2D;}
.age-verification-card-inner { max-width: 541px; margin: 0 auto; }
/* Custom checkbox wrapper */
.av-remember-me { margin-bottom: 30px; }

.av-remember-me label { display: inline-flex; align-items: center; position: relative; padding-left: 24px; cursor: pointer; font-family: var(--ff-base);  font-weight: var(--fw-medium); color: var(--color-primary-2); user-select: none; }
.av-remember-me input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }

/* Custom Checkbox Design */
.checkmark { position: absolute; left: 0; height: 16px; width: 16px; background-color: transparent; border: 1.5px solid var(--color-primary-2); border-radius: 3px; transition: all 0.2s ease; }
.av-remember-me input:checked ~ .checkmark { background-color: var(--color-primary-2); }
.checkmark:after { content: ""; position: absolute; display: none; }
.av-remember-me input:checked ~ .checkmark:after { display: block; }
.av-remember-me .checkmark:after { top: 2px; left: 5px; width: 4px; height: 8px; border: solid var(--color-white); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Button Layout & Action Styling */
.av-buttons { display: flex; justify-content: center; gap: 16px; position: relative; z-index: 10; }
.btn-av { display: inline-flex; align-items: center; justify-content: center; font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: 16px; text-transform: uppercase; padding: 14px 44px; border-radius: 50px; cursor: pointer; transition: var(--transition-common); border: 1.5px solid transparent; }
/* Solid Yes Button styling */
.btn-yes { background-color: var(--color-primary-2); color: var(--color-white); }
.btn-yes:hover { background-color: var(--color-primary-1); color: var(--color-primary-2); }

/* Muted Outline 'No' button styling */
.btn-no { background-color: transparent; border-color: var(--color-primary-2); color: var(--color-primary-2); }
.btn-no:hover { background-color: var(--color-primary-2); color: var(--color-white);}

/* Scenic background line-art illustrations (left and right bottom) */
.av-scenery-overlay-left, .av-scenery-overlay-right { position: absolute; bottom: 0; max-height: 140px; opacity: 0.18; pointer-events: none; z-index: 0; }
.av-scenery-overlay-left { left: -15px; width: 250px; }
.av-scenery-overlay-right { right: -15px; width: 250px; }

.av-scenery-overlay-left img, .av-scenery-overlay-right img { width: 100%; height: auto; }


/* ============================================================
   RESPONSIVE (MOBILE ADJUSTMENTS)
   ============================================================ */

@media only screen and (max-width: 767px) {
.age-verification-card { padding: 40px 20px 50px 20px; border-radius: 20px; }
.av-disclaimer { font-size: 12px; margin-bottom: 20px !important; }
.av-remember-me { margin-bottom: 25px; }
.av-buttons { flex-direction: column; gap: 10px; }
.btn-av { width: 100%; padding: 12px 20px; }
.av-scenery-overlay-left { width: 160px; }
.av-scenery-overlay-right { width: 160px; }
}


/* ============================================================
   LOCATION PAGE — HERO
   ============================================================ */

/* ==##==##== location hero ==##==##== */

.common-inner-bnr .inner-section__bg::before {display: none;}

.common-inner-bnr .inner-section__bg::after {background: linear-gradient(0deg, #FFF 10%, rgba(255, 255, 255, 0.00) 65%);}

.location-hero__content {
    width: 100%;
    max-width: 740px;
    margin: 0 auto;
    text-align: center;
}

.location-hero__content .section-heading {margin-bottom: 25px;}

.location-hero__content p {
    color: var(--color-text-2);
    margin: 0 auto 10px;
}

.location-hero__content p strong {font-weight: bold;}

.location-hero__content p:last-child {margin-bottom: 0;}

.location-hero__content p a {
    color: var(--color-primary-3);
    text-decoration: none;
    font-weight: bold;
}

.location-hero__features {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.location-hero__features li {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 27px 37px;
}

.location-hero__feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 67px;
    height: 67px;
    border-radius: 50%;
    background-color: rgb(31 142 58 / 10%);
}

.location-hero__feature-icon img {
    width: 35px;
}

.location-hero__feature-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.location-hero__feature-text h5 {
    margin: 0;
    color: var(--color-primary-2);
}

.location-hero__feature-text p {
    margin: 0;
    color: var(--color-text-1);
}

@media only screen and (max-width: 1599px) {

    .location-hero__features li{
        padding: 20px 30px;
    }

    .location-hero__feature-icon {width: 50px; height: 50px;}

    .location-hero__feature-icon img {
    width: 25px;
}
}

@media only screen and (max-width: 1199px) {
    .location-hero__features li {
        padding: 12px;
    }
}

@media only screen and (max-width: 767px) {

    .location-hero__content {margin: 0 auto;}

    .location-hero__content .section-heading {
        align-items: center;
    }

    .location-hero__features {
        gap: 10px; align-items: flex-start; padding-bottom: 15px;
    }
    .location-hero__features li {
        padding: 0;
        width: 48%;
        align-items: flex-start;
        gap: 10px;
    }
    .location-hero__feature-icon {
        width: 40px;
        height: 40px;
    }
    .location-hero__feature-icon img {
        width: 16px;
    }
    .location-hero__feature-text h5 { 
        font-size: 12px;
    }
    .location-hero__feature-text p { 
        font-size: 12px;
    }


}

/* ==##==##== location hero ==##==##== */


/* ============================================================
   LOCATION PAGE — SEARCH FILTERS
   ============================================================ */

/* ==##==##== store locator filters ==##==##== */

.store-locator-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 30px 40px;
    background-color: var(--color-white);
    padding: 30px;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.filter-group--search {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 30px;
    flex: 1 1 13.5%;
}

.filter-group__field {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 0 1 615px;
}

.filter-group-rt {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px 40px;
    flex: 1 1 0%;
}

.filter-group--distance {
    flex: 0 0 370px;
    padding-left: 40px;
    border-left: 1px solid rgba(12, 48, 38, 0.15);
}

.filter-label {
    font-family: var(--ff-heading);
    font-weight: var(--fw-medium);
    font-size: 18px;
    line-height: 28px;
    color: var(--color-primary-2);
    text-transform: uppercase;
    margin: 0;
}

/* search field */

.search-input-wrap {
    display: flex;
    align-items: center;
    width: 100%;
    height: var(--form-height);
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    overflow: hidden;
}

.search-input {
    flex: 1;
    min-width: 0;
    height: 100%;
    padding: 0 0 0 20px;
    border: 0;
    background: transparent;
    font-weight: var(--fw-medium);
    font-size: var(--f-size-S);
    line-height: 1.2;
    letter-spacing: -0.8px;
    color: var(--color-black);
}

.search-input::placeholder {
    color: var(--color-black);
    opacity: 0.6;
}

.search-input:focus-visible {
    outline: none;
}

.search-btn {
    flex-shrink: 0;
    width: 60px;
    height: 100%;
    background-color: var(--color-primary-2);
    background-image: url("../images/search-icon.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    border: 0;
    cursor: pointer;
    transition: var(--transition-common);
}

.search-btn:hover,
.search-btn:focus-visible {
    background-color: var(--color-text-1);
}

/* use my current location */

.filter-group--search .radio-option {
    width: calc(100% - 645px);
}

.radio-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: var(--form-height);
    padding: 12px 20px;
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    font-weight: var(--fw-bold);
    font-size: var(--f-size-XS);
    line-height: 1.2;
    color: var(--color-primary-2);
    text-transform: uppercase;
    /* white-space: nowrap; */
    cursor: pointer;
    transition: var(--transition-common);
}

.radio-option input[type="radio"] {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.radio-custom {
    display: flex;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

.radio-option:has(input:checked) {
    background-color: var(--color-primary-2);
    border-color: var(--color-primary-2);
    color: var(--color-white);
}

.radio-option:has(input:focus-visible) {
    outline: 2px solid var(--color-primary-2);
    outline-offset: 2px;
}

.radio-option:has(input:checked) .radio-custom img {
    filter: brightness(0) invert(1);
}

/* distance range */

.distance-value {
    font-size: var(--f-size-XS);
    line-height: 1.5;
    letter-spacing: -0.8px;
    color: rgb(0 0 0 / 60%);
}

.distance-slider {
    --range-progress: 100%;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 16px;
    background: linear-gradient(to right,
            var(--color-primary-2) 0%,
            var(--color-primary-2) var(--range-progress),
            #D9D9D9 var(--range-progress),
            #D9D9D9 100%);
    border-radius: 500px;
    cursor: pointer;
}

.distance-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 30px;
    height: 30px;
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.8);
    border-radius: 5px;
    cursor: pointer;
}

.distance-slider::-moz-range-track {
    height: 16px;
    background-color: #D9D9D9;
    border-radius: 500px;
}

.distance-slider::-moz-range-progress {
    height: 16px;
    background-color: var(--color-primary-2);
    border-radius: 500px;
}

.distance-slider::-moz-range-thumb {
    width: 30px;
    height: 30px;
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.8);
    border-radius: 5px;
    cursor: pointer;
}

.distance-slider:focus-visible {
    outline: 2px solid var(--color-primary-2);
    outline-offset: 4px;
}

/* open now toggle */

.switch {
    position: relative;
    display: inline-flex;
    width: 82px;
    height: 39px;
}

.switch input {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.switch-slider {
    position: absolute;
    inset: 0;
    background-color: rgba(12, 48, 38, 0.3);
    border-radius: 100px;
    transition: var(--transition-common);
}

.switch-slider::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 31px;
    height: 31px;
    background-color: var(--color-white);
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: var(--transition-common);
}

.switch input:checked + .switch-slider {
    background-color: var(--color-primary-2);
}

.switch input:checked + .switch-slider::before {
    transform: translateX(43px);
}

.switch input:focus-visible + .switch-slider {
    outline: 2px solid var(--color-primary-2);
    outline-offset: 2px;
}

@media only screen and (max-width: 1799px) {

    .filter-group__field{
        flex: 0 1 450px;
    }

    .filter-group--search .radio-option {
        width: calc(100% - 480px);
    }
}

@media only screen and (max-width: 1599px) {

    .store-locator-filters {padding: 20px; gap: 20px;}

    .filter-group--search {gap: 20px;}

    .filter-group__field{
        flex: 0 1 400px;
    }

    .filter-group--search .radio-option {
        width: calc(100% - 420px);
    }

    .filter-group--distance {padding-left: 20px;}

    .filter-group-rt {gap: 20px;}

}

@media only screen and (max-width: 1359px) {

    .filter-group__field{
        flex: 0 1 360px;
    }

    .filter-group--search .radio-option {
        width: calc(100% - 380px);
    }

    .search-input {padding: 0 0 0 15px;}

    .search-btn {width: 45px;}
    .header-store select, .header-store button { background-position: 16px center, right 11px center; background-size: 20px, 13px; }

}

@media only screen and (max-width: 1279px) {
    .filter-group--distance {
        flex: auto; 
    }

}

@media only screen and (max-width: 1199px) {

    .filter-group__field { flex: 0 1 60%; }
    .filter-group--search .radio-option { width: calc(40% - 20px); }
    .filter-group-rt { flex-basis: 100%; }
    .filter-group--distance { border-left: 0; padding-left: 0; }

    .switch { height: 33px;width: 77px; }
    .switch-slider::before { width: 25px; height: 25px; }
}

@media only screen and (max-width: 767px) {
    .store-locator-filters {
        padding: 25px 20px;
    }

    .filter-group--search {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-group--search .radio-option {
        justify-content: center;
        width: 100%; height: 46px; 
    }

    /*.filter-group--distance {
        flex-basis: 100%;
        max-width: 100%;
    }*/
}

/* ==##==##== store locator filters ==##==##== */


/* ============================================================
   EDUCATION PAGE — WHAT ARE YOU LOOKING FOR
   ============================================================ */

/* ==##==##== looking for sidebar ==##==##== */

.looking-for__sidebar { display: flex; flex-direction: column; gap: var(--gap-50); height: 100%; background-color: var(--color-secondary-1); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 20px; padding: 30px; }
.looking-for__divider { display: block; width: 42px; height: 2px; margin: 18px auto 20px; background-color: var(--color-primary-1); }
.looking-for__intro-icon { display: block; height: 35px; margin: 0 auto; }
.looking-for__title { margin: 0 0 15px; color: var(--color-primary-2); }
.looking-for__intro p { color: var(--color-text-1); }
.looking-for__divider--sm { margin: 0 auto 15px; }
.looking-for__steps-title { margin: 0 0 30px; text-align: center; color: var(--color-primary-2); font-size: var(--f-size-L); }
.looking-for__timeline li { position: relative; display: flex; align-items: center; gap: 20px; padding-bottom: 30px; }
.looking-for__timeline li:last-child { padding-bottom: 0; }

.looking-for__timeline li:not(:last-child)::before { content: ""; position: absolute; top: 86px; left: 42px; width: 0; height: calc(100% - 86px); border-left: 1px solid #0C3026; }
.looking-for__timeline-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 85px; height: 85px; border-radius: 50%; background-color: rgba(12, 48, 38, 0.06); }
.looking-for__timeline-icon img { display: block; height: 38px; object-fit: contain; }
.looking-for__timeline-text h4 { margin: 0 0 5px; color: var(--color-primary-2); font-size: var(--f-size-S); }
.looking-for__timeline-text p { margin: 0; color: var(--color-text-1); }


@media only screen and (max-width: 1199px) {
.looking-for__timeline li:not(:last-child)::before { top: 58px; left: 28px; height: calc(100% - 55px); }
.looking-for__sidebar { padding: 30px; }
}




/* ==##==##== looking for sidebar ==##==##== */


/* ==##==##== looking for cards ==##==##== */

.looking-for-cards li:not(:last-child) { margin-bottom: 20px; }
.looking-for-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; background-color: var(--color-white); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 20px; padding: 20px; transition: var(--transition-common); }
.looking-for-card:hover { background-color: #FDF7EF; border: 1px solid var(--color-primary-1); box-shadow: 0px 35px 28.95px 0px rgba(255, 211, 112, 0.2); }
.looking-for-card:hover .btn-dark { background-color: var(--color-primary-1); color: var(--color-primary-2); }
.looking-for-card:hover .btn-dark::after { filter: brightness(0); }
/* 
.looking-for-card:hover .btn-dark::after { background-image: url(../images/green-btn-arrow.svg); } */
.looking-for-card__main { display: flex; align-items: center; gap: 25px; flex: 1 1 380px; }

.looking-for-card__icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 90px; height: 90px; border-radius: 50%; background-color: rgba(12, 48, 38, 0.06); }
.looking-for-card__icon img { display: block; height: 35px; object-fit: contain; }

.looking-for-card__body { width: calc(100% - 120px); }
.looking-for-card__body h3 { margin: 0 0 6px; color: var(--color-primary-2); font-size: var(--f-size-M); }
.looking-for-card__body p { margin: 0 0 15px; color: var(--color-text-1); }

.looking-for-card__tags { display: flex; flex-wrap: wrap; gap: 9px; }
.looking-for-card__tags span { display: inline-flex; align-items: center; padding: 5px 20px; background-color: rgba(12, 48, 38, 0.05); border: 1px solid rgba(12, 48, 38, 0.1); border-radius: 100px; color: var(--color-primary-2); font-weight: var(--fw-semi-bold); font-size: var(--f-size-XS); line-height: 1.6; }

.looking-for-card .btn-dark, .looking-for-card .btn-yellow { flex-shrink: 0; }
.looking-for__next { margin-top: 50px; text-align: center; }
.looking-for__next a { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 2px solid var(--color-primary-1); color: var(--color-primary-2); font-weight: var(--fw-bold); font-size: var(--f-size-XS); text-transform: uppercase; }
.looking-for__next a:hover { color: var(--color-primary-3); }







@media only screen and (max-width: 991px) {
.looking-for-card { padding: 20px; }
.looking-for-card__icon img {  height: 24px; }
.looking-for-card__body { width: calc(100% - 45px); }

.looking-for__timeline-icon { width: 55px; height: 55px; }
.looking-for-card:hover .btn-dark::after { background-image: none; }
}

@media only screen and (max-width: 767px) {
.looking-for-card { flex-direction: column; align-items: stretch; padding: 20px; }
.looking-for-card .btn-dark, .looking-for-card .btn-yellow { width: 100%; }
.looking-for__title { font-size: 24px; }
}

/* ==##==##== looking for cards ==##==##== */


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

/* ==##==##== site footer ==##==##== */

.site-footer {
    background-color: var(--color-primary-2);
    border-radius: 0 0 20px 20px;
}

.site-footer .btn-yellow:hover {
    background-color: var(--color-white);
    color: var(--color-primary-2);
}

.site-footer .btn-yellow:hover::after {
    background-image: url('../images/green-btn-arrow.svg');
}

.footer-top {
    padding: var(--padding-height) 0 var(--gap-50) 0;
}

.footer-top h5 {
    color: var(--color-white);
}

.footer-top .col-md-3 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-logo {display: inline-block;}

.footer-logo img {
    display: inline-block;
    max-width: 272px;
}

.footer-brand .footer-widget h5 {
    margin-bottom: 10px;
}

.footer-brand form .btn-yellow {
    margin-top: 10px;
}

.footer-brand .btn-yellow::after {
    display: none;
}

.footer-widget {
    margin-top: 30px;
}

.footer-widget p {
    color: var(--color-text-3);
    font-size: 16px;
}

.footer-app-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-app-badges img {
    display: block;
    height: 44px;
    width: auto;
}

.footer-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-newsletter-form__field {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 100px;
    padding: 12px 26px;
}

.footer-newsletter-form__field i, .footer-newsletter-form__field svg {
    color: rgba(12, 48, 38, 0.50);
    font-size: 18px;
    flex-shrink: 0;
}

.footer-newsletter-form__field input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-weight: var(--fw-medium);
    font-size: var(--f-size-XS);
    color: var(--color-black);
}

.footer-newsletter-form__field input::placeholder {
    color: var(--color-black);
    opacity: 0.5;
}

.footer-newsletter-form .btn-yellow::after {display: none;}

.footer-links h5, .footer-contact h5 {
    margin-bottom: 40px;
}

.footer-links ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-links ul li a {
    color: var(--color-text-3);
}

.footer-links ul li a:hover {
    color: var(--color-primary-1);
}

.footer-contact__list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 20px;
}

.footer-contact__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-contact__list li i, .footer-contact__list li svg {
    color: var(--color-primary-1);
    font-size: var(--f-size-S);
    flex-shrink: 0;
    margin-top: 5px;
}

.footer-contact__list li span, .footer-contact__list li span a {
    color: var(--color-text-3);
    line-height: 1.5;
    word-break: break-word;
}

.footer-social__list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-social__list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 15px;
    color: var(--color-primary-1);
    font-size: 18px;
    transition: var(--transition-common);
}

.footer-social__list a:hover {
    background-color: var(--color-primary-1);
    border-color: var(--color-primary-1);
    color: var(--color-primary-2);
}

.footer-disclaimer__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: var(--color-primary-1);
    border-radius: 10px;
    padding: 15px 100px;
}

.footer-disclaimer__inner p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--color-text-2);
    text-align: center;
}

.footer-disclaimer__shape {
    position: absolute;
    bottom: -30px;
    height: 100%;
    width: auto;
    max-width: none;
    pointer-events: none;
}

.footer-disclaimer__shape--left {
    left: 20px;
    transform: rotate(-20deg);
}

.footer-disclaimer__shape--right {
    right: 20px;
    transform: rotate(22deg);
}

.footer-bottom {
    padding: 40px 0;
}

.footer-bottom__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.footer-bottom__inner p {
    margin: 0;
    color: var(--color-text-3);
}

.footer-bottom__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.footer-bottom__links li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-bottom__links li:not(:last-child)::after {
    content: '';
    width: 1px;
    height: 14px;
    background-color: rgba(255, 255, 255, 0.25);
}

.footer-bottom__links a {
    color: var(--color-text-3);
}

.footer-bottom__links a:hover {
    color: var(--color-primary-1);
}

@media only screen and (max-width: 1799px) {
    
}

@media only screen and (max-width: 1399px) {
    .footer-app-badges img {
        height: 40px;
    }

    .footer-newsletter-form__field {padding: 17px;}
}

@media only screen and (max-width: 1199px) {

    .footer-brand { margin-bottom: 30px; }

    .footer-top .col-md-3 {align-items: flex-start;}

    .footer-newsletter-form__field { padding: 12px; }

    .footer-links h5, .footer-contact h5 { margin-bottom: 30px; }

    .footer-disclaimer__inner { padding: 15px 90px; }
    
}

@media only screen and (max-width: 991px) {
    .footer-disclaimer__inner {
        padding: 15px 20px;
    }

    .footer-disclaimer__shape {
        display: none;
    }
}

@media only screen and (max-width: 767px) {

    .footer-brand {
        margin-bottom: 20px;
    }

    .footer-top h5 {
        margin-bottom: 20px;
    }

    .footer-logo img {
        max-width: 220px;
    }

    .footer-app-badges img {
        height: 45px;
    }

    .footer-links {margin-bottom: 20px;}

    .footer-links ul {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .footer-links ul li {
        width: 47%;
    }

    .footer-contact__list {
        gap: 12px;
    }

    .footer-bottom__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-bottom__links {
        align-items: flex-start;
        justify-content: center;
        gap: 8px; width: 100%;
    }


    .footer-bottom__links li:not(:last-child)::after {
        display: none;
    }

    .footer-bottom__inner p {
        text-align: center;
    }
}

/* ==##==##== site footer ==##==##== */


/* ============================================================
   OTHER PAGES / SHARED STYLES (modal,
   contact-form validation, 404 error page, generic single/page template)
   ============================================================ */

/* MODAL DESIGN START HERE********************/

.modal-header {
    border: 0;
    padding: 0;
}

.modal .btn-close {
    width: 24px;
    height: 24px;
    opacity: 1;
    background-size: 18px;
    padding: 7px !important;
    box-shadow: none;
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 1;
    background-color: var(--color-primary-1);
    border-radius: 50%;
}

.modal .btn-close:focus {
    box-shadow: none;
}

.modal-custom-width .modal-dialog {
    max-width: 1600px;
}

.modal-custom-width .modal-body {
    padding: 60px;
}

.modal-content {
    border-radius: 0;
}

/* MODAL DESIGN END HERE********************/

.wpcf7-not-valid {
    border-color: #dc3232;
}

.wpcf7-not-valid-tip {
    display: none;
}

.wpcf7-response-output {
    text-align: center;
    font-size: 14px;
    padding-top: 5px;
    padding-bottom: 5px;
}

/* Error 404 */

.error-sec {
    text-align: center;
    min-height: calc(100vh - 300px);
    display: flex;
    align-items: center;
}

.error-sec h1 {
    font-size: 8rem;
    font-family: var(--ff-base);
}

/* Error 404 */

.single-page-sec ul {
    list-style: disc;
    padding-left: 30px;
    margin-bottom: 20px;
}

.single-page-sec ul li {
    margin-bottom: 10px;
}

.single-page-sec p a {
    word-break: keep-all;
}

@media only screen and (max-width: 1359px) {

    .error-sec h1 {
        font-size: 6rem;
    }

}

@media only screen and (max-width: 1199px) {

    .padding-small {
        padding: 60px 0;
    }

}

@media only screen and (max-width: 991px) {}

@media only screen and (max-width: 767px) {

    .padding-small {
        padding: 40px 0;
    }

}




/*//***** Sanchari Roy start (16.07.2026)****** //*/

/* ============================================================
   AGE VERIFICATION SECTION STYLES
   ============================================================ */

/* Outer screen-wide overlay with beautiful backdrop banner image */
.age-verification-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; background-size: cover; display: flex; align-items: center; justify-content: center; padding: 20px; }
.age-verification-card { position: relative; width: 100%; max-width: 941px; background: #F4EDDD; border-radius: 20px; padding: 81px; text-align: center; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4); overflow: hidden; z-index: 1; }
.av-logo-wrapper { max-width: 241px; margin: 0 auto 25px; }
.av-subtitle { display: block; font-family: var(--ff-base); font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #936F2D; margin: 25px 0; }
.age-verification-card p { color: #636363; margin: 0 auto 24px auto !important; line-height: 1.6; }
.age-verification-card-inner h1.h2{color: var(--color-primary-2);}
.age-verification-card-inner h1.h2 span{color: #936F2D;}
.age-verification-card-inner { max-width: 541px; margin: 0 auto; }
/* Custom checkbox wrapper */
.av-remember-me { margin-bottom: 30px; }

.av-remember-me label { display: inline-flex; align-items: center; position: relative; padding-left: 24px; cursor: pointer; font-family: var(--ff-base);  font-weight: var(--fw-medium); color: var(--color-primary-2); user-select: none; }
.av-remember-me input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }

/* Custom Checkbox Design */
.checkmark { position: absolute; left: 0; height: 16px; width: 16px; background-color: transparent; border: 1.5px solid var(--color-primary-2); border-radius: 3px; transition: all 0.2s ease; }
.av-remember-me input:checked ~ .checkmark { background-color: var(--color-primary-2); }
.checkmark:after { content: ""; position: absolute; display: none; }
.av-remember-me input:checked ~ .checkmark:after { display: block; }
.av-remember-me .checkmark:after { top: 2px; width: 4px; height: 8px; border: solid var(--color-white); border-width: 0 2px 2px 0; transform: rotate(45deg);left: 5px; }

/* Button Layout & Action Styling */
.av-buttons { display: flex; justify-content: center; gap: 16px; position: relative; z-index: 10; }
.btn-av { display: inline-flex; align-items: center; justify-content: center; font-family: var(--ff-base); font-weight: var(--fw-bold); font-size: 16px; text-transform: uppercase; padding: 14px 44px; border-radius: 50px; cursor: pointer; transition: var(--transition-common); border: 1.5px solid transparent; }
/* Solid Yes Button styling */
.btn-yes { background-color: var(--color-primary-2); color: var(--color-white); }
.btn-yes:hover { background-color: var(--color-primary-1); color: var(--color-primary-2); }

/* Muted Outline 'No' button styling */
.btn-no { background-color: transparent; border-color: var(--color-primary-2); color: var(--color-primary-2); }
.btn-no:hover { background-color: var(--color-primary-2); color: var(--color-white);}

/* Scenic background line-art illustrations (left and right bottom) */
.av-scenery-overlay-left, .av-scenery-overlay-right { position: absolute; bottom: 0; max-height: 140px; opacity: 0.18; pointer-events: none; z-index: 0; }
.av-scenery-overlay-left { left: -15px; width: 250px; }
.av-scenery-overlay-right { right: -15px; width: 250px; }

.av-scenery-overlay-left img, .av-scenery-overlay-right img { width: 100%; height: auto; }


/* ============================================================
   RESPONSIVE (MOBILE ADJUSTMENTS)
   ============================================================ */





/* ============================================================
   ABOUT PAGE STYLES
   ============================================================ */
.common-inner-bnr{min-height: 350px;}
.common-inner-bnr.padding-common { padding-bottom: 0; }
.common-inner-bnr .inner-section__bg::before {display: none;}

/*.common-inner-bnr .inner-section__bg::after {background: linear-gradient(0deg, #FFF 19.95%, rgba(255, 255, 255, 0.00) 83.27%);}*/
.education__content ul { display: flex; margin-top: 50px;}
.education__content ul li { width: 39%; }
.education__content ul li:nth-child(2) { width: 20%; }
.montanans-community-wrap img { min-height: 40px;margin-bottom: 15px; }
.montanans-community-wrap h6 { margin-bottom: 15px; }


.page-template-tpl-our-story .common-inner-bnr {min-height: 320px; }
.abt-education { position: relative; background-color: #fff; }
.abt-education:after { background-image: url(../images/abt-education-back-branch.jpg); position: absolute; content: ""; width: 263px; height: 263px; background-repeat: no-repeat; right: -15px; bottom: 25px; }
.abt-education .education__content { max-width: 631px; margin-left: auto; padding-left: 50px; }
.abt-education .education-media-wrap::before{display: none;}



/* Heading Highlight Accent */
.why-choose-bloom-sec{position: relative;}
.why-choose-bloom-sec::after{position: absolute; content: ""; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 37.1%);
top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%;opacity: 0.7;}
.why-choose-bloom-sec .container { position: relative; z-index: 1; }

.section-heading span { color: var(--color-primary-3); /* Green (#1F8E3A) */ }
.section-heading--center { text-align: center; }

.why-choose-card { background-color: var(--color-white); border-radius: 20px; padding: 40px 30px; height: 100%; display: flex; flex-direction: column; align-items: flex-start; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03); transition: var(--transition-common); border: 1px solid #0000001A; }
.why-choose-card:hover { border: 1px solid #0C3026;box-shadow: 0px 35px 57.9px 0px #0000001A;
 }
.why-choose-card__icon { width: 45px; height: 45px; margin-bottom: 20px; display: flex; align-items: center; justify-content: flex-start; }
.why-choose-card__icon img { max-width: 100%; max-height: 100%; object-fit: contain; }
.why-choose-card h4 { color: var(--color-primary-2); /* Dark Green (#0C3026) */ text-transform: uppercase; margin-bottom: 12px; }
.why-choose-card p { color: var(--color-text-1); line-height: 1.5; margin: 0 !important; }

.shop-category-sec.every-lifestyle-sec::before{display: none;}
.every-lifestyle-sec,.community-sec { background-color: #F6F2EB; }
.every-lifestyle-btn{display: flex; justify-content: center; margin-top: 50px;}
.every-lifestyle-btn .btn-dark::after{display: none;}




.community-content .btn-dark { margin-top: 10px; }
.community-media img { max-width: 722px; height: auto; object-fit: contain; width: 100%; margin-left: auto; }
.community-content .btn-dark::after{display: none;}

.abt-testi-slider { background: transparent; }
.cta-banner-wrapper { position: relative; border-radius: 24px; padding: 150px 30px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.cta-banner-wrapper::before { content: ""; position: absolute; inset: 0; background: #FFD370B8; pointer-events: none; opacity: 0.7; }
.cta-banner-content { position: relative; z-index: 2; max-width: 620px; margin: 0 auto; }
.cta-banner-content h2 { color: var(--color-primary-2); text-transform: uppercase; margin-bottom: 16px; }
.cta-banner-content p { line-height: 1.6; margin-bottom: 30px !important;color: var(--color-text-2); }

/* Button Group Alignment */
.cta-btn-group { display: flex; align-items: center; justify-content: center; gap: 16px; }
.btn-light { display: inline-flex; align-items: center; justify-content: center; font-family: var(--ff-base); font-size: 16px; font-weight: var(--fw-bold); text-transform: uppercase; color: var(--color-primary-2); background-color: var(--color-white); padding: 14px 32px; border-radius: 50px; border: 1px solid transparent; transition: var(--transition-common); text-decoration: none; }
.btn-light:hover { background-color: var(--color-primary-1); color: var(--color-primary-2); }













/* Responsive Overrides */
@media only screen and (max-width: 1399px) {
.cta-banner-wrapper { padding: 100px 30px; }
.abt-education:after { width: 200px; height: 200px; background-size: 200px; }
.education__content ul li { width: 50%; }
.education__content ul li:nth-child(2) { width: 50%; }
.education__content ul { margin-top: 30px; gap: 30px; }
}

@media only screen and (max-width: 1199px) {
    .why-choose-card { padding: 30px 24px; }
    .btn-light { font-size: 14px; padding: 14px 32px; line-height: 1; }
}

@media only screen and (max-width: 991px) {
    .community-media { margin-top: 40px; }
    .cta-banner-wrapper { padding: 60px 20px; }
    .abt-education .education__content { max-width: inherit; margin-left: inherit; padding-left: 0; }
      .contact-form-card { padding: 30px 20px; margin-top: 20px; }
}


@media only screen and (max-width: 767px) {
.section-heading {  align-items: center; }
.container, .container-sm { max-width: 95%; }
.common-inner-bnr .section-heading { align-items: center; gap: 15px; }
.age-verification-card { padding: 40px 20px 50px 20px; border-radius: 20px; }
.av-disclaimer { font-size: 12px; margin-bottom: 20px !important; }
.av-remember-me { margin-bottom: 25px; }
.av-buttons { flex-direction: column; gap: 10px; }
.btn-av { width: 100%; padding: 12px 20px; }
.av-scenery-overlay-left { width: 160px; }
.av-scenery-overlay-right { width: 160px; }

.why-choose-card { padding: 24px 20px; }
.why-choose-card__icon { width: 36px; height: 36px; margin-bottom: 15px; }
.community-content h2 span { display: inline; }
.education__content .section-heading { align-items: flex-start; }
.cta-banner-wrapper { padding: 45px 15px; border-radius: 16px; }
.cta-btn-group { flex-direction: column; gap: 12px; }
.btn-light, .cta-btn-group .btn-dark { width: 100%; }
.contact-form-card { border-radius: 16px; }

.common-inner-bnr {min-height: 300px; }

}



/* ============================================================
   CONTACT MONTANA SECTION
   ============================================================ */
.contact-montana-sec { background: transparent; margin-top: -112px; position: relative; }

/* Left Column Styling */
.contact-info-wrap .section-heading { flex-direction: column; align-items: flex-start; margin-bottom: 0; }
.contact-info-wrap .section-heading h2 { color: var(--color-primary-2); text-transform: uppercase; }
.contact-info-wrap .section-heading h2 span { color: var(--color-primary-3); }
.contact-info-wrap .section-heading p { color: var(--color-text-1); font-size: var(--f-size-XS); max-width: 380px; margin-bottom: 30px !important; }

/* Contact Info List */
.contact-info-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; }
.contact-info-list li { display: flex; align-items: flex-start; gap: 12px; font-family: var(--ff-base); font-size: var(--f-size-XS); font-weight: var(--fw-medium); color: var(--color-text-2); }
.contact-info-list li i { color: var(--color-primary-1); font-size: 16px; margin-top: 3px; width: 18px; text-align: center; }
.contact-info-list li a { color: var(--color-text-2); text-decoration: none; transition: var(--transition-common); }
.contact-info-list li a:hover { color: var(--color-primary-3); }

.contact-form-card { background-color: var(--color-white); border-radius: 24px; padding: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
.contact-form-card form.contact-form .row .col-12 { margin-top: 24px; }
.contact-form label { font-family: var(--ff-heading); font-weight: 500; color: var(--color-primary-2); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.contact-form .form-control, .contact-form .form-select, .form-control { background-color: #F6F6F6; border: 1px solid transparent; border-radius: 30px; padding: 12px 20px; font-family: var(--ff-base); color: var(--color-text-1); transition: var(--transition-common);height: var(--form-height); }
.contact-form textarea.form-control { border-radius: 16px; resize: none; height: 220px; }
.contact-form .form-control::placeholder { color: var(--color-text-1);font-size: 16px; }
.contact-form .form-control:focus, .contact-form .form-select:focus { background-color: var(--color-white); border-color: var(--color-primary-3); box-shadow: 0 0 0 0.25rem rgba(31, 142, 58, 0.15); outline: none; }
.contact-form .form-select { background-image: url("../images/dropdown.svg"); background-repeat: no-repeat; background-position: right 1.25rem center; background-size: 12px 12px; }

.btn-yellow.btn-full-width { width: 100%; text-transform: uppercase; padding: 14px 20px; font-weight: var(--fw-bold); font-size: 14px; border-radius: 50px; }



.contact-map-sec { width: 100%; overflow: hidden; }
.map-wrapper { width: 100%; height: 650px; position: relative; border-radius: 0; overflow: hidden;border-radius: 20px; overflow: hidden; }
.map-wrapper p { height: 100%; }
.map-wrapper iframe { width: 100%; height: 100%; border: none; display: block; }
.contact-faq{background-color: transparent;}
.contact-faq .faq-accordion .accordion-body,.contact-faq .faq-accordion .accordion-item { background-color: transparent; }
.contact-faq .accordion-button{background-color: var(--color-white);border: 1px solid #0000001A}
.accordion-button:not(.collapsed){background-color: var(--bs-accordion-active-bg);}


/* Responsive Heights for contact page (Tablets & Mobile Screens) */
@media only screen and (max-width: 1499px) {
    .inner-section > .container, .inner-section > .container .row { height: 100%; }
    .map-wrapper { width: 100%; height: 490px ; }
    /*.common-inner-bnr { height: 63vh; }*/
    .contact-montana-sec { margin-top: -115px; }
}

@media only screen and (max-width: 991px) {
    .map-wrapper { height: 450px; }
    .contact-form-card { padding: 30px 20px; margin-top: 20px; }
}

@media only screen and (max-width: 767px) {
    .map-wrapper { height: 350px; }  
    .contact-form-card { border-radius: 16px; }
}


/* ============================================================
   LOCATION DETAILS PAGE
   ============================================================ */

.dispensary-info-card h5 { font-family: var(--ff-base);  font-weight: var(--fw-semi-bold); color: var(--color-primary-3);  text-transform: uppercase; letter-spacing: 1px; display: block; margin-bottom: 6px; }
.dispensary-featured-sec .dispensary-title { font-family: var(--ff-heading);  color: var(--color-primary-2); text-transform: uppercase; line-height: 1.1; margin-bottom: 12px; }

.dispensary-info-card h2 {margin: 0 0 12px; }

/* Rating Stars */
.rating-wrap {
    margin: 0 0 15px !important;
}
.dispensary-featured-sec .stars { font-size: 13px; color: #EDB639; }
.dispensary-featured-sec .rating-text { font-size: var(--f-size-XS); color: var(--color-text-1); font-weight: var(--fw-medium);font-family: var(--ff-base); }

/* Info List */
.store-details-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.store-details-list li { display: flex; align-items: center; gap: 12px; font-size: var(--f-size-XS); color: var(--color-text-1); }
.store-details-list li i { color: var(--color-primary-2); font-size: 15px; width: 18px; text-align: center; }
.store-details-list li a { color: var(--color-text-1); text-decoration: none; transition: var(--transition-common); }
.store-details-list li a:hover { color: var(--color-primary-3); }

/* Tag Badges */
.tag-badge-group{border-top: 1px solid rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(0, 0, 0, 0.2);padding: 30px 0;}
.tag-badge-group .badge-tag { background-color: #0C30260D; color: var(--color-primary-2); font-size: 16px; font-weight: var(--fw-medium); padding: 6px 16px; border-radius: 20px; border: 1px solid #0C30261A; }

/* Action Buttons Overrides */
.action-buttons-wrap .btn-dark-green { background-color: var(--color-primary-2); color: var(--color-white); border: 1px solid var(--color-primary-2); border-radius: 30px; padding: 15px 22px; font-family: var(--ff-base); font-size: 16px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.5px; transition: var(--transition-common); }
.action-buttons-wrap .btn-dark-green:hover { background-color: var(--color-primary-3); border-color: var(--color-primary-3); color: var(--color-white); }
.action-buttons-wrap .btn-outline-dark-green { background-color: transparent; color: var(--color-primary-2); border: 1px solid var(--color-primary-2); border-radius: 30px; padding: 10px 20px; font-family: var(--ff-heading); font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.5px; transition: var(--transition-common); }
.action-buttons-wrap .btn-outline-dark-green:hover { background-color: var(--color-primary-2); color: var(--color-white); }
.store-note { font-size: 13px; }
a.btn.btn-outline span { max-height: 14px; }
a.btn.btn-outline span img {height: 18px; width: auto; }
.btn-outline:hover span { filter: brightness(0) invert(1); }


/* Right Image Wrap */
.dispensary-image-wrap { position: relative; padding: 0 0 66%; border-radius: 20px; overflow: hidden; }
.dispensary-image-wrap img { width: 100%; height: 100%; object-fit: cover;position: absolute; inset: 0; }

.about-store-sec { background-color: transparent; }
.about-store-sec .container{border-top: 1px solid rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(0, 0, 0, 0.2);}

.about-store-title { font-family: var(--ff-heading); font-size: clamp(24px, 3.5vw, 32px); font-weight: 800; color: var(--color-primary-2);  text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 20px; }
.about-store-content p { font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-text-2); line-height: 1.65; }

.store-divider { border: 0; border-top: 1px solid #E5E7E6; opacity: 1; }

.store-info-table { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; max-width: 650px; margin-left: auto; }
.store-info-table li { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid #E5E7E6; }
.store-info-table li:first-child { padding-top: 0; }
.store-info-table li:last-child { border-bottom: none; padding-bottom: 0; }
.store-info-table .info-label { font-family: var(--ff-heading); font-size: 20px; font-weight: var(--fw-medium); color: var(--color-primary-2); text-transform: uppercase; letter-spacing: 0.5px; flex: 0 0 45%; padding-right: 15px; }

.store-info-table .info-value { font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-text-2); flex: 0 0 55%; text-align: left; }





.directions-sec { position: relative; }
.directions-sec .section-heading { margin-bottom: 0; }
.directions-sec .section-heading h4{color: var(--color-primary-2);}
.directions-map-wrap { position: relative; width: 100%; height: 100%; max-height: 500px; border-radius: 16px; overflow: hidden; }
.directions-map-wrap iframe { width: 100%; height: 100%; border: 0; }

.btn-open-maps { position: absolute; top: 15px; right: 15px; background-color: var(--color-white); color: #4C84FF; font-family: var(--ff-base); font-size: 12px; font-weight: var(--fw-bold); padding: 6px 14px; border-radius: 6px; text-decoration: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); transition: var(--transition-common); display: flex; align-items: center; gap: 6px; }
.btn-open-maps:hover { background-color: var(--color-primary-2); color: var(--color-white); }

.location-quick-info { padding-left: 10px; }
.location-quick-info .address-text { font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-text-2); line-height: 1.4; }
.location-quick-info .info-block h5 { color: var(--color-primary-2); letter-spacing: 0.5px; margin-bottom: 15px; }
.location-quick-info .info-block p { font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-text-2); margin-bottom: 0; }

.communities-card-container { background-color: var(--color-white); border: 1px solid #E5E7E6; border-radius: 20px; padding: 24px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02); }
.communities-card-container .row{height: 100%;}
.community-card { background-color: var(--color-white); border: 1px solid #EAEAEA; border-radius: 12px; padding: 25px; height: 100%; display: flex; flex-direction: column; justify-content: space-between; transition: var(--transition-common); align-items: center; text-align: center; }
.community-card:hover { border-color: var(--color-primary-3); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }
.community-card h5 {  color: var(--color-primary-2);  margin-bottom: 10px; }
.community-card .time-dist { font-family: var(--ff-base); font-size: 16px; color: var(--color-text-1); display: block; margin-bottom: 12px; }
.community-card p { font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-text-1); line-height: 1.4; margin-bottom: 20px; flex-grow: 1; }
.community-card .view-route-link { font-family: var(--ff-base); font-size: 14px; font-weight: var(--fw-bold); color: var(--color-primary-2); text-decoration: underline; text-transform: uppercase; letter-spacing: 0.5px; transition: var(--transition-common); }
.community-card .view-route-link:hover { color: var(--color-primary-3); }

/* promo sec */
.promo-card { position: relative; border-radius: 20px; overflow: hidden; padding: 0 0 43%; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); }

.promo-card__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: transform 0.5s ease; }
.promo-card:hover .promo-card__bg { transform: scale(1.05); }

.promo-card__overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.8) 100%); z-index: 2; }
.promo-card__content { position: relative; z-index: 3; width: 100%; }
.promo-card__title { font-family: var(--ff-heading);  font-weight: 700; color: var(--color-white); text-transform: uppercase; line-height: 1.25; letter-spacing: 0.5px; margin-bottom: 20px; }

.promo-card .btn-yellow { display: inline-block; background-color: #F8C363; color: var(--color-primary-2); font-family: var(--ff-base); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.5px; padding: 15px 32px; border-radius: 30px; text-decoration: none; border: none; transition: var(--transition-common); }
.promo-card .btn-yellow:hover { background-color: var(--color-white); color: var(--color-primary-2); }
.promo-card .btn-yellow::after{display: none;}


.promo-card { position: relative; border-radius: 20px; overflow: hidden; padding: 0 0 72%; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); }

.promo-card__bg, .promo-card img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: transform 0.5s ease; }

.promo-card:hover .promo-card__bg { transform: scale(1.05); }
.promo-card::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.85) 100%); z-index: 2; pointer-events: none; }

.promo-card__content { position: absolute; bottom: 0; left: 0; width: 100%; padding: 24px; z-index: 3; }
.promo-card__content h3{color: var(--color-white);}


.promo-card:hover .btn-yellow { background-color: var(--color-white); color: var(--color-primary-2); }
.promo-card .btn-yellow::after { display: none; }


.shop-location-category .section-heading h3 { margin-bottom: 0; color: var(--color-primary-2); }
.shop-location-category article.category-card { border: 1px solid rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 1); }
.shop-location-category article.category-card:hover{border: 1px solid rgba(12, 48, 38, 1);box-shadow: 0px 35px 57.9px 0px rgba(0, 0, 0, 0.1);
}

/* service sec */
.services-title { font-family: var(--ff-heading); font-size: clamp(20px, 2.5vw, 24px); font-weight: 800; color: var(--color-primary-2); text-transform: uppercase; letter-spacing: 0.5px; }
.service-card { background-color: var(--color-white); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 16px; padding: 30px 15px; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transition: var(--transition-common); }
.service-card:hover { border-color: var(--color-primary-3); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05); transform: translateY(-2px); }
.service-card__icon { font-size: 28px; color: var(--color-primary-3); /* Vibrant Green Accent */ margin-bottom: 20px; display: flex; align-items: center; justify-content: center; height: 36px; }
.service-card h6 { color: var(--color-primary-2);  margin-bottom: 6px; }
.service-card__desc { font-family: var(--ff-base); font-size: var(--f-size-XS); color: var(--color-text-2); line-height: 1.3; margin-bottom: 0; }


/* DISCOVER QUALITY CANNABIS SECTION*/

.discover-sec { background-color: #F6F2EB; position: relative; overflow: hidden; }
.discover-sec::after { content: ''; position: absolute; right: 0; bottom: 0; width: 100%; height: 100%; background: linear-gradient(45.32deg, #FFFFFF 24.11%, rgba(255, 255, 255, 0) 52.77%); z-index: 1; }
.discover-sec::before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(246, 242, 235, 0.7); z-index: 2; }


.discover-sec .container { position: relative; z-index: 2; }
.discover-img-wrap { position: relative; width: 100%; overflow: hidden; border-radius: 60px 0 60px 0; /* Distinct top-left & bottom-right curvature */ }
.discover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.education__media img { display: block; width: 100%; height: 100%; aspect-ratio: 1/0.8; object-fit: cover; }
.discover-content h2 { font-family: var(--ff-heading); color: var(--color-primary-2); line-height: 1.15; text-transform: uppercase; margin-bottom: 16px; }
.discover-content { max-width: 659px; margin-left: auto; }
.discover-content p { font-family: var(--ff-base);  color: var(--color-text-1,); line-height: 1.6; }

.feature-item { display: flex; align-items: center; gap: 10px; }
.feature-item i { font-size: 18px; color: var(--color-primary-3);  flex-shrink: 0; }
.feature-item span { font-family: var(--ff-base); font-weight: 500; color: var(--color-text-1); }


.local-community-content ul {list-style: disc; padding-left: 20px; margin: 0 0 25px; }



a.btn-dark span { max-width: 16px; margin-right: 5px; }
.discover-content .btn-dark::after{display: none;}
.discover-content .btn-dark:hover span img { filter: brightness(0); }



/* location testimonial sec */
.location-detail-testi-sec .testimonial-card { background: var(--color-white); border: 1px solid rgba(0, 0, 0, 0.1); }
.location-detail-testi-sec { background-color: transparent; }
.location-detail-testi-btn { display: flex; align-items: center; justify-content: center; margin-top: 50px; }
.location-detail-testi-btn a.btn-dark:after{display: none;}
.location-faq .section-heading { max-width: 982px; }
.location-faq.faq::before,.location-faq.faq::after { display: none; }

.store-card .btn-dark::after{display: none;}

.single-location .faq { margin-top: 55px;}


/* Responsive Heights for location details page (Tablets & Mobile Screens) */

@media only screen and (max-width: 1599px) {
    .community-card { padding: 30px; }
}

@media only screen and (max-width: 1199px) {
    .community-card { padding: 15px; }
    .directions-map-wrap { aspect-ratio: 16/9; }

}

@media only screen and (max-width: 991px) {
.container, .container-md, .container-sm { max-width: 95%; }
.action-buttons-wrap { flex-direction: column; align-items: stretch; }
.action-buttons-wrap .btn { width: 100%; text-align: center; }
.location-quick-info { padding-left: 0; gap: 16px; }

.promo-card { min-height: 320px; padding: 20px; }
.discover-img-wrap { border-radius: 40px 0 40px 0; }
.store-info-table { max-width: inherit; }
.discover-content { max-width: inherit; margin-left: auto; margin-top: 30px; }
.discover-sec .section-heading { align-items: flex-start; margin-bottom: 10px; }
}

@media only screen and (max-width: 767px) {
.store-info-table li { flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 0; }
.store-info-table .info-label, .store-info-table .info-value { flex: 0 0 100%; width: 100%; }
.communities-card-container { padding: 16px; margin-top: 30px; }
.community-card { padding: 16px 12px; }
.community-card h3 { font-size: 12px; }
.promo-card { height: 280px; padding: 20px; }
 .service-card { padding: 20px 10px; }
.service-card__icon { font-size: 24px; margin-bottom: 14px; }
.service-card__title { font-size: 12px; }
.discover-img-wrap { border-radius: 30px 0 30px 0; }
.communities-card-container .row .col-6 { width: 100%; }
}


/* ============================================================
   EDUCATION PAGE — CANNABIS BASICS
   ============================================================ */

/* ==##==##== cannabis basics ==##==##== */

.cannabis-basics__content { text-align: center; }
.cannabis-basics__content .section-heading, .cannabis-basics__panel .section-heading {margin-bottom: 20px;}
.cannabis-basics__divider { display: block; width: 102.5px; height: 2px; margin: 0 auto 30px; background-color: var(--color-primary-1); }
.cannabis-basics__content p {color: var(--color-text-2); width: 100%;max-width: 785px; margin-inline: auto;}
.cannabis-basics__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 15px; margin-bottom: 30px; }
.cannabis-basics__actions > a { flex-shrink: 0; }
.cannabis-basics__badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.cannabis-basics__badges li { display: inline-flex; flex-shrink: 0; align-items: center; gap: 10px; padding: 12px 22px; border-radius: 50px; background-color: #FAF8F4; border: 1px solid rgba(0, 0, 0, 0.1); font-weight: var(--fw-bold); font-size: var(--f-size-XS); text-transform: uppercase; color: var(--color-primary-2); }
.cannabis-basics__badges li img {height: 18px; }

.cannabis-basics__panel { background-color: var(--color-white); border-radius: 20px; box-shadow: 0px 35px 57.9px 0px rgba(0, 0, 0, 0.1); padding: 20px; }
.cannabis-basics__divider--sm { width: 60px; }
.cannabis-basics__row { display: flex; flex-wrap: wrap; margin: -10px; }
.cannabis-basics__row li { width: 33.33%; padding: 6px; }
.cannabis-basics__card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; padding: 22px 12px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 20px; text-align: center; transition: var(--transition-common); }
.cannabis-basics__card-icon { width: 40px; height: 40px; }
.cannabis-basics__card span { color: var(--color-primary-2); }
.cannabis-basics__card-arrow { width: 16px; }
.cannabis-basics__card:hover { background-color: #FDF7EF; border: 1px solid var(--color-primary-1); box-shadow: 0px 20.66px 34.18px 0px #FFD37033; }

.format-title { font-size: 32px; font-weight: 800; color: #0f2c22; text-transform: uppercase; }
.format-title span { color: #3b8a5d; }
.format-subtitle { max-width: 720px; font-size: 14px; color: #555555; line-height: 1.6; }

.format-card { background: #ffffff; border-radius: 20px; padding: 18px; border: 2px solid rgba(0, 0, 0, 0.1); text-align: center; display: flex; flex-direction: column; align-items: center; height: 100%; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02); transition: var(--transition-common); }
.format-card:hover { background: #fdfbf4; border: 2px solid #fbd278; box-shadow: 0px 35px 57.9px 0px rgba(255, 211, 112, 0.2); }
.format-card:hover .btn-dark.format-card__btn { background-color: var(--color-primary-1);color: var(--color-primary-2); }
.format-card:hover .btn-dark.format-card__btn::after{filter: brightness(0);}

.format-card__badge { background: rgba(12, 48, 38, 0.05); padding: 6px 14px; border-radius: 20px; font-weight: var(--fw-semi-bold); color: var(--color-primary-2); margin-bottom: 20px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(12, 48, 38, 0.1); font-size: 14px; }
.format-card__badge img {height: 18px; }

.format-card__icon { width: 100px; height: 100px; border-radius: 50%; background-color: rgba(12, 48, 38, 0.05); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; border: 1px solid rgba(12, 48, 38, 0.1); }
.format-card__icon img { max-height: 55px; object-fit: contain; }
.format-card__title { font-size: 16px; font-weight: 800; color: #0f2c22; margin-bottom: 8px; text-transform: uppercase; }
.format-card__desc { color: var(--color-text-1); margin-bottom: 16px; line-height: 1.4; flex-grow: 1; }

.format-card__tag { background: #0C30260D; padding: 6px 12px; border-radius: 12px; font-size: 14px; color: var(--color-primary-2); font-weight: 600; margin-bottom: 20px; width: 100%; border: 0.76px solid #0C30261A; backdrop-filter: blur(5.3897809982299805px); }
.next-link { font-size: 13px; font-weight: 800; color: #0f2c22; text-decoration: underline; }

.format-card h4{color: var(--color-primary-2);}
.btn-dark.format-card__btn { width: 100%; }


/* Container Wrapper */
.thc-vs-cbd__grid-wrapper { position: relative; }
.thc-card { position: relative; z-index: 1; background: #ffffff; border-radius: 20px; padding: 36px 24px; border: 2px solid #eaeaea; text-align: center; display: flex; flex-direction: column; align-items: center; height: 100%; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03); transition: all 0.3s ease; } 
.thc-card h6 { font-size: 18px; font-weight: 500; font-family: var(--ff-base); text-transform: capitalize; color: var(--color-primary-2); } .thc-card__icon { width: 130px; height: 130px; border-radius: 50%; background-color: #f2f5f3; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }

.thc-card__icon img { max-height: 80px; object-fit: contain; }
.thc-card h3 { color: var(--color-primary-2); }

.thc-card__badge { background: rgba(12, 48, 38, 0.05); padding: 5px 14px; border-radius: 20px; font-size: 16px; font-weight: 600; color: var(--color-primary-2); margin-bottom: 16px; display: inline-flex; align-items: center; gap: 6px; }
.thc-card__badge img{max-height: 20px;}
.thc-card p { line-height: 1.5; margin-bottom: 24px; flex-grow: 1; display: flex; align-items: center; justify-content: center; }
.thc-card a.btn-dark { width: 100%; }
.thc-card:hover { background: #fdfbf4; border-color: #fbd278; box-shadow: 0 10px 25px rgba(251, 210, 120, 0.25); }
.thc-card:hover a.btn-dark { background-color: var(--color-primary-1);color: var(--color-primary-2); }
.thc-card:hover a.btn-dark::after{filter: brightness(0);}



/* ============================================================
   DESKTOP VIEW ****MIN WIDTH**** (>= 992px)
   ============================================================ */
@media only screen and (min-width: 992px) {
    .thc-vs-cbd__double-line { display: block; position: absolute; top: 50%; left: 8%; right: 8%; height: 6px; border-top: 2px solid #5a7369; border-bottom: 2px solid #5a7369; z-index: 0; transform: translateY(-50%); pointer-events: none; }
    .thc-vs-cbd__grid-wrapper .row > div:nth-child(2) { transform: scale(0.8); }
    .thc-vs-cbd__grid-wrapper .row > div:nth-child(2) .thc-card { padding: 24px 18px; }
}

@media only screen and (max-width: 991px) {
    .thc-card__badge { font-size: 12px; margin-bottom: 5px; gap: 6px; }
    .thc-card a.btn-dark { width: 100%; padding: 9px; font-size: 12px; }
}

@media only screen and (max-width: 767px) {
    
   .splide__track { padding-left: 4% !important; padding-right: 4% !important; }
   .thc-vs-cbd .splide__track { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ==##==##== cannabis basics ==##==##== */


/* ============================================================
   Start Low, Go Slow sec start
   ============================================================ */
.dosing-steps { position: relative; }

/* Timeline Container Wrapper */
.dosing-steps__timeline { position: relative; margin: 0 auto; }
.dosing-step-item { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; }
.dosing-step-item__icon-wrap { position: relative; margin-bottom: 16px; }

.dosing-step-item__badge { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); width: 34px; height: 34px; background-color: #0f2c22; color: #ffffff; border-radius: 50%; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; z-index: 3; }
.dosing-step-item__icon { width: 100px; height: 100px; border-radius: 50%; background-color: #ffffff; display: flex; align-items: center; justify-content: center; padding: 24px; border: 2px solid rgba(99, 99, 99, 0.2); overflow: hidden; }
.dosing-step-item__icon--wide { min-width: 160px; border-radius: 50px; width: 100%; }
.dosing-step-item__icon img { max-height: 50px; object-fit: contain; }
.dosing-step-item h3 { font-size: 14px; font-weight: 800; color: #0f2c22; text-transform: uppercase; margin: 0; max-width: 150px; line-height: 1.3; }






@media only screen and (min-width: 992px) {
    .dosing-steps__wrapper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; align-items: start; }
    .dosing-steps__line { position: absolute; top: 45px; left: 12.5%; right: 12.5%; height: 2px; background-color: #f7d373; z-index: 1; }
    .dosing-steps__wrapper .dosing-step-item:not(:last-child)::after { content: ''; position: absolute; top: 45px; right: -6px; transform: translateY(-50%); width: 12px; height: 12px; border: 2px solid #f7d373; background-color: #ffffff; border-radius: 50%; z-index: 2; }
}


@media only screen and (max-width: 1440px){
    .btn-dark.format-card__btn { font-size: 12px; padding: 15px; }
   .format-card__icon { width: 70px; height: 70px; }
    .format-card__icon img { max-height: 37px; object-fit: contain; }
    .thc-card__icon { width: 90px; height: 90px; }
    .thc-card__icon img { max-height: 52px; object-fit: contain; }

}
@media only screen and (max-width: 991px) {
    
    .dosing-steps__wrapper { display: flex; flex-direction: column; align-items: center; gap: 91px; }
    .dosing-steps__line { display: none !important; }
    .dosing-steps__wrapper .dosing-step-item:not(:last-child)::before { content: ''; position: absolute; bottom: -60px; left: 50%; transform: translateX(-50%); width: 2px; height: 60px; background-color: #f7d373; z-index: 1; }
    .dosing-steps__wrapper .dosing-step-item:not(:last-child)::after { content: ''; position: absolute; bottom: -36px; left: 50%; transform: translateX(-50%); width: 12px; height: 12px; border: 2px solid #f7d373; background-color: #ffffff; border-radius: 50%; z-index: 2; }

    .dosing-step-item__icon { width: 80px; height: 80px; }
}

/* ============================================================
   Start Low, Go Slow sec end
   ============================================================ */

/* ============================================================
   Beginner Guidance by Product sec  start
 ============================================================ */
.beginner-guidance { position: relative; }
.beginner-guidance__header h3 {  color: var(--color-primary-3); text-transform: uppercase; display: inline-flex; align-items: center; gap: 16px; margin: 0; }
.beginner-guidance__header h3::before, .beginner-guidance__header h3::after { content: ''; width: 40px; height: 2px; background-color: var(--color-primary-1); display: inline-block; }
.guidance-card { background: #ffffff; border-radius: 20px; padding: 16px; border: 2px solid rgba(0, 0, 0, 0.1) ;text-align: center; display: flex; flex-direction: column; align-items: center; height: 100%; position: relative; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02); transition: all 0.3s ease; }

.guidance-card:hover { background-color: rgba(253, 247, 239, 1);border: 2px solid rgba(255, 211, 112, 1); box-shadow: 0px 35px 57.9px 0px rgba(255, 211, 112, 0.2);}
.guidance-card:hover .btn-dark { background-color: var(--color-primary-1);color: var(--color-primary-2); }
.guidance-card:hover .btn-dark::after{filter: brightness(0);}


/* Icon Wrap & Small Badge */
.guidance-card__icon-wrap { position: relative; margin-bottom: 24px; }
.guidance-card__icon { width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; }
.guidance-card__icon img { max-width: 100%; max-height: 65px; object-fit: contain; }



/* Card Typography */
.guidance-card h4 { color: var(--color-primary-2); }
.guidance-card p { line-height: 1.5; margin-bottom: 20px; flex-grow: 1; display: flex; align-items: center;color: var(--color-text-1); }
.guidance-card__alert { background: #ffffff;border: 1px solid rgba(12, 48, 38, 0.1); border-radius: 15px;font-weight: var(--fw-semi-bold); padding: 10px 14px; font-size: 16px; color: var(--color-primary-2); display: flex; align-items: center; gap: 10px; text-align: left; margin-bottom: 20px; width: 100%; }
.guidance-card__alert i { font-size: 16px; color: #0f2c22; }

.guidance-card__btn { width: 100%; padding: 12px 16px; border-radius: 30px; font-size: 11px; font-weight: 800; text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; background-color: #0f2c22; color: #ffffff; transition: all 0.3s ease; margin-top: auto; }

.guidance-card .btn-dark { width: 100%; }
.beginner-guidance__next a { font-size: 12px; font-weight: 800; color: #0f2c22; text-decoration: underline; text-underline-offset: 4px; }

/* Mobile Pagination Dots Styling */
.beginner-guidance__dots { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 20px; }
.beginner-guidance__dot { width: 10px; height: 6px; background-color: #e1e7e4; border-radius: 10px; transition: all 0.3s ease; cursor: pointer; }

.beginner-guidance__dot.active { width: 24px; background-color: #0f2c22; }

/* Hide dots on Desktop */
@media only screen and (min-width: 992px) {
    .beginner-guidance__dots {
        display: none !important;
    }
}

@media only screen and (max-width: 1499px) {
    
.guidance-card__icon img { max-width: 100%; max-height: 64px; object-fit: contain; }
.guidance-card__alert { font-size: 12px; }
.guidance-card__alert img { max-height: 22px; }
.guidance-card .btn-dark { width: 100%; font-size: 12px; padding: 15px; }
}

@media only screen and (max-width: 991px) {
    .guidance-card__icon-wrap { margin-bottom: 11px; }
    .beginner-guidance .container { overflow: visible; }
    .beginner-guidance__grid-wrapper .row { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important; -webkit-overflow-scrolling: touch !important; padding-left: 10% !important; padding-right: 10% !important; padding-bottom: 20px !important; margin-left: -15px !important; margin-right: -15px !important; }
    .beginner-guidance__grid-wrapper .row::-webkit-scrollbar { display: none !important; }
    .beginner-guidance__grid-wrapper .row { -ms-overflow-style: none !important; scrollbar-width: none !important; }
    .beginner-guidance__grid-wrapper .row > div { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; scroll-snap-align: center !important; padding-left: 0 !important; padding-right: 0 !important; }

    
}

@media only screen and (max-width: 767px) {
.beginner-guidance__grid-wrapper .row { padding-left: 4% !important; padding-right: 4% !important; padding-bottom: 20px !important; margin-left: -10px !important; margin-right: -10px !important; }
.beginner-guidance__header h3::before, .beginner-guidance__header h3::after { display: none; }
}

/* ============================================================
   Beginner Guidance by Product sec  end
 ============================================================ */


/* ============================================================
   CANNAVASS TAKE TO WORK SECTION (DESKTOP + MOBILE ACCORDION) start
   ============================================================ */

.timing-guide__list { display: flex; flex-direction: column; gap: 16px; max-width: 1400px; margin: 0 auto; background: #ffffff; padding: 30px; border-radius: 20px; box-sizing: border-box; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03); }

/* ============================================================
   PROGRESS BAR COMPONENT
   ============================================================ */
.timing-card__progress-wrap { width: 100%; max-width: 160px; /* Reduced from 200px to keep button close */ }
.progress-box { width: 100%; display: flex; flex-direction: column; gap: 6px; }
.progress-bar-track { width: 100%; height: 10px; background-color: #e6ece9; border-radius: 10px; position: relative; overflow: hidden; }
.progress-bar-fill { height: 100%; width: var(--value, 0%); min-width: 6px; background-color: #0f2c22; border-radius: 10px; transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.progress-box__labels { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 0 2px; }
.progress-box__label { font-size: 15px; font-weight: 500; }

.timing-guide__footer { max-width: 520px; margin: 20px auto 0; text-align: center; line-height: 1.4; }
.timing-guide__next { font-size: 12px; font-weight: 800; color: #0f2c22; text-decoration: underline; text-underline-offset: 4px; display: inline-block; margin-top: 12px; }
.timing-guide .timing-guide__list { background: #ffffff; border-radius: 24px; padding: 25px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04); }
.timing-guide .timing-card { background: #ffffff; border: 2px solid #0000001A; border-radius: 16px; transition: all 0.25s ease; width: 100%; box-sizing: border-box;        overflow-x: auto; white-space: nowrap; }
.timing-card:hover a.btn-dark { background-color: var(--color-primary-1); color: var(--color-primary-2); }
.timing-card:hover .btn-dark::after{filter: brightness(0);}
.timing-guide .timing-card__toggle { display: none !important; }

/* Header Label Styling */
.timing-guide .timing-card__header { margin: 0; width: 100%; }
.timing-guide .timing-card__brand { display: flex; align-items: center; gap: 16px; }
.timing-guide .timing-card__icon { width: 90px; height: 90px; background: #f4f7f5; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.timing-guide .timing-card__icon img { width: 100%; max-height: 34px; object-fit: contain; }
.timing-guide .timing-card__title-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.timing-guide .timing-card__brand h4 { color: var(--color-primary-2); margin: 0;  letter-spacing: 0.5px;white-space: normal; }
.timing-guide .desktop-only-badge { background: var(--color-primary-1); font-size: 12px; font-weight: 500; padding: 2px 10px; border-radius: 25px; display: inline-flex; align-items: center; gap: 5px; color: var(--color-primary-2); }
 .timing-guide .timing-card__stats { display: flex; align-items: center; gap: 20px; }
.timing-guide .stat-item { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--color-primary-2); white-space: nowrap; }
.timing-guide .stat-item i { font-size: 18px; color: var(--color-primary-2); }

/* Progress Bar */
.timing-guide .timing-card__progress-wrap { width: 100%; max-width: 160px; }
.timing-guide .progress-box { display: flex; flex-direction: column; gap: 6px; }
.timing-guide .progress-bar-track { width: 100%; height: 13px; background-color: #e3ede8; border-radius: 10px; overflow: hidden; }
.timing-guide .progress-bar-fill { height: 100%; width: var(--value, 0%); background-color: #0c3026; border-radius: 10px; }
.timing-guide .progress-box__labels { display: flex; justify-content: space-between; width: 100%; font-size: 10px; font-weight: 700; color: #888888; }
.timing-guide .timing-card__varies-pill { border: 1px dashed #cccccc; padding: 8px 16px; border-radius: 20px; font-size: 11px; font-weight: 800; color: var(--color-primary-2); text-align: center; white-space: nowrap; }
.timing-guide .timing-card:hover { background-color: #FDF7EF; border: 2px solid #FFD370; box-shadow: 0px 35px 57.9px 0px #FFD37033; }

@media only screen and (min-width: 992px) {

.timing-guide .timing-card { display: grid !important; grid-template-columns: 230px 155px 130px 200px 1fr !important; align-items: center !important; padding: 16px 24px !important; gap: 16px !important; box-sizing: border-box !important; }
.timing-guide .timing-card__header, .timing-guide .timing-card__stats, .timing-guide .timing-card__body { display: contents !important; }
.timing-guide .timing-card__brand { grid-column: 1 !important; border-right: 1px solid #e2e8e5; padding-right: 16px; display: flex; align-items: center; gap: 16px; }
.timing-guide .timing-card__stats .stat-item:nth-child(1) { grid-column: 2 !important; justify-self: start !important; }
.timing-guide .timing-card__stats .stat-item:nth-child(2) { grid-column: 3 !important; justify-self: start !important; }
.timing-guide .timing-card__progress-wrap, .timing-guide .timing-card__varies-pill { grid-column: 4 !important; width: 100%; max-width: 100%; justify-self: start !important; }

.timing-guide .timing-card__action { grid-column: 5 !important; justify-self: end !important; /* Pins button neatly to the right */width: 100%; }
 .timing-guide .btn-dark { min-width: 210px; display: inline-flex; justify-content: space-between; align-items: center; width: 100%; }
.timing-guide .timing-card__arrow, .timing-guide .timing-card__desc, .timing-guide .timing-card__alert { display: none !important; }
}

@media only screen and (max-width: 991px) {
.timing-guide .timing-card__icon { width: 45px; height: 45px; }
.timing-guide .timing-card__icon img { width: 100%; max-height: 16px; object-fit: contain; }
.timing-guide .timing-guide__list { padding: 16px; }
.timing-guide .timing-card__brand h4 { font-size: 14px; }
.timing-guide .stat-item { font-size: 10px; }
.timing-guide .timing-card { display: block !important; padding: 0 !important; }
.timing-guide .timing-card__header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 16px !important; cursor: pointer; }
.timing-guide .timing-card__brand { border-right: none; padding-right: 0; }
.timing-guide .desktop-only-badge { display: none !important; }
.timing-guide .timing-card__stats { margin-left: auto; margin-right: 12px; gap: 10px; }
.timing-guide .timing-card__arrow { display: flex !important; font-size: 14px; color: #0c3026; transition: transform 0.3s ease; }
.timing-guide .timing-card__body { max-height: 0; overflow: hidden; opacity: 0; transition: all 0.3s ease; display: flex; flex-direction: column; gap: 12px; padding: 0 16px; }
.timing-guide .timing-card__progress-wrap { max-width: 100%; }
.timing-guide .btn-dark { width: 100%; }
.timing-guide .timing-card__toggle:checked ~ .timing-card__body { max-height: 400px; opacity: 1; padding: 12px 16px 20px; border-top: 1px solid #f0f0f0; }
.timing-guide .timing-card__toggle:checked ~ .timing-card__header .timing-card__arrow { transform: rotate(180deg); }
}


@media only screen and (max-width: 575px) {
.timing-guide .timing-card__header {
    flex-wrap: wrap;
}

.timing-guide .timing-card__stats {
    margin-left: 0;
    margin-top: 5px;
}

}



/* ============================================================
   CANNAVASS TAKE TO WORK SECTION (DESKTOP + MOBILE ACCORDION) start
   ============================================================ */


 
/* ============================================================
   CANNABINOIDS SECTION BASE STYLES
   ============================================================ */



.cannabinoids-flow-wrap { position: relative; margin: 0 auto; }
.cannabinoids-list { list-style: none; padding: 0; margin: 0; }

.cannabinoid-card { background: #ffffff; border-radius: 16px; border: 2px solid rgba(0, 0, 0, 0.1); padding: 22px; text-align: center; display: flex; flex-direction: column; align-items: center; height: 100%; position: relative; z-index: 2; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02); transition: all 0.3s ease; max-width: 350px; margin: 0 auto; }

.cannabinoid-card:hover { background-color: rgba(253, 247, 239, 1);border: 2px solid rgba(255, 211, 112, 1); box-shadow: 0px 35px 57.9px 0px rgba(255, 211, 112, 0.2);}
.cannabinoid-card:hover .btn-dark { background-color: var(--color-primary-1);color: var(--color-primary-2); }
.cannabinoid-card:hover .btn-dark::after{filter: brightness(0);}

.cannabinoid-card__icon { width: 130px; height: 130px; background: rgba(12, 48, 38, 0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 14px; margin-bottom: 16px; border: 1px solid rgba(12, 48, 38, 0.1); }
.cannabinoid-card__icon img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cannabinoid-card h3 { color: var(--color-primary-2); margin-bottom: 10px; }
.cannabinoid-card__badge { background: rgba(12, 48, 38, 0.05); font-size: 14px; font-weight: 600; color: #123026; padding: 6px 14px; border-radius: 20px; margin-bottom: 12px; display: inline-block; border: 1px solid rgba(12, 48, 38, 0.1); backdrop-filter: blur(7.099999904632568px); }
.cannabinoid-card__divider { width: 28px; height: 2px; background-color: #fbd278; margin-bottom: 14px; }

.cannabinoid-card a.btn-dark {font-size: 12px; }

.cannabinoids-next-link { font-size: 12px; font-weight: 800; color: #123026; text-decoration: underline; text-underline-offset: 4px; display: inline-block; }


@media only screen and (min-width: 992px) {
    .cannabinoids-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; position: relative; }
    .cannabinoids-list::after { position: absolute; content: ""; background-image: url(../images/u-back.png); background-repeat: no-repeat; width: 859px; height: 563px; top: 21%; right: 50%; transform: translateX(-50%); left: 50%; margin: 0 auto; background-size: 857px; }
    .cannabinoid-item { flex: 0 0 calc(25% - 18px); max-width: calc(25% - 18px); }
    .item-thcv { flex: 0 0 calc(25% - 18px); max-width: calc(25% - 18px); margin-top: 40px; }
    .cannabinoid-item{position: relative;}
}


@media only screen and (max-width: 1799px) {

    .cannabinoids-list::after { width: 709px; background-size: 712px; } 
    .cannabinoid-card .btn-dark { padding: 20px; font-size: 14px; }
    .cannabinoid-card__icon,.terpene-card__icon-wrap , .guide-card__icon{ width: 80px; height: 80px; }
}




@media only screen and (max-width: 1499px) {

    .cannabinoids-list::after { width: 623px; background-size: 620px; top: 24%; }
}

@media only screen and (max-width: 1199px) {

    .cannabinoid-card__badge { font-size: 11px; }
    .cannabinoids-list::after { width: 515px; background-size: 516px; }
}

@media only screen and (max-width: 991px) {
    .cannabinoids-list { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding-bottom: 20px; scrollbar-width: none; }
    .cannabinoids-list::-webkit-scrollbar { display: none; }
    .cannabinoid-item { flex: 0 0 100%; max-width: 100%; scroll-snap-align: center; }
    .cannabinoid-card { max-width: inherit; }

    .cannabinoids-list { display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important; -webkit-overflow-scrolling: touch !important; gap: 16px !important; margin: 0 !important; list-style: none !important;flex-direction: column; }
    .cannabinoids-list::-webkit-scrollbar { display: none !important; }
    .cannabinoids-list { -ms-overflow-style: none !important; scrollbar-width: none !important; }
    .cannabinoids-list > li { flex: 0 0 85% !important; max-width: 85% !important; scroll-snap-align: center !important; box-sizing: border-box !important; }
  .cannabinoids-wrap::after { content: ''; display: block; width: 22px; height: 6px; background: #0f2c22; border-radius: 10px; margin: 15px auto 0 auto; box-shadow: -14px 0 0 0 #d1d5d3, 14px 0 0 0 #d1d5d3; }
  .cannabinoids-list .splide__track { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ============================================================
   CANNABINOIDS SECTION BASE STYLES
   ============================================================ */



/* ============================================================
   TERPENES SECTION STYLES
   ============================================================ */


.terpenes-list { list-style: none; padding: 0; margin: 0; }

.terpene-card { background: #ffffff; border: 2px solid rgba(0, 0, 0, 0.1); border-radius: 16px; padding: 24px 20px; height: 100%; display: flex;  gap: 16px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02); transition: transform 0.3s ease, box-shadow 0.3s ease; flex-direction: column; transition: var(--transition-common);}

.terpene-card:hover { background: rgba(253, 247, 239, 1); border: 2px solid rgba(255, 211, 112, 1); box-shadow: 0px 35px 57.9px 0px rgba(255, 211, 112, 0.2); }
.terpene-card__icon-wrap { width: 100px; height: 100px; min-width: 64px; background-color: rgba(12, 48, 38, 0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center;  border: 1px solid rgba(12, 48, 38, 0.1); }
.terpene-card__icon-wrap img { max-width: 100%; max-height: 45px; object-fit: contain; }
.terpene-card__content { flex-grow: 1; width: calc(100% - 130px); }
.terpene-card__content h4 { color: var(--color-primary-2); margin-bottom: 15px; letter-spacing: 0.5px; }
.terpene-card__content p { margin-bottom: 8px; line-height: 1.4; max-width: 217px; }
.terpene-card__divider { width: 24px; height: 2px; background-color: #fbd278; margin-bottom: 10px; }
.terpene-card__badge { display: inline-flex; align-items: center; gap: 8px; background-color: rgba(12, 48, 38, 0.05); font-size: 16px; font-weight: 700; color: var(--color-primary-2); padding: 15px 30px; border-radius: 40px; border: 1px solid rgba(12, 48, 38, 0.1); width: max-content; margin: 20px auto; }
span.terpene-card__badge img { width: 19px; }
.terpene-card-innerwrap { display: flex; align-items: center; gap: 25px; }

.terpenes-footer p { max-width: 640px; color: var(--color-text-2); line-height: 1.5; text-align: center; margin: 0 auto; }


.terpenes-list { scroll-behavior: smooth; }
.terpenes-slider-dots .dot { width: 14px; height: 4px; background-color: #d1dad5; border-radius: 2px; display: inline-block; cursor: pointer; transition: all 0.3s ease; }
.terpenes-slider-dots .dot.active { width: 28px; background-color: #0f2c22; }




/* ============================================================
   DESKTOP VIEW (>= 992px) - 3 TOP + 2 CENTERED BOTTOM
   ============================================================ */
@media only screen and (min-width: 992px) {
    .terpenes-title { font-size: 34px; }
    .terpenes-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px;  margin: 0 auto; }

    .terpene-item { flex: 0 0 calc(33.333% - 16px); max-width: calc(33.333% - 16px); }
    .item-linalool, .item-caryophyllene { flex: 0 0 calc(33.333% - 16px); max-width: calc(33.333% - 16px); }
}

/* ============================================================
   MOBILE VIEW (<= 991px) - HORIZONTAL SNAP SLIDER & CARDS
   ============================================================ */
@media only screen and (max-width: 1499px) {

.terpene-card__icon-wrap { width: 85px; height: 85px; min-width: 64px; background-color: rgba(12, 48, 38, 0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center;  border: 1px solid rgba(12, 48, 38, 0.1); }
.terpene-card__icon-wrap img { max-width: 100%; max-height: 68px; object-fit: contain; }
.terpene-card__content { flex-grow: 1; width: calc(100% - 85px); }

}
@media only screen and (max-width: 991px) {
    .terpene-card-innerwrap { flex-direction: column; text-align: center; }
    .terpene-card__content p { margin-bottom: 8px; line-height: 1.4; max-width: 100%; }
    .terpenes-list { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px;  scrollbar-width: none; /* Hide scrollbar for Firefox */ }
    .terpenes-list::-webkit-scrollbar { display: none; /* Hide scrollbar for Chrome/Safari */ }
    .terpene-item { flex: 0 0 100%; max-width: 100%; scroll-snap-align: center; }
    .terpene-card { flex-direction: column; text-align: center; padding: 28px 20px 24px; }
    .terpene-card__divider { margin: 0 auto 10px; }
    .terpenes-slider-dots .dot { width: 16px; height: 4px; background-color: #d1dad5; border-radius: 2px; display: inline-block; }
    .terpenes-slider-dots .dot.active { width: 28px; background-color: #0f2c22; }
    .terpene-card__badge { margin: 0px auto; }
}


 /* ============================================================
   TERPENES SECTION STYLES
   ============================================================ */

/* ============================================================
   START GUIDE SECTION BASE STYLES
   ============================================================ */




/* Typography */


/* --- Base Card Styles --- */
.guide-card { background: #ffffff; border: 2px solid rgba(0, 0, 0, 0.1); border-radius: 16px; padding: 24px; height: 100%; display: flex; align-items: flex-start; gap: 20px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02); flex-direction: column; }

.guide-card:hover { background-color: rgba(253, 247, 239, 1);border: 2px solid rgba(255, 211, 112, 1); box-shadow: 0px 35px 57.9px 0px rgba(255, 211, 112, 0.2);}
.guide-card:hover .btn-dark { background-color: var(--color-primary-1);color: var(--color-primary-2); }
.guide-card:hover .btn-dark::after{filter: brightness(0);}


.guide-card-inner { display: flex; align-items: center; gap: 25px; }
.guide-card__icon { width: 100px; height: 100px;  background: rgba(12, 48, 38, 0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 14px; border: 1px solid rgba(12, 48, 38, 0.1); overflow: hidden; }
.guide-card__icon img { max-width: 100%; max-height: 38px; }

.guide-card__body { display: flex; flex-direction: column; flex-grow: 1;  width: calc(100% - 130px); }
.guide-card__body h4, .guide-card__body-full h4 { margin-bottom: 15px; color: var(--color-primary-2); }
/* Badges */
.guide-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.badge-tag { background-color: rgba(12, 48, 38, 0.05); font-size: 16px; font-weight: 600; color: var(--color-primary-2); padding: 5px 15px; border-radius: 30px; border: 1px solid rgba(12, 48, 38, 0.1); backdrop-filter: blur(7.099999904632568px); }


.guide-card--fullwidth { align-items: center; background: #f4f6f5; border: 2px solid #e2e8e4; display: flex; flex-direction: row;justify-content: space-between; }
.guide-card__body-full { display: flex; align-items: center; justify-content: space-between; width: calc(100% - 130px); gap: 20px; }
.next-section-link { font-size: 12px; font-weight: 800; color: #0f2c22; text-decoration: underline; text-underline-offset: 4px; }

.guide-card-btn, .guide-card-btn a { width: 100%; margin-top: auto; justify-content: space-between; }
.guide-card--fullwidth .guide-card-btn, .guide-card--fullwidth .guide-card-btn a { width: max-content; margin-top: inherit; }

.start-guide-section .row { max-width: 1328px; margin: 0 auto; }
.start-guide-slider-wrap .row .col-lg-6.card-slide-item { margin-bottom: 25px; }
/* ============================================================
   MOBILE SPECIFIC ADJUSTMENTS (<= 991px) - FLEX SLIDER
   ============================================================ */
@media only screen and (max-width: 991px) {
    .btn-dark, .btn-yellow, .btn-outline { padding: 15px; }
    /* Turn bootstrap row into flex track for upper 4 cards */
    .row-cards-track { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 10px; margin-right: -12px; margin-left: -12px; scrollbar-width: none; }
    .row-cards-track::-webkit-scrollbar { display: none; }
    .card-slide-item { flex: 0 0 85vw !important; max-width: 310px !important; scroll-snap-align: center; }
    .guide-card { flex-direction: column; text-align: center; align-items: center; padding:15px;margin: 0 4px; }
    .guide-card__icon { width: 75px; height: 75px; padding: 7px; }
    .guide-card-inner { flex-direction: column; }
    .guide-card__tags { justify-content: center; }
    .btn-guide { width: 100%; justify-content: center; }
    .guide-card--fullwidth { flex-direction: column; text-align: center; padding: 24px; }
    .guide-card__body-full { flex-direction: column; text-align: center;width: 100%; }
    .slider-dots .dot { width: 14px; height: 4px; background-color: #d1dad5; border-radius: 2px; cursor: pointer; transition: all 0.3s ease; }
    .slider-dots .dot.active { width: 28px; background-color: #0f2c22; }
    .guide-card__body { width: 100%; }
    .guide-card--fullwidth .guide-card-btn, .guide-card--fullwidth .guide-card-btn a { width: auto; line-height: 1.2; }
}
@media only screen and (max-width: 767px){
    .start-guide-section .row.mt-3.mt-lg-4 .col-12 {
        padding: 0;
    }
    .badge-tag { font-size: 14px; }

}

/* ============================================================
   SINGLE MAIN FAQ CONTAINER (Figma Design 1:1)
   ============================================================ */

/* Single Outer White Card Wrapping All Categories */
.faq-main-wrapper { background: #ffffff; border-radius: 20px; padding: 32px 28px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02); border: 1px solid rgba(0, 0, 0, 0.1); }
.faq-category { margin-bottom: 28px; }
.faq-category:last-child { margin-bottom: 0; }
.faq-category__title { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 800; color: #2e8b57; margin-bottom: 16px; }
.faq-category__title h4 { margin-bottom: 0; }
.custom-accordion { background: #ffffff; border-radius: 14px; border: 1px solid #e2e8e4; overflow: hidden; }

.custom-accordion .accordion-item {
    border: none;
    border-bottom: 1px solid #e2e8e4;
}

.custom-accordion .accordion-item:last-child {
    border-bottom: none;
}

/* Accordion Trigger Button */
.custom-accordion .accordion-button { font-size: 18px; font-weight: 500; color: var(--color-primary-2); background-color: #ffffff; padding: 16px 20px; box-shadow: none !important; display: flex; justify-content: space-between; align-items: center; }

.custom-accordion .accordion-button::after {
    display: none; /* Removes default Bootstrap caret */
}

.custom-accordion .icon-toggle { font-size: 33px; font-weight: 400; color: var(--color-primary-2); }

/* Yellow Highlighted Active Card State */
.custom-accordion .accordion-button:not(.collapsed) { background-color: #fbd278; color: var(--color-primary-2);  }
.custom-accordion .accordion-body { line-height: 1.6; padding: 16px 20px 20px; background-color: #fafbf9; }

.custom-accordion .accordion-button .icon-toggle { display: inline-block !important; font-size: 24px !important; line-height: 1; transition: transform 0.3s ease-in-out; }
.custom-accordion .accordion-button:not(.collapsed) .icon-toggle { transform: rotate(45deg); }

/* ============================================================
   SIDEBAR CARD STYLES
   ============================================================ */

.faq-sidebar-card { background-color: rgba(246, 241, 234, 0.7); border-radius: 20px; padding: 32px 24px; border: 1px solid rgba(0, 0, 0, 0.1); }
.sidebar-top { border-bottom: 1px solid #e2dcd0; padding-bottom: 24px; margin-bottom: 24px; }
.sidebar-top h4 { color: var(--color-primary-2); margin-bottom: 15px; }
.sidebar-top .circle-icon { width: 60px; height: 60px; background: rgba(12, 48, 38, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.sidebar-top h3 { font-size: 18px; font-weight: 800; color: #0f2c22; margin-bottom: 8px; }

.sidebar-features { display: flex; flex-direction: column; gap: 20px; }
.feature-item { display: flex; align-items: center; gap: 16px; }
.feature-icon { width: 74px; height: 74px; min-width: 44px; background: rgba(12, 48, 38, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #0f2c22; font-size: 15px; }

.feature-text h4 { font-size: 18px; font-weight: 500; color: var(--color-primary-2); margin-bottom: 8px; }
.feature-text { width: calc(100% - 74px); max-width: 260px; }
.feature-text p { font-size: 16px; line-height: 1.35; margin: 0; }
.sidebar-actions a img { max-height: 20px; }
.sidebar-actions a::after{display: none;}
.sidebar-actions .btn-yellow:hover img, .sidebar-actions .btn-outline:hover img{filter: brightness(0) invert(1);}

.store-card__actions { width: 100%; }
.store-card__actions a.btn-outline.store-card__btn { width: 100%; margin-top: 15px; } 
.store-results a.btn-outline.store-card__btn { width: auto; margin-top: 0px; } 
/* Responsive Tweaks */
@media only screen and (max-width: 991px) {
    .faq-main-wrapper { padding: 24px 16px; }
.feature-item { flex-direction: column; text-align: center; }
}
@media only screen and (max-width: 767px) {
    
.faq-category__title { justify-content: center; }
}
/* ============================================================
   CANNABIS BASICS - RESPONSIVE ADJUSTMENT (MAX-WIDTH: 1699PX)
   ============================================================ */

@media only screen and (max-width: 1799px) {

.cannabis-basics.education-inner-sec  .row { --bs-gutter-x: 2rem; }
.education-inner-sec  .cannabis-basics__content p { font-size: 14px; line-height: 1.5; max-width: 100%; }
.education-inner-sec .cannabis-basics__actions { flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.education-inner-sec .cannabis-basics__actions > a { padding: 12px 18px; font-size: 12px; letter-spacing: 0; }
.education-inner-sec .cannabis-basics__badges { flex-wrap: wrap; gap: 8px; }
.education-inner-sec .cannabis-basics__badges li { padding: 10px 16px; font-size: 11px; }
.education-inner-sec .cannabis-basics__badges li img { width: 18px; height: 18px; }
.education-inner-sec .cannabis-basics__panel { padding: 30px 20px; }
.education-inner-sec .cannabis-basics__row { margin: -6px; /* Slightly tighter grid spacing */ }
.education-inner-sec .cannabis-basics__row li { padding: 6px; }
.education-inner-sec .cannabis-basics__card { padding: 24px 10px; gap: 10px; border-radius: 16px; height: 100%; }
.education-inner-sec .cannabis-basics__card-icon { width: 38px; height: 38px; }
.education-inner-sec .cannabis-basics__card span { font-size: 13px; }
.education-inner-sec .cannabis-basics__card-arrow { width: 14px; }
.education-inner-sec .cannabis-basics__content{text-align: center;}

.looking-for-card { padding: 20px 24px; }
.looking-for-card .btn-dark { padding: 12px 20px; font-size: 12px; white-space: nowrap; }
.terpene-card__icon-wrap img { max-height: 48px; object-fit: contain; }
}

@media only screen and (max-width: 1499px) {

.cannabis-basics .row { --bs-gutter-x: 1.5rem; }
/*.cannabis-basics__content { text-align: center; }*/
.cannabis-basics__content p { font-size: 13px; line-height: 1.5; }
.cannabis-basics__actions { flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.cannabis-basics__actions > a { padding: 10px 14px; font-size: 11px; letter-spacing: 0; }
.cannabis-basics__badges { flex-wrap: wrap; gap: 8px; }
.cannabis-basics__badges li { padding: 8px 14px; font-size: 11px; }
.cannabis-basics__badges li img { width: 16px; height: 16px; }
.cannabis-basics__panel { padding: 25px 15px; }
.cannabis-basics__row { margin: -5px; }
.cannabis-basics__row li { padding: 5px; }
.cannabis-basics__card { padding: 20px 8px; gap: 8px; border-radius: 12px; }
.cannabis-basics__card-icon { width: 32px; height: 32px; }
.cannabis-basics__card span { font-size: 12px; }
.cannabis-basics__card-arrow { width: 12px; }


.timing-card__icon { width: 80px; height: 80px; }
.timing-card__icon img { max-width: 100%; max-height: 40px; object-fit: contain; }
.timing-card__body a.btn-dark { padding: 15px; font-size: 12px; }



}


@media only screen and (max-width: 1199px) {
.looking-for-card { flex-wrap: wrap; gap: 15px; }
.looking-for-card .btn-dark { width: 100%; text-align: center; justify-content: center; }
}


@media only screen and (max-width: 991px) {
.cannabis-basics__actions,
.cannabis-basics__badges { flex-wrap: wrap; overflow-x: visible;flex-direction: column; width: 100%; gap: 12px; }

.cannabis-basics__content { margin-bottom: 40px; }
.cannabis-basics__actions { flex-direction: column; width: 100%; gap: 12px; margin-bottom: 20px; }
.cannabis-basics__actions > a { width: 100%; text-align: center; justify-content: center; }
.cannabis-basics__badges li { width: 100%; justify-content: center; padding: 16px 20px; text-align: center; }
.cannabis-basics__panel { padding: 24px 20px; }
.cannabis-basics__card { padding: 24px 15px; gap: 10px; }
.cannabis-basics__card-icon { width: 40px; height: 40px; }

.looking-for__sidebar { text-align: center; padding: 35px 20px; }
.looking-for__intro { text-align: center; }
.looking-for__intro p { font-size: 14px; margin-inline: auto; }
.looking-for__timeline { display: flex; flex-direction: column; align-items: center; gap: 25px; padding-left: 0; }
.looking-for__timeline li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; width: 100%; }
.looking-for__timeline-icon { width: 85px; height: 85px; margin: 0 auto; }
.looking-for__timeline-text h4 { font-size: 15px; margin-bottom: 4px; }
.looking-for__timeline-text p { font-size: 13px; }
.looking-for-cards { display: flex; flex-direction: column; gap: 15px; padding-left: 0; }
.looking-for-card { padding: 20px 16px; border-radius: 16px; }
.looking-for-card__main { align-items: flex-start; gap: 15px; }
.looking-for-card__body h3 { font-size: 16px; }
.looking-for-card__body p { font-size: 13px; margin-bottom: 10px; }
.looking-for-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.looking-for-card__tags span { font-size: 11px; padding: 4px 10px; }
.looking-for__next { text-align: center; margin-top: 20px; }
.looking-for__next a { font-size: 13px; font-weight: bold; align-items: center; }
.looking-for-card { display: flex; align-items: center; justify-content: space-between; position: relative; padding: 18px 16px; background: #ffffff; border-radius: 20px; border: 1px solid #f0f0f0; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03); flex-direction: row; }
.looking-for-card__main { display: flex; align-items: center; gap: 14px; flex: 1; padding-right: 12px;  }
.looking-for-card__icon { width: 45px; height: 45px;  background-color: #f4f6f4;  border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.looking-for-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.looking-for-card .btn-dark { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; width: 20px !important; height: 20px !important; min-width: 20px; font-size: 0 !important; /* Hide original button text */ display: flex; align-items: center; justify-content: center; position: relative; }
.looking-for-card .btn-dark::after { content: ''; display: inline-block; width: 7px; height: 7px; border-right: 2px solid #555555; border-top: 2px solid #555555; transform: rotate(45deg); }
.looking-for__timeline li:not(:last-child)::before { display: none; }
.cannabis-format .container { overflow: hidden; }
#formatGrid { padding-bottom: 40px; }
#formatGrid .splide__pagination { bottom: 0; gap: 6px; }
#formatGrid .splide__pagination__page { width: 10px; height: 8px; border-radius: 10px; background: #d1d5d3; opacity: 1; transition: all 0.3s ease; }
#formatGrid .splide__pagination__page.is-active { width: 24px; background: #0f2c22; }



.thc-vs-cbd__double-line { display: none !important; }
.thc-vs-cbd .container { overflow: visible; }
.thc-vs-cbd__grid-wrapper .row { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important; -webkit-overflow-scrolling: touch !important; padding-left: 10% !important; padding-right: 10% !important; padding-bottom: 20px !important; margin-left: -15px !important; margin-right: -15px !important; }
.thc-vs-cbd__grid-wrapper .row::-webkit-scrollbar { display: none !important; }
.thc-vs-cbd__grid-wrapper .row { -ms-overflow-style: none !important; scrollbar-width: none !important; }

.thc-vs-cbd__grid-wrapper .row > div { flex: 0 0 85% !important; max-width: 85% !important; width: 85% !important; scroll-snap-align: center !important; transform: none !important; }

.timing-card__arrow { display: inline-flex !important; font-size: 12px !important; color: #0f2c22 !important; transition: transform 0.3s ease-in-out !important; }
.timing-card.is-open .timing-card__arrow, .accordion-button:not(.collapsed) .timing-card__arrow { transform: rotate(180deg) !important; }
}

@media only screen and (max-width: 767px) {
.education-inner-sec .cannabis-basics__card span { font-size: 12px; word-break: break-all; }
.cannabis-basics__actions,
.cannabis-basics__badges { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
.cannabis-basics__badges li { justify-content: center; }
.cannabis-basics__panel { padding: 25px; }
.cannabis-basics__panel { padding: 25px; }
.cannabis-basics__card { padding: 25px 15px; }
.cannabis-basics__card span { font-size: 13px; }

.header-store select, .header-store button { min-width: 160px; background-position: 10px center, right 10px center; background-size: 12px, 10px; padding: 8px 30px 8px 30px; font-size: 10px; }

.thc-vs-cbd__grid-wrapper .row { padding-left: 0% !important; padding-right: 0% !important; padding-bottom: 20px !important; margin-left: 0px !important; margin-right: 0px !important; }
.thc-vs-cbd__grid-wrapper .row > div { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; scroll-snap-align: center !important; transform: none !important; }
}


/* ============================================================
   ACCORDION ARROW FIX (Overrides & Restores Toggle Behavior)
   ============================================================ */

/* ============================================================  
 OUR STORY PAGE START
============================================================ */ 
.bloom-story__content { max-width: 650PX; margin-left: auto; padding-left: 50px; }
.bloom-story-wrap .education__media img{aspect-ratio: 1;}
.bloom-story__content h5 {color: var(--color-primary-2); }


.about-bloom-section { position: relative; background-color: #F6F2EB; text-align: center; overflow: hidden; border-radius: 20px; }
.about-bloom-section .container { max-width: 900px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 2; }
.about-bloom-section::before { content: ""; position: absolute; top: 0; left: 7%; width: 360px; height: 360px; background-image: url("../images/abt-bloom-back-leaf-top.png"); background-repeat: no-repeat; background-position: top left; background-size: contain; pointer-events: none; z-index: 1; }
.about-bloom-section::after { content: ""; position: absolute; top: 30%; right: 0; width: 220px; height: 260px; background-image: url("../images/abt-bloom-back-leaf-right.png"); background-repeat: no-repeat; background-position: center right; background-size: contain; pointer-events: none; z-index: 1; }
.about-our-story-inner h6{color: var(--color-primary-2);}
.about-our-story-inner p{color:#373737 ;}
.about-our-story-inner .section-heading{margin-bottom: 0;}
.about-our-story-inner .section-heading h2{margin-bottom: 15px;}
.about-bloom-image-wrapper { margin-top: 30px; display: flex; justify-content: center; }
.about-bloom-image-wrapper img { width: 100%; max-width: 750px; height: auto; display: block; object-fit: contain; }

.journey-timeline-section { position: relative; padding: 80px 0; background-color: #f7f6f2; }

.timeline-wrapper { position: relative; max-width: 100%; margin: 0 auto; }
.timeline-line-bg { position: absolute; top: 0; bottom: 0; left: 50%; width: 4px; background-color: #e0e4e1; transform: translateX(-50%); z-index: 1; }
.timeline-line-progress { position: absolute; top: 0; left: 50%; width: 4px; height: 0%; background-color: #0f2c22; transform: translateX(-50%); z-index: 2; transition: height 0.1s linear; }
.timeline-row { position: relative; display: flex; margin-bottom: 70px; z-index: 3; }
.timeline-row.right { justify-content: flex-end; }
.timeline-row.left { justify-content: flex-start; }
.timeline-point { position: absolute; left: 50%; top: 20px; width: 18px; height: 18px; background-color: #e0e4e1; border-radius: 50%; transform: translateX(-50%); z-index: 4; transition: background-color 0.4s ease, transform 0.4s ease; }
.timeline-row.active .timeline-point { background-color: #0f2c22; transform: translateX(-50%) scale(1.3); }
.timeline-content { width: 45%; }

.timeline-row .year-heading { display: block; font-size: 60px; font-family: var(--ff-heading); font-weight: 600; color: var(--color-primary-2); line-height: 1; margin-bottom: 10px; transition: color 0.4s ease;opacity: 0.1; }
.timeline-row.active .year-heading { color: var(--color-primary-2); font-family: var(--ff-heading); font-weight: 600;opacity: 1; }
.timeline-row.left span.year-heading { width: fit-content; margin-left: auto; }
.journey-card { background: #ffffff; border-radius: 30px; padding: 50px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);  transform: translateY(20px); transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1); box-shadow: 0px 56px 100px 0px #0000001A; }
.timeline-row.active .journey-card { opacity: 1; transform: translateY(0); background-color: var(--color-primary-1); box-shadow: 0px 56px 100px 0px #FFD37085; }
.timeline-row.active .journey-card p, .timeline-row.active .journey-card li{color: var(--color-text-2);} 


.journey-card h3 { color: var(--color-primary-2); margin-bottom: 20px; }
.journey-card p, .journey-card li { line-height: 1.5; max-width: 457px; }
.journey-card ul { list-style: none; padding-left: 0; }
.journey-card li { position: relative; padding-left: 30px; margin-bottom: 8px; }
.journey-card li::before { content: ""; position: absolute; left: 0; font-size: 0.8rem; background-image: url(../images/green-leaf.svg); background-repeat: no-repeat; background-size: 20px; background-position: left; width: 20px; height: 20px; top: 0px; }


/* ==========================================
   RESPONSIVE ADJUSTMENTS
   ========================================== */
@media (max-width: 1499px) {
.timeline-row.active .year-heading,.timeline-row .year-heading { font-size: 50px; }
.journey-card { border-radius: 20px; padding: 30px; }
.about-bloom-section::before { width: 260px; height: 260px; }
.about-bloom-section::after { width: 180px; height: 180px; }
.about-bloom-image-wrapper img { max-width: 629px; }
}
@media (max-width: 991px) {
.about-bloom-section { padding-top: 60px; }
.about-bloom-section::before { width: 180px; height: 180px; }
.about-bloom-section::after { width: 150px; height: 180px; top: 25%; }
.about-bloom-section h2 { font-size: 2rem; }
.bloom-story__content { max-width: inherit; margin-left: auto; padding-left: 0; margin-top: 15px; }
.journey-timeline-section { padding: 50px 0; }
}

@media (max-width: 768px) {
.about-bloom-section { padding-top: 50px; }
.about-bloom-section::before { width: 120px; height: 120px; top: -10px; left: -20px; }
.about-bloom-section::after { width: 100px; height: 120px; right: -20px; }
.about-bloom-section h2 { font-size: 1.6rem; }
.about-bloom-section h3 { font-size: 0.85rem; }
.about-bloom-section p { font-size: 0.9rem; line-height: 1.5; margin-bottom: 14px; }
.about-bloom-image-wrapper img { max-width: 500px; }

.timeline-line-bg, .timeline-line-progress { left: 20px; }
.timeline-point { left: 20px; }
.timeline-row.left, .timeline-row.right { justify-content: flex-end; }
.timeline-content { width: calc(100% - 50px); }
.year-heading { font-size: 2.5rem; }

.timeline-row.left span.year-heading { width: auto; margin-left: inherit; }
.timeline-row.active .year-heading, .timeline-row .year-heading { font-size: 45px; }
.journey-card h3 { margin-bottom: 15px; font-size: 20px; }
.timeline-row { margin-bottom: 55px; }
.journey-card { border-radius: 15px; padding: 20px; }
#startGuideSlider .splide__pagination { bottom: 15px !important; }
}




/* ****Dachi custom header css responsive**** */
@media (max-width: 1699px) {
header.header__Wrapper-gJmUjB .eZwLNu { font-size: 14px !important; }
}




/* ****Dachi custom header css responsive**** */


/* faq page */
.faq-inner-wrap h2.faq-heading { color: var(--color-primary-2); font-size: var(--f-size-XL); }
.faq-inner-wrap .faq-accordion{margin-bottom: 30px;}
/*//***** Sanchari Roy start (16.07.2026)****** //*/






/********** New dev css 31.07.2026 start *************/

/* ============================================================
   STORE LOCATOR REDESIGN — v2
   All rules are scoped to v2 classes so existing site styles
   remain completely untouched.
   ============================================================ */

/* ── Layout shell ───────────────────────────────────────────── */

.locator-layout { display: flex; align-items: stretch; min-height: 740px; }
.locator-panel { flex: 0 0 40%; width: 40%; display: flex; flex-direction: column; background-color: var(--color-white); border-right: 1px solid rgba(12, 48, 38, 0.08); overflow: hidden; }
.locator-map-panel { flex: 1 1 60%; position: relative; min-height: 740px; }
.locator-map-panel .map-wrapper { position: absolute; inset: 0; height: 100% !important; border-radius: 0; }

/* ── Search bar v2 enhancements ─────────────────────────────── */

.store-locator-filters--v2 { background: linear-gradient(135deg, var(--color-primary-2) 0%, #1a4a38 100%); padding: 28px 36px; gap: 24px 40px; }
.store-locator-filters--v2 .filter-label { color: rgba(255, 255, 255, 0.85); display: flex; align-items: center; gap: 8px; }
.store-locator-filters--v2 .filter-label i { font-size: 14px; color: var(--color-primary-1); }
.store-locator-filters--v2 .search-input-wrap { border-radius: 12px; border: 2px solid transparent; background-clip: padding-box; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25); transition: border-color 0.25s ease, box-shadow 0.25s ease; height: 48px; overflow: visible; }

.store-locator-filters--v2 .search-input-wrap #search-suggestions {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--color-white);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    overflow: hidden; 
}

.store-locator-filters--v2 .search-input-wrap:focus-within { border-color: var(--color-primary-1); box-shadow: 0 4px 24px rgba(255, 211, 112, 0.35); }
.search-input-icon { flex-shrink: 0; width: 46px; text-align: center; color: var(--color-primary-2); font-size: 16px; opacity: 0.55; }
.store-locator-filters--v2 .search-btn { width: 58px; height: 100%; background-color: var(--color-primary-3); border-radius: 0 10px 10px 0; display: flex; align-items: center; justify-content: center; background-image: none; }
.store-locator-filters--v2 .search-btn i { color: var(--color-white); font-size: 17px; pointer-events: none; }
.store-locator-filters--v2 .search-btn:hover { background-color: var(--color-primary-3); }
/* Location button v2 */
.radio-option--v2 {
    border-color: rgba(255, 255, 255, 0.3);
    color: var(--color-white);
    border-radius: 12px;
    height: 58px;
    background-color: rgba(255, 255, 255, 0.08);
    transition: background-color 0.25s ease, border-color 0.25s ease;
}

.radio-option--v2:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.5);
}

.radio-option--v2:has(input:checked) {
    background-color: var(--color-primary-1);
    border-color: var(--color-primary-1);
    color: var(--color-primary-2);
}

/* Distance / toggle labels in v2 dark bar */
.store-locator-filters--v2 .distance-value {
    color: rgba(255, 255, 255, 0.7);
}

.store-locator-filters--v2 .filter-group--distance {
    border-left-color: rgba(255, 255, 255, 0.15);
}

.store-locator-filters--v2 .distance-slider {
    background: linear-gradient(to right,
        var(--color-primary-1) 0%,
        var(--color-primary-1) var(--range-progress),
        rgba(255, 255, 255, 0.25) var(--range-progress),
        rgba(255, 255, 255, 0.25) 100%);
}

.store-locator-filters--v2 .switch-slider {
    background-color: rgba(255, 255, 255, 0.25);
}

.store-locator-filters--v2 .switch input:checked + .switch-slider {
    background-color: var(--color-primary-1);
}

.store-locator-filters--v2 .switch input:checked + .switch-slider::before {
    /* keep thumb white for contrast on gold */
    background-color: var(--color-primary-2);
}

/* ── Store results panel ────────────────────────────────────── */

.locator-panel .store-results {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
    background: var(--color-secondary-1);
    border-radius: 0;
}

.locator-panel .store-results__count {
    flex-shrink: 0;
    padding: 20px 24px 16px;
    margin: 0;
    font-family: var(--ff-base);
    font-size: 13px;
    font-weight: var(--fw-semi-bold);
    letter-spacing: 0.3px;
    color: var(--color-primary-2);
    background: var(--color-white);
    border-bottom: 1px solid rgba(12, 48, 38, 0.08);
}

.locator-panel .store-results__count::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-primary-3);
    margin-right: 8px;
    vertical-align: middle;
}

.locator-panel .store-results__list {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: auto;
    max-height: 700px;
    overflow-y: auto;
    padding: 16px 0;
    background: var(--color-secondary-1);
}

/* ── Store card — v2 sidebar layout ────────────────────────── */

.locator-panel .store-card {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    padding: 16px 20px;
    background: var(--color-white);
    border-radius: 16px;
    margin: 0 16px 10px;
    border: 2px solid transparent;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    cursor: pointer;
    position: relative;
    height: auto;
}

.locator-panel .store-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 32px rgba(12, 48, 38, 0.14);
    border-color: var(--color-primary-3);
}

.locator-panel .store-card.active {
    border-color: var(--color-primary-2);
    box-shadow: 0 8px 28px rgba(12, 48, 38, 0.18);
    background: #f5fbf7;
}

/* Active left accent bar */
.locator-panel .store-card.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--color-primary-2);
}

/* Thumbnail */
.locator-panel .store-card__image {
    flex: 0 0 100px;
    width: 100px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    padding-bottom: 0;
    margin-right: 16px;
    position: relative;
}

.locator-panel .store-card__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    transition: transform 0.35s ease;
}

.locator-panel .store-card:hover .store-card__image img {
    transform: scale(1.06);
}

/* Body */
.locator-panel .store-card__body {
    flex: 1 1 0;
    padding: 0;
    gap: 10px;
    width: auto;
    min-width: 0;
}

.locator-panel .store-card__info {
    gap: 8px;
}

/* Header row: title + badge */
.locator-panel .store-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.locator-panel .store-card__header h4 {
    font-family: var(--ff-heading);
    font-size: 16px;
    font-weight: var(--fw-semi-bold);
    color: var(--color-primary-2);
    margin: 0;
    line-height: 1.25;
    letter-spacing: 0.2px;
    flex: 1 1 0;
    min-width: 0;
}

/* Status badge */
.locator-panel .store-card__header .tag {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px 3px 8px;
    border-radius: 20px;
    font-family: var(--ff-base);
    font-size: 10px;
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.locator-panel .store-card__header .tag-open {
    background: rgba(31, 142, 58, 0.1);
    color: var(--color-primary-3);
}

.locator-panel .store-card__header .tag-closed {
    background: rgba(200, 50, 50, 0.08);
    color: #c03030;
}

.locator-panel .store-card__header .tag-coming {
    background: rgba(255, 211, 112, 0.2);
    color: #8a6000;
}

/* Pulsing green dot inside open badge */
.tag-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--color-primary-3);
    animation: bloom-pulse 2.2s ease-in-out infinite;
}

@keyframes bloom-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.45; transform: scale(0.75); }
}

/* Meta list */
.locator-panel .store-card__meta-list {
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.locator-panel .store-card__meta {
    font-size: 12px;
    color: var(--color-text-1);
    line-height: 1.35;
    letter-spacing: 0;
    gap: 7px;
    min-height: inherit
}

.locator-panel .store-card__meta i {
    font-size: 11px;
    width: 14px;
    color: var(--color-primary-3);
}

.locator-panel .store-card__meta a {
    color: var(--color-text-1);
    text-decoration: none;
    transition: color 0.2s ease;
}

.locator-panel .store-card__meta a:hover {
    color: var(--color-primary-3);
}

/* Action buttons row */
.locator-panel .store-card__actions { display: flex; align-items: center; gap: 7px; margin-top: 0; }

.locator-panel .store-card__actions .store-card__btn {
    padding: 7px 14px;
    font-size: 11px;
    border-radius: 20px;
    white-space: nowrap;
    line-height: 1.3;
}

.locator-panel .store-card__actions .btn-dark {
    width: auto;
}

.locator-panel .store-card__actions .btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: auto; padding: 6px 14px;
}

.locator-panel .store-card__actions .btn-outline i {
    font-size: 11px;
}

/* Empty / error state */
.store-results__empty {
    padding: 40px 24px;
    text-align: center;
    color: var(--color-text-1);
    font-family: var(--ff-base);
    font-size: var(--f-size-XS);
}

/* Search suggestions dropdown */

.header-search {
    position: relative;
}

.header-search #header-search-suggestions {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    padding: 12px;
}

.header-search-suggestions__heading {
    border-bottom: 1px solid var(--color-primary-2);
    color: var(--color-primary-2);
    font-family: var(--ff-heading);
    text-transform: uppercase;
}

.search-input-wrap {
    position: relative;
}

.search-suggestions {
    list-style: none;
    margin: 0;
    padding: 6px 0;
    max-height: 280px;
    overflow-y: auto;
}

.suggestion-item {
    padding: 10px;
    cursor: pointer;
    font-family: var(--ff-base);
    font-size: 14px;
    color: var(--color-text-2);
    transition: background-color 0.15s ease;
    display: flex;
    flex-direction: column;
    gap: 2px;
        border-bottom: 1px solid #eee;
}

.suggestion-item:hover {
    background-color: rgba(12, 48, 38, 0.05);
}

.suggestion-item strong {
    color: var(--color-primary-2);
    font-weight: var(--fw-semi-bold);
}

.suggestion-type {
    font-size: 11px;
    color: var(--color-text-1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Custom map popup ───────────────────────────────────────── */

/*
 * The popup is now a google.maps.OverlayView managed entirely by JS.
 * CSS only handles visual appearance and the entry/exit animation.
 * The element is appended to the map's overlayMouseTarget pane by JS,
 * which handles all positioning automatically as the map pans/zooms.
 */

.map-popup {
    /* Sizing & shape */
    width: 370px;
    max-width: calc(100vw - 32px);
    background: var(--color-white);
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(12, 48, 38, 0.2), 0 3px 12px rgba(0, 0, 0, 0.08);
    border: 1.5px solid rgba(12, 48, 38, 0.1);
    border-top-color: var(--color-primary-3);
    border-top-width: 3px;

    /* Positioned by OverlayView draw() — left/top written by JS */
    position: absolute;
    transform-origin: bottom center;

    /* Entry animation — JS adds .map-popup--visible to trigger it */
    opacity: 0;
    transform: translateY(8px) scale(0.95);
    pointer-events: none;
    transition:
        opacity 0.27s ease,
        transform 0.27s cubic-bezier(0.34, 1.42, 0.64, 1);
    overflow: visible;   /* arrow extends below the card box */
    z-index: 99;
}

.map-popup--visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

/* Leaving animation */
.map-popup--leaving {
    opacity: 0;
    transform: translateY(6px) scale(0.96);
    pointer-events: none;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

/* Green accent top stripe */

/*.map-popup::before {
    content: '';
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--color-primary-2), var(--color-primary-3));
    border-radius: 14px 14px 0 0;
    /* Must NOT create a stacking context that dims the map 
    position: static;*/


/* Speech-bubble arrow — bottom-centre, pointing down at the marker.
   Uses a layered trick: a slightly larger border-colour triangle sits
   behind a white one to simulate the card border on the arrow. */
.map-popup::after {
    content: '';
    position: absolute;
    bottom: -12px;          /* sits below the card; gap between card bottom and tip */
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left:  11px solid transparent;
    border-right: 11px solid transparent;
    border-top:   12px solid var(--color-white);
    /* Thin border-colour outline on the arrow */
    filter: drop-shadow(0 1.5px 0 rgba(12, 48, 38, 0.18));
}

/* ── Kill any map overlay / dim layer ───────────────────────────
   Google Maps InfoWindow adds a semi-transparent backdrop via
   .gm-style-mf and the floatPane overlay background.
   Force all of those to be fully transparent.               */
.locator-map-panel .gm-style-mf,
.locator-map-panel .gm-style .gm-style-mf,
#store-map .gm-style-mf {
    background: transparent !important;
    opacity: 0 !important;
    display: none !important;
}

/* Also block any backdrop/overlay injected into floatPane */
.locator-map-panel .gm-style > div[style*="background-color: rgb(0, 0, 0)"],
.locator-map-panel .gm-style > div[style*="background: rgb(0, 0, 0)"],
.locator-map-panel .gm-style > div[style*="opacity: 0.5"],
.locator-map-panel .gm-style > div[style*="opacity: 0.3"] {
    display: none !important;
}

/* Hide default Google InfoWindow chrome — keep suppressed */
.locator-map-panel .gm-style .gm-style-iw-c,
.locator-map-panel .gm-style .gm-style-iw-tc,
.locator-map-panel .gm-style .gm-style-iw-d,
.locator-map-panel .gm-style .gm-style-iw-ch,
.locator-map-panel .gm-style .gm-style-iw-t,
.gm-style-iw {
    display: none !important;
}

.map-popup__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(12, 48, 38, 0.06);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary-2);
    font-size: 12px;
    transition: background-color 0.2s ease;
    z-index: 2;
}

.map-popup__close:hover {
    background: rgba(12, 48, 38, 0.14);
}

.map-popup__inner {
    padding: 20px 22px 22px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.map-popup__title {
    font-family: var(--ff-heading);
    font-size: 16px;
    font-weight: var(--fw-semi-bold);
    color: var(--color-primary-2);
    margin: 0 0 8px;
    letter-spacing: 0.3px;
    line-height: 1.25;
    padding-right: 26px;
}

.map-popup__status {
    display: inline-flex;
    margin: 0 0 14px;
}

.map-popup__meta {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.map-popup__meta-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: var(--ff-base);
    font-size: 12px;
    color: var(--color-text-1);
    line-height: 1.4;
}

.map-popup__meta-item i {
    flex-shrink: 0;
    width: 13px;
    margin-top: 2px;
    color: var(--color-primary-3);
    font-size: 11px;
}

.map-popup__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(12, 48, 38, 0.08);
}

.map-popup__actions .btn-dark,
.map-popup__actions .btn-outline {
    font-size: 11px;
    padding: 7px 13px;
    border-radius: 7px;
    white-space: nowrap;
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.map-popup__actions .btn-dark::after,
.map-popup__actions .btn-outline::after {
    display: none;
}

.map-popup__zoom i {
    font-size: 11px;
}

/* ── Marker bounce animation ────────────────────────────────── */

@keyframes bloom-marker-bounce {
    0%   { transform: translateY(0); }
    30%  { transform: translateY(-12px); }
    55%  { transform: translateY(-4px); }
    75%  { transform: translateY(-8px); }
    90%  { transform: translateY(-2px); }
    100% { transform: translateY(0); }
}

/* Class toggled via JS on the marker wrapper div */
.bloom-marker-bounce {
    animation: bloom-marker-bounce 0.65s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* ── Scrollbar — sidebar list ───────────────────────────────── */

.locator-panel .store-results__list::-webkit-scrollbar {
    width: 5px;
}

.locator-panel .store-results__list::-webkit-scrollbar-track {
    background: transparent;
}

.locator-panel .store-results__list::-webkit-scrollbar-thumb {
    background: rgba(12, 48, 38, 0.2);
    border-radius: 999px;
}

.locator-panel .store-results__list::-webkit-scrollbar-thumb:hover {
    background: rgba(12, 48, 38, 0.4);
}

/* ── Store locator message ──────────────────────────────────── */

.store-locator-message {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(200, 50, 50, 0.9);
    color: #fff;
    font-family: var(--ff-base);
    font-size: 13px;
    padding: 8px 18px;
    border-radius: 30px;
    white-space: nowrap;
    z-index: 5;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.store-locator-message:not(:empty) {
    opacity: 1;
}

/* ── Responsive ─────────────────────────────────────────────── */

/* Tablet: sidebar above map */
@media only screen and (max-width: 1199px) {

    .locator-layout {
        flex-direction: column;
    }

    .locator-panel {
        flex: none;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgba(12, 48, 38, 0.08);
    }

    .locator-map-panel {
        flex: none;
        min-height: 480px;
        height: 480px;
    }

    .locator-map-panel .map-wrapper {
        position: relative;
        padding-bottom: inherit;
    }

    .locator-panel .store-results__list {
        max-height: 440px;
    }

    .store-locator-filters--v2 {
        padding: 22px 24px;
        gap: 18px 30px;
    }
}

/* Mobile: full-width stacked */
@media only screen and (max-width: 767px) {

.store-locator-filters--v2 { padding: 20px 16px; gap: 16px; overflow-x: auto; }
.locator-panel .store-card { flex-direction: column; gap: 12px; margin: 0 10px 10px; }
.locator-panel .store-card__image { flex: none; width: 100%; height: 160px; margin-right: 0; border-radius: 12px; display: none; }
.locator-panel .store-card__header h4 { font-size: 15px; }
.locator-panel .store-card__actions { gap: 6px; }

/* .locator-layout keeps its desktop min-height (740px) unless reset here,
   which otherwise leaves the stacked mobile column tall enough for the
   absolutely-positioned map (see .map-wrapper below) to visually bleed into
   whatever follows in the document flow. Force the map panel back into
   normal block flow so it can never overlay the location cards section. */
.locator-layout { min-height: 0; }

/* The tablet tier (≤1199px) gives .locator-panel a border-bottom to divide
   it from the map below; on mobile that thin line plus the sidebar's white
   background reads as a boxed "card" frame around the map. Drop it so the
   map sits flush and feels like a natural continuation of the page. */
.locator-panel { border-bottom: none; }

/* Client requirement: the map is not usable on mobile (overlaps/covers the
   location cards and doesn't load reliably at this size), and should be
   removed there rather than fixed — see the matching JS guard in
   window.initMap (assets/js/custom.js) that skips building the map at all
   at this same breakpoint, so no map tiles/markers are created to hide.
   Desktop/tablet (>767px) are completely unaffected. */
.locator-map-panel {
    display: none;
}

.search-input-icon { width: 35px; }
.search-input {padding: 0 0 0 5px; }

.locator-panel .store-results__list { max-height: 520px; }
.map-popup { width: 260px; }
}

/* ── Distance Range gate modal (requires current location first) ──
   .distance-range-modal reuses the .map-popup card look (border, radius,
   shadow, .map-popup__close) but is fixed/centered — not positioned by
   Google Maps OverlayView like the marker popup — so position/animation
   are overridden here instead of relying on the OverlayView draw(). */
.distance-range-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease;
    z-index: 1000;
}

.distance-range-overlay.active {
    opacity: 1;
    visibility: visible;
}

.distance-range-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 340px;
    transform: translate(-50%, -50%) scale(0.95);
    z-index: 1001;
}

.distance-range-modal.distance-range-modal--visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
}

.distance-range-modal::after { display: none; } /* no speech-bubble arrow — not marker-anchored */

.distance-range-modal__text {
    margin: 0;
    color: var(--color-primary-2);
    font-size: 15px;
    line-height: 1.5;
}

.distance-range-modal .map-popup__actions .distance-range-modal__use-location {
    width: 100%;
}

/* ============================================================
   END STORE LOCATOR REDESIGN — v2
   ============================================================ */

.err-page-wrap h1 { color: var(--color-primary-2); }
.err-page-wrap h2{color: var(--color-primary-1); }
.err-page-wrap p{color: var(--color-primary-3);}



/********** New dev css 31.07.2026 end *************/


/* ============================================================
 REWARDS AND DEALS NEW PAGE 18.08.2026 
 ============================================================ */
 /* ==========================================================================
   REWARDS MEMBERSHIP & APP PROMO SECTION
   ========================================================================== */

/* Base Tier Card */
.bnr-sign-up-btn { margin-top: 40px; }
.bnr-sign-up-btn a { margin: 8px; }
.tier-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.tier-card__content h3 { margin-bottom: 0; }
.tier-card:hover { transform: translateY(-4px); }
.tier-card--silver { background-color: #e1e1e1; }
.tier-card--silver .tag {
    background-color: #b5b5b5;
    color: var(--color-text-2);
}
.tier-card--silver .tier-card__icon { color: var(--color-primary-3); }
.tier-card--gold { background-color: #ffd667; border-color: var(--color-primary-1) !important; }
.tier-card--gold span.tag {background-color: #b58400; }

.tier-card--gold .tier-card__icon { color: var(--color-primary-3); }
.tier-card--platinum { background-color: #857f71; color: var(--color-white); }
.tier-card--platinum .tier-card__title { color: var(--color-white); }
.tier-card--platinum .tier-card__list { color: var(--color-text-3); }
.tier-card--platinum .tier-card__icon { color: var(--color-primary-1); }

.tier-card--platinum h3 { color: var(--color-white); }


/* Platinum Tag Customization */
.tag-platinum { background-color: rgba(255, 211, 112, 0.2); color: var(--color-primary-1); }
.app-badge-img { height: 45px; width: auto; }
.app-promo-img { max-height: 350px; width: 100%; object-fit: cover; }

.app-promo-box .footer-app-badges { margin-bottom: 25px; }
.destination-bloom-img { position: relative; overflow: hidden; width: 100%; padding-bottom: 60.75%; border-radius: 16px; margin: 0; }
.destination-bloom-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: var(--transition-common); }

/* ==========================================================================
   REDEEM GUIDELINES SECTION
   ========================================================================== */

.redeem-card { border: 1px solid rgba(0, 0, 0, 0.08); }
.notice-box { background-color: var(--color-secondary-1); border-left: 4px solid var(--color-primary-1); }
.notice-box__icon { color: var(--color-primary-2); }
.notice-box__content h5 { color: var(--color-primary-2); font-weight: 600; }
.notice-box__content p { color: var(--color-text-2); line-height: 1.6; }
.btn-large { padding: 14px 32px; font-size: var(--f-size-S); display: inline-flex; align-items: center; justify-content: center; }


.app-instructions__header h2 { font-weight: 600; }
.app-instructions__divider { border-top: 1px solid #000; opacity: 1; margin: 0; }
.app-steps-list { list-style-type: decimal; padding-left: 1.25rem; margin-bottom: 0; }
.app-steps-list > li { margin-bottom: 1.25rem; color: var(--color-text-1, #333); }
.app-steps-list > li::marker { font-weight: 400; }
.app-steps-list strong { font-weight: 700; color: var(--color-primary-2); }
.app-steps-list p { margin-top: 0.25rem; margin-bottom: 0; color: var(--color-text-1, #000); line-height: 1.5; }
.text-link-green { color: #4CAF50; font-weight: 700; text-decoration: none; transition: color 0.3s ease; }
.text-link-green:hover { color: #388E3C; text-decoration: underline; }
.app-sub-list { list-style-type: circle; padding-left: 1.5rem; margin-top: 0.5rem; margin-bottom: 0; }
.app-sub-list li { margin-bottom: 0.25rem; color: var(--color-primary-1); }

.app-steps-list ul {list-style: disc; padding-left: 20px; margin-top: 5px; }


/* ==========================================================================
   REWARDS CATALOG SECTION & RESPONSIVE STYLES
   ========================================================================== */

.rewards-catalog-section { padding-top: 60px; padding-bottom: 60px; }
.category-title { font-size: var(--f-size-M, 1.25rem); font-weight: 600; color: var(--color-primary-2, #1b365d); border-bottom: 2px solid var(--color-secondary-1, #e2e8f0); padding-bottom: 10px; }
.catalog-card { transition: transform 0.25s ease, box-shadow 0.25s ease; border: 1px solid var(--color-border, #e2e8f0); border-radius: 16px; background-color: #ffffff; }
.catalog-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08); }
.catalog-card__img-wrap { width: 100%; height: 160px; display: flex; align-items: center; justify-content: center; overflow: hidden; background-color: var(--color-light-grey, #f8f9fa); border-radius: 12px; }
.catalog-card__img { max-height: 100%; max-width: 100%; object-fit: contain; transition: transform 0.3s ease; }
.catalog-card:hover .catalog-card__img { transform: scale(1.05); }
.catalog-card__title { color: var(--color-text-1, #1a202c); font-weight: 600; line-height: 1.3; font-size: 0.95rem; }
.catalog-card .tag { white-space: nowrap; font-weight: 600; }

.rewards-catalog-section span.tag.tag-open.mb-2 {font-size: 20px; }


/* Desktop / Large Screens (1200px and up) */
@media (min-width: 1200px) {
    .rewards-catalog-section {  }
}

/* Tablets & Medium Screens (768px to 991px) */
@media (max-width: 991px) {
.catalog-card__img-wrap { height: 140px; }
.category-title { font-size: 1.15rem; }
}

/* Mobile Devices (767px and below) */
@media (max-width: 767px) {
.rewards-catalog-section { padding-top: 40px; padding-bottom: 40px; }
.catalog-category { margin-bottom: 36px !important; }
.catalog-card__img-wrap { height: 150px; }
.catalog-card__title { font-size: 0.9rem; }
}

/* Extra Small Screens (575px and below) */
@media (max-width: 575px) {
.rewards-catalog-section .row > [class*="col-"] { flex: 0 0 auto; width: 50%; }
.catalog-card { padding: 0.75rem !important; }
.catalog-card__img-wrap { height: 110px; padding: 6px; }
.catalog-card__title { font-size: 0.825rem; margin-bottom: 0.5rem !important; }
.catalog-card .tag { font-size: 0.60rem; padding: 4px 8px; }
}



.app-box {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    overflow: hidden;
    background: var(--color-white);
    border-radius: 20px;
    box-shadow: 0px 4px 28px 0px rgba(0, 0, 0, 0.15);
    padding: 30px;
    text-align: center;
}

.app-box h4 { padding-top: 30px; }

.app-box ul {
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 15px;
}


.faq-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
}
.faq-buttons .btn-dark {
    margin: 0 !important;
}

/* Cannabis 101 (templates/tpl-education.php) anchor targets. Was applied only
   to #looking-for-section; every other in-page CTA target on this page had no
   header offset at all and landed hidden under the fixed sticky header.
   Covers both the JS-driven scroll (assets/js/custom.js) and native hash
   navigation (e.g. a direct #anchor link, or browser back/forward). */
main #cannabis-basics,
main #looking-for-section,
main #cannabis-format,
main #thc-vs-cbd,
main #dosing-steps,
main #cannabinoids-section,
main #terpenes-section,
main #start-guide-section,
main #cannabisFaqs {
  scroll-margin-top: var(--header-offset, 80px);
}


/* --- PATIENT INFO PAGE --- */

.page-template-tpl-patient-info .app-sec {
    background-color: #fff;
    padding-top: 25px;
}

.patient-card {
    background: var(--color-white);
    border-radius: 20px;
    box-shadow: 0px 4px 28px 0px rgba(0, 0, 0, 0.15);
    padding: 30px;
    text-align: center;
    height: 100%;
}

.patient-form-lt {
    padding: 20px 0;
}
.pt-form-ltbox {
    margin: 0 0 15px;
    border-bottom: 1px solid #eee;
    padding: 0 0 15px;
}

.pt-form-ltbox .num-ic {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0 0 10px;
}

.pt-form-ltbox .num-ic img {
    height: 65px;
}

.pt-form-ltbox .num-ic span {
    color: #36dc90;
    font-size: 40px;
}

.patient-form-rt {
    padding: 20px 0;
}
.patient-form-rt > img {
    max-width: 225px;
    width: 100%;
}

.patient-form-rt input[type=text], .patient-form-rt input[type=tel] {
    margin: 0 0 15px;
}

.patient-form-rt h5 {
    padding: 15px 0;
}

@media (max-width: 767px) {
    .patient-card { height: auto;
    margin: 0 0 25px;
}
}



/* --- PATIENT INFO PAGE --- */



/* ==== Daily Deals Page ==== */


.daily-deals-wrap .container {max-width: 900px; }

.deals-title {text-align: center; padding: 30px; background: var(--color-primary-2); margin: 0 0 70px; border-radius: 20px; } 
.deals-title h2 {color: var(--color-primary-1); } 
.deals-title .title-logo {max-width: 250px; padding: 20px; background: #fff; border-radius: 80px; margin: 0 auto -80px; border: 4px solid var(--color-primary-2); }

.d-deals-row {border-radius: 20px; padding: 30px; background: var(--color-white); box-shadow: 0px 4px 28px 0px rgba(0, 0, 0, 0.15); text-align: center; margin: 0 0 30px; }

.d-deals-row h3 {letter-spacing: 4px; } 
.d-deals-row .imgbox {margin: 0 0 30px; } 
.d-deals-row .imgbox img {border-radius: 20px; } 
.d-deals-row:nth-child(odd) {background: #ffe9c9; }


@media (max-width: 767px) {

    .deals-title .title-logo { max-width: 170px; padding: 15px; margin: 0 auto -65px; border: 2px solid var(--color-primary-2); }
    .d-deals-row { padding: 20px; }
    .d-deals-row .imgbox {margin: 0 0 25px; }


}



/* ==== Daily Deals Page ==== */