/**
 * Ecom basic theme – full responsive layout
 * Mobile-first overrides for small tablets and phones.
 * Load after style.css.
 */

/* ===== Global: no horizontal scroll; single vertical scroll (viewport only) =====
   Body carries vertical scrolling explicitly (overflow-y: auto). Pairing overflow-x:hidden
   with overflow-y:visible computes to y:auto per CSS anyway, but also confused descendant
   overflow (header strip + main looked like nested scroll areas on iOS). */
html {
  overflow-x: hidden;
  max-width: 100%;
  width: 100%;
}
body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-width: 100%;
  width: 100%;
  height: auto;
  min-height: 100%;
  margin: 0;
  -webkit-text-size-adjust: 100%;
  overscroll-behavior-x: none;
}
body *,
body *::before,
body *::after {
  box-sizing: border-box;
}

/* ===== Container & rows ===== */
@media only screen and (max-width: 991px) {
  .container {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .row {
    margin-left: -10px;
    margin-right: -10px;
  }
  .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 575px) {
  .container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .row {
    margin-left: -8px;
    margin-right: -8px;
  }
  .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
  }
}

/* ===== Responsive typography ===== */
@media only screen and (max-width: 767px) {
  h1 { font-size: 28px !important; line-height: 1.2; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }
  h4 { font-size: 18px !important; }
  h5 { font-size: 16px !important; }
  h6 { font-size: 14px !important; }
  p { font-size: 15px; line-height: 1.5; }
  .section-title h2 { font-size: 24px !important; margin-bottom: 20px; }
  .section-title { margin-bottom: 24px; }
  .about-main h2 { font-size: 24px !important; }
  .spad {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 479px) {
  h1 { font-size: 22px !important; }
  h2 { font-size: 20px !important; }
  h3 { font-size: 18px !important; }
  h4 { font-size: 16px !important; }
  .section-title h2 { font-size: 20px !important; }
  .section-title { margin-bottom: 20px; }
  .spad {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* ===== Header section ===== */
.header-section {
  max-width: 100%;
  width: 100%;
  /* Do not mix overflow-x:hidden with overflow-y:visible — per CSS, the visible
     axis becomes `auto`, which can make the header a nested scroll container on
     iOS/WebKit (middle strip scrolling separately from the page). */
  overflow: visible;
  position: relative;
}
.header-top .container,
.header-miidlearea .container,
.header-middlearea .container,
.nav-item .container,
.inner-header {
  max-width: 100%;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .header-top {
    padding-left: 10px;
    padding-right: 10px;
  }
  .inner-header .logo img {
    max-width: 120px;
    height: auto;
  }
  /*
   * Stacked header (legacy). theme-ecom-basic uses style.css flex row (logo | actions)
   * at ≤991px — width:100% + flex-wrap here breaks iOS Safari (overlap / crash).
   */
  body:not(.theme-ecom-basic) .logoholediv {
    width: 100%;
    margin-left: 0;
    text-align: center;
  }
  body:not(.theme-ecom-basic) .inner-header .logo {
    display: inline-block;
  }
  body:not(.theme-ecom-basic) .cardmobileview {
    width: 100%;
    text-align: center;
  }
  body:not(.theme-ecom-basic) .inner-header .nav-right {
    justify-content: center;
    flex-wrap: wrap;
  }
  .slicknav_btn {
    min-height: 44px;
    min-width: 44px;
    padding: 10px;
  }
}
@media only screen and (max-width: 479px) {
  .inner-header .logo img {
    max-width: 100px;
  }
  .header-top .ht-right .login-panel,
  .header-top .ht-right .lan-selector {
    padding: 8px 6px;
    font-size: 13px;
  }
}

/* ===== Hero / banner ===== */
@media only screen and (max-width: 767px) {
  .hero-items .single-hero-items {
    padding: 40px 15px 50px;
    min-height: 200px;
  }
  .hero-items .single-hero-items h1 {
    font-size: 22px !important;
  }
  .banner-section {
    padding: 40px 0 30px;
  }
}
@media only screen and (max-width: 479px) {
  .hero-items .single-hero-items {
    padding: 30px 12px 40px;
  }
  .hero-items .single-hero-items h1 {
    font-size: 18px !important;
  }
}

/* ===== Product grid & items ===== */
@media only screen and (max-width: 767px) {
  .product-item,
  .single-banner,
  .women-banner .product-item {
    margin-bottom: 20px;
  }
  .product-item .pi-text,
  .product-item .pi-pic {
    text-align: center;
  }
}
@media only screen and (max-width: 479px) {
  .product-show-option {
    flex-wrap: wrap;
  }
  .product-show-option p,
  .product-show-option .select-option {
    width: 100%;
    margin-bottom: 8px;
  }
}

/* ===== Tables: scroll on small screens ===== */
.cart-table,
.specification-table,
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
.cart-table table,
.specification-table table {
  min-width: 320px;
}
@media only screen and (max-width: 767px) {
  .cart-table table tr th,
  .cart-table table tr td {
    font-size: 12px;
    padding: 8px 6px;
  }
  .cart-table .si-pic img {
    max-width: 60px;
  }
}

/* ===== Forms & inputs ===== */
@media only screen and (max-width: 767px) {
  .advanced-search .input-group input,
  .advanced-search .input-group button {
    min-height: 44px;
  }
  .primary-btn,
  .site-btn {
    padding: 12px 24px;
    font-size: 14px;
  }
}
@media only screen and (max-width: 479px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  select,
  textarea {
    font-size: 16px; /* avoids zoom on iOS */
  }
  .checkout-form .place-order,
  .contact-form {
    padding: 20px 10px;
  }
}

/* ===== Footer ===== */
@media only screen and (max-width: 767px) {
  .footer-section .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .footer-widget,
  .footer-nav {
    margin-bottom: 24px;
  }
  .copyright-reserved {
    text-align: center;
  }
  .copyright-reserved .copyright-text,
  .copyright-reserved .payment-pic {
    display: block;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 479px) {
  .footer-widget h4,
  .footer-nav h4 {
    font-size: 16px;
  }
}

/* ===== Breadcrumb ===== */
@media only screen and (max-width: 767px) {
  .breacrumb-section {
    min-height: 140px;
    padding: 30px 0;
  }
  .breacrumb-section h3 {
    font-size: 22px !important;
  }
}
@media only screen and (max-width: 479px) {
  .breacrumb-section {
    min-height: 120px;
    padding: 20px 0;
  }
  .breacrumb-section h3 {
    font-size: 18px !important;
  }
}

/* ===== Blog ===== */
@media only screen and (max-width: 767px) {
  .blog-details-inner .blog-detail-title h2 {
    font-size: 22px !important;
  }
  .blog-sidebar,
  .produts-sidebar-filter {
    padding-top: 30px;
  }
}
@media only screen and (max-width: 479px) {
  .blog-details-inner .tag-share .details-tag ul li,
  .blog-details-inner .tag-share .blog-share .social-links a {
    margin: 4px;
  }
}

/* ===== Touch targets ===== */
@media (pointer: coarse) {
  .nav-right li a,
  .slicknav_nav a,
  .primary-btn,
  .site-btn,
  .product-item .pi-pic ul li a {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
  }
}

/* Minicart: close button is mobile-only (shown in ≤767px rules below) */
.cart-hover__close {
  display: none !important;
}

/* ===== Minicart dropdown (stay inside viewport; align to cart icon) ===== */
@media only screen and (max-width: 767px) {
  li.cart-icon.minicart-collapsed .cart-hover,
  li.cartcart.minicart-collapsed .cart-hover {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .cart-hover__close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.08);
    color: #0f172a;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    -webkit-tap-highlight-color: transparent;
  }

  .cart-hover__close:active {
    background: rgba(15, 23, 42, 0.14);
  }

  .cart-hover__close-icon {
    display: block;
    line-height: 1;
    margin-top: -2px;
  }

  .inner-header .nav-right li.cart-icon .cart-hover,
  .cart-hover {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    /* Cap width so absolute panel cannot extend past the left edge of the viewport */
    width: min(350px, calc(100vw - 24px)) !important;
    max-width: min(350px, calc(100vw - 24px)) !important;
    box-sizing: border-box;
    padding-top: 52px;
  }
  .cart-hover .select-items table { width: 100%; }
  .cart-hover .si-pic img { max-width: 60px; }
  .minicart .cart-hover .select-button .btn { padding: 10px 14px; font-size: 13px; }
}
@media only screen and (max-width: 479px) {
  .inner-header .nav-right li.cart-icon .cart-hover,
  .cart-hover {
    width: min(320px, calc(100vw - 20px));
    max-width: calc(100vw - 20px);
  }
}

/* ===== Product slider (owl) ===== */
@media only screen and (max-width: 767px) {
  .product-slider .owl-stage-outer,
  .product-slider .owl-stage,
  .product-slider .owl-item {
    overflow: hidden;
  }
  .product-slider .product-item {
    max-width: 100%;
  }
  .product-slider .product-item .pi-pic img,
  .img-slider-max {
    max-width: 100%;
    height: auto;
  }
}

/* ===== Product listing & details ===== */
@media only screen and (max-width: 767px) {
  .product-shop .product-details { padding-top: 20px; }
  .product-details .quantity .primary-btn.pd-cart { padding: 12px 20px; }
  .tab-item ul li a { padding: 12px 20px; font-size: 14px; }
  .product-show-option { flex-wrap: wrap; }
  .product-show-option p { margin-bottom: 8px; }
}
@media only screen and (max-width: 479px) {
  .product-details .quantity input { width: 50px; }
  .specification-table { font-size: 13px; }
}

/* ===== Checkout / cart page ===== */
@media only screen and (max-width: 767px) {
  .cart-table { margin-bottom: 20px; }
  .place-order { padding-top: 20px; }
  .checkout-content input { margin-top: 24px; }
}
@media only screen and (max-width: 479px) {
  .place-order .order-total { padding: 15px 10px; }
  .select-button .btn { display: block; width: 100%; margin-bottom: 8px; }
}

/* ===== Footer columns stack on small screens (Bootstrap grid) ===== */
@media only screen and (max-width: 767px) {
  .footer-section .col-lg-4,
  .footer-section .col-lg-6,
  .footer-section .col-md-4,
  .footer-section .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1.5rem;
  }
}

/* ===== Very small viewport (360px) ===== */
@media only screen and (max-width: 360px) {
  .container { padding-left: 10px; padding-right: 10px; }
  h1 { font-size: 20px !important; }
  h2 { font-size: 18px !important; }
  .section-title h2 { font-size: 18px !important; }
  .inner-header .logo img { max-width: 90px; }
  .primary-btn, .site-btn { padding: 10px 16px; font-size: 13px; }
  .hero-items .single-hero-items { padding: 24px 10px 36px; }
  .hero-items .single-hero-items h1 { font-size: 16px !important; }
}

/* ===== Megha menu (when active): prevent overflow ===== */
@media only screen and (max-width: 991px) {
  .header-section.activemeghamenu,
  .header-section.activemeghamenu .container {
    max-width: 100%;
    overflow-x: hidden;
  }
}

/* ===== Final hero slider responsiveness hardening ===== */
.hero-items .single-hero-items {
  display: flex !important;
  align-items: center !important;
  background-size: cover !important;
  background-position: center center !important;
}
.hero-items .owl-nav {
  display: block !important;
}
.hero-items .owl-nav button[type=button] {
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
}

@media only screen and (min-width: 1600px) {
  .hero-items .single-hero-items {
    height: clamp(560px, 48vw, 760px) !important;
    min-height: 560px !important;
    padding-top: 120px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .hero-items .single-hero-items {
    min-height: 380px !important;
    height: clamp(380px, 52vw, 520px) !important;
    padding: 80px 24px 72px !important;
  }
  .hero-items .single-hero-items h1 {
    font-size: clamp(28px, 4.2vw, 40px) !important;
    line-height: 1.2 !important;
  }
}

@media only screen and (max-width: 767px) {
  .hero-items .single-hero-items {
    min-height: 240px !important;
    height: clamp(240px, 68vw, 340px) !important;
    padding: 28px 14px 44px !important;
  }
  .hero-items .single-hero-items h1 {
    font-size: clamp(20px, 5.6vw, 30px) !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }
  .hero-items .single-hero-items p {
    margin-bottom: 12px !important;
  }
}

/* ===== Deal / countdown / featured (Ecom Basic) ===== */
@media only screen and (max-width: 767px) {
  .deal-of-week,
  .countdown-timer { max-width: 100%; overflow-x: hidden; }
  .countdown-timer .cd-item { padding: 8px 6px; font-size: 12px; }
}
@media only screen and (max-width: 479px) {
  .countdown-timer .cd-item { padding: 6px 4px; font-size: 11px; }
}

/* ===== Contact & user pages ===== */
@media only screen and (max-width: 767px) {
  .contact-form .form-group,
  .register-form .form-group,
  .login-form .form-group { margin-bottom: 1rem; }
  .contact-widget .cw-item { margin-bottom: 1rem; }
}

/* ===== Utility ===== */
@media only screen and (max-width: 767px) {
  .dispdesktop { display: none !important; }
  .dispmobile { display: block !important; }
}
@media only screen and (min-width: 768px) {
  .dispmobile { display: none !important; }
}

/* Keep one vertical scroll container on desktop (page only). */
@media only screen and (min-width: 768px) {
  .header-section,
  .header-section .header-top,
  .header-section .header-miidlearea,
  .header-section .nav-item,
  .header-section .container,
  .header-section .inner-header,
  .header-section .ht-right,
  .header-section .ht-rightul,
  #mainnav {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .header-top .ht-right {
    max-height: none !important;
  }
}

/* Same: avoid nested vertical scroll on the header strip (mobile). */
@media only screen and (max-width: 767px) {
  .header-section,
  .header-section .header-top,
  .header-section .header-miidlearea,
  .header-section .nav-item,
  .header-section .container,
  .header-section .inner-header,
  .header-section .ht-right,
  .header-section .ht-rightul,
  #mainnav {
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }
}

/*
 * Ecom Basic – header middle search (nested form.search-form-full):
 * Backup overrides loaded after style.css so a cached older style.css cannot keep
 * position:absolute on the submit button inside the form.
 */
.header-section .inner-header .advanced-search.advanced-search--header {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  margin-left: 0 !important;
  margin-right: 0;
}
.header-section .inner-header .advanced-search .input-group {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
}
.header-section .inner-header .advanced-search .input-group > form.search-form-full {
  flex: 1 1 auto;
  min-width: 0;
}
.header-section .inner-header .advanced-search .input-group form.search-form-full {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
}
.header-section .inner-header .advanced-search .input-group form.search-form-full input[type="search"],
.header-section .inner-header .advanced-search .input-group form.search-form-full input[type="text"] {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  padding-right: 10px;
  box-sizing: border-box;
  color: #252525;
}
.header-section .inner-header .advanced-search .input-group form.search-form-full button[type="submit"] {
  position: static !important;
  flex: 0 0 auto;
  height: auto !important;
  min-height: 100%;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  margin: 0;
  border-radius: 0 5px 5px 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
}

/* Header search: tablets & phones — stop icon overlapping input (flex + fixed button width) */
@media only screen and (max-width: 991px) {
  .header-section .header-miidlearea .advanced-search.advanced-search--header,
  #mobile-search-panel .advanced-search.advanced-search--header {
    height: auto !important;
    min-height: 48px !important;
    max-width: 100% !important;
  }
  .header-section .inner-header .advanced-search.advanced-search--header .input-group,
  #mobile-search-panel .advanced-search.advanced-search--header .input-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .header-section .inner-header .advanced-search.advanced-search--header form.search-form-full,
  #mobile-search-panel .advanced-search.advanced-search--header form.search-form-full {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
  }
  .header-section .inner-header .advanced-search.advanced-search--header form.search-form-full input[type="search"],
  .header-section .inner-header .advanced-search.advanced-search--header form.search-form-full input[type="text"],
  #mobile-search-panel .advanced-search.advanced-search--header form.search-form-full input[type="search"],
  #mobile-search-panel .advanced-search.advanced-search--header form.search-form-full input[type="text"] {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
  .header-section .inner-header .advanced-search.advanced-search--header form.search-form-full button[type="submit"],
  #mobile-search-panel .advanced-search.advanced-search--header form.search-form-full button[type="submit"] {
    position: static !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 52px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-self: stretch !important;
  }
}

