/* =========================================================
   Responsive
========================================================= */
@media (max-width:1200px){
  .grid-6{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(3,1fr)}
  .footer-main{grid-template-columns:1fr 1fr 1fr}
  .detail-layout{grid-template-columns:1fr;gap:32px}
  .product-gallery{position:relative;top:auto}
}
@media (max-width:991px){
  .header-main{height:70px;grid-template-columns:auto 1fr auto}
  .logo{text-align:center;font-size:25px}
  .menu-toggle{display:inline-flex}
  .primary-nav{display:none}
  .header-icons a:nth-child(1),.header-icons a:nth-child(2){display:none}
  .drawer-mask{display:block;position:fixed;inset:0;background:var(--color-mask);z-index:70;opacity:0;visibility:hidden;transition:var(--transition)}
  .drawer-mask.open{opacity:1;visibility:visible}
  .mobile-drawer{display:block;position:fixed;left:0;top:0;bottom:0;width:min(86vw,360px);background:var(--color-white);z-index:80;transform:translateX(-105%);transition:var(--transition);overflow:auto;box-shadow:var(--shadow-soft)}
  .mobile-drawer.open{transform:translateX(0)}
  .drawer-head{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--color-line)}
  .drawer-head strong{font-family:var(--font-title);letter-spacing:2px;font-weight:400;font-size:24px}
  .drawer-close{border:0;background:transparent;font-size:25px;color:var(--color-ink)}
  .drawer-nav{list-style:none;margin:0;padding:12px 0}
  .drawer-nav a{display:flex;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--color-line);font-size:13px;letter-spacing:1.4px;text-transform:uppercase}
  .hero,.hero__content{min-height:570px}
  .hero__copy{padding:0 22px;max-width:470px}
  .hero h1{font-size:48px}
  .section{padding:54px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
  .story-grid,.note-library{grid-template-columns:1fr}
  .listing-layout{grid-template-columns:1fr}
  .mobile-filter-btn{display:inline-flex}
  .filter-panel{position:fixed;left:0;top:0;bottom:0;width:min(88vw,370px);z-index:90;transform:translateX(-105%);transition:var(--transition);overflow:auto;box-shadow:var(--shadow-soft)}
  .filter-panel.open{transform:translateX(0)}
  .filter-close{display:inline-flex;border:0;background:transparent;font-size:22px;color:var(--color-ink)}
  .footer-service .container{grid-template-columns:repeat(2,1fr)}
  .page-banner__content{left:28px;right:28px}
}
@media (max-width:640px){
  .container{width:min(100% - 28px,var(--container))}
  .title{font-size:31px}
  .hero,.hero__content{min-height:520px}
  .hero h1{font-size:39px}
  .hero p{font-size:15px}
  .grid-2,.grid-4,.grid-5,.grid-6,.grid-3{grid-template-columns:1fr 1fr;gap:16px}
  .product-card__actions{opacity:1;transform:none;position:static;margin-top:10px}
  .quick-add{height:40px}
  .category-tile__label{font-size:12px;letter-spacing:1.4px}
  .collection-card img{height:320px}
  .collection-card__content{left:16px;right:16px;bottom:16px;width:auto}
  .brand-strip{gap:18px;font-size:11px}
  .listing-toolbar{align-items:flex-start;flex-direction:column}

  .price-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .price-range input{width:100%;min-width:0}
  .sort-box{width:100%;justify-content:space-between}
  .sort-box select{flex:1}
  .page-banner img{height:230px}
  .page-banner__content h1{font-size:35px}
  .product-gallery{display:block}
  .gallery-thumbs{display:flex;overflow:auto;margin-top:12px;order:2}
  .thumb{min-width:72px}
  .product-info h1{font-size:32px}
  .detail-story{grid-template-columns:1fr}
  .detail-story img{height:290px}
  .detail-story__copy{padding:26px 22px}
  .footer-service .container,.footer-main{grid-template-columns:1fr}
  .footer-bottom{display:block;line-height:1.9}
}

