/* ══════════════════════════════════════════════
   MOBILE RESPONSIVENESS FIXES — Gautham Jewellers
   Priority: Touch targets, spacing, readability
   ══════════════════════════════════════════════ */

/* ── GLOBAL MOBILE FIXES ── */
@media(max-width:640px){
  /* Bigger touch targets for product card buttons */
  .pc-add{padding:12px 8px;font-size:10px;min-height:44px}
  .pc-wa-btn{width:44px;height:44px;min-width:44px}
  .pc-wa-btn svg{width:16px;height:16px}

  /* Wishlist/quickview buttons always visible on mobile (no hover) */
  .pc-ov-btn{opacity:1!important;transform:translateX(0)!important;width:34px;height:34px}
  .pc-ov-btn svg{width:14px;height:14px}

  /* Trust bar: scroll hint + better spacing */
  .trust-bar-i{justify-content:flex-start;gap:0}
  .ti{padding:10px 14px;min-width:max-content}
  .ti-main{font-size:10.5px}
  .ti-sub{font-size:9px}

  /* Social proof notification: above sticky buy bar */
  .sp-notif{bottom:80px;left:10px;max-width:220px;padding:8px 10px}

  /* Footer: single column, bigger links */
  .ft-link{padding:4px 0;font-size:13px;min-height:36px;display:flex;align-items:center}

  /* Bridal section CTA buttons full width */
  .bridal-ctas .btn{width:100%;text-align:center;justify-content:center;min-height:48px}

  /* Hero CTA buttons bigger tap area */
  .hero-ctas .btn{min-height:46px;padding:13px 18px;font-size:11px}

  /* Category cards text bigger */
  .cat-name{font-size:16px}
  .cat-count{font-size:11px}

  /* Reviews: readable on small screen */
  .rv{padding:18px}
  .rv-text{font-size:14px;line-height:1.7}

  /* Store section info: bigger text */
  .store-rv{font-size:14px}
  .store-rl{font-size:10px}

  /* Payment trust strip */
  .pay-trust-inner{gap:14px;padding:0 10px}
  .pay-icon-label{font-size:9px}

  /* FAQ items: bigger tap area */
  .faq-q{padding:16px 0;font-size:14px;min-height:52px}
  .faq-a{font-size:13px;line-height:1.7}

  /* Marquee: slightly larger text */
  .mq-item{font-size:12px}
}

/* ── EXTRA SMALL PHONES (360px and below) ── */
@media(max-width:360px){
  /* Product grid: slightly smaller gap */
  .prod-row{gap:8px}
  .pc-body{padding:8px 8px 10px}
  .pc-name{font-size:12.5px}
  .pc-price{font-size:16px}
  .pc-add{font-size:9px;padding:10px 6px}

  /* Hero: tighter */
  .hero-l{padding:20px 14px}
  .hero-title{font-size:28px}
  .hero-desc{font-size:12px}
  .hero-ctas .btn{padding:11px 14px;font-size:10px}

  /* Sticky buy bar: prevent overflow */
  .sticky-buy{padding:8px 12px}
  .sticky-buy-price{font-size:16px}
  .sticky-buy .btn{padding:11px 8px;font-size:9px}
}

/* ── PRODUCT LIST PAGE MOBILE ── */
@media(max-width:640px){
  /* Filter toggle button: bigger */
  .pl-filter-toggle{min-height:44px;font-size:12px;padding:10px 16px}

  /* Sort select: bigger tap area */
  .pl-sort-select{min-height:40px;font-size:13px}

  /* Product cards in list: better image ratio */
  .pl-prod-grid .pc-img-w{aspect-ratio:3/4}
}

/* ── PRODUCT DETAIL PAGE MOBILE ── */
@media(max-width:640px){
  /* CTA buttons: full width, tall enough for thumbs */
  .pd-btn{min-height:52px;font-size:14px}

  /* Quantity controls bigger */
  .pd-qty button{width:40px;height:40px;font-size:18px}
  .pd-qty input{height:40px;font-size:16px}

  /* Tab buttons: taller for easier tapping */
  .pd-tab-btn{min-height:44px;font-size:12px}

  /* Coupon cards: scroll with bigger text */
  .pd-coupon-card{min-width:200px}
  .pd-coupon-code{font-size:13px}
}

/* ── CHECKOUT PAGE MOBILE ── */
@media(max-width:640px){
  .checkout-page-wrap{padding:14px 10px 60px}

  /* Form inputs: bigger for mobile */
  .checkout-page-wrap input[type="text"],
  .checkout-page-wrap input[type="email"],
  .checkout-page-wrap input[type="tel"],
  .checkout-page-wrap select,
  .checkout-page-wrap textarea{
    min-height:46px;
    font-size:16px; /* prevents iOS zoom on focus */
  }

  /* Order summary: better spacing */
  .order-summary{padding:16px}
}

