/*
 * WCSB consolidated RESPONSIVE styles (all @media blocks, source order).
 */

/* ── Global overflow / responsive safety net ──────────────────────────
   `overflow-x: clip` stops any stray wide element from producing a
   horizontal scrollbar WITHOUT creating a scroll container (so it does
   not break the sticky header, unlike overflow-x: hidden). Media stays
   inside its column, and full-width rows never exceed the viewport. */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }
img, svg, video, iframe, canvas { max-width: 100%; }

/* Off-canvas nav-drawer chrome is mobile-only — hidden on desktop, where the
   menu renders inline. (Declared before the media queries so the ≤991px rules
   below override these on tablet/mobile.) */
.nav-drawer__head { display: none; }
.nav-drawer-overlay { display: none; }

/* ===== media from style.css ===== */
@media (max-width: 991px) {
  .header-phone { display: none; }
  .header-search { max-width: none; }
  .slide-wrapper { height: 420px; }
  .nav-drawer .dropdown-menu .dropdown-item{
      padding:0;
  }
}

/* Centered header — tighten link/icon spacing on smaller desktops so the
   5 links + logo + icons never crowd. */
@media (min-width: 992px) and (max-width: 1199px) {
  .hdr-grid { gap: 14px; }
  .hdr-nav { gap: 20px; }
  .hdr-col { gap: 20px; }
  .hdr-link { font-size: 12px; letter-spacing: 0.8px; }
  .header-logo img { height:65px; }
}

/* ===== media from style.css ===== */
@media (max-width: 767px) {
  .promo-contact { display: none; }
  .header-main-inner {
    flex-wrap: wrap;
    gap: 12px;
  }
  .header-search {
    order: 3;
    width: 100%;
    flex: none;
  }
  .header-actions { gap:3px; }
  .action-label { display: none; }
  .action-icon { width: 36px; height: 36px; }

  .slide-wrapper { height: 320px; }
  .slide-title { font-size: 22px; }
  .slide-subtitle { display: none; }
  .slide-btn { padding: 10px 22px; font-size: 12px; }

  .policy-item { flex-direction: column; text-align: center; gap: 6px; }
}

/* ===== media from style.css ===== */
@media (max-width: 480px) {
  .slide-wrapper { height: 220px; }
  .slide-badge { font-size: 10px; padding: 4px 12px; }
  .slide-title { font-size: 18px; }
  .banner-slider .slick-prev { left: 8px; }
  .banner-slider .slick-next { right: 8px; }
  .policy-bar .col-6 { flex: 0 0 50%; max-width: 50%; }
  .kz-footer {
    background: url(../images/footer-bg-mobile.png) no-repeat;
    background-position: top;
    background-size: cover;
   }
}

/* ===== media from style.css ===== */
@media (max-width: 991px) {
  .kz-footer-top { padding: 60px 0 40px; }
  /* Hero caption scales down on tablets. */
  .banner-slide { min-height: 400px;padding:85px 0px; }
  .banner-content h2 { font-size: 46px; }
}