/* Layout1 product detail — collapsible stock table */
.layout1-stock-block__summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0;
  padding: 12px 14px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #1e293b;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.layout1-stock-block__summary::-webkit-details-marker {
  display: none;
}
.layout1-stock-block__summary-chevron::after {
  content: '▼';
  display: block;
  font-size: 0.55rem;
  line-height: 1;
  opacity: 0.75;
}
.layout1-stock-block__summary-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.06);
  transition: transform 0.2s ease;
}
.layout1-stock-block:not([open]) .layout1-stock-block__summary-chevron {
  transform: rotate(-90deg);
}
.layout1-stock-block__summary:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

/* ===== Ecom Basic theme — global box-sizing & overflow ===== */
body.theme-ecom-basic *,
body.theme-ecom-basic *::before,
body.theme-ecom-basic *::after {
  box-sizing: border-box;
}
body.theme-ecom-basic {
  overflow-x: hidden !important;
  max-width: 100%;
}

/* ===== Ecom Basic — product grid: 2-col tablet, 2-col phone, 1-col tiny ===== */
@media only screen and (max-width: 767px) {
  body.theme-ecom-basic .product-list .col-6,
  body.theme-ecom-basic .product-list .col-sm-6,
  body.theme-ecom-basic .product-list [class*="col-lg-4"],
  body.theme-ecom-basic .product-list [class*="col-md-4"] {
    flex: 0 0 50%;
    max-width: 50%;
  }
  body.theme-ecom-basic .women-banner .col-sm-6,
  body.theme-ecom-basic .women-banner [class*="col-lg-4"],
  body.theme-ecom-basic .women-banner [class*="col-md-4"] {
    flex: 0 0 50%;
    max-width: 50%;
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 400px) {
  body.theme-ecom-basic .product-list .col-6,
  body.theme-ecom-basic .product-list .col-sm-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  body.theme-ecom-basic .women-banner .col-sm-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ===== Ecom Basic — product shop (listing + detail): layout fix ===== */
@media only screen and (max-width: 991px) {
  body.theme-ecom-basic .product-shop .col-lg-3 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1.5rem;
  }
  body.theme-ecom-basic .product-shop .col-lg-9 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  body.theme-ecom-basic .product-shop.page-details .col-lg-5,
  body.theme-ecom-basic .product-shop.page-details .col-lg-7 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  body.theme-ecom-basic .product-show-option {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ===== Ecom Basic — classification tiles: 2-col on mobile ===== */
@media only screen and (max-width: 575px) {
  body.theme-ecom-basic .home-classification-row > .col-md-3,
  body.theme-ecom-basic .home-classification-row > .col-lg-3 {
    flex: 0 0 50%;
    max-width: 50%;
    margin-bottom: 1rem;
  }
  body.theme-ecom-basic .home-classification-row > .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
    margin-bottom: 1rem;
  }
}

/* ===== Ecom Basic — footer: stack columns ===== */
@media only screen and (max-width: 767px) {
  body.theme-ecom-basic .footer-section .col-lg-4,
  body.theme-ecom-basic .footer-section .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1.75rem;
  }
  body.theme-ecom-basic .copyright-reserved .row {
    flex-direction: column;
    gap: 4px;
  }
}

/* ===== Ecom Basic — cart page mobile ===== */
@media only screen and (max-width: 767px) {
  body.theme-ecom-basic .shopping-cart .cart-page__grid > .col-lg-8,
  body.theme-ecom-basic .shopping-cart .cart-page__grid > .col-lg-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  body.theme-ecom-basic .shopping-cart .cart-page__aside {
    margin-top: 1.25rem;
  }
  body.theme-ecom-basic .shopping-cart .cart-buttons {
    flex-direction: column;
    gap: 8px;
  }
  body.theme-ecom-basic .shopping-cart .cart-buttons .primary-btn {
    width: 100%;
    text-align: center;
  }
}

/* ===== Ecom Basic — checkout: stack on mobile ===== */
@media only screen and (max-width: 767px) {
  body.theme-ecom-basic .checkout-section .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1.25rem;
  }
  body.theme-ecom-basic .checkout-section input,
  body.theme-ecom-basic .checkout-section select,
  body.theme-ecom-basic .checkout-section textarea {
    font-size: 16px; /* prevents iOS auto-zoom */
  }
}