/* ── VIEW CART MOBILE ── */
@media(max-width:640px){
  /* Quantity buttons bigger */
  .vc-qty-btn{width:36px;height:36px;font-size:16px}
  .vc-qty-val{font-size:15px;min-width:36px}

  /* Remove button: easier to tap */
  .vc-remove{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}

  /* Checkout CTA: full width, tall */
  .vc-checkout-btn{min-height:52px;font-size:14px;width:100%}
}

/* ── CONTACT PAGE MOBILE ── */
@media(max-width:640px){
  .contact-strip{grid-template-columns:1fr!important}
  .contact-strip-i{min-height:56px}
  .contact-grid{gap:24px}
  .contact-form input,
  .contact-form textarea{
    min-height:46px;
    font-size:16px; /* prevents iOS zoom */
  }
  .contact-form button[type="submit"]{min-height:50px;font-size:14px}
}

/* ── iOS SAFE AREA (notch phones) ── */
@supports(padding: max(0px)){
  .sticky-buy{
    padding-bottom:max(10px, env(safe-area-inset-bottom));
  }
  .mob-nav{
    padding-bottom:max(16px, env(safe-area-inset-bottom));
  }
  footer{
    padding-bottom:max(20px, env(safe-area-inset-bottom));
  }
}

/* ══════════════════════════════════════════════
   MOBILE BOTTOM NAVIGATION BAR — Glassmorphism
   ══════════════════════════════════════════════ */