/* ===== media from style.css ===== */
@media (max-width: 992px) {
  /* Centered-logo header: [hamburger]  [ LOGO ]  [icons].
     Split nav links collapse into the off-canvas drawer. */
  .hdr-grid { min-height: 68px; gap: 12px; align-items: center; }
  .hdr-nav { display: none; }
  .hdr-burger { display: inline-flex; }
  /* Reset desktop 35/20/45 column widths so the logo is truly centred
     between the hamburger (left) and the action icons (right). */
  .hdr-col--left,
  .hdr-col--right { width: auto; flex: 1 1 0; min-width: 0; }
  .hdr-col--center { width: auto; flex: 0 0 auto; justify-content: center; }
  .hdr-col--left { justify-cIontent: flex-start; }
  .hdr-col--right { justify-content: flex-end; gap: 12px; }
  .header-main .header-logo { display: inline-flex; }
  .header-logo img { height:65px; }
    .banner-slide__bg{
     background-size: 100% 100%;
   }
  .header-nav {
    width: 100%;
  }
    .pdp__top{
          display:block;
    }
    .pdp__gallery img, #main-thumbnail img, #main-thumbnail .field__item img{
      width:auto;
    }
    .pdp__gallery {
        margin-bottom: 40px;
    }
  .header-nav-bar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
  }

  .header-nav .navbar-brand {
    margin: 0;
    flex: 1;
  }

  .header-nav .navbar-toggler {
    margin-left: auto;
    order: 3;
  }

  /* Main menu → off-canvas sidebar drawer (slides in from the left). */
  .header-nav .nav-drawer {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 320px;
    max-width: 86vw;
    height: 100%;
    margin: 0;
    padding: 0 0 24px;
    background: var(--surface);
    border-top: 0;
    box-shadow: 6px 0 28px rgba(0, 0, 0, 0.18);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 2000;
    transform: translateX(-105%);
    transition: transform 0.3s ease;
    visibility: hidden;
  }
  .header-nav .nav-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
  }

  /* Drawer header (title + close button). */
  .nav-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    background: var(--kz-primary);
    color: #fff;
    padding: 16px 20px;
    z-index: 1;
  }
  .nav-drawer__title {
    font-family: var(--kz-font-head);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.4px;
  }
  .nav-drawer__close {
    background: none;
    border: 0;
    color: #fff;
    font-size: 1.9rem;
    line-height: 1;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Backdrop behind the drawer. */
  .nav-drawer-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1990;
  }
  .nav-drawer-overlay.is-visible { display: block; }

  /* Lock body scroll while the drawer is open. */
  body.nav-drawer-open { overflow: hidden; }

  .header-nav .navbar-nav {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }

  .header-nav .navbar-nav .nav-item {
    border-bottom: 1px solid var(--kz-light);
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .header-nav .navbar-nav .nav-item > .nav-link {
    padding: 13px 16px;
    font-size: 14px;
    flex: 1;
  }

  .header-nav .navbar-nav .nav-item > .nav-link::before {
    display: none;
  }

  .header-nav .navbar-nav .nav-item > .nav-link:hover {
    background: #F5F5F5;
  }

  /* Caret toggle buttons sit at the right of each row */
  .nav-caret {
    margin: 0;
    padding:19px 17px;
    color: var(--kz-dark);
  }
  .submenu-caret {
    position: static;
    transform: none;
    padding: 11px 18px;
    margin-left: auto;
  }
  .dropdown-submenu.show > .submenu-caret { transform: rotate(90deg); }

  /* Mobile dropdowns: in-flow accordions */
  .header-nav .dropdown-menu {
    position: static;
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 0;
    background: #FAFAFA;
    min-width: unset;
    width: 100%;
    display: none;
    margin: 0;
    animation: none;
  }
  .header-nav .nav-item > .dropdown-menu::before { display: none; }

  .header-nav .nav-item.show > .dropdown-menu,
  .header-nav .dropdown-submenu.show > .dropdown-menu {
    display: block;
    animation: none;
  }

  .header-nav .dropdown-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .header-nav .dropdown-item-link,
  .header-nav .submenu-link {
    padding: 12px 30px;
    font-size: 13px;
    border-radius: 0;
    flex: 1;
  }
  .header-nav .dropdown-item-link::before { display: none; }

  .header-nav .dropdown-item-link:hover,
  .header-nav .submenu-link:hover {
    background: #F0F0F0;
    padding-left: 30px;
  }

  .dropdown-menu-level-2,
  .dropdown-menu-level-3 {
    position: static;
    left: auto;
    top: auto;
    margin: 0;
  }

  .dropdown-submenu > .dropdown-menu { background: #F0F0F0; }

  .header-nav .navbar-toggler:focus {
    outline: none;
    box-shadow: none;
  }
}

/* ===== media from style.css ===== */
@media (max-width: 767px) {
  .kz-footer-top { padding: 40px 0; }

  
  .kz-footer-social { justify-content: flex-start; }
  .kz-footer-logo--mobile { display: block; margin-bottom: 16px; }
  .kz-footer-logo--desktop { display: none; }
  .kz-footer-widget { margin-bottom: 10px; }
  .kz-footer-widget--right { margin-top: 20px; }
}

/* ===== media from style.css ===== */
@media (max-width: 1199px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    justify-items: center;
  }
  .category-grid .category-card:last-of-type{
       grid-column: 1 / -1; 
  }
  .category-title a {
    padding: 12px 25px;
    font-size: 15px;
    line-height: 23px;
    }
  .category-grid img { height: 380px; }

  .category-title {
    font-size: 22px;
  }

  .home-category-section .section-title,
  .testimonials-section .section-title {
    font-size: 36px;
  }

  .testimonial-carousel .slick-prev,
  .testimonial-carousel .slick-next {
    width: 40px;
    height: 40px;
  }
}

/* ===== media from style.css ===== */
@media (max-width: 991px) {
  .home-category-section,
  .testimonials-section {
    padding: 60px 0;
  }
    .path-product .inner-banner .inner-banner-cont h1 .field{
        font-size: 27px;
        line-height:44px;
        max-width: 500px;
    }
  .home-category-section .section-header,
  .testimonials-section .section-header {
    margin-bottom: 50px;
  }

  .category-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .category-title {
    font-size: 20px;
  }

  .home-category-section .section-title,
  .testimonials-section .section-title {
    font-size: 32px;
  }

  .testimonial-list {
    gap: 30px;
  }

  .testimonial-slide {
    min-width: 260px;
  }

  .testimonial-image {
    width: 80px;
    height: 80px;
  }

  .testimonial-carousel .slick-prev,
  .testimonial-carousel .slick-next {
    width: 38px;
    height: 38px;
  }
}