/* ===== Ecom Basic — benefit strip: stack on mobile ===== */
@media only screen and (max-width: 575px) {
  body.theme-ecom-basic .benefit-main [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ===== Ecom Basic — blog grid: 1-col on phone ===== */
@media only screen and (max-width: 575px) {
  body.theme-ecom-basic .latest-blog .col-lg-4,
  body.theme-ecom-basic .latest-blog .col-md-4,
  body.theme-ecom-basic .latest-blog .col-sm-6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1.25rem;
  }
}

/* ===== Ecom Basic — typography scale on mobile ===== */
@media only screen and (max-width: 767px) {
  body.theme-ecom-basic h1 { font-size: clamp(1.6rem, 7vw, 2rem) !important; }
  body.theme-ecom-basic h2 { font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important; }
  body.theme-ecom-basic h3 { font-size: clamp(1.15rem, 4.5vw, 1.5rem) !important; }
  body.theme-ecom-basic h4 { font-size: clamp(1rem, 4vw, 1.25rem) !important; }
  body.theme-ecom-basic .section-title h2 { font-size: clamp(1.35rem, 5vw, 1.75rem) !important; }
}

/* ===== Ecom Basic — touch targets: 44×44 minimum ===== */
@media (pointer: coarse) {
  body.theme-ecom-basic .primary-btn,
  body.theme-ecom-basic .site-btn,
  body.theme-ecom-basic .proceed-btn,
  body.theme-ecom-basic .site-btn.place-btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  body.theme-ecom-basic .filter-widget .filter-catagories li a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
