
/* SHAHAB FOOTWEARS — GLOBAL RESPONSIVE FIX
   Safe layout-only layer. No database/formula/business logic changes. */

:root{
  --shahab-page-max: 1600px;
  --shahab-gutter: clamp(12px, 2.2vw, 34px);
}

/* Global box sizing + media safety */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden}
img,video,canvas,svg,iframe{max-width:100%;height:auto}
table{max-width:100%}
input,select,textarea,button{max-width:100%;font:inherit}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}

/* Main site shells scale automatically */
.page-shell,
.ecom-shell,
.product-detail-shell,
.site-header .nav,
.nav,
.footer-grid,
.site-footer .copyright{
  width:min(var(--shahab-page-max), calc(100% - (var(--shahab-gutter) * 2)))!important;
  max-width:var(--shahab-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Avoid fixed-width child overflow */
.page-shell>*,
.ecom-shell>*,
.product-detail-shell>*,
.product-detail-grid>*,
.ecom-checkout-grid>*,
.contact-grid>*,
.visit-grid>*,
.unified-hero>*,
.product-grid>*,
.ecom-products>*{
  min-width:0;
}

/* Desktop/tablet fluid grids */
.product-detail-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)!important;
}
.ecom-checkout-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)!important;
  gap:clamp(16px,2vw,28px)!important;
}
.ecom-products{
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))!important;
}
.product-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important;
}
.ecom-store-controls{
  grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr))!important;
}
.order-meta{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
}

/* Flexible cards/forms */
.ecom-card,
.ecom-checkout-card,
.product-detail-card,
.info-card,
.visit-card,
.order-card,
.ecom-panel{
  max-width:100%;
}
.ecom-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
textarea{resize:vertical}

/* Responsive tables on admin/staff pages */
.ecom-table-wrap,
.table-wrap,
.table-container{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
.ecom-table,
table{
  border-collapse:collapse;
}

/* Header */
.site-header{width:100%}
.site-header .nav,.nav{
  display:flex;
  align-items:center;
  gap:clamp(10px,1.4vw,22px);
}
.brand{min-width:0}
.brand>span{white-space:nowrap}
.nav-links{min-width:0}
.nav-actions{margin-left:auto}
.menu-btn{flex:0 0 auto}

/* Fluid typography */
h1{font-size:clamp(30px,4vw,64px)}
h2{font-size:clamp(22px,2.6vw,38px)}
.product-detail-card h1{font-size:clamp(28px,3.5vw,48px)!important}

/* Large desktop */
@media (min-width:1601px){
  :root{--shahab-page-max:1680px}
}

/* Laptop / tablet landscape */
@media (max-width:1180px){
  .ecom-store-controls{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .unified-hero,
  .visit-grid,
  .contact-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .site-header .nav,.nav{
    width:calc(100% - 28px)!important;
  }
}

/* Tablet */
@media (max-width:900px){
  :root{--shahab-gutter:16px}

  .product-detail-grid,
  .ecom-checkout-grid,
  .unified-hero,
  .visit-grid,
  .contact-grid,
  .location-panel{
    grid-template-columns:1fr!important;
  }

  .ecom-form-grid{
    grid-template-columns:1fr!important;
  }

  .site-header .nav,.nav{
    min-height:72px;
    flex-wrap:wrap;
    padding-top:8px;
    padding-bottom:8px;
  }

  .brand-mark{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
  }

  .brand>span{font-size:18px!important}

  .menu-btn{display:block!important;margin-left:auto}

  /* If site-common.js handles mobile menu, keep links hidden until menu opens */
  .nav-links{
    width:100%;
    order:3;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:8px 14px;
  }

  .nav-actions{
    margin-left:auto;
  }

  .product-main-image{
    max-height:70vh;
    object-fit:contain;
  }

  .ecom-stepbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .order-meta{
    grid-template-columns:1fr 1fr!important;
  }

  .footer-grid{
    grid-template-columns:1fr!important;
  }
}

/* Phones */
@media (max-width:600px){
  :root{--shahab-gutter:12px}

  body{font-size:15px}

  .announcement{
    font-size:9px!important;
    letter-spacing:.14em!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .site-header .nav,.nav{
    width:calc(100% - 20px)!important;
  }

  .brand-mark{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }
  .brand>span{font-size:16px!important}
  .brand>span small{font-size:9px!important}

  .nav-actions .btn,
  .ecom-cart-link{
    min-height:40px;
    padding:0 10px!important;
  }

  .page-shell,
  .ecom-shell,
  .product-detail-shell{
    width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .ecom-store-hero,
  .unified-hero-copy,
  .product-detail-card,
  .ecom-checkout-card,
  .ecom-panel{
    padding:18px!important;
    border-radius:16px!important;
  }

  .ecom-store-controls{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .ecom-products,
  .product-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .ecom-card-media{
    min-height:240px!important;
  }

  .size-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .order-actions,
  .unified-hero-actions,
  .location-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .order-actions>*,
  .unified-hero-actions>*,
  .location-actions>*{
    width:100%!important;
    min-width:0!important;
  }

  .detail-price{
    align-items:flex-start!important;
    gap:8px!important;
  }

  .detail-price strong{font-size:28px!important}

  .order-meta{
    grid-template-columns:1fr!important;
  }

  .ecom-orders-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  /* Admin filter bars */
  .toolbar,
  .filters,
  .ecom-store-controls{
    width:100%;
  }

  input,select,textarea,button{
    min-height:42px;
  }

  textarea{min-height:100px}

  .ecom-table{
    min-width:760px;
  }
}

/* Very small phones */
@media (max-width:390px){
  :root{--shahab-gutter:9px}
  .size-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .brand>span{display:none}
  .product-detail-card h1{font-size:27px!important}
  .detail-price strong{font-size:25px!important}
}

/* Landscape phones with low height */
@media (max-height:500px) and (orientation:landscape){
  .product-main-image{max-height:58vh}
  .announcement{display:none}
}