/* ===== media from style.css ===== */
@media (max-width: 767px) {
  .home-category-section,
  .testimonials-section {
    padding: 50px 0;
  }

  .home-category-section .section-header,
  .testimonials-section .section-header {
    margin-bottom: 40px;
  }

  .category-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .category-grid img { height: 360px; }

  .category-card {
    aspect-ratio: auto;
  }

  .category-title {
    font-size: 18px;
  }

  .category-count {
    font-size: 12px;
  }

  .home-category-section .section-title,
  .testimonials-section .section-title {
    font-size: 28px;
  }

  .home-category-section .section-subtitle,
  .testimonials-section .section-subtitle {
    font-size: 13px;
  }

  .testimonial-list {
    flex-direction: column;
    gap: 25px;
  }

  .testimonial-slide {
    min-width: unset;
  }

  .testimonial-image {
    width: 75px;
    height: 75px;
    margin-bottom: 20px;
  }

  .testimonial-quote {
    font-size: 13px;
    margin-bottom: 15px;
  }

  .testimonial-name {
    font-size: 14px;
  }

  .testimonial-carousel .slick-prev,
  .testimonial-carousel .slick-next {
    width: 35px;
    height: 35px;
    display: none;
  }
}

/* ===== media from mount-custom.css ===== */
@media (min-width: 992px) {
  /* Submenus open on CLICK (handled in js/main.js + wcsb-custom.css).
     No hover-open here by design. */
  .navbar-expand-lg .nav-item.dropdown { position: relative; }
}

/* ===== media from mount-custom.css ===== */
@media (max-width: 767px) {
  #block-wcsb-views-block-home-page-sections-block-2 .view-content {
    flex-wrap: wrap;
  }
  #block-wcsb-views-block-home-page-sections-block-2 .views-row {
    flex: 0 0 50%;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding: 14px 20px;
  }
}

/* ===== media from mount-custom.css ===== */

/* ===== media from kidzone-home.css ===== */
@media (max-width: 991px) {
  .home-benefits-grid > div,
  .home-benefits-grid .field__items { grid-template-columns: repeat(2, 1fr); }
  .featured-products-carousel:not(.slick-initialized) { grid-template-columns: repeat(2, 1fr); }
  .home-instagram-grid > div,
  .home-instagram-grid .field--name-field-instagram { grid-template-columns: repeat(3, 1fr); }
  .header-search { order: 3; flex-basis: 100%; max-width: none; }
}



/* ===== media from catalog.css ===== */
@media (max-width: 1024px) {
  .shop__layout {
    grid-template-columns: 240px 1fr;
    gap: 24px;
  }
  .shop__main .catalog-grid.cols-3,
  .shop__main .catalog-grid.cols-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ===== media from catalog.css ===== */
@media (max-width: 768px) {
  .shop__layout {
    grid-template-columns: 1fr;
  }
  /* Sidebar becomes an off-canvas drawer from the right. */
  .shop__sidebar {
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    width: 300px;
    max-width: 86vw;
    height: 100%;
    overflow-y: auto;
    background: #fff;
    z-index: 1001;
    padding: 0 18px 24px;
    transform: translateX(-105%);
    transition: transform 0.3s ease;
    box-shadow: 6px 0 24px rgba(0, 0, 0, 0.15);
  }
  .shop__sidebar.is-open {
    transform: translateX(0);
  }
  .shop__sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    background: #fff;
    padding: 16px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid #eee;
    font-weight: 700;
    color: var(--primary_color);
  }
  .shop__sidebar-close {
    background: none;
    border: 0;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    color: #888;
  }
  .shop__overlay.is-visible {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1000;
  }
  body.shop-drawer-open {
    overflow: hidden;
  }
  .shop__filter-toggle {
    display: inline-flex;
  }
  .shop__cols {
    display: none; /* columns are fixed responsively on small screens */
  }
  .shop__main .catalog-grid.cols-2,
  .shop__main .catalog-grid.cols-3,
  .shop__main .catalog-grid.cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .shop__toolbar {
    gap: 14px;
  }
  
}

/* ===== media from catalog.css ===== */
@media (max-width: 420px) {
  .shop__main .catalog-grid.cols-2,
  .shop__main .catalog-grid.cols-3,
  .shop__main .catalog-grid.cols-4 {
    grid-template-columns: 1fr;
  }
}