.mob-bar{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:350;
  padding:0 10px 10px;
  justify-content:center;
  align-items:flex-end;
}
.mob-bar-inner{
  display:flex;
  justify-content:space-around;
  align-items:center;
  width:100%;
  background:var(--ivory,#FAF6F0);
  backdrop-filter:blur(18px) saturate(1.6);
  -webkit-backdrop-filter:blur(18px) saturate(1.6);
  border-radius:20px;
  border:0.5px solid rgba(196,154,60,0.2);
  padding:6px 4px 10px;
  box-shadow:0 -4px 24px rgba(0,0,0,0.06);
}
/* Glass effect only when supported */
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .mob-bar-inner{background:rgba(255,255,255,0.55)}
}
@media(max-width:960px){
  .mob-bar{display:flex}
  body{padding-bottom:80px!important}
  .swa{display:none!important}
  .sticky-buy{display:none!important}
  .sp-notif{bottom:92px}
}
/* ── Nav item base ── */
.mob-bar-i{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  flex:1;
  padding:4px 0;
  color:var(--text-m,#7A6A58);
  text-decoration:none;
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.03em;
  transition:color .2s,transform .2s;
  position:relative;
  -webkit-tap-highlight-color:transparent;
  min-height:48px;
}
.mob-bar-i svg{
  flex-shrink:0;
  transition:transform .2s;
}
.mob-bar-i span{
  line-height:1;
}
/* ── Active state — gold color + dot indicator ── */
.mob-bar-i.active{
  color:var(--gold,#C49A3C);
}
.mob-bar-i.active::after{
  content:'';
  display:block;
  width:4px;height:4px;
  border-radius:50%;
  background:var(--gold,#C49A3C);
  margin-top:1px;
}
.mob-bar-i:active svg{
  transform:scale(.88);
}
/* ── WhatsApp center button — pop-out circle ── */
.mob-bar-wa{
  position:relative;
  padding-top:0;
}
.mob-bar-wa-circle{
  width:46px;height:46px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:-22px;
  box-shadow:0 4px 14px rgba(37,211,102,0.35);
  border:3px solid rgba(255,255,255,0.7);
  transition:transform .2s;
}
.mob-bar-wa:active .mob-bar-wa-circle{
  transform:scale(.92);
}
.mob-bar-wa-circle svg{
  width:22px;height:22px;
  fill:#fff;
}
.mob-bar-wa span{
  color:var(--text-m,#7A6A58);
  font-size:9px;
}
/* ── Cart badge ── */
.mob-bar-badge{
  position:absolute;
  top:-2px;
  right:calc(50% - 18px);
  min-width:16px;height:16px;
  border-radius:8px;
  background:var(--gold,#C49A3C);
  color:#fff;
  font-size:9px;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 3px;
  line-height:1;
}

/* ── iOS safe area for bottom bar ── */
@supports(padding: max(0px)){
  .mob-bar{
    padding-bottom:max(10px, env(safe-area-inset-bottom));
  }
  @media(max-width:960px){
    body{padding-bottom:max(80px, calc(80px + env(safe-area-inset-bottom)))!important}
  }
}

/* ══════════════════════════════════════════════
   MODERN SIDE DRAWER + HAMBURGER — Glassmorphism
   ══════════════════════════════════════════════ */

/* ── Overlay behind drawer ── */
.mob-nav-ov{
  display:none;
  position:fixed;
  inset:0;
  z-index:289;
  background:rgba(24,17,16,0.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity .3s ease;
}
.mob-nav-ov.open{
  display:block;
  opacity:1;
}

/* ── Side drawer override (left slide) ── */
@media(max-width:960px){
  .mob-nav{
    position:fixed;
    top:0!important;
    left:0;
    right:auto;
    bottom:0;
    width:82vw;
    max-width:320px;
    background:var(--ivory,#FAF6F0);
    backdrop-filter:blur(24px) saturate(1.8);
    -webkit-backdrop-filter:blur(24px) saturate(1.8);
    border-bottom:none;
    border-right:0.5px solid rgba(196,154,60,0.15);
    box-shadow:4px 0 30px rgba(0,0,0,0.1);
    transform:translateX(-105%)!important;
    transition:transform .35s cubic-bezier(.4,0,.2,1)!important;
    overflow-y:auto;
    overflow-x:hidden;
    z-index:291;
    border-radius:0 20px 20px 0;
  }
  .mob-nav.open{
    transform:translateX(0)!important;
  }

  /* ── Drawer header with brand ── */
  .mob-nav-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:24px 20px 18px;
    border-bottom:0.5px solid rgba(196,154,60,0.15);
    margin-bottom:4px;
  }
  .mob-nav-brand img{
    width:42px;height:42px;
    border-radius:50%;
    object-fit:cover;
    border:1.5px solid rgba(196,154,60,0.25);
  }
  .mob-nav-brand-info{
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .mob-nav-brand-name{
    font-size:15px;
    font-weight:500;
    color:var(--text,#181110);
    letter-spacing:.02em;
  }
  .mob-nav-brand-sub{
    font-size:10px;
    color:var(--text-m,#7A6A58);
    letter-spacing:.06em;
  }

  /* ── Close button inside drawer ── */
  .mob-nav-close{
    position:absolute;
    top:20px;right:16px;
    width:32px;height:32px;
    border-radius:50%;
    background:rgba(196,154,60,0.1);
    border:none;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background .2s;
    z-index:2;
  }
  .mob-nav-close:active{
    background:rgba(196,154,60,0.2);
  }
  .mob-nav-close svg{
    width:16px;height:16px;
    stroke:var(--text-m,#7A6A58);
    stroke-width:2;
  }

  /* ── Nav inner spacing ── */
  .mob-nav-inner{
    padding:12px 20px 100px;
  }

  /* ── Section headers ── */
  .mob-nav-section{
    font-size:9.5px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--gold,#C49A3C);
    padding:18px 0 8px;
    border-bottom:none;
  }

  /* ── Nav links ── */
  .mob-nav a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:13px 4px;
    font-size:14px;
    font-weight:400;
    letter-spacing:.03em;
    color:var(--text-m,#7A6A58);
    border-bottom:0.5px solid rgba(196,154,60,0.08);
    transition:color .2s, padding-left .2s;
    border-radius:6px;
  }
  .mob-nav a::after{
    content:'';
    width:6px;height:6px;
    border-right:1.5px solid var(--gold,#C49A3C);
    border-bottom:1.5px solid var(--gold,#C49A3C);
    transform:rotate(-45deg);
    opacity:.4;
    transition:opacity .2s, transform .2s;
  }
  .mob-nav a:active{
    background:rgba(196,154,60,0.06);
    padding-left:10px;
  }
  .mob-nav a:active::after{
    opacity:1;
    transform:rotate(-45deg) translateX(2px);
  }

  /* ── WhatsApp CTA ── */
  .mob-nav-wa{
    background:#25D366;
    color:#fff;
    padding:14px 20px;
    border-radius:14px;
    font-size:13px;
    font-weight:500;
    margin-top:18px;
    letter-spacing:.04em;
    justify-content:center;
    gap:8px;
    box-shadow:0 4px 14px rgba(37,211,102,0.25);
    border-bottom:none;
  }
  .mob-nav-wa::after{
    display:none!important;
  }
  .mob-nav-wa:active{
    background:#20bd5a;
    padding-left:20px;
  }
}

/* Glass effect for drawer only when supported */
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  @media(max-width:960px){
    .mob-nav{background:rgba(255,255,255,0.7)}
  }
}

/* ── LANDSCAPE PHONE FIX ── */
@media(max-height:500px) and (orientation:landscape){
  .hero{min-height:300px;max-height:400px}
  .hero-r{height:300px!important}
  .pop-ov,.lm-ov{align-items:flex-start;padding-top:10px}
  .pop,.lm-card{max-height:85vh}
}
