/* Large desktop */
@media (max-width:1400px) {
    .container {
        max-width:1200px;
    }

    section {
        padding-left:6%;
        padding-right:6%;
    }
}

/* Laptop */
@media (max-width:1200px) {
    h1 {
        font-size:clamp(50px, 6.8vw, 84px);
    }

    h2 {
        font-size:clamp(34px, 4.4vw, 56px);
    }

    .hero {
        gap:44px;
    }

    .hero-description {
        font-size:17px;
    }

    .products-grid {
        gap:30px;
    }

    .category-grid,
    .features-grid,
    .wellness-wrapper,
    .white-label-wrapper {
        gap:32px;
    }
}

/* Tablet + mobile nav */
@media (max-width:991px) {
    section {
        padding:96px 6%;
    }

    .page-hero {
        padding:170px 6% 88px;
    }

    .hamburger {
        display:flex;
        color: black;
    }

    .nav-links {
        position:fixed;
        top:0;
        right:-100%;
        width:min(84vw, 340px);
        height:100vh;
        padding:90px 20px 40px;
        background:linear-gradient(155deg, rgba(255,244,251,0.96), rgba(243,250,255,0.96));
        flex-direction:column;
        justify-content:flex-start;
        align-items:center;
        gap:24px;
        transition:right 0.35s ease;
        z-index:1500;
        border-left:1px solid rgba(255,79,162,0.2);
        overflow-y:auto;
    }

    .nav-links.active {
        right:0;
    }

    .nav-links a {
        font-size:18px;
    }

    .nav-links .btn {
        width:100%;
        max-width:220px;
    }

    .hero {
        min-height:auto;
        flex-direction:column;
        padding:150px 6% 70px;
        text-align:center;
    }

    .hero-content {
        order:1;
    }

    .hero-image {
        order:2;
        margin-top:16px;
        max-width:min(700px, 92vw);
        width:100%;
    }

    .hero-description {
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons {
        justify-content:center;
    }

    .hero-buttons .btn {
        min-width:220px;
    }

    .hero-highlights {
        justify-content:center;
        padding:0 6% 42px;
    }

    .section-title {
        margin-bottom:34px;
    }

    .category-grid,
    .features-grid,
    .wellness-wrapper,
    .white-label-wrapper,
    .two-col {
        grid-template-columns:1fr;
    }

    .products-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:26px;
    }

    .dispensary-box {
        padding:56px 28px;
    }

    .dispensary-search {
        gap:14px;
    }

    .dispensary-search input,
    .newsletter-form input,
    .state-dropdown {
        width:100%;
        max-width:100%;
    }

    #map {
        height:430px;
    }

    .wellness-features,
    .white-label-points {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .video-card iframe {
        height:350px;
    }

    .video-placeholder-panel {
        min-height:350px;
    }

    .newsletter-box {
        padding:64px 30px;
    }

    .newsletter-form {
        flex-direction:column;
        align-items:stretch;
        gap:14px;
    }

    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:26px;
    }

    .footer-bottom {
        flex-direction:column;
        gap:14px;
        text-align:left;
    }
}

/* Tablet portrait / large phones */
@media (max-width:768px) {
    section {
        padding:82px 5%;
    }

    .page-hero {
        padding:148px 5% 74px;
    }

    .hero {
        padding:138px 5% 64px;
    }

    .hero-buttons {
        width:100%;
        gap:12px;
    }

    .hero-buttons .btn {
        width:100%;
        min-width:0;
    }

    .products-grid,
    .footer-grid,
    .wellness-features,
    .white-label-points {
        grid-template-columns:1fr;
    }

    .category-content,
    .feature-card,
    .asset-card,
    .merch-body {
        padding-left:22px;
        padding-right:22px;
    }

    .dispensary-box,
    .newsletter-box,
    .compliance-callout {
        border-radius:22px;
    }

    #map {
        height:360px;
    }

    .video-card iframe {
        height:300px;
    }

    .video-placeholder-panel {
        min-height:300px;
        padding:28px 22px;
    }
}

/* Phones */
@media (max-width:600px) {
    .nav-container {
        gap:16px;
    }

    .logo-img {
        height:44px;
        max-height:44px;
        max-width:min(200px,55vw);
        width:auto;
    }

    .hero-highlights {
        padding-left:5%;
        padding-right:5%;
    }

    .highlight-item {
        width:100%;
        justify-content:center;
    }

    .dispensary-box {
        padding:42px 18px;
    }

    .state-select-wrap,
    .dispensary-search {
        width:100%;
    }

    .dispensary-search .btn,
    .newsletter-form .btn {
        width:100%;
    }

    .catalog-tabs {
        gap:10px;
        margin:32px auto 42px;
        padding:0;
    }

    .catalog-tab {
        min-width:0;
        width:100%;
        padding:14px 18px;
    }

    .social-links a {
        width:100%;
        justify-content:center;
    }

    #map {
        height:300px;
    }
}

/* Small phones */
@media (max-width:480px) {
    h1 {
        font-size:clamp(38px, 10.5vw, 52px);
        line-height:1;
    }

    h2 {
        font-size:clamp(30px, 8vw, 38px);
    }

    .hero-subtitle,
    .section-title,
    .wellness-subtitle,
    .white-label-subtitle,
    .newsletter-subtitle {
        letter-spacing:0.12em;
    }

    .btn {
        padding:14px 20px;
    }

    .newsletter-box {
        padding:42px 16px;
    }

    .newsletter-description,
    .page-lede,
    .hero-description {
        font-size:15px;
        line-height:1.75;
    }

    .category-card,
    .product-card,
    .asset-card,
    .merch-card {
        border-radius:20px;
    }

    #map {
        height:260px;
    }
}