/* ===================================================================
   RESPONSIVE.CSS — ROOT & CRAFT
   Organized & Deduplicated
   Part 1 of 2: Global → Desktop → Tablet → Mobile Header/Nav
   =================================================================== */


/* ===================================================================
   1. GLOBAL RULES — ALL DEVICES
   =================================================================== */

html {
    overflow-x: hidden !important;
    max-width: 100vw;
    height: 100%;
}

body {
    padding-top: 70px !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    min-height: 100vh !important;
    position: relative !important;
}

body.modal-open {
    overflow: hidden !important;
}

body.menu-open {
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

main,
.main-content,
#main-content,
#content,
.content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 80px !important;
}

header.navbar + *,
body > *:first-child:not(header) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#mobileMenuToggle {
    opacity: 1 !important;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1000;
}


/* ===================================================================
   2. ACCESSIBILITY — REDUCED MOTION
   =================================================================== */

@media (prefers-reduced-motion: reduce) {
    .hongo-tab-btn,
    .hongo-tab-btn.active::after,
    #quickViewModal button {
        transition: none;
    }
}


/* ===================================================================
   3. HIGH DPI / RETINA
   =================================================================== */

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .hongo-tab-btn.active::after {
        height: 2px;
    }
}


/* ===================================================================
   4. DESKTOP — 1025px and above
   =================================================================== */

@media (min-width: 1025px) {

    body {
        padding-top: 110px !important;
        padding-bottom: 0 !important;
    }

    body.announcement-hidden {
        padding-top: 70px !important;
    }

    .top-announcement {
        display: flex !important;
    }

    .mobile-bottom-nav {
        display: none !important;
    }

    .container-custom {
        padding-left: 40px;
        padding-right: 40px;
    }

    .navbar-nav {
        gap: 20px !important;
    }

    /* Footer — desktop column layout */
    .footer-desktop-columns {
        display: block !important;
    }

    .footer-accordion {
        display: none !important;
    }

    footer .row.align-items-center {
        flex-direction: row !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(1) {
        order: 1;
        text-align: left !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(2) {
        order: 2;
        text-align: center !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(3) {
        order: 3;
        text-align: right !important;
    }
}


/* ===================================================================
   5. LARGE DESKTOP — 1200px and above
   =================================================================== */

@media (min-width: 1200px) {
    .container-custom {
        padding-left: 50px;
        padding-right: 50px;
    }
}


/* ===================================================================
   6. MEDIUM DESKTOP — 1025px to 1199px
   =================================================================== */

@media (min-width: 1025px) and (max-width: 1199px) {
    .container-custom {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* ===================================================================
   7. WIDE RANGE — 1024px to 1280px
   =================================================================== */

@media (min-width: 1024px) and (max-width: 1280px) {
    h1 {
        font-size: 2.5rem !important;
    }
}


/* ===================================================================
   8. TYPOGRAPHY SCALING
   =================================================================== */

@media (max-width: 1400px) {
    .section-heading {
        font-size: 2.5rem !important;
    }
}

@media (max-width: 1200px) {
    .section-heading {
        font-size: 2rem !important;
    }

    .section-subtitle {
        font-size: 0.95rem;
    }
}


/* ===================================================================
   9. MOBILE HEADER & NAVBAR — up to 1024px
   =================================================================== */

@media (max-width: 1024px) {

    /* --- Fixed Header --- */
    header.navbar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
        z-index: 1030 !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: normal !important;
        background-color: #f9f1ea !important;
        border-bottom: 1px solid #e8e8e8;
    }

    /* Hide top announcement bar */
    .top-announcement {
        display: none !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* --- Navbar Grid: left-icons | logo | right-icons --- */
    .navbar > .container,
    .navbar > .container-fluid,
    .navbar > .container-custom {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 10px;
        padding: 12px 15px !important;
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
        margin: 0 !important;
        line-height: normal !important;
    }

    /* --- Left: Hamburger + Search --- */
    .header-left-icons {
        order: 1;
        display: flex !important;
        align-items: center;
        gap: 8px;
    }

    .navbar-toggler {
        display: flex !important;
        visibility: visible !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border: none !important;
        padding: 10px !important;
        margin: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        width: 44px !important;
        height: 44px !important;
        position: relative;
        cursor: pointer;
    }

    .navbar-toggler:focus,
    .navbar-toggler:active {
        outline: none !important;
        box-shadow: none !important;
    }

    .navbar-toggler-icon {
        display: block !important;
        width: 25px !important;
        height: 2px !important;
        background-color: #232323 !important;
        transition: all 0.3s ease;
        position: relative;
    }

    .navbar-toggler-icon::before {
        content: '';
        position: absolute;
        width: 20px !important;
        height: 2px !important;
        background-color: #232323 !important;
        left: 0;
        top: -8px;
        transition: all 0.3s ease;
    }

    .navbar-toggler-icon::after {
        content: '';
        position: absolute;
        width: 20px !important;
        height: 2px !important;
        background-color: #232323 !important;
        left: 0;
        bottom: -8px;
        transition: all 0.3s ease;
    }

    /* X animation when open */
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
        background-color: transparent !important;
    }

    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
        transform: rotate(45deg);
        top: 0;
    }

    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
        transform: rotate(-45deg);
        bottom: 0;
    }

    #searchToggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        color: #232323;
        transition: color 0.3s ease;
    }

    #searchToggle:hover {
        color: #666;
    }

    /* --- Center: Logo --- */
    .navbar-brand {
        order: 2;
        display: flex;
        justify-content: center;
    }

    .navbar-brand img {
        height: 40px !important;
    }

    /* --- Right: Profile + Heart + Bag --- */
    .header-icons {
        order: 3;
        display: flex !important;
        align-items: center;
        gap: 7px !important;
        margin: 0 !important;
    }

    .header-icons a,
    .header-icons .dropdown {
        font-size: 20px;
        color: #232323;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        position: relative;
        transition: color 0.3s ease;
        width: 24px;
        height: 24px;
    }

    .header-icons a:hover {
        color: #666;
    }

    .header-icons .dropdown button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        padding: 0;
    }

    .header-icons .cart-count,
    .header-icons .wishlist-count {
        position: absolute;
        top: -8px !important;
        right: -8px !important;
        left: auto !important;
        width: 18px;
        height: 18px;
        font-size: 10px;
        background: #232323;
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
    }

    /* --- Sidebar / Off-canvas Menu --- */
    .navbar-collapse {
        position: fixed !important;
        top: 0;
        left: -100%;
        width: 300px;
        height: 100vh;
        background-color: #ffffff;
        box-shadow: 2px 0 20px rgba(0, 0, 0, 0.1);
        z-index: 10000;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 0 !important;
        margin: 0 !important;
        transition: left 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        -webkit-overflow-scrolling: touch;
    }

    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        left: 0 !important;
    }

    .navbar-collapse::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: -1;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.4s ease, visibility 0.4s ease;
    }

    .navbar-collapse.show::before {
        opacity: 1;
        visibility: visible;
    }

    /* --- User Dropdown --- */
    #userDropdownWrapper {
        position: relative !important;
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    #userDropdownBtn {
        width: 24px !important;
        height: 24px !important;
        padding: 0 !important;
    }

    #userDropdownMenu {
        position: absolute !important;
        top: 36px !important;
        right: 0 !important;
        left: auto !important;
        transform: none !important;
        min-width: 160px !important;
        width: 160px !important;
        padding: 6px 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
        z-index: 99999 !important;
        margin: 0 !important;
    }

    #userDropdownMenu .dropdown-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 21px 14px !important;
        margin: 0 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        font-size: 14px !important;
        color: #322e2a !important;
        background: transparent !important;
        width: 100% !important;
        gap: 0 !important;
    }

    #userDropdownMenu .dropdown-item i,
    #userDropdownMenu .dropdown-item [class*="fa-"] {
        display: inline-block !important;
        position: static !important;
        float: none !important;
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;
        font-size: 14px !important;
        margin: 0 10px 0 0 !important;
        padding: 0 !important;
        text-align: center !important;
        vertical-align: middle !important;
        line-height: 1 !important;
        flex-shrink: 0 !important;
    }

    #userDropdownMenu .dropdown-item:hover {
        background: #f7f7f7 !important;
    }

    #userDropdownMenu .dropdown-divider {
        margin: 4px 0 !important;
    }

    /* --- General layout fixes --- */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html {
        overflow-y: auto !important;
    }
}