/* ===== media from catalog.css ===== */
@media (max-width: 1024px) {
  .catalog-grid,
  .catalog--related .catalog-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ===== media from catalog.css ===== */
@media (max-width: 768px) {
  .catalog-grid,
  .catalog--related .catalog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .product-card__image img {
    height: auto;
  }
}

/* ===== media from catalog.css ===== */
@media (max-width: 420px) {
  .catalog-grid,
  .catalog--related .catalog-grid {
    grid-template-columns: 1fr;
  }
}

/* PDP top collapses + title sizing are handled in the standard breakpoint
   blocks below (≤991 / ≤767 / ≤575 / ≤480), so the legacy 900px override that
   used to live here was removed to avoid an off-convention duplicate. */

/* ===== media from contact-page.css ===== */
@media (max-width: 860px) {
  .contact-page__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .contact-form { padding: 26px; }
}
@media (max-width: 480px) {
  .contact-card { padding: 16px; gap: 13px; }
  .contact-card__icon { width: 46px; height: 46px; }
  .contact-form { padding: 20px; border-radius: 18px; }
  .contact-info__social { gap: 10px; }
}

/* =========================================================================
   PURCHASE FLOW — responsive
   ========================================================================= */
@media (max-width: 992px) {
  .commerce-checkout-flow .layout-checkout-form {
    grid-template-columns: 1fr;
  }
  .layout-region-checkout-secondary .checkout-pane,
  .checkout-pane-order-summary {
    position: static;
  }
  .footer-info{
      order:3;
  }
  .footer-logo{
      order:1;
  }
  .footer-customer{
      order:2;
  }
  .account-dash__navlink {
    padding: 4px 10px;
    font-size:13px;
 }
  .account-dash__side {
    padding: 9px;
  }
  .account-dash__table td{
      min-height:auto;
  }
}

@media (max-width: 768px) {
  .checkout-progress--step {
    font-size: 0;            /* hide labels, keep numbered circles */
    padding-top: 40px;
  }
  .checkout-progress--step::before { font-size: 0.85rem; }

  /* Cart table -> stacked cards with inline field labels */
  .view-commerce-cart-form { padding: 16px; }
  .view-commerce-cart-form thead { display: none; }
  .view-commerce-cart-form table,
  .view-commerce-cart-form tbody,
  .view-commerce-cart-form tr,
  .view-commerce-cart-form td { display: block; width: 100%; }
  .view-commerce-cart-form tr {
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 14px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(31, 23, 28, 0.04);
  }
  .view-commerce-cart-form tbody td {
    border: none;
    padding: 7px 2px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: auto;
  }
  .view-commerce-cart-form .cart-line__name {
    font-size: 15px;
    line-height: 22px;
  }
  /* The product cell (thumb + name) spans full width with no label. */
  .view-commerce-cart-form td.views-field-purchased-entity {
    padding-bottom: 12px;
    margin-bottom: 6px;
    border-bottom: 1px solid #f2f2f2;
  }
  /* Inline labels for the value cells so each card reads clearly. */
  .view-commerce-cart-form td.views-field-unit-price__number::before { content: "Price"; }
  .view-commerce-cart-form td.views-field-total-price__number::before { content: "Total"; }
  .view-commerce-cart-form td.views-field-unit-price__number::before,
  .view-commerce-cart-form td.views-field-edit-quantity::before,
  .view-commerce-cart-form td.views-field-total-price__number::before {
    font-family: var(--kz-font-head);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--kz-gray);
  }
   /* Cart line: wrap the product cell + shrink its thumb so long titles fit. */
  .view-commerce-cart-form .views-field-purchased-entity { flex-wrap: wrap; }
  .view-commerce-cart-form .views-field-purchased-entity img { width: 56px; }
  .view-purchased-entity-table-column .cart-line__name{
     padding-right: 30px;
  }
  .view-id-commerce_cart_form .views-field-remove-button{
    position: absolute;
    top: 0;
    right: 0;
  }

   .view-id-commerce_cart_form .views-field-edit-quantity{
      position: absolute;
      top: 51px;
       right: 8px;
       text-align: right;
       display: inline-block;
       
   }
    .view-id-commerce_cart_form .views-field-edit-quantity label.form-item__label{
        display:none;
    }
   .view-commerce-cart-form .quantity-edit-input{
      width: 60px !important;
        border-radius: 0px;
        padding: 7px;
        height: 20px;
        min-height: 45px;
   }
  .view-id-commerce_cart_form .views-table tr{
    position: relative;
  }
  .view-id-commerce_cart_form .cart-line{
    padding-right: 30px;
  }
  .view-id-commerce_cart_form .views-field.views-field-purchased-entity{
      min-height:108px;
  }
  .view-commerce-cart-form td.views-field-remove-button { justify-content: flex-end; }
  /* Summary rail + actions go full width below the items. */
  .view-commerce-cart-form .views-form form > div:not(.form-actions) { margin-top: 4px; }
  .view-commerce-cart-form .form-actions { margin-top: 14px; }

  .checkout-pane { padding: 18px; }
  .profile { padding: 18px; }
}