@media (max-width:1200px){
  .primary-nav>ul{gap:16px}
  .nav-link{font-size:11px;letter-spacing:1.1px}
  .category-mini-nav{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:991px){
  .primary-nav{display:none}
  .category-hero__inner{grid-template-columns:1fr;gap:20px;min-height:auto;padding:34px 0 54px}
  .category-hero__copy{padding:28px 0 0;max-width:680px}
  .category-hero__copy h1{font-size:48px}
  .category-hero__visual{min-height:auto}
  .category-hero__visual img{height:430px}
  .category-lookbook{grid-template-columns:1fr}
  .category-guide{grid-template-columns:1fr}
}
@media (max-width:640px){
  .category-hero__copy h1{font-size:39px}
  .category-hero__copy p{font-size:15px}
  .category-hero__visual img{height:330px}
  .category-mini-nav{grid-template-columns:repeat(2, 1fr);}
  .category-lookbook__copy{padding:30px 22px}
  .category-copy-band h2{font-size:31px}
}


/* Detail page refinements */
@media (max-width:1200px){
  .detail-layout{grid-template-columns:1fr;gap:32px}
  .product-info{position:relative;top:auto}
}
@media (max-width:991px){
  .reviews-summary{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{overflow-x:hidden}
  .detail-layout{gap:24px}
  .gallery-grid{grid-template-columns:1fr;gap:14px}
  .gallery-frame img,.gallery-frame--wide img{aspect-ratio:1/1.15}
  .product-info h1{font-size:32px}
  .add-row{grid-template-columns:1fr 52px}
  .attribute-grid{grid-template-columns:1fr}
  .note-table{grid-template-columns:105px minmax(0,1fr);font-size:13px}
  .review-card{padding:18px}
  .review-head{align-items:flex-start;flex-direction:column}
  .review-images img{width:76px;height:76px}
  .detail-story{grid-template-columns:1fr}
  .detail-story img{height:290px}
  .detail-story__copy{padding:26px 22px}
}


/* Mobile / iPad product detail gallery override */
@media (max-width:1200px){
  .product-gallery{width:100%;max-width:100%;overflow:hidden}
  .gallery-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:10px;
    overscroll-behavior-x:contain;
  }
  .gallery-frame,
  .gallery-frame--wide{
    flex:0 0 min(72vw,560px);
    width:min(72vw,560px);
    grid-column:auto !important;
    scroll-snap-align:start;
  }
  .gallery-frame img,
  .gallery-frame--wide img{
    aspect-ratio:1/1.12 !important;
    height:auto;
    object-fit:cover;
  }
  .gallery-swipe-hint{display:block}
}
@media (max-width:640px){
  .gallery-grid{gap:12px;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
  .gallery-frame,
  .gallery-frame--wide{flex-basis:86vw;width:86vw}
  .gallery-frame img,
  .gallery-frame--wide img{aspect-ratio:1/1.08 !important}
}


/* Listing quick filters on tablet / mobile */
/* Listing quick filters on tablet / mobile */
@media (max-width:1200px){
  .listing-layout{grid-template-columns:1fr}
  .filter-panel{position:fixed;left:0;top:0;bottom:0;width:min(88vw,370px);z-index:90;transform:translateX(-105%);transition:var(--transition);overflow:auto;box-shadow:var(--shadow-soft)}
  .filter-panel.open{transform:translateX(0)}
  .filter-close{display:inline-flex;border:0;background:transparent;font-size:22px;color:var(--color-ink)}
  .mobile-filter-btn{display:inline-flex}
  .listing-top-panel .listing-toolbar{align-items:flex-start;flex-direction:column;gap:14px;padding:18px 16px}
  .listing-top-panel .sort-box{width:100%;justify-content:space-between}
  .listing-top-panel .sort-box select{width:min(220px,55%);flex:0 0 auto}
  .quick-filter-row{display:block;padding:14px 16px}
  .quick-filter-title{padding-top:0;margin-bottom:10px}
  .quick-filter-tags{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    flex-wrap:unset;
    overflow:visible;
    padding-bottom:0;
  }
  .quick-filter-tags a{
    width:100%;
    min-height:36px;
    padding:7px 9px;
    white-space:normal;
    line-height:1.25;
    text-align:center;
    flex:initial;
  }
  .quick-filter-tags--brand{grid-template-columns:repeat(4,minmax(0,1fr))}
  .listing-top-panel .active-filter{padding:13px 16px 16px;flex-wrap:wrap;overflow:visible}
  .listing-top-panel .active-filter span{flex:0 0 auto}
}
@media (max-width:640px){
  .listing-top-panel{margin-left:-2px;margin-right:-2px;margin-bottom:22px}
  .listing-top-panel .listing-toolbar{padding:16px 14px}
  .quick-filter-row{padding:13px 14px}
  .quick-filter-title{font-size:11px;letter-spacing:1.5px}
  .quick-filter-tags,
  .quick-filter-tags--brand{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .quick-filter-tags a{min-height:34px;padding:7px 8px;font-size:12px}
  .quick-filter-tags a.more{grid-column:auto}
  .listing-top-panel .sort-box select{width:58%;max-width:190px}
}
@media (max-width:360px){
  .quick-filter-tags,
  .quick-filter-tags--brand{grid-template-columns:1fr}
}