/* ===================================================================
   10. MOBILE BOTTOM NAVIGATION
   =================================================================== */

.mobile-bottom-nav {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 64px !important;
    background: #ffffff !important;
    border-top: 1px solid #e5e5e5 !important;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08) !important;
    z-index: 9999 !important;
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
}

/* Show only on mobile (≤ 767px) */
@media (max-width: 767px) {
    .mobile-bottom-nav {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .mobile-bottom-nav,
    .mobile-bottom-nav *,
    .mobile-nav-item,
    .mobile-nav-item *,
    .mobile-nav-icon,
    .mobile-nav-icon *,
    .mobile-nav-label {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* Safe area inset for notched devices */
@media (max-width: 1024px) {
    .mobile-bottom-nav {
        padding-bottom: env(safe-area-inset-bottom) !important;
        height: calc(64px + env(safe-area-inset-bottom)) !important;
        z-index: 9999 !important;
    }
}

.mobile-bottom-nav-container {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: space-around !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 8px !important;
    background: #ffffff !important;
}

.mobile-nav-item {
    flex: 1 !important;
    min-width: 64px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: #6c757d !important;
    position: relative !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: rgba(44, 95, 45, 0.2) !important;
    user-select: none !important;
    touch-action: manipulation !important;
    transition: all 0.2s ease !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
}

.mobile-nav-item > * {
    pointer-events: none !important;
}

.mobile-nav-item[href]:not([href="#"]),
#mobileSearchBtn,
.mobile-nav-item[href*="cart"] {
    pointer-events: auto !important;
    -webkit-tap-highlight-color: rgba(44, 95, 45, 0.2) !important;
    user-select: none !important;
    cursor: pointer !important;
}

#mobileSearchBtn *,
.mobile-nav-item[href*="cart"] * {
    pointer-events: none !important;
}

.mobile-nav-item:hover,
.mobile-nav-item:active {
    color: #2c5f2d !important;
    background: rgba(44, 95, 45, 0.05) !important;
}

.mobile-nav-item.active {
    color: #2c5f2d !important;
}

.mobile-nav-item:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    top: 20% !important;
    right: 0 !important;
    width: 1px !important;
    height: 60% !important;
    background-color: #e5e5e5 !important;
}

.mobile-nav-icon {
    font-size: 22px !important;
    margin-bottom: 4px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mobile-nav-icon svg,
.mobile-nav-icon i {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mobile-nav-icon [data-feather],
.mobile-nav-icon svg.feather {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
}

.mobile-nav-label {
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    display: block !important;
    margin-top: 2px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mobile-nav-badge {
    position: absolute !important;
    top: -4px !important;
    right: -8px !important;
    background: #000 !important;
    color: white !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid white !important;
    padding: 0 3px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 576px) {
    .mobile-bottom-nav-container {
        padding: 0 3px !important;
    }

    .mobile-nav-icon {
        font-size: 20px !important;
        width: 20px !important;
        height: 20px !important;
    }

    .mobile-nav-icon svg,
    .mobile-nav-icon i {
        width: 20px !important;
        height: 20px !important;
    }

    .mobile-nav-label {
        font-size: 10px !important;
    }
}


/* ===================================================================
   11. TABLET — 768px to 1024px
   =================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    /* --- Header icons scaling --- */
    .navbar-brand img {
        height: 32px !important;
    }

    .header-icons a,
    .header-icons .dropdown button {
        font-size: 18px;
        width: 22px;
        height: 22px;
    }

    .header-icons .cart-count,
    .header-icons .wishlist-count {
        width: 17px;
        height: 17px;
        font-size: 9px;
        top: -7px !important;
        right: -7px !important;
    }

    /* --- Hero Slider --- */
    .hero-inner h1,
    .banner-content .title {
        font-size: 4.25rem !important;
        line-height: 4.25rem !important;
    }

    .hero-inner .hero-buttons,
    .hero-buttons,
    div.hero-buttons {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        margin-top: 25px !important;
        width: 100% !important;
    }

    .hero-buttons .btn-hongo,
    .hero-buttons .btn,
    .hero-buttons a {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        display: inline-block !important;
        min-width: auto !important;
        max-width: 48% !important;
    }

    .hero-buttons > * {
        flex: 0 0 auto !important;
    }

    /* --- Features --- */
    .hongo-features {
        padding: 40px 20px !important;
    }

    .hongo-features .row {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px 20px !important;
        margin: 0 !important;
        padding: 0 50px !important;
    }

    .hongo-feature-item {
        margin-bottom: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .hongo-feature-item:not(:last-child)::after {
        display: none !important;
    }

    .hongo-feature-title {
        font-size: 1rem !important;
    }

    .hongo-feature-icon {
        font-size: 1.6rem !important;
        margin-right: 12px !important;
    }

    /* --- Product Swiper --- */
    .product-swiper .swiper-wrapper,
    .bestseller-swiper .swiper-wrapper,
    .new-arrivals-swiper .swiper-wrapper {
        gap: 15px !important;
    }

    .product-swiper .swiper-slide,
    .bestseller-swiper .swiper-slide,
    .new-arrivals-swiper .swiper-slide {
        width: calc(33.333% - 10px) !important;
        max-width: calc(33.333% - 10px) !important;
        margin-right: 0 !important;
    }

    .product-card {
        margin-bottom: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: relative !important;
    }

    .product-swiper,
    .bestseller-swiper,
    .new-arrivals-swiper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Product hover options always visible on tablet */
    .product-hover-options {
        opacity: 1 !important;
        visibility: visible !important;
        display: flex !important;
        position: absolute !important;
        top: 15% !important;
        right: 10px !important;
        transform: translateY(-50%) !important;
        flex-direction: column !important;
        gap: 10px !important;
        z-index: 10 !important;
        pointer-events: auto !important;
        transition: none !important;
        animation: none !important;
    }

    .product-hover-options .icon-btn,
    .product-hover-options button {
        opacity: 1 !important;
        visibility: visible !important;
        min-width: 20px !important;
        min-height: 20px !important;
        background: rgba(255, 255, 255, 0.95) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }

    .product-hover-options:hover,
    .product-hover-options .icon-btn:hover,
    .product-hover-options button:hover,
    .product-card:hover .product-hover-options {
        opacity: 1 !important;
        transform: translateY(-50%) !important;
        transition: none !important;
        animation: none !important;
    }

    .add-to-cart-btn {
        position: absolute;
        bottom: 27px;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        font-size: 0.85rem !important;
        padding: 12px 20px !important;
    }

    /* --- Countdown --- */
    .countdown-heading {
        font-size: 3rem !important;
    }

    #deal-of-the-day .col-md-6 {
        flex: 0 0 auto;
        width: 60%;
    }

    .countdown {
        gap: 5px !important;
        flex-wrap: wrap;
        justify-content: start;
    }

    #deal-of-the-day .py-25 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    /* --- Typography --- */
    .section-heading {
        font-size: 2.5rem !important;
    }

    /* --- Sections --- */
    .hongo-full-feature-section {
        padding-top: 0 !important;
    }

    .hongo-full-feature-section h1 {
        font-size: 2.8rem !important;
        line-height: 2.9rem !important;
        padding-top: 30px !important;
        margin-bottom: 2rem !important;
    }

    .bestseller-section {
        padding-bottom: 0 !important;
    }

    .collection-overlay {
        padding: 1.8rem !important;
    }

    .collection-overlay h3 {
        font-size: 1.8rem !important;
    }

    /* --- Testimonials --- */
    .testimonial-card blockquote {
        font-size: 1.8rem !important;
        line-height: 1.6 !important;
        padding: 0 !important;
        margin-bottom: 1.5rem !important;
    }

    /* --- Articles --- */
    .article-card {
        margin-bottom: 25px;
    }

    .article-heading {
        font-size: 1rem;
    }

    .article-date {
        font-size: 0.85rem;
    }

    .row-cols-md-5 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .article-card img {
        height: 200px;
        object-fit: cover;
    }

    /* --- Icon features --- */
    .icon-with-text-features {
        padding: 0 20px !important;
    }

    .icon-with-text-features .container-custom {
        max-width: 100% !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .icon-with-text-features .row {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
        gap: 0 !important;
    }

    .icon-with-text-features .row > [class*="col"],
    .icon-with-text-features .featurebox {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .icon-with-text-features .row > [class*="col"]:nth-child(n) {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .icon-with-text-features .row {
        align-content: start !important;
        justify-content: flex-start !important;
    }

    .icon-with-text-features .row > * {
        text-align: left;
    }

    .featurebox {
        padding: 0 15px !important;
        text-align: left !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    .featurebox i {
        font-size: 2.5rem !important;
        margin-right: 20px !important;
        margin-bottom: 0 !important;
        flex-shrink: 0 !important;
    }

    .box-content {
        flex: 1 !important;
        text-align: left !important;
    }

    .feature-box-title {
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        margin-bottom: 8px !important;
        color: #1e1e1e !important;
    }

    .feature-box-sub-title p {
        font-size: 0.9rem !important;
        color: #6b6b6b !important;
        margin: 0 !important;
    }

    /* --- Footer tablet --- */
    body {
        padding-bottom: 0 !important;
    }

    main,
    .main-content,
    #main-content {
        margin-bottom: 0 !important;
        padding-bottom: 20px !important;
    }

    .section-small {
        padding-bottom: 40px !important;
    }

    .footer-desktop-columns {
        display: block !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding: 15px 20px !important;
    }

    .footer-accordion {
        display: block !important;
    }

    h3.footer-accordion-title,
    h3.footer-store-static-title {
        font-size: 1.25rem !important;
    }

    .footer-newsletter {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
        margin-bottom: 30px !important;
    }

    .footer-newsletter h3 {
        font-size: 2rem !important;
        line-height: 2.8rem !important;
        margin-bottom: 15px !important;
    }

    .footer-newsletter .input-group {
        width: 100% !important;
        max-width: 100% !important;
    }

    .footer-newsletter .form-control {
        flex: 1 !important;
        width: 100% !important;
    }

    .footer-menu-link li {
        margin-bottom: 8px !important;
    }

    .footer-title {
        font-size: 1rem !important;
        margin-bottom: 12px !important;
    }

    footer .row {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    footer .row.align-items-center {
        text-align: center !important;
        gap: 2px !important;
        padding: 15px 0 !important;
    }

    footer .row.align-items-center > div {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(1) {
        order: 1;
        text-align: center !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(2) {
        order: 2;
        text-align: center !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(3) {
        order: 3;
        text-align: center !important;
    }

    footer img[alt="Payment Methods"] {
        max-width: 300px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    footer.bg-hongo-dark {
        padding-top: 60px !important;
        padding-bottom: 20px !important;
        margin-bottom: 0 !important;
        position: relative !important;
        z-index: 1 !important;
    }

    footer .container-custom {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 20px !important;
    }

    footer {
        position: relative !important;
        bottom: 0 !important;
        width: 100% !important;
        clear: both !important;
    }

    html,
    body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        height: auto !important;
        min-height: 100vh !important;
    }


    /* ---- About Page — Why Handmade ---- */
    .why-handmade-matters .container-custom,
    .why-handmade-matters .container {
        max-width: 100% !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .why-handmade-matters .row.g-4,
    .why-handmade-matters .row {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
        gap: 0 !important;
    }

    .why-handmade-matters .row > [class*="col"] {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .why-handmade-matters .row > [class*="col"]:nth-child(1),
    .why-handmade-matters .row > [class*="col"]:nth-child(2),
    .why-handmade-matters .row > [class*="col"]:nth-child(3),
    .why-handmade-matters .row > [class*="col"]:nth-child(4),
    .why-handmade-matters .row > [class*="col"]:nth-child(5) {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
    }

    .why-handmade-matters .p-3 {
        text-align: center !important;
    }

    .why-handmade-matters svg {
        width: 48px !important;
        height: 48px !important;
        margin: 0 auto !important;
    }

    .why-handmade-matters h6 {
        font-size: 1.05rem !important;
        margin-bottom: 0.5rem !important;
    }

    .why-handmade-matters p.small {
        font-size: 0.875rem !important;
        line-height: 1.5 !important;
    }

    /* ---- About Page — Sustainability ---- */
    section.bg-hongo-extra-light .container {
        max-width: 100% !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    section.bg-hongo-extra-light .row.g-4.justify-content-center,
    section.bg-hongo-extra-light .row.justify-content-center {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
        gap: 0 !important;
    }

    section.bg-hongo-extra-light .row.justify-content-center > [class*="col"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-bottom: 20px !important;
        margin-left: 0 !important;
    }

    .sustainability-card {
        min-height: 280px !important;
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }

    .sustainability-card .card-inner {
        padding: 1rem 3rem !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .sustainability-card .icon-wrapper {
        width: 75px !important;
        height: 75px !important;
        margin: 0 auto 1.25rem !important;
    }

    .sustainability-card .icon-wrapper i {
        font-size: 2.25rem !important;
    }

    .sustainability-card h5 {
        font-size: 1.5rem !important;
        margin-bottom: 0.75rem !important;
    }

    .sustainability-card p.small {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }

    section.bg-hongo-extra-light {
        padding-top: 2.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    section.bg-hongo-extra-light .text-center h2 {
        font-size: 2.25rem !important;
        margin-bottom: 1rem !important;
    }

    section.bg-hongo-extra-light .text-center.mb-5 {
        margin-bottom: 2.5rem !important;
    }

    section.bg-hongo-extra-light .badge {
        font-size: 0.875rem !important;
    }

    section.bg-hongo-extra-light .lead {
        font-size: 1rem !important;
    }

    .about-cta h2 {
        padding: 0 5rem !important;
    }
}

/* ===================================================================
   RESPONSIVE.CSS — ROOT & CRAFT
   Part 2 of 2: All Sections → Mobile Breakpoints → Page-Specific
   =================================================================== */


/* ===================================================================
   12. HERO SLIDER
   =================================================================== */

@media (max-width: 1024px) {
    .hongo-hero-slide,
    .hero-swiper,
    .banner-swiper {
        height: 600px !important;
        min-height: 60vh !important;
    }

    .hero-inner {
        padding: 40px 20px;
    }

    .hero-inner .title,
    .hero-inner h1,
    .banner-content .title {
        font-size: 3.5rem;
        line-height: 3.3rem;
        margin-bottom: 30px;
        padding: 0 25px;
    }

    .hero-inner .small-heading,
    .hero-inner .hongo-subtitle,
    .banner-content .subtitle {
        font-size: 0.9rem;
        margin-bottom: 10px !important;
    }

    .hero-buttons {
        display: flex;
        flex-direction: row;
        gap: 12px !important;
        width: 100%;
        align-items: center !important;
        justify-content: center;
    }

    .hero-slider .swiper-button-prev,
    .hero-slider .swiper-button-next {
        width: 50px !important;
        height: 50px !important;
        border-radius: 50%;
        border: 0.75px solid #fff;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .hero-swiper,
    .banner-swiper,
    .hongo-hero-slide {
        height: 500px !important;
    }

    .hero-inner h1,
    .banner-content .title {
        font-size: 2.5rem !important;
        line-height: 2.5rem;
    }

    .hero-inner .small-heading,
    .banner-content .subtitle {
        font-size: 0.9rem;
    }
}

@media (max-width: 575px) {
    .hero-swiper,
    .banner-swiper,
    .hongo-hero-slide {
        height: 560px !important;
        min-height: 85vh !important;
    }

    .hero-inner {
        padding: 30px 15px;
    }

    .hero-inner .title,
    .hero-inner h1 {
        font-size: 3rem !important;
        line-height: 3.5rem !important;
        margin-bottom: 20px !important;
        padding: 0 !important;
    }

    .hero-inner .hongo-subtitle {
        font-size: 0.8rem;
    }

    .subtitle {
        line-height: 18px !important;
        padding: 0 10px;
    }

    .btn-hongo {
        align-items: center !important;
    }
}

/* Landscape mobile */
@media (max-height: 500px) and (orientation: landscape) and (max-width: 1024px) {
    .hero-swiper,
    .banner-swiper,
    .hongo-hero-slide {
        height: 100vh !important;
    }

    .navbar-collapse {
        width: 280px;
    }

    .navbar-nav {
        padding: 50px 0 10px 0;
    }

    .navbar-nav .nav-link {
        padding: 10px 20px !important;
    }
}


/* ===================================================================
   13. FEATURES SECTION
   =================================================================== */

@media (max-width: 1024px) {
    .hongo-features {
        padding: 40px 0 !important;
    }

    .hongo-feature-item {
        margin-bottom: 20px;
        padding-right: 15px !important;
    }

    .hongo-feature-title {
        font-size: 1.1rem !important;
    }

    .hongo-feature-icon {
        font-size: 1.8rem;
        margin-right: 15px !important;
    }

    .hongo-feature .d-flex {
        display: flow !important;
    }
}

@media (max-width: 576px) {
    .hongo-feature-item {
        flex-direction: column;
        text-align: center !important;
        margin-bottom: 25px;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 5px !important;
    }

    .hongo-feature-item > div {
        text-align: center !important;
    }

    .hongo-feature-icon {
        margin-right: 30px !important;
        margin-bottom: 10px;
    }

    .hongo-feature-item:not(:last-child)::after {
        display: none;
    }
}


/* ===================================================================
   14. PRODUCT CARDS
   =================================================================== */

@media (max-width: 1024px) {
    .product-card {
        margin-bottom: 20px;
        width: 100% !important;
    }

    .add-to-cart-btn {
        font-size: 0.85rem;
        padding: 12px 20px;
    }

    .product-details-content,
    .product-card:hover .product-details-content {
        padding: 0 10px !important;
    }
    
    .product-details-content p {
        font-size: 0.9rem; 
    }

    .star-rating {
        font-size: 0.85rem !important;
    }

    /* Always show hover icons on mobile */
    .product-hover-options {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }

    .product-hover-options .icon-btn {
        opacity: 1 !important;
        pointer-events: auto !important;
        min-width: 20px !important;
        min-height: 20px !important;
    }

    .product-card:hover .product-hover-options,
    .product-card .product-hover-options {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .shop-by-category .product-image-wrap {
        padding-bottom: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1.25 !important;
    }
}

@media (max-width: 767px) {
    .product-swiper .swiper-slide,
    .bestseller-swiper .swiper-slide,
    .new-arrivals-swiper .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .product-details-content,
    .product-card:hover .product-details-content {
        padding: 0 8px !important;
    }
    
    .product-image-wrap img {
        width: 100% !important;
        object-fit: cover;
    }

    .add-to-cart-btn {
        font-size: 0.9rem;
        padding: 14px 20px;
        opacity: 1;
        width: 100% !important;
        left: 0;
    }
}

@media (max-width: 576px) {
    .product-image-wrap img {
        height: 100% !important;
    }

    .product-card {
        margin-bottom: 8px !important;
    }

    .product-hover-options {
        position: absolute !important;
        top: 48px !important;
        right: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        z-index: 10 !important;
    }

    .icon-btn {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .product-hover-options:hover,
    .icon-btn:hover {
        transform: none !important;
        transition: none !important;
    }

    /* Recently Viewed / New Arrivals */
    .recently-viewed .product-item,
    .new-arrivals .product-item {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .recently-viewed .add-to-cart-btn,
    .new-arrivals .add-to-cart-btn {
        margin-top: auto;
        width: 100%;
        font-size: 0.75rem;
        line-height: 1.5 !important;
        padding: 10px 15px;
        opacity: 1 !important;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .recently-viewed .product-title,
    .new-arrivals .product-title {
        font-size: 16px !important;
    }

    .recently-viewed .product-price,
    .new-arrivals .product-price {
        font-size: 14px !important;
    }

    .add-to-cart-overlay {
        z-index: 2 !important;
        opacity: 1 !important;
    }

    .prodouct-hover-options .icon-btn {
        width: 30px !important;
        height: 30px !important;
    }

    .prodouct-hover-options .icon-btn i {
        font-size: 0.8rem !important;
    }

    section.recently-viewed {
        padding-top: 0 !important;
    }
}


/* ===================================================================
   15. CATEGORY TABS & NAVIGATION
   =================================================================== */

@media (max-width: 1024px) {
    .container-fluid {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .shop-by-category h1 {
        font-size: 2.5rem !important;
    }

    .hongo-category-tabs {
        position: relative !important;
        top: auto !important;
        z-index: 100;
        background: #f9f1ea;
        padding: 15px 0;
        margin-bottom: 20px;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    .hongo-category-tabs::before {
        display: none;
    }

    .hongo-category-tabs::-webkit-scrollbar {
        height: 6px;
    }

    .hongo-category-tabs::-webkit-scrollbar-track {
        background: #f1f1f1;
    }

    .hongo-category-tabs::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 3px;
    }

    .hongo-category-tabs::-webkit-scrollbar-thumb:hover {
        background: #999;
    }

    .hongo-tab-btn {
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        font-size: 0.85rem;
        padding: 8px 6px !important;
        margin: 0 5px;
        white-space: nowrap;
    }

    .hongo-tab-btn.active::after {
        display: none;
    }

    .view-all-container {
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        width: auto !important;
        min-width: 100px;
    }

    .view-all-container .btn {
        font-size: 0.8rem;
        padding: 6px 12px;
    }

    .carousel-navigation-container {
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        width: auto !important;
        min-width: 90px;
    }

    .nav-arrow-btn {
        width: 35px !important;
        height: 35px !important;
        font-size: 0.9rem !important;
    }
}

@media (max-width: 768px) {
    /* Section headers only (not navbar/header) */
    section .d-flex.justify-content-between.align-items-center,
    .container .d-flex.justify-content-between.align-items-center {
        display: flex;
    }

    section .d-flex.justify-content-between.align-items-center .flex-grow-1,
    .container .d-flex.justify-content-between.align-items-center .flex-grow-1 {
        order: 1;
        width: 100%;
        text-align: center !important;
    }

    section .d-flex.justify-content-between.align-items-center .view-all-container,
    .container .d-flex.justify-content-between.align-items-center .view-all-container {
        order: 2;
        width: 100%;
        display: flex;
        justify-content: center !important;
        text-align: center !important;
    }

    section .carousel-navigation-container,
    .container .carousel-navigation-container {
        order: 3;
        width: 100%;
        display: flex;
        justify-content: center !important;
        margin-top: 10px;
        position: static !important;
        top: auto !important;
        right: auto !important;
    }

    /* Protect navbar flex from above rule */
    nav .d-flex,
    .navbar .d-flex,
    header .d-flex {
        flex-direction: row !important;
    }
}

@media (max-width: 576px) {
    .shop-by-category h1 {
        font-size: 2rem !important;
    }

    .hongo-tab-btn {
        font-size: 0.75rem;
        padding: 6px 12px;
    }

    .carousel-navigation-container {
        margin: 0.75rem auto 1.5rem;
    }

    .hongo-category-tabs {
        overflow-x: auto;
        gap: 1px 30px !important;
        overflow-y: visible;
        max-width: 100vw;
    }

    .hongo-category-tabs::after {
        display: none !important;
    }
}


/* ===================================================================
   16. FULL FEATURE SECTION (Crafted with Natural Materials)
   =================================================================== */

@media (max-width: 1024px) {
    .feature-text-block {
        padding: 10px 20px;
    }

    .feature-text-block h3 {
        font-size: 1.75rem;
    }

    .feature-text-block p {
        font-size: 0.95rem;
    }
}

@media (max-width: 768px) {
    .feature-text-block h3 {
        font-size: 1.5rem;
    }

    .feature-image-container {
        margin-bottom: 20px;
    }
}

@media (max-width: 576px) {
    .hongo-full-feature-section h1 {
        padding-bottom: 15px !important;
        padding-top: 32px !important;
        margin-top: 0 !important;
        line-height: 1.2 !important;
        font-size: 32px !important;
    }

    .feature-text-block {
        padding: 33px 20px !important;
    }

    .feature-text-block p {
        margin-bottom: 1.5rem !important;
    }

    .feature-image-container {
        margin-bottom: 0 !important;
    }

    .hongo-full-feature-section {
        padding-top: 0 !important;
    }
}


/* ===================================================================
   17. COUNTDOWN TIMER
   =================================================================== */

@media (max-width: 1024px) {
    #deal-of-the-day .section-radius {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .countdown-sub-heading {
        font-size: 0.9rem;
    }

    .countdown-number {
        font-size: 2rem !important;
    }

    .countdown-label {
        font-size: 0.8rem;
    }
}

@media (max-width: 768px) {
    #deal-of-the-day .section-radius {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
        background-position: center !important;
    }

    .countdown-number {
        font-size: 1.75rem !important;
    }

    .btn-black {
        font-size: 0.85rem;
        padding: 10px 25px !important;
    }
}

@media (max-width: 576px) {
    #deal-of-the-day .section-radius {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    #deal-of-the-day .cover-background {
        background-position: left bottom !important;
    }

    #deal-of-the-day .py-25 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    #deal-of-the-day .countdown-heading {
        font-size: 2.2rem !important;
        line-height: 2.6rem !important;
        margin-bottom: 20px !important;
    }

    .countdown-sub-heading {
        font-size: 0.75rem;
    }

    .countdown {
        gap: 2px !important;
    }

    #deal-of-the-day .countdown-number {
        font-size: 1.875rem !important;
    }

    .countdown-label {
        font-size: 0.6rem;
        margin-bottom: 1rem !important;
    }

    #deal-of-the-day .col-md-6 {
        text-align: center !important;
    }
    
    .countdown {
        justify-content: center !important;
    }
    
    #deal-of-the-day .btn-hongo {
        display: inline-block;
        margin: 0 auto;
    }
}


/* ===================================================================
   18. MARQUEE SECTION
   =================================================================== */

@media (max-width: 1024px) {
    #hongo-marquee-revised {
        padding-top: 20px !important;
        padding-bottom: 60px !important;
    }

    .section-title {
        font-size: 4rem !important;
        padding: 0 40px !important;
    }

    .separator {
        width: 10px !important;
        height: 10px !important;
        margin-right: 40px !important;
    }
}

@media (max-width: 768px) {
    .section-title {
        font-size: 3rem !important;
        padding: 0 30px !important;
    }

    .separator {
        width: 8px !important;
        height: 8px !important;
        margin-right: 30px !important;
    }
}

@media (max-width: 576px) {
    .section-title {
        font-size: 2.5rem !important;
        padding: 0 10px !important;
    }

    .separator {
        width: 6px !important;
        height: 6px !important;
        margin-right: 20px !important;
    }
}


/* ===================================================================
   19. COLLECTION GRID
   =================================================================== */

@media (max-width: 1024px) {
    .collection-link-card {
        height: 300px;
    }
}

@media (max-width: 768px) {
    .collection-link-card {
        height: 350px;
        margin-bottom: 15px;
    }

    .collection-link-card .collection-image {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .collection-overlay span {
        font-size: 0.85rem;
    }
}

@media (max-width: 576px) {
    .collection-link-card {
        height: 300px;
    }

    .collection-link-card .collection-image {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .collection-overlay h3 {
        font-size: 2rem !important;
    }

    .collection-overlay span {
        font-size: 0.75rem !important;
    }

    .collection-grid-section .mb-5 {
        margin-bottom: 5px !important;
    }
}


/* ===================================================================
   20. VIDEO BANNER
   =================================================================== */

@media (max-width: 1024px) {
    .video-banner-section video {
        min-height: 400px;
        object-fit: cover;
    }

    .video-overlay h2 {
        font-size: 2rem !important;
        padding: 0 20px;
    }

    .video-overlay .btn {
        font-size: 0.9rem;
        padding: 10px 25px;
    }

    .video-banner-section .mb-4 {
        margin-bottom: 5px !important;
    }
    
    .video-banner-section .container-fluid {
    
        padding: 0 30px 0 30px!important;
    }
}

@media (max-width: 768px) {
    .video-banner-section video {
        min-height: 350px;
    }

    .video-overlay h2 {
        font-size: 1.75rem !important;
    }
}

@media (max-width: 576px) {
    .video-banner-section video {
        min-height: 300px;
    }

    .video-overlay h2 {
        font-size: 1.5rem !important;
    }

    .video-overlay .btn {
        font-size: 0.85rem;
        padding: 8px 20px;
    }
}


/* ===================================================================
   21. INSTAGRAM GALLERY
   =================================================================== */

@media (max-width: 1024px) {
    .instagram-gallery-section .row {
        margin: 0 -5px;
    }

    .instagram-gallery-section [class*="col-"] {
        padding: 0 5px;
        margin-bottom: 10px;
    }

    .gallery-item {
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 768px) {
    .instagram-gallery-section .col-lg-2 {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
}

@media (max-width: 576px) {
    .instagram-gallery-section .col-lg-2 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .gallery-overlay span {
        font-size: 0.75rem;
    }

    .instagram-gallery-section .row {
        margin: 0 -5px !important;
    }
}


/* ===================================================================
   22. TESTIMONIALS
   =================================================================== */

.testimonial-swiper-faded {
    overflow: hidden !important;
}

@media (max-width: 1024px) {
    .hongo-testimonial-slider {
        padding: 40px 20px !important;
    }

    .testimonial-author {
        font-size: 0.95rem;
    }

    .star-rating {
        font-size: 1rem !important;
    }
}

@media (max-width: 768px) {
    .hongo-testimonial-slider .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .testimonial-swiper-faded {
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .swiper-slide {
        padding: 2rem 0.1rem !important;
    }

    .hongo-marquee-revised .swiper-slide {
        padding: 0 0.1rem !important;
    }

    .testimonial-card {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .testimonial-author {
        font-size: 0.9rem !important;
        margin-bottom: 0.5rem !important;
    }

    .new-arrivals .product-hover-options .icon-btn,
    .recently-viewed .product-hover-options .icon-btn {
        width: 30px;
        height: 30px;
    }

    .new-arrivals .product-hover-options .icon-btn i,
    .recently-viewed .product-hover-options .icon-btn i {
        font-size: 15px;
    }

    .new-arrivals .product-flag,
    .recently-viewed .product-flag {
        position: absolute;
        top: 8px !important;
        right: 8px !important;
        padding: 6px 10px !important;
        font-size: 8px !important;
    }

    .new-arrivals .badge,
    .recently-viewed .badge {
        position: absolute;
        top: 8px !important;
        left: 8px !important;
        padding: 6px 8px !important;
        font-size: 8px !important;
    }
}

@media (max-width: 576px) {
    .hongo-testimonial-slider .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .hongo-testimonial-slider {
        background-position: left !important;
    }

    .recently-viewed .swiper-slide,
    .new-arrivals .swiper-slide {
        padding: 0.1rem !important;
    }

    .testimonial-card {
        max-width: 100% !important;
        padding: 0 !important;
    }

    .testimonial-card blockquote {
        font-size: 1.58rem !important;
        line-height: 1.5 !important;
        margin-bottom: 1.25rem !important;
        padding: 0 !important;
    }

    .testimonial-author {
        font-size: 0.85rem !important;
        margin-bottom: 0.5rem !important;
    }

    .hongo-subtitle {
        font-size: 0.85rem !important;
        font-weight: 600;
        margin-bottom: 1rem !important;
    }

    #freeShipping.free-shipping-banner {
        padding: 30px 28px !important;
        text-align: center !important;
    }
}


/* ===================================================================
   23. ARTICLES SECTION
   =================================================================== */

@media (max-width: 1024px) {
    .article-card {
        margin-bottom: 25px;
    }

    .article-heading {
        font-size: 1rem;
    }

    .article-date {
        font-size: 0.85rem;
    }
}

@media (max-width: 768px) {
    .row-cols-md-5 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .article-card img {
        height: 200px;
        object-fit: cover;
    }
}

@media (max-width: 576px) {
    .article-card {
        max-width: 400px;
        margin: 0 auto 20px;
    }

    .latest-article {
        text-align: center !important;
    }

    .latest-article h1 {
        margin-bottom: 20px !important;
    }
}

@media (max-width: 480px) {
    .row-cols-md-5 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .article-card {
        margin-bottom: 20px;
    }

    .article-card img {
        height: 250px;
    }
}


/* ===================================================================
   24. FOOTER FEATURES (Icon + Text Row)
   =================================================================== */

@media (max-width: 1024px) and (min-width: 577px) {
    .icon-with-text-features {
        padding: 40px 20px;
    }

    .row-cols-xl-5 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .featurebox {
        margin-bottom: 30px;
    }

    .featurebox i {
        font-size: 2.25rem;
    }

    .feature-box-title {
        font-size: 1.0625rem;
    }

    .feature-box-sub-title p {
        font-size: 0.875rem;
    }
}

@media (max-width: 576px) {
    .icon-with-text-features {
        padding: 20px;
    }

    .row-cols-xl-5 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .featurebox {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        margin-bottom: 10px;
        padding: 0 20px;
    }

    .featurebox i {
        font-size: 2.5rem;
        margin-right: 20px;
        margin-top: 0;
        flex-shrink: 0;
    }

    .box-content {
        text-align: left;
        width: auto;
        flex: 1;
    }

    .feature-box-title {
        font-size: 1.0625rem;
        font-weight: 600;
        margin-bottom: 6px;
        color: #1a1a1a;
    }

    .feature-box-sub-title p {
        font-size: 0.875rem;
        color: #999;
    }

    .footer-store-static-title {
        font-size: 19px !important;
    }

    .newsletter-form .py-3 {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}


/* ===================================================================
   25. FOOTER — MOBILE (up to 767px)
   =================================================================== */

@media (max-width: 767px) {
    .footer-desktop-columns {
        display: none !important;
    }

    .footer-accordion {
        display: block !important;
    }

    .footer-newsletter {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 20px !important;
        margin-bottom: 0 !important;
    }

    footer .row.align-items-center {
        text-align: center !important;
    }

    footer .row.align-items-center > div {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    footer .row.align-items-center .col-md-4:nth-child(1) { order: 1; }
    footer .row.align-items-center .col-md-4:nth-child(2) { order: 2; }
    footer .row.align-items-center .col-md-4:nth-child(3) { order: 3; }

    footer img[alt="Payment Methods"] {
        max-width: 285px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    footer .row.align-items-center p {
        text-align: center !important;
        margin-bottom: 30px !important;
    }
}


/* ===================================================================
   26. SWIPER GENERAL
   =================================================================== */

@media (max-width: 1024px) {
    .swiper-button-prev,
    .swiper-button-next {
        width: 35px !important;
        height: 35px !important;
    }

    .swiper-button-prev:after,
    .swiper-button-next:after {
        font-size: 1rem !important;
    }
}

@media (max-width: 768px) {
    .swiper-button-prev,
    .swiper-button-next {
        display: none !important;
    }

    .swiper-pagination {
        position: relative !important;
        margin-top: 15px !important;
    }
}


/* ===================================================================
   27. UTILITY SPACING
   =================================================================== */

@media (max-width: 1024px) {
    .py-10 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .py-12 {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }

    .pb-20 {
        padding-bottom: 3rem !important;
    }
}

@media (max-width: 768px) {
    .py-6 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .mt-5 {
        margin-top: 2rem !important;
    }

    .mb-5 {
        margin-bottom: 2rem !important;
    }
}


/* ===================================================================
   28. QUICK VIEW MODAL
   =================================================================== */

@media (max-width: 1024px) {
    #quickViewModal .modal-dialog {
        margin: 0;
        max-width: 100%;
    }

    #quickViewModal .modal-product-details {
        padding: 40px 30px !important;
    }

    #modalProductTitle {
        font-size: 1.75rem !important;
    }

    .hongo-price {
        font-size: 1.25rem !important;
    }

    #modalProductDescription {
        font-size: 0.95rem;
    }
}

@media (max-width: 991px) {
    #quickViewModal.show {
        display: block !important;
    }

    #quickViewModal .modal-dialog {
        display: block !important;
        margin: 16px auto !important;
        max-width: calc(100% - 32px) !important;
    }

    #quickViewModal .modal-content {
        display: block !important;
        height: auto !important;
        max-height: 90vh !important;
        overflow-y: auto !important;
    }

    #quickViewModal .modal-body {
        display: block !important;
        height: auto !important;
        min-height: unset !important;
        max-height: unset !important;
        overflow: visible !important;
        flex: none !important;
        padding: 0 !important;
    }
}

@media (max-width: 576px) {
    #quickViewModal {
        padding: 12px !important;
    }

    #quickViewModal .modal-product-image-container.position-relative {
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px !important;
    }

    #quickViewModal .modal-product-details {
        padding: 16px 14px 28px !important;
    }

    #quickViewModal .hongo-quantity {
        flex: 0 0 88px !important;
        width: 88px !important;
        height: 46px !important;
    }

    #quickViewModal #minusQuantity,
    #quickViewModal #plusQuantity,
    #quickViewModal #modalProductQuantity {
        height: 46px !important;
    }

    #quickViewModal #modalAddToCartBtn {
        height: 46px !important;
        font-size: 11px !important;
        padding: 0 8px !important;
    }

    #quickViewModal #modalAddToWishlistBtn {
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
    }
}


/* ===================================================================
   29. COMMON SECTIONS — ALL PAGES
   =================================================================== */

@media (max-width: 576px) {
    .main-banner {
        height: 200px !important;
    }

    .breadcrumb-text {
        font-size: 14px !important;
    }

    .reset-filters-btn {
        width: 40px !important;
        height: 40px !important;
    }
}

@media (max-width: 767px) {
    .reset-filters-btn {
        width: 40px !important;
        height: 40px !important;
    }
}


/* ===================================================================
   30. ABOUT PAGE
   =================================================================== */

@media (max-width: 1024px) {
    .about-title,
    .about-sub {
        font-size: 40px;
    }

    .about-hero-bg {
        height: 55vh;
    }

    .story-heading {
        font-size: 28px;
    }

    .badge-circle {
        right: -18px;
        bottom: -18px;
        width: 90px;
        height: 90px;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .about-title,
    .about-sub {
        font-size: 36px;
    }

    .story-heading {
        font-size: 26px;
    }
}

@media (max-width: 576px) {
    .about-title,
    .about-sub {
        font-size: 32px;
    }

    .about-hero-bg {
        height: 45vh;
    }

    .story-heading {
        font-size: 22px;
    }

    .about-story,
    .about-design {
        padding: 40px 0;
    }

    .badge-circle {
        right: -15px;
        bottom: -15px;
        width: 80px;
        height: 80px;
    }

    .sustainability-card h5 {
        font-size: 20px !important;
        font-family: var(--font-body) !important;
    }

    .why-handmade-matters h6 {
        font-size: 22px !important;
    }
}


/* ===================================================================
   31. SMALL MOBILE — up to 575px (misc overrides)
   =================================================================== */

@media (max-width: 575px) {
    .navbar > .container,
    .navbar > .container-fluid,
    .navbar > .container-custom {
        padding: 10px 12px !important;
        gap: 8px;
    }

    .navbar-brand img {
        height: 24px !important;
    }

    .header-left-icons {
        gap: 6px;
    }

    .header-icons {
        gap: 6px !important;
    }

    .header-icons a,
    .header-icons .dropdown button {
        font-size: 16px;
        width: 20px;
        height: 20px;
    }

    .header-icons .cart-count,
    .header-icons .wishlist-count {
        width: 15px;
        height: 15px;
        font-size: 8px;
        top: -5px !important;
        right: -5px !important;
    }

    .navbar-toggler {
        width: 40px !important;
        height: 40px !important;
        padding: 8px !important;
    }

    #searchToggle {
        width: 20px;
        height: 20px;
    }

    .bestseller-section {
        padding-bottom: 0 !important;
    }

    /* Overflow clipping */
    .bg-hongo-primary,
    section {
        overflow-x: clip;
    }

    .container-custom {
        overflow-x: clip;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    html {
        overflow-x: clip !important;
        max-width: 100vw;
    }

    body {
        overflow-x: clip !important;
        max-width: 100vw;
        position: relative;
    }

    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .header-left-icons {
        gap: 7px;
    }

    .header-icons {
        gap: 8px !important;
    }

    .header-icons a,
    .header-icons .dropdown button {
        font-size: 17px;
    }

    .header-icons .cart-count,
    .header-icons .wishlist-count {
        width: 16px;
        height: 16px;
        font-size: 9px;
        top: -6px !important;
        right: -6px !important;
    }
}


/* ===================================================================
   32. EXTRA SMALL MOBILE — up to 375px
   =================================================================== */

@media (max-width: 375px) {
    .navbar > .container,
    .navbar > .container-fluid,
    .navbar > .container-custom {
        gap: 4px !important;
        padding: 8px !important;
    }

    .header-left-icons {
        gap: 5px;
    }

    .header-icons {
        gap: 5px !important;
    }

    .header-icons a,
    .header-icons .dropdown button {
        font-size: 15px;
        width: 18px;
        height: 18px;
    }

    .header-icons .cart-count,
    .header-icons .wishlist-count {
        width: 14px;
        height: 14px;
        font-size: 7px;
        top: -4px !important;
        right: -4px !important;
    }

    .category-select-mobile select {
        max-width: 300px !important;
    }

    .hero-inner {
        padding: 20px 10px !important;
    }

    .hero-inner .title,
    .hero-inner h1,
    .banner-content .title {
        font-size: 2.5rem !important;
        line-height: 2.8rem !important;
        padding: 0 !important;
    }

    .subtitle {
        font-size: 14px !important;
        line-height: 16px !important;
    }

    .hongo-feature-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 5px !important;
    }

    .hongo-full-feature-section {
        padding-top: 0 !important;
    }

    .hongo-full-feature-section h1 {
        margin-bottom: 0 !important;
        padding-bottom: 22px !important;
    }

    .bestseller-section {
        padding-bottom: 0 !important;
    }
}


/* ===================================================================
   33. CART PAGE
   =================================================================== */

@media (max-width: 429px) {
    .cart-actions {
        display: flex !important;
        gap: 10px !important;
        padding: 20px 0 !important;
        width: 100% !important;
    }

    .cart-actions a,
    .cart-actions button {
        width: 100% !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    #freeShipping.free-shipping-banner {
        padding: 30px 35px !important;
        text-align: center !important;
    }
}


/* ===================================================================
   34. PRODUCT DETAIL PAGE
   =================================================================== */

@media (max-width: 991px) {

    /* Image grid → horizontal scroll */
    .image-grid-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 10px !important;
        padding-bottom: 8px !important;
        scrollbar-width: none !important;
    }

    .image-grid-container::-webkit-scrollbar {
        display: none !important;
    }

    .img-zoom-wrapper {
        flex: 0 0 100% !important;
        min-width: 100% !important;
        scroll-snap-align: start !important;
        aspect-ratio: 3 / 4 !important;
    }

    .zoom-icon {
        opacity: 1 !important;
        display: flex !important;
    }

    .image-grid-container::after {
        content: '';
        display: block;
        min-width: 1px;
    }

    .product-page-wrapper .row > .col-lg-6:first-child {
        margin-bottom: 1.5rem !important;
    }

    .col-lg-6.col-xl-7,
    .col-lg-6.col-xl-5 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .pl-80 {
        padding-left: 0 !important;
    }
}

@media (max-width: 768px) {

    .breadcrumb-nav {
        font-size: 12px !important;
        margin: 8px 0 12px !important;
    }

    .breadcrumb-item + .breadcrumb-item::before {
        font-size: 10px;
    }

    .breadcrumb-item.active {
        max-width: 140px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: inline-block;
        vertical-align: middle;
    }

    .product-page-wrapper h3 {
        font-size: 2rem !important;
        line-height: 1.4 !important;
        margin-bottom: 0.75rem !important;
    }

    .d-flex.align-items-center.mb-2.flex-wrap {
        gap: 8px !important;
    }

    .sku-text { font-size: 11px !important; }
    .stock-badge { font-size: 10px !important; padding: 2px 6px !important; }

    .current-price { font-size: 1.3rem !important; }
    .old-price { font-size: 1rem !important; }

    .save-badge {
        font-size: 10px !important;
        padding: 2px 6px !important;
        margin-left: 6px !important;
    }

    .variations-section {
        margin: 1rem 0 !important;
        padding: 0 !important;
    }

    .variation-option {
        padding: 0.45rem 0.75rem !important;
        font-size: 0.82rem !important;
        min-width: 48px !important;
    }

    .variation-label {
        font-size: 0.85rem !important;
        margin-bottom: 0.5rem !important;
    }

    .variation-options { gap: 0.4rem !important; }

    .selected-variation-info {
        padding: 0.75rem !important;
        font-size: 0.85rem !important;
    }

    .stock-indicator {
        width: 16px !important;
        height: 16px !important;
        font-size: 0.55rem !important;
    }

    .notify-box {
        font-size: 13px !important;
        padding: 4px 0 !important;
    }

    #soldItems {
        padding: 8px 12px !important;
        font-size: 12px !important;
        margin-bottom: 12px !important;
    }

    .hurry-text {
        font-size: 12px !important;
        margin-bottom: 4px !important;
    }

    .progress-bar-bg { height: 5px !important; }

    .d-flex.gap-2.mt-4.mb-2 { gap: 8px !important; }

    .qty-input {
        width: 100px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
    }

    .qty-input button { font-size: 16px !important; }

    .btn-add-cart {
        font-size: 12px !important;
        padding: 0 14px !important;
        height: 44px !important;
        white-space: nowrap !important;
    }

    .btn-wishlist {
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
    }

    .btn-buy-now {
        font-size: 13px !important;
        padding: 13px !important;
        margin-bottom: 16px !important;
    }

    .d-flex.align-items-center.mb-4 {
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-bottom: 16px !important;
    }

    .meta-action-link {
        font-size: 13px !important;
        margin-right: 12px !important;
    }

    .trust-box { padding: 14px !important; }
    .trust-box .trust-title {
        font-size: 12px !important;
        margin-bottom: 10px !important;
    }
    .payment-icons img { height: 24px !important; }

    .product-usp {
        padding: 10px 14px !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
        margin-bottom: 16px !important;
    }
    .product-usp span { font-size: 12px !important; }
    .product-usp .bi { font-size: 16px !important; }

    .custom-accordion-btn {
        font-size: 0.9rem !important;
        padding: 0.65rem 0 !important;
    }
    .custom-accordion-body {
        font-size: 0.88rem !important;
        line-height: 1.65 !important;
    }
    .custom-accordion-icon { font-size: 1.3rem !important; }
    .custom-accordion-body .table td {
        font-size: 0.85rem !important;
        padding: 6px 8px !important;
    }

    .review-summary { padding: 0.5rem 0 !important; }
    .review-breakdown { max-width: 100% !important; }
    .review-bar-wrapper { flex: 0 0 40% !important; }
    .review-bar-stars { width: 80px !important; font-size: 0.78rem !important; }
    .review-bar-count { font-size: 0.78rem !important; }
    .review-item { padding: 1rem 0 !important; }
    .reviewer-name { font-size: 0.9rem !important; }
    .review-date { font-size: 0.8rem !important; }
    .review-text { font-size: 0.88rem !important; }
    .review-title { font-size: 0.9rem !important; }

    .review-form-wrapper {
        padding: 20px 12px !important;
        margin: 16px 0 !important;
    }
    .review-form-container h5 { font-size: 1.1rem !important; }
    .rating-input-inline {
        font-size: 26px !important;
        gap: 6px !important;
    }
    .review-form-container .form-control {
        font-size: 13px !important;
        padding: 10px 12px !important;
    }
    .upload-box {
        width: 100px !important;
        height: 100px !important;
    }
    .top-bottom-border .form-select {
        font-size: 12px !important;
        padding: 6px 30px 6px 10px !important;
        max-width: 160px !important;
    }
    .customer-rating { font-size: 1rem !important; }

    /* Sticky bar */
    .sticky-add-to-cart { padding: 10px 0 !important; }
    .sticky-actions {
        gap: 7px !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        justify-content: center !important;
    }
    .qty-input.sticky-qty {
        width: 80px !important;
        height: 38px !important;
    }
    .sticky-btn-dark,
    .sticky-btn-light {
        padding: 8px 14px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }
    .sticky-icon-btn {
        width: 38px !important;
        height: 38px !important;
        flex-shrink: 0 !important;
    }
    .sticky-img { display: none !important; }
    .sticky-title { font-size: 14px !important; }
    .sticky-price { font-size: 12px !important; }

    /* Lightbox */
    .lightbox-counter {
        top: 10px !important;
        font-size: 11px !important;
        padding: 5px 12px !important;
    }
    .lightbox-close {
        top: 10px !important;
        right: 10px !important;
        width: 38px !important;
        height: 38px !important;
        font-size: 18px !important;
    }
    .lightbox-prev,
    .lightbox-next {
        width: 38px !important;
        height: 38px !important;
        font-size: 16px !important;
    }
    .lightbox-prev { left: 8px !important; }
    .lightbox-next { right: 8px !important; }
    .lightbox-image {
        max-height: 85vh !important;
        padding: 0 50px !important;
    }

    /* Ask Question Modal */
    #askQuestionModal .modal-dialog {
        margin: 10px !important;
        max-width: calc(100% - 20px) !important;
    }
    #askQuestionModal .modal-header h4 { font-size: 1.1rem !important; }
    #askQuestionModal .form-control { font-size: 13px !important; }
    #askQuestionModal .btn-hongo {
        font-size: 13px !important;
        padding: 11px 16px !important;
    }

    .product-info-overview {
        font-size: 0.88rem !important;
        line-height: 1.6 !important;
        margin-bottom: 12px !important;
    }

    section.py-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
}

@media (max-width: 576px) {
    .product-page-wrapper .container-xxl {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

@media (max-width: 430px) {
    .product-page-wrapper h3 {
        font-size: 1.5rem !important;
    }

    .qty-input {
        width: 90px !important;
        height: 42px !important;
    }

    .btn-add-cart {
        font-size: 14px !important;
        padding: 0 10px !important;
        height: 42px !important;
    }

    .btn-wishlist {
        width: 42px !important;
        height: 42px !important;
    }

    .product-usp { gap: 8px !important; }
    .product-usp .d-flex { font-size: 11px !important; }

    .sticky-buy-now-btn { display: none !important; }

    .sticky-btn-dark {
        padding: 12px 38px !important;
        font-size: 10px !important;
    }
}