/* Just some css to override the default */
.navbar {
  background-color: #ecf0f1 !important;

  font-family: "Outfit", "sans-serif";
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

/* Align "Login" text with "Sign Up" button text */
.navbar-nav .nav-item {
  display: flex;
  align-items: center;
}

.navbar .nav-link {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  line-height: 1.5;
}

.navbar .btn {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  line-height: 1.5;
  font-size: 1rem;
}

.icon-color{
     color: transparent; /* Makes the text fill transparent */
    -webkit-text-stroke: 2px #2ecc71; /* Sets stroke width and color */
}



.hero-section {
  width: 100%;
  background-color: #f7f0e7;            /* full-width hero background */
 }

.hero-title{
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.0rem; /* Slightly larger for better readability */

}

.hero-text{
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.30rem; /* Slightly larger for better readability */
}

.hero-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;

  /* Fade effect */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}
/* Optional: ensure hero content has some vertical spacing (already added via py-5) */
/* .hero-section .container { padding-top: 3rem; padding-bottom: 3rem; } */

.btn-primary:hover {
    background-color: #2ecc71;
    border-color: #27ae60;
}

.btn-primary:active {
    background-color: #2ecc71 !important;
    border-color: #27ae60 !important;
    border-radius: 10px !important;
}

.btn-primary {
    background-color: #1abc9c;
    border-color: #16a085;
}

.search-section{
    background-color: #ecf0f1;
    background-size: cover;
    background-position: center;
    padding: 50px 0;
}


.home-search-title{
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.6rem;
    color: #1abc9c;
    margin-bottom: 20px;
    text-align: center;
}

.featured-brands-section{
    background-color: #F8FAFB;
    padding-top: 50px;
    padding-bottom: 95px;
}

.home-featured-title{
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.8rem;
    color: #34495e;
    margin-bottom: 20px;
    text-align: center;
}

.home-disp-image{
    width: 75%;
    display: block;
    margin-left: auto;
    margin-right: auto;

}

.nav-location-icon{
    color: #e74c3c;
}

.nav-location-name{
    color: #2c3e50;
    font-size: .9rem;
    font-weight: 400;
}

.deals{
    background-color: #ecf0f1;
    padding-top: 50px;
    padding-bottom: 75px;
}

.pointer-finger:hover{
    cursor: pointer;
}

/* ===== BudMenuz Footer (light theme to match your site) ===== */
.bm-footer{
  background-color:#ecf0f1; /* matches navbar/search/deals light panels */
  border-top:1px solid #dde3e6;
  color:#2c3e50;
  font-family:"Montserrat", sans-serif;
}
.bm-brand{
  font-weight:600;
  color:#2c3e50;
}
.bm-muted{ color:#566573; } /* subtle copy color */
.bm-head{
  color:#2c3e50;
  letter-spacing:.04em;
  position:relative;
  padding-bottom:.5rem;
}
.bm-head::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:36px; height:3px; background:#2ecc71; border-radius:2px;
}