/* ═══════════════════════════════════════════════════════════════════
   KidZone view-driven home sections — responsive (Lookbook / Counts /
   Testimonials). Appended last to override the legacy section rules.
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* Fashion Lookbook → intro on top, collage below (2 columns) */
  .home-fashion-lookbook .row {
    grid-template-columns: 1fr 1fr;
  }
  .home-fashion-lookbook .col-lg-4 { grid-column: 1 / -1; }
  .home-fashion-lookbook .col-lg-8 { grid-column: 1; }
  .home-fashion-lookbook .col-lg-6 { grid-column: 2; margin-top: 0; }
  .home-fashion-lookbook .col-lg-8 img { height: 460px; }
  .home-fashion-lookbook .col-lg-6 img { height: 217px; }
  .home-fashion-lookbook .lookbook-intro { padding: 34px 28px; text-align: center; }
  .home-fashion-lookbook .lookbook-intro__btn { align-self: center; }
}

@media (max-width: 575px) {
  /* Fashion Lookbook → single column stack */
  .home-fashion-lookbook .row { grid-template-columns: 1fr; gap: 18px; }
  .home-fashion-lookbook .col-lg-4,
  .home-fashion-lookbook .col-lg-8,
  .home-fashion-lookbook .col-lg-6 { grid-column: 1; }
  .home-fashion-lookbook .col-lg-6 { flex-direction: row; gap: 12px; }
  /* The two thumbs share the row equally and may shrink — without this they
     keep their intrinsic width (~225px each) and overflow the mobile viewport,
     widening the whole page and shifting every section right. */
  .home-fashion-lookbook .col-lg-6 img { flex: 1 1 0; width: auto; min-width: 0; height: 180px; }
  .home-fashion-lookbook .col-lg-8 img { height: 380px; }
  .founder-section .founder__media{
      order:2;
  }
  .founder__sign{
      letter-spacing:0;
  }
   .path-product .inner-banner .inner-banner-cont h1 .field{
        font-size: 18px;
        line-height:30px;
        max-width: 500px;
    }
    .shop {
      padding:0;
    }
    .path-shop main, .category-page {
        padding: 40px 0px;
    }
}

/* ════════════════════════════════════════════════════════════════════════
   RESPONSIVE FIXES PASS  (appended last → wins on source order)
   Standard breakpoints: 1199 / 991 / 767 / 575 / 480 / 420.
   Covers: global overflow + touch targets, header, hero, homepage sections,
   shop/catalog, product detail, forms, cart/checkout, wishlist.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Global guards (all sizes) ──────────────────────────────────────────── */
/* Never let an image push the page wider than the viewport. (No height:auto so
   object-fit cover images that rely on a fixed height keep working.) */
