/* Responsive Adjustments using vw */

/* Tablet View */
@media (max-width: 1024px) {

    /* Scale up typography base slightly to compensate */
    .subtitle {
        font-size: 1.5vw;
        letter-spacing: 0.3vw;
        margin-bottom: 2vw;
    }

    h2 {
        font-size: 5vw;
        margin-bottom: 2.5vw;
    }

    h3 {
        font-size: 2.5vw;
    }

    h4 {
        font-size: 2vw;
    }

    p {
        font-size: 1.8vw;
        margin-bottom: 3vw;
    }

    /* Top Bar */
    .top-bar {
        padding: 1.2vw 0;
        font-size: 1.2vw;
    }

    /* Navbar */
    .navbar {
        padding: 2vw 5vw;
    }

    .logo h1 {
        font-size: 3.5vw;
    }

    .logo span {
        font-size: 1vw;
    }

    .nav-links {
        gap: 4vw;
    }

    .nav-links a {
        font-size: 1.4vw;
    }

    .nav-icons {
        gap: 2vw;
    }

    .nav-icons .icon {
        width: 2.5vw;
        height: 2.5vw;
    }

    /* Hero */
    .hero {
        height: 55vw;
    }

    .hero-content {
        padding: 5vw;
        max-width: 70%;
    }

    .hero-image {
        width: 55%;
    }

    .hero-image::before {
        background: linear-gradient(to right, var(--ivory) 0%, transparent 70%);
    }

    .btn-primary,
    .btn-secondary,
    .btn-light {
        padding: 1.5vw 3.5vw;
        font-size: 1.4vw;
    }

    /* Trust Banner */
    .trust-banner {
        padding: 4vw 5vw;
        flex-wrap: wrap;
        gap: 4vw;
    }

    .trust-item {
        width: 45%;
        justify-content: center;
    }

    .trust-icon {
        font-size: 4vw;
    }

    .trust-text strong {
        font-size: 2vw;
    }

    .trust-text span {
        font-size: 1.5vw;
    }

    /* Grids */
    .category-grid,
    .product-grid,
    .insta-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw;
    }

    .card-img-wrapper,
    .product-img,
    .insta-grid img {
        height: 45vw;
    }

    .card-info span {
        font-size: 1.5vw;
    }

    .price {
        font-size: 2vw;
        margin-bottom: 2vw;
    }

    .wishlist-btn {
        width: 5vw;
        height: 5vw;
    }

    .wishlist-btn svg {
        width: 2.5vw;
        height: 2.5vw;
    }

    /* Promo Banner */
    .promo-banner {
        height: 40vw;
    }

    .promo-badge .circle {
        width: 15vw;
        height: 15vw;
    }

    .promo-badge span {
        font-size: 4vw;
    }

    .promo-badge small {
        font-size: 1.5vw;
    }

    /* Footer */
    .footer-top {
        grid-template-columns: 1fr 1fr;
        row-gap: 6vw;
    }

    .footer-brand p {
        margin-top: 2vw;
    }

    .footer-links ul li {
        margin-bottom: 1.5vw;
    }

    .footer-links ul a {
        font-size: 1.6vw;
    }

    .newsletter-form input {
        padding: 2vw;
        font-size: 1.6vw;
    }

    .newsletter-form button {
        padding: 0 3vw;
        font-size: 2vw;
    }

    .footer-bottom p {
        font-size: 1.4vw;
    }

    .social-icons {
        gap: 2vw !important;
    }

    .social-icons a svg {
        width: 2.2vw !important;
        height: 2.2vw !important;
    }

    /* Back to Top */
    .back-to-top {
        bottom: 3vw;
        right: 3vw;
        width: 5vw;
        height: 5vw;
    }

    .back-to-top svg {
        width: 2.5vw;
        height: 2.5vw;
    }
}