/* Links */
.bm-link{
  color:#2c3e50;
  text-decoration:none;
  transition:color .2s ease;
}
.bm-link:hover{ color:#1abc9c; }

/* Social icons */
.bm-social{
  color:#2c3e50; opacity:.8; transition:opacity .2s ease, color .2s ease;
}
.bm-social:hover{ opacity:1; color:#1abc9c; }

/* Divider */
.bm-divider{ border-color:#d5dbdf; opacity:1; }

/* Optional: button outline to match your palette */
.bm-backtotop.btn-outline-dark{
  border-color:#2c3e50; color:#2c3e50;
}
.bm-backtotop.btn-outline-dark:hover{
  background:#2c3e50; color:#fff;
}

/* ---- Small polish for consistency with your current CSS ---- */
.bm-footer a{ font-weight:400; }
.bm-footer .btn{ line-height:1.5; }

.bm-footer{
    margin-top: 1px !important;
}

.cta-dispensary {
  background-color: #f2f5f5;
}

.cta-dispensary .cta-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  color: #2c3e50;
}

.cta-dispensary .cta-text {
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  color: #34495e;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.cta-dispensary .btn-primary {
  background-color: #2ecc71;
  border-color: #27ae60;
  border-radius: 10px;
  font-weight: 500;
}
.cta-dispensary .btn-primary:hover {
  background-color: #27ae60;
  border-color: #1e8449;
}

/* Popular Products */
.popular-products{
  background-color:#f7f8f9; /* light panel to separate from Deals */
}
.popular-title{
  font-family:"Montserrat", sans-serif;
  font-weight:400;
  font-size:1.8rem;
  color:#34495e;
}
.product-card{
  border:0;
  border-radius:.9rem;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1rem 2rem rgba(0,0,0,.12) !important;
}
.product-img{
  height:170px;
  object-fit:cover;
}
.product-badge{
  position:absolute;
  top:.75rem; left:.75rem;
  background:#2ecc71;
  color:#fff;
  font-weight:700;
  border-radius:.5rem;
  padding:.35rem .6rem;
  font-size:.75rem;
}
.product-name{
  font-family:"Montserrat", sans-serif;
  font-weight:500;
  color:#2c3e50;
}
.product-price .fw-bold{ color:#2c3e50; }
.product-rating{ color:#7b8a8b; }

/* Keep controls compact */
.popular-products .form-select{
  border-radius:.5rem;
  border-color:#dde3e6;
}

/* Shop by Category */
.shop-categories{
  background-color:#f0f3f4; /* matches your light theme */
}
.category-title{
  font-family:"Montserrat", sans-serif;
  font-weight:400;
  font-size:1.8rem;
  color:#34495e;
}
.category-card{
  display:block;
  text-decoration:none;
  color:inherit;
  text-align:center;
}
.category-bg{
  width:100%;
  padding-top:100%; /* 1:1 square ratio */
  background-size:cover;
  background-position:center;
  border-radius:.75rem;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.category-card:hover .category-bg{
  transform:translateY(-4px);
  box-shadow:0 1rem 2rem rgba(0,0,0,.12);
}
.category-label{
  display:block;
  margin-top:.5rem;
  font-family:"Montserrat", sans-serif;
  font-weight:500;
  font-size:1rem;
  color:#2c3e50;
  text-align: center;
}


/* ===== Auth page (no JS needed) ===== */
.auth-page { background-color: #e74c3c; }

.auth-card { border-radius:16px; }

.auth-brand {
  font-family:"Montserrat", sans-serif;
  font-weight:600;
  color:#2c3e50;
}

.auth-card .form-control {
  border-radius:10px;
  border-color:#dde3e6;
}

.auth-card .btn-primary {
  background-color:#1abc9c;
  border-color:#16a085;
  border-radius:10px;
}
.auth-card .btn-primary:hover {
  background-color:#2ecc71;
  border-color:#27ae60;
}

/* ===== Auth: Benefits & Help ===== */
.auth-support { background:#f0f3f4; }
.auth-support-card, .auth-help-card { border-radius:16px; }

.auth-feature{
  background:#fff; border:1px solid #dde3e6; border-radius:12px;
  padding:14px; height:100%;
}
.feat-ico{
  display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:rgba(46,204,113,.12); color:#1abc9c; font-weight:700; margin-bottom:8px;
}
.feat-title{
  font-family:"Montserrat", sans-serif; font-weight:600; font-size:1rem;
  color:#2c3e50; margin:0 0 4px;
}
.feat-text{ color:#566573; margin:0; font-size:.95rem; }

.auth-faq details{ border:1px solid #dde3e6; border-radius:8px; padding:10px 12px; background:#fff; }
.auth-faq summary{ cursor:pointer; font-weight:600; color:#2c3e50; }
.auth-faq p{ margin:8px 0 0; color:#566573; }

.auth-support .btn-primary{
  background:#1abc9c; border-color:#16a085; border-radius:10px;
}
.auth-support .btn-primary:hover{
  background:#2ecc71; border-color:#27ae60;
}

/* (Optional) tighten bottom spacing of the login section */
.auth-page { padding-bottom: 2rem; }

/* ===== Signup: How it works + Privacy ===== */
.howit { background:#f7f8f9; }
.howit-card, .privacy-card { border-radius:16px; }

.step-card{
  background:#fff; border:1px solid #dde3e6; border-radius:12px;
  padding:14px; height:100%;
}
.step-num{
  display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:rgba(46,204,113,.12); color:#1abc9c; font-weight:700; margin-bottom:8px;
}
.step-title{
  font-family:"Montserrat", sans-serif; font-weight:600; font-size:1rem;
  color:#2c3e50; margin:0 0 4px;
}
.step-text{ color:#566573; margin:0; font-size:.95rem; }

.privacy-list li{ margin-bottom:.4rem; }
.howit .btn-primary{
  background:#1abc9c; border-color:#16a085; border-radius:10px;
}
.howit .btn-primary:hover{
  background:#2ecc71; border-color:#27ae60;
}
.howit .btn.btn-outline-secondary{ border-radius:10px; }

/* Dispensary login specifics */
.badge-disp{
  display:inline-block;
  background:#2ecc71;
  color:#fff;
  border-radius:999px;
  padding:.25rem .6rem;
  font-size:.75rem;
  font-weight:600;
  vertical-align:middle;
}
.auth-info { border-radius:16px; }
.auth-info .btn-primary{
  background:#1abc9c; border-color:#16a085; border-radius:10px;
}
.auth-info .btn-primary:hover{
  background:#2ecc71; border-color:#27ae60;
}
.auth-info .btn.btn-outline-secondary{ border-radius:10px; }

/* ===== Dispensary Portal ===== */
.disp-portal-hero { background:#ecf0f1; }
.portal-title { font-family:"Montserrat",sans-serif; font-weight:600; color:#2c3e50; }
.badge-disp{
  display:inline-block; background:#2ecc71; color:#fff; border-radius:999px;
  padding:.25rem .6rem; font-size:.75rem; font-weight:600;
}

/* Squares */
.portal-card { border-radius:16px; overflow:hidden; border:0; }
.portal-square{
  aspect-ratio: 1 / 1;
  width: 100%;
  padding: 18px;
  background: linear-gradient(180deg, rgba(46,204,113,.08), rgba(26,188,156,.08));
}
.portal-card:hover { transform: translateY(-2px); transition: transform .15s ease; }
.portal-ico { font-size:2rem; margin-bottom:.4rem; }

/* Benefits */
.disp-benefits { background:#f7f8f9; }
.benefit-card { border-radius:16px; }
.benefit-ico{
  width:36px; height:36px; display:inline-grid; place-items:center;
  border-radius:50%; background:rgba(46,204,113,.12); color:#1abc9c; font-weight:700; margin-bottom:8px;
}
.benefit-title{
  font-family:"Montserrat",sans-serif; font-weight:600; color:#2c3e50; margin:0 0 4px; font-size:1rem;
}
.benefit-text{ color:#566573; margin:0; font-size:.95rem; }

/* FAQ + Contact */
.faq-list .faq-item{
  border:1px solid #dde3e6; border-radius:10px; background:#fff; padding:10px 12px; margin-bottom:10px;
}
.faq-list summary{ cursor:pointer; font-weight:600; color:#2c3e50; }
.faq-list p{ margin:8px 0 0; color:#566573; }

.contact-card{ border-radius:16px; }
.contact-card .btn-primary{
  background:#1abc9c; border-color:#16a085; border-radius:10px;
}
.contact-card .btn-primary:hover{
  background:#2ecc71; border-color:#27ae60;
}
.contact-card .btn.btn-outline-secondary{ border-radius:10px; }

/* ===== Dispensary login: extras under form ===== */
.disp-login-extras { background:#f7f8f9; }
.dlx-card, .dlx-mini { border-radius:16px; }

.dlx-step{
  background:#fff; border:1px solid #dde3e6; border-radius:12px;
  padding:14px; height:100%;
}
.dlx-num{
  display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:rgba(46,204,113,.12); color:#1abc9c; font-weight:700; margin-bottom:8px;
}
.dlx-title{
  font-family:"Montserrat", sans-serif; font-weight:600; font-size:1rem;
  color:#2c3e50; margin:0 0 4px;
}
.dlx-text{ color:#566573; margin:0; font-size:.95rem; }

.dlx-list li{ margin-bottom:.4rem; }
.dlx-mini .dlx-ico{
  width:36px; height:36px; display:inline-grid; place-items:center;
  border-radius:50%; background:rgba(46,204,113,.12); color:#1abc9c; font-weight:700; margin-bottom:8px;
}
.dlx-mini-title{
  font-family:"Montserrat", sans-serif; font-weight:600; color:#2c3e50; margin:0 0 4px; font-size:1rem;
}

/* Button consistency */
.disp-login-extras .btn-primary{
  background:#1abc9c; border-color:#16a085; border-radius:10px;
}
.disp-login-extras .btn-primary:hover{
  background:#2ecc71; border-color:#27ae60;
}
.disp-login-extras .btn.btn-outline-secondary{ border-radius:10px; }

/* Dispensary signup */
.form-section-title{
  font-family:"Montserrat",sans-serif; font-weight:600; color:#2c3e50;
  font-size:1rem; margin:0 0 .75rem;
}
.badge-disp{
  display:inline-block; background:#2ecc71; color:#fff; border-radius:999px;
  padding:.25rem .6rem; font-size:.75rem; font-weight:600;
}
.auth-info{ border-radius:16px; }
.auth-info .btn-primary{
  background:#1abc9c; border-color:#16a085; border-radius:10px;
}
.auth-info .btn-primary:hover{
  background:#2ecc71; border-color:#27ae60;
}
.auth-info .btn.btn-outline-secondary{ border-radius:10px; }

  :root{
    --bm-dark:#0f172a;      /* slate-900 */
    --bm-muted:#64748b;     /* slate-500 */
    --bm-border:#e5e7eb;    /* gray-200 */
    --bm-bg:#f7f8fa;        /* light bg */
    --bm-card:#ffffff;      /* white */
    --bm-green:#2ecc71;     /* brand green */
  }
  body{background:var(--bm-bg);}
  /* Modern, flat look */
  .card{border:1px solid var(--bm-border); border-radius:16px; box-shadow:none; background:var(--bm-card);}
  .card-header{background:transparent; border-bottom:1px solid var(--bm-border);}
  .btn-brand{background:var(--bm-green); color:#0b0f12; border-radius:12px; border:none}
  .btn-brand:hover{filter:brightness(.96);}
  .btn-ghost{background:transparent; border:1px solid var(--bm-border); color:var(--bm-dark); border-radius:12px}
  .btn-ghost:hover{background:#f3f4f6}
  .toolbar{background:var(--bm-card); border:1px solid var(--bm-border); border-radius:14px; padding:.5rem .75rem}
  .chip{border:1px solid var(--bm-border); border-radius:999px; padding:.35rem .75rem; font-size:.9rem; color:var(--bm-dark); background:#fff}
  .chip.active{border-color:var(--bm-dark); background:#0f172a; color:#fff}
  .icon-wrap{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#f3f4f6;color:#0f5132}
  .stat-value{font-size:1.5rem; font-weight:700; letter-spacing:.2px}
  .pill{border:1px solid var(--bm-border); border-radius:999px; padding:.25rem .6rem; font-size:.8rem; color:#0f5132; background:#eef7f1}
  .menu-card img{object-fit:cover;height: 50%;border-bottom:1px solid var(--bm-border)}
  .menu-card .meta{color:var(--bm-muted); font-size:.9rem}
  .menu-list .row-item{display:flex; gap:16px; align-items:center; padding:12px 0; border-bottom:1px solid var(--bm-border)}
  .menu-list .row-item:last-child{border-bottom:0}
  .menu-list .thumb{width:64px; height:64px; border-radius:10px; background:#f1f5f9; display:block; object-fit:cover}
  .seg{border:1px solid var(--bm-border); border-radius:10px; overflow:hidden}
  .seg .btn{border:0; border-radius:0}
  .seg .btn.active{background:#0f172a; color:#fff}
  .badge-soft{border:1px solid var(--bm-border); background:#fff; color:#0f172a; border-radius:8px; padding:.15rem .45rem; font-size:.75rem}
  .kbd{background:#f3f4f6;border:1px solid var(--bm-border);border-radius:8px;padding:.2rem .45rem;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,"Liberation Mono","Courier New",monospace;font-size:.8rem}

.btn-outline-primary {
  --bs-btn-color: #1abc9c;
  --bs-btn-border-color: #16a085;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1abc9c;
  --bs-btn-hover-border-color: #16a085;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1abc9c;
  --bs-btn-active-border-color: #16a085;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1abc9c;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #16a085;
  --bs-gradient: none;
}

.img-carrousel-item{
    max-height: 90vh;
    object-fit: cover
}

.hours-text {
    white-space: pre-line;
}

.img-product-home{
  max-height: 138px;
  max-width: 100%;
  object-fit: cover;
}

.product-image-wrapper {
    position: relative;
}

@media (min-width: 576px) {
    .img-carrousel-item{
        max-height: 90vh;
    }

    .img-product-home{
        max-height: 240px;
        max-width: 100%;
        object-fit: cover;
    }
}

@media (min-width: 768px) {
    .img-carrousel-item{
        max-height: 90vh;
    }

    .img-product-home{
        max-height: 160px;
        max-width: 100%;
        object-fit: cover;
    }
}

@media (min-width: 992px) {
    .img-carrousel-item{
        max-height: 80vh;
    }

    .img-product-home{
        max-height: 220px;
        max-width: 100%;
        object-fit: cover;
    }
}
@media (min-width: 1200px) {
    .img-carrousel-item{
        max-height: 70vh;
    }

    .img-product-home{
        max-height: 260px;
        max-width: 100%;
        object-fit: cover;
    }
}
@media (min-width: 1400px) {
    .img-carrousel-item{
        max-height: 60vh;
    }

    .img-product-home{
        max-height: 305px;
        max-width: 100%;
        object-fit: cover;
    }
}