img { max-width: 100%; }
/* Embedded media (maps, video) stay inside their box. */
iframe { max-width: 100%; }
/* Larger, comfortable hamburger hit area (toggler only shows < 992px). */
.navbar-toggler {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Logo never overflows its column on tiny screens. */
.header-logo img,

/* Sticky desktop filter sidebar must scroll if taller than the viewport. */
.shop__sidebar { max-height: calc(100vh - 40px); overflow-y: auto; }

/* ── Touch devices: reveal hover-only controls + bigger targets ─────────── */
@media (hover: none), (pointer: coarse) {
  /* Product-card actions are hover-revealed on desktop — always show on touch
     so the wishlist/quick-view/compare icons are reachable. */
  .product-card__actions { opacity: 1 !important; transform: none !important; }
  .product-card__action { width: 44px; height: 44px; }
}

/* ── Laptop ≤1199px ─────────────────────────────────────────────────────── */
@media (max-width: 1199px) {
  .pdp__top { gap: 32px; }
  /* The hover-zoom panel is a fixed 460px box positioned past the gallery
     column; below desktop width it projects out of the layout and overflows.
     Suppress it here (was only hidden at ≤991, leaving a 992–1199 dead zone). */
  .img-zoom-result, .img-zoom-lens { display: none !important; }
  .pdp__title { font-size: 1.85rem; }
}

/* ── Tablet ≤991px ──────────────────────────────────────────────────────── */
@media (max-width: 991px) {
  /* Shop: collapse to off-canvas drawer for the whole tablet range (was 768),
     so iPad portrait isn't a cramped 240px sidebar + squeezed grid. */
  .shop__layout { grid-template-columns: 1fr; gap: 0; }
  .shop__sidebar {
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    width: 300px;
    max-width: 86vw;
    height: 100%;
    max-height: none;
    overflow-y: auto;
    background: #fff;
    z-index: 1001;
    padding: 0 18px 24px;
    transform: translateX(-105%);
    transition: transform 0.3s ease;
    box-shadow: 6px 0 24px rgba(0, 0, 0, 0.15);
  }
  .shop__sidebar.is-open { transform: translateX(0); }
  .shop__overlay.is-visible {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1000;
  }
  body.shop-drawer-open { overflow: hidden; }
  .shop__filter-toggle { display: inline-flex; }
  .shop__cols { display: none; }
  .shop__main .catalog-grid.cols-2,
  .shop__main .catalog-grid.cols-3,
  .shop__main .catalog-grid.cols-4,
  .catalog-grid,
  .catalog--related .catalog-grid { grid-template-columns: repeat(3, 1fr); }

  /* Product detail: stack the gallery + buy column for the whole tablet range.
     (Hover-zoom panel is already suppressed in the ≤1199 block above.) */
  .pdp__top { grid-template-columns: 1fr; gap: 28px; }
  .pdp__title { font-size: 1.7rem; }
  .pdp__tabs { margin-top: 40px; }
  .pdp__related { margin-top: 48px; }
  .pdp__related-title { font-size: 1.5rem; margin-bottom: 24px; }

  /* Contact: stack form + info for the whole tablet range (was 860px). */
  .contact-page__grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ── Mobile ≤767px ──────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  /* Re-assert 2-column product grids (the ≤991 block above, being later in
     source order than the legacy ≤768 rules, would otherwise force 3-up). */
  .shop__main .catalog-grid.cols-2,
  .shop__main .catalog-grid.cols-3,
  .shop__main .catalog-grid.cols-4,
  .catalog-grid,
  .catalog--related .catalog-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }

    .footer-customer{
        margin:30px 0px;
    }
    .about-story__grid img {
        float: unset;
    }
  /* Header action icons → proper touch targets. */
  .header-actions { gap:3px; }
  .action-icon { width: 35px; height: 35px;border:0; }

  /* Hero slider: shorter on phones, smaller caption text. */
  .banner-slide { min-height: 460px; }
  .banner-content h2 { font-size: 34px; }
  .banner-content .banner-text,
  .banner-content .banner-text p { font-size: 16px; }
  .banner-content .site-buttons { padding: 12px 28px; font-size: 13px; }
  .banner-slider .slick-prev,
  .banner-slider .slick-next { width: 38px; height: 38px; }
  .banner-slider .slick-prev { left: 8px; }
  .banner-slider .slick-next { right: 8px; }

  /* Inner-page banner: trim the hero padding + title on phones. */
  .inner-banner { padding: 44px 0 32px; }
  .inner-banner__subtitle { font-size: 15px; }

  /* Section rhythm: trim oversized desktop padding on phones — equal for every section. */
  .home-category-section,
  .featured-products-section,
  .Fashion-lookbook,
  .custom-dress-section,
  .testimonials-section,
  .founder-section,
  .home-instagram-section { padding: 40px 0; }

  /* Instagram thumbs: show full image at natural ratio (no crop). */
  .instagram-item__link img,
  .home-instagram-grid img { height: 260px;margin:0px 15px; }
  .home-instagram-grid .slick-arrow{
      font-size:22px;
  }

  /* Product detail: full-width primary CTA, stacked wishlist, bigger size chips. */
  .pdp img { max-width: 100%; height: auto; }
  .pdp__purchase .form-actions { display: flex; flex-direction: column; gap: 12px; }
  .pdp__purchase .button,
  .pdp__purchase input[type="submit"],
  .pdp__purchase button[type="submit"],
  .pdp__purchase .form-actions [name="wishlist"],
  .pdp__purchase .form-actions .btn-link { width: 100%; margin-left: 0; padding: 14px 24px; }
  .attribute-widgets .form-radios { gap: 10px; }
  .attribute-widgets .form-radios label {
    min-height: 44px;
    padding: 11px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Twin-with cards stack with full-width add-to-cart (was 480px). */
  .pdp__twin-card { flex-direction: column; }
  .pdp__twin-media { width: 100%; height: 240px; }
  .pdp__twin-cart .button,
  .pdp__twin-cart input[type="submit"],
  .pdp__twin-cart button[type="submit"] { width: 100%; }

  /* Thumbnail strip: guarantee it never overflows the gallery column. If slick
     hasn't initialised (or there are many images) the un-slicked row scrolls
     horizontally instead of pushing past the viewport edge. */
  .product_variations_slider .field__items {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .product_variations_slider .field__items::-webkit-scrollbar { display: none; }
  .product_variations_slider .field__item img { width: 72px; height: 72px; }

  /* Specs: trim the fixed 220px label column so the value cell isn't crushed
     in the 576–767 range (it becomes a stacked block at ≤575). */
  .pdp__specs th { width: 140px; }

  /* Forms: 16px inputs to stop iOS focus-zoom; full-width fields + targets. */
  .contact-form input,
  .contact-form textarea,
  .contact-form select,
  .commerce-checkout-flow .form-text,
  .commerce-checkout-flow .form-email,
  .commerce-checkout-flow .form-tel,
  .commerce-checkout-flow select,
  .commerce-checkout-flow textarea,
  .view-commerce-cart-form input,
  .checkout-pane-coupon-redemption input[type="text"] { font-size: 16px; }
  .commerce-checkout-flow .form-text,
  .commerce-checkout-flow .form-email,
  .commerce-checkout-flow .form-tel,
  .commerce-checkout-flow select,
  .commerce-checkout-flow textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
  }
  .commerce-checkout-flow .form-actions { flex-direction: column; align-items: stretch; }
  .commerce-checkout-flow .form-actions .button,
  .commerce-checkout-flow .form-actions input.form-submit { width: 100%; }
  /* Coupon redemption: stack input + apply button. */
  .checkout-pane-coupon-redemption .form-item,
  .checkout-pane-coupon-redemption input[type="text"],
  .checkout-pane-coupon-redemption .form-actions,
  .checkout-pane-coupon-redemption .form-submit { width: 100%; }

  /* Wishlist card grid → single column on phones. */
  .wishlist-items { grid-template-columns: 1fr; }
  .wishlist-item__details { gap: 8px; }

  /* Wishlist table → stacked cards (mirror the cart pattern). */
  .wishlist-table thead,
  .view-commerce-wishlist-form thead,
  .path-wishlist table thead { display: none; }
  .wishlist-table table, .wishlist-table tbody, .wishlist-table tr, .wishlist-table td,
  .view-commerce-wishlist-form table, .view-commerce-wishlist-form tbody,
  .view-commerce-wishlist-form tr, .view-commerce-wishlist-form td,
  .path-wishlist table, .path-wishlist tbody, .path-wishlist tr, .path-wishlist td {
    display: block;
    width: 100%;
  }
  .wishlist-table tr,
  .view-commerce-wishlist-form tr,
  .path-wishlist tr {
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 14px;
  }
  .wishlist-table td,
  .view-commerce-wishlist-form td,
  .path-wishlist td {
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }
  .wishlist-table .button,
  .view-commerce-wishlist-form .button,
  .path-wishlist .button { width: 100%; min-height: 44px; }

  /* Order history / order-item / summary tables: scroll instead of clipping
     (base rule sets overflow:hidden which hides data on mobile). */
  .view-commerce-user-orders,
  .view-commerce-order-item-table,
  .view-commerce-checkout-order-summary { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .view-commerce-user-orders table,
  .view-commerce-order-item-table table { min-width: 560px; }
}

/* ── Small mobile ≤575px ────────────────────────────────────────────────── */
@media (max-width: 575px) {
  /* Category tab bar → horizontal scroller instead of a tall wrapped stack. */
  .catalog-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content:center;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .catalog-tabs::-webkit-scrollbar { display: none; }
  .catalog-tab { flex: 0 0 auto; padding: 8px 16px; }

  /* Product detail "Additional Information" table → stacked rows. */
  .pdp__specs, .pdp__specs tbody, .pdp__specs tr, .pdp__specs th, .pdp__specs td {
    display: block;
    width: 100%;
  }
  .pdp__specs th { width: auto; border-bottom: 0; }
  .pdp__specs td { border-top: 0; }

  /* PDP tabs → horizontal scroller instead of a tall wrapped stack
     (mirrors the .catalog-tabs pattern above). */
  .pdp__tab-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .pdp__tab-nav::-webkit-scrollbar { display: none; }
  .pdp__tab { flex: 0 0 auto; padding: 12px 18px; font-size: 0.95rem; }
  .pdp__panel { padding: 22px 2px; }

  /* Tighter type + thumbs on small phones. */
  .pdp__title { font-size: 1.5rem; }
  .pdp__related-title { font-size: 1.35rem; }
  .product_variations_slider .field__item img { width: 64px; height: 64px; }
  .twin-card__select-btn{
        padding: 9px 15px;
        line-height: 17px;
        font-size: 12px;
  }

}

/* ── Extra-small ≤480px ─────────────────────────────────────────────────── */
@media (max-width: 480px) {
  .navbar-brand .header-logo img { max-width: 140px; }

  /* Shop toolbar (count + show + sort) stacks; selects go full-width. */
  .shop__toolbar { flex-direction: column; align-items: stretch; }
  .shop__tools { justify-content: space-between; gap: 12px; }
  .shop__show select, .shop__sort select { flex: 1; }

  /* Contact submit → full-width. */
  .contact-form .webform-button--submit,
  .contact-form input[type="submit"],
  .contact-form button[type="submit"] { width: 100%; padding: 14px; }

 
}

/* ── 1-column product grids → use aspect ratio (no fixed-height crop) ────── */
@media (max-width: 420px) {
  .shop__main .catalog-grid.cols-2,
  .shop__main .catalog-grid.cols-3,
  .shop__main .catalog-grid.cols-4,
  .catalog-grid,
  .catalog--related .catalog-grid { grid-template-columns: 1fr; }
  .product-card__image img,
  .product-card__media img { height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
}

/* ===================================================================
   UI & RESPONSIVE FIXES (appended)
   Mobile menu drawer alignment · PDP mobile image · WhatsApp/Back-to-Top
   stacking · footer polish · general e-commerce mobile spacing.
   =================================================================== */

/* (2) Off-canvas drawer: left-align every navigation link/label. */
@media (max-width: 991.98px) {
  .header-nav .nav-drawer .navbar-nav,
  .header-nav .nav-drawer .navbar-nav .nav-item,
  .header-nav .nav-drawer .dropdown-menu,
  .header-nav .nav-drawer .dropdown-item { text-align: left;width:90%; align-items: flex-start; }
  .header-nav .nav-drawer .nav-item,
  .header-nav .nav-drawer .dropdown-item { justify-content: flex-start; }
  .header-nav .nav-drawer .nav-link,
  .header-nav .nav-drawer .menu-link,
  .header-nav .nav-drawer .menu-link-text,
  .header-nav .nav-drawer .dropdown-item-link,
  .header-nav .nav-drawer .submenu-link,
  .header-nav .nav-drawer .submenu-link-text {
    text-align: left;
    justify-content: flex-start;
  }
}

/* (5) PDP: the large product image fits the viewport on mobile, and the
   desktop hover-zoom box never shows on touch. */
@media (max-width: 991.98px) {
  .pdp__gallery { width: 100%; max-width: 100%; }
  .pdp__gallery .products-items-thumbnail,
  .pdp__gallery .img-zoom-container { width: 100%; }
  .pdp__gallery img,
  #main-thumbnail img,
  #main-thumbnail .field__item img { width: 100%; max-width: 100%; }
  .img-zoom-result, .img-zoom-lens { display: none !important; }
}

/* (6) WhatsApp + Back-to-Top sizing on small screens. */
@media (max-width: 575.98px) {
  .whatsapp-float { right: 16px; bottom: 22px; width: 48px; height: 48px; }
  .whatsapp-float svg { width: 26px; height: 26px; }
  #top { right: 16px; width: 56px; height: 44px; }
}

/* (3) Footer polish on small screens. */
@media (max-width: 769px) {
  .kz-footer-top { padding: 36px 0 28px; }
  .kz-footer-widget { margin-bottom: 24px; }
  .kz-footer-social { flex-wrap: wrap; gap: 10px; }
    .pdp__top{
          display:block;
    }
    .pdp__gallery img, #main-thumbnail img, #main-thumbnail .field__item img{
      width:auto;
    }
    .pdp__gallery {
        margin-bottom: 40px;
    }
}
@media (max-width: 480px) {
  .kz-footer-top { padding: 28px 0 20px; }
  .kz-footer-heading { margin-bottom: 12px; }
}

/* (10) General e-commerce mobile spacing / alignment polish. */
@media (max-width: 767px) {
  .pdp__summary { margin-top: 8px; }
  .pdp__price { gap: 10px; padding-bottom: 16px; margin-bottom: 16px; }
  .pdp__price-now { font-size: 1.55rem; }
  .pdp__price-old { font-size: 1rem; }
  .shop__toolbar { gap: 12px; flex-wrap: wrap; }
  .pdp__related { margin-top: 36px; }
}
/* ===== media from kidzone-home.css ===== */
@media (max-width: 575px) {
  .home-benefits-grid > div,
  .home-benefits-grid .field__items { grid-template-columns: 1fr; }
  .featured-products-carousel:not(.slick-initialized) { grid-template-columns: 1fr; }
  .home-instagram-grid > div,
  .home-instagram-grid .field--name-field-instagram { grid-template-columns: repeat(2, 1fr); }
  .banner-slide{
      min-height: auto;
      padding-top:240px;
      padding-bottom:25px;
  }
    .home-category-section .section-header, .testimonials-section .section-header {
        margin-bottom: 15px;
    }
    .home-category-section .category-grid {
        margin-top: 20px;
    }
   .header-main {
    padding: 5px 0px;
    }
  .home-banner-bottom img {
    height: 20px;
    }

    .banner-content h2{
        font-size: 21px;
        margin-bottom:10px;
    }
    .banner-content .banner-text, .banner-content .banner-text p {
        font-size: 15px;
        line-height: 26px;
        margin-bottom: 15px;
    }
    .banner-content .site-buttons {
        display: inline-block;
        padding: 10px 20px;
        font-size: 11px;
    }
  
}
@media (max-width:475px) {
    .shop__main .catalog-grid.cols-2, .shop__main .catalog-grid.cols-3, .shop__main .catalog-grid.cols-4, .catalog-grid, .catalog--related .catalog-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
    .section-title{
        font-size: 30px;
    }
}
@media (max-width:380px) {
    .banner-content h2 {
        font-size: 23px;
    }
}