/* Mobile View */
@media (max-width: 768px) {

    /* Scale up typography base heavily for readability */
    .subtitle {
        font-size: 3.5vw;
        letter-spacing: 0.5vw;
        margin-bottom: 3vw;
    }

    h2 {
        font-size: 10vw;
        margin-bottom: 4vw;
    }

    h3 {
        font-size: 6vw;
    }

    h4 {
        font-size: 5vw;
    }

    p {
        font-size: 4vw;
        margin-bottom: 5vw;
        line-height: 1.6;
    }

    /* Top Bar */
    .top-bar {
        padding: 3vw 2vw;
        font-size: 3.5vw;
        line-height: 1.4;
        flex-direction: column;
        gap: 2vw;
        text-align: center;
    }

    .top-bar svg {
        width: 5vw !important;
        height: 5vw !important;
    }

    /* Navbar */
    .navbar {
        padding: 4vw 5vw;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .logo {
        width: 30vw;
        text-align: left;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: var(--white);
        padding: 5vw;
        box-shadow: 0 4vw 8vw rgba(0, 0, 0, 0.1);
        z-index: 10;
        gap: 4vw;
        text-align: center;
    }

    .nav-links.active {
        display: flex;
    }
    
    .nav-links a {
        font-size: 5vw;
        padding: 2vw 0;
        display: block;
    }

    .nav-icons {
        width: auto;
        justify-content: flex-end;
        gap: 4vw;
    }

    .nav-icons .icon {
        width: 6vw;
        height: 6vw;
    }

    .desktop-icon {
        display: none !important;
    }

    .hamburger {
        display: block !important;
        width: 10vw !important;
        height: 10vw !important;
    }

    /* Hero */
    .hero {
        flex-direction: column-reverse;
        height: auto;
        text-align: left;
        padding: 0;
        display: flex;
    }

    .hero-content {
        padding: 10vw 5vw;
        max-width: 100%;
        z-index: 3;
        position: relative;
        margin-top: -15vw;
    }

    .hero-image {
        position: relative;
        width: 100%;
        height: 90vw;
        top: 0;
        right: 0;
    }

    .hero-image::before {
        background: linear-gradient(to top, var(--ivory) 0%, var(--ivory) 15%, transparent 60%);
    }

    .hero-features {
        flex-direction: column;
        align-items: flex-start;
        gap: 4vw;
        margin-top: 6vw;
    }

    .hero-feature {
        font-size: 3.5vw;
        gap: 2vw;
    }

    .hero-feature svg {
        width: 7vw;
        height: 7vw;
    }

    .btn-primary,
    .btn-secondary,
    .btn-light {
        padding: 3vw 6vw;
        font-size: 3vw;
        border-radius: 1vw;
    }

    /* Trust Banner */
    .trust-banner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 8vw 2vw;
        padding: 8vw 5vw;
        text-align: center;
    }

    .trust-item {
        width: 45%;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 3vw;
        display: flex;
    }

    .trust-icon svg {
        width: 15vw;
        height: 15vw;
    }

    .trust-text strong {
        font-size: 5vw;
        display: block;
    }

    .trust-text span {
        font-size: 4vw;
    }

    /* Generic Sections */
    section {
        padding: 12vw 5vw;
    }

    .section-header {
        margin-bottom: 8vw;
    }

    /* Grids */
    .category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw;
    }

    .product-grid {
        grid-template-columns: 1fr;
        gap: 8vw;
    }

    .insta-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw;
    }

    .card-img-wrapper {
        height: 50vw;
    }

    .product-img {
        height: 100vw;
    }

    .insta-grid img {
        height: 48vw;
    }

    .card-info span {
        font-size: 2.5vw;
        margin-top: 1vw;
        display: inline-block;
    }

    .price {
        font-size: 4vw;
        margin-bottom: 4vw;
    }

    .wishlist-btn {
        width: 10vw;
        height: 10vw;
        top: 3vw;
        right: 3vw;
    }

    .wishlist-btn svg {
        width: 5vw;
        height: 5vw;
    }

    .btn-secondary {
        padding: 3vw 0;
        font-size: 3.5vw;
    }

    /* Promo Banner */
    .promo-banner {
        flex-direction: column-reverse;
        height: auto;
        text-align: center;
        margin: 0;
    }

    .promo-content {
        padding: 10vw 5vw;
    }

    .promo-image {
        width: 100%;
        height: 80vw;
    }

    .promo-image::before {
        background: linear-gradient(to top, var(--primary) 0%, transparent 100%);
    }

    .promo-badge {
        top: 0;
        transform: translate(-50%, -50%);
    }

    .promo-badge .circle {
        width: 25vw;
        height: 25vw;
    }

    .promo-badge span {
        font-size: 7vw;
    }

    .promo-badge small {
        font-size: 2.5vw;
    }

    /* About Section */
    .about-container {
        flex-direction: column;
        text-align: left;
        gap: 8vw;
    }

    .about-quote {
        font-size: 5vw;
        line-height: 1.4;
    }

    .about-container p {
        font-size: 4vw;
        line-height: 1.6;
    }

    .about-image {
        width: 100%;
        height: 60vw;
    }

    /* Connect Section */
    .connect-container {
        flex-direction: column;
        gap: 8vw;
    }

    .connect-map {
        width: 100%;
        height: 80vw;
    }

    .contact-item svg {
        width: 8vw;
        height: 8vw;
    }

    .contact-item strong {
        font-size: 5vw;
    }

    .contact-item p {
        font-size: 4.5vw;
        line-height: 1.6;
    }

    /* Our Collection */
    .collection-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw;
    }

    /* Footer */
    footer {
        padding: 10vw 5vw 5vw;
    }

    .footer-top {
        grid-template-columns: 1fr;
        row-gap: 8vw;
        text-align: left;
    }

    .footer-brand .logo { width: 40vw; }
    .footer-brand p { margin-top: 4vw; font-size: 4.5vw; line-height: 1.5; }
    .top-bar svg { width: 5vw !important; height: 5vw !important; }

    .top-bar-left, .top-bar-right {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.5vw;
    }

    .footer-links h4,
    .footer-newsletter h4,
    .footer-contact h4 {
        font-size: 7vw;
        margin-bottom: 4vw;
    }

    .footer-links ul li {
        margin-bottom: 4vw;
    }

    .footer-links ul a,
    .footer-contact p a,
    .footer-contact-item a {
        font-size: 4.5vw;
    }

    .footer-contact p {
        font-size: 4.5vw;
        line-height: 1.6;
        margin-bottom: 4vw;
    }

    .footer-contact-item {
        gap: 3vw;
        margin-bottom: 4vw;
    }

    .footer-contact-item svg {
        width: 5vw;
        height: 5vw;
        min-width: 5vw;
        margin-top: 0.5vw;
    }

    .footer-store h4 {
        font-size: 7vw;
        margin-bottom: 4vw;
    }

    .store-tagline {
        font-size: 4.5vw;
        margin-bottom: 4vw;
    }

    .store-hours {
        border-left-width: 0.5vw;
        padding-left: 3vw;
        margin-bottom: 5vw;
    }

    .store-hours span {
        font-size: 3.5vw;
        margin-bottom: 1vw;
    }

    .store-hours p, .store-hours strong {
        font-size: 4vw;
    }

    .footer-map-btn {
        padding: 2.5vw 4.5vw;
        font-size: 3.8vw !important;
        border-width: 0.3vw;
        border-radius: 1vw;
    }

    .footer-map-btn span {
        font-size: 4vw;
    }

    .footer-bottom {
        margin-top: 8vw;
        padding-top: 6vw;
        text-align: center;
    }

    .footer-bottom p {
        font-size: 3.5vw;
    }

    .social-icons {
        gap: 3vw !important;
        margin-top: 4vw !important;
    }

    .social-icons a svg {
        width: 5vw !important;
        height: 5vw !important;
    }

    /* Back to Top */
    .back-to-top {
        bottom: 5vw;
        right: 5vw;
        width: 10vw;
        height: 10vw;
    }

    .back-to-top svg {
        width: 5vw;
        height: 5vw;
    }
}