/* NYVAARA MOBILE UX — BLUE-NILE-INSPIRED, NOT COPIED
   Clean jewellery commerce mobile layer: compact header, drawer menu, bottom shortcuts,
   stronger product grid, filter sheet, checkout/account readability. */

@media (max-width: 860px){
  :root{
    --nyv-mobile-navy:#07113a;
    --nyv-mobile-bg:#f4f7fa;
    --nyv-mobile-card:#ffffff;
    --nyv-mobile-line:#d9e3ee;
    --nyv-mobile-muted:#59677a;
    --nyv-bottom-safe: calc(76px + env(safe-area-inset-bottom, 0px));
  }
  html,body{width:100%;max-width:100%;overflow-x:hidden!important;background:var(--nyv-mobile-bg)!important;}
  body{padding-bottom:var(--nyv-bottom-safe)!important;-webkit-font-smoothing:antialiased;}

  /* compact luxury top/header */
  .top-bar{
    min-height:28px!important;padding:7px 10px!important;font-size:9px!important;line-height:1.35!important;
    letter-spacing:.16em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .main-header{position:sticky!important;top:0!important;z-index:99990!important;background:#fff!important;box-shadow:0 1px 0 rgba(7,17,58,.08)!important;}
  .header-row{
    display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;
    min-height:62px!important;padding:8px 12px!important;gap:8px!important;background:#f8fafc!important;
  }
  .header-search-wrap{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;}
  .search-box{width:38px!important;height:38px!important;border-radius:50%!important;background:#eef3f8!important;border:1px solid var(--nyv-mobile-line)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;letter-spacing:0!important;font-size:0!important;box-shadow:none!important;}
  .search-box .search-icon,.search-icon{font-size:17px!important;margin:0!important;line-height:1!important;}
  .logo-area,.logo-area-image{grid-column:2!important;grid-row:1!important;justify-self:center!important;min-width:0!important;max-width:100%!important;}
  .site-logo,.logo-area img,.logo-area-image img{width:min(168px,46vw)!important;max-width:min(168px,46vw)!important;height:auto!important;display:block!important;}
  .logo-area h1{font-size:16px!important;letter-spacing:.14em!important;white-space:nowrap!important;}
  .logo-area p{font-size:7px!important;letter-spacing:.22em!important;}
  .header-actions{grid-column:3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;min-width:0!important;}
  .currency-select{height:36px!important;min-width:70px!important;max-width:74px!important;border-radius:22px!important;padding:0 7px!important;font-size:11px!important;background:#eef3f8!important;}
  .circle-btn,.cart-trigger,.customer-account-btn{width:36px!important;height:36px!important;min-width:36px!important;border-radius:50%!important;background:#eef3f8!important;border:1px solid var(--nyv-mobile-line)!important;font-size:16px!important;box-shadow:none!important;}
  .cart-badge,.wishlist-badge{top:-4px!important;right:-4px!important;width:18px!important;height:18px!important;font-size:10px!important;background:var(--nyv-mobile-navy)!important;color:#fff!important;}
  .nyv-mobile-menu-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--nyv-mobile-line);background:#eef3f8;color:var(--nyv-mobile-navy);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;cursor:pointer;}
  .header-row .nyv-mobile-menu-toggle{grid-column:1;grid-row:1;}
  .header-row .nyv-mobile-menu-toggle + .header-search-wrap{display:none!important;}

  /* desktop nav becomes drawer; keep simple mobile quick nav under logo */
  .category-nav{display:none!important;}
  .nyv-mobile-quicknav{display:flex;gap:10px;overflow-x:auto;background:#fff;border-top:1px solid var(--nyv-mobile-line);border-bottom:1px solid var(--nyv-mobile-line);padding:10px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .nyv-mobile-quicknav::-webkit-scrollbar{display:none;}
  .nyv-mobile-quicknav a{flex:0 0 auto;border:1px solid var(--nyv-mobile-line);background:#f8fafc;color:var(--nyv-mobile-navy);border-radius:999px;padding:9px 14px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}

  /* drawer menu inspired by premium jewellery mobile nav */
  .nyv-mobile-drawer-backdrop{position:fixed;inset:0;background:rgba(7,17,58,.42);z-index:100050;opacity:0;visibility:hidden;transition:.22s ease;}
  .nyv-mobile-drawer{position:fixed;top:0;left:-88vw;width:min(86vw,390px);height:100vh;background:#fff;z-index:100060;box-shadow:24px 0 75px rgba(7,17,58,.22);transition:.25s ease;display:flex;flex-direction:column;color:var(--nyv-mobile-navy);}
  body.nyv-mobile-menu-open .nyv-mobile-drawer-backdrop{opacity:1;visibility:visible;}
  body.nyv-mobile-menu-open .nyv-mobile-drawer{left:0;}
  .nyv-mobile-drawer-head{padding:18px 18px 14px;border-bottom:1px solid var(--nyv-mobile-line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;}
  .nyv-mobile-drawer-title{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:30px;font-weight:700;letter-spacing:.08em;}
  .nyv-mobile-drawer-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--nyv-mobile-line);background:#eef3f8;color:var(--nyv-mobile-navy);font-size:25px;font-weight:800;line-height:1;}
  .nyv-mobile-drawer-search{padding:14px 18px;border-bottom:1px solid var(--nyv-mobile-line);}
  .nyv-mobile-drawer-search button{width:100%;height:44px;border-radius:999px;border:1px solid var(--nyv-mobile-line);background:#eef3f8;color:var(--nyv-mobile-navy);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
  .nyv-mobile-menu-list{overflow:auto;flex:1;padding:8px 0 20px;}
  .nyv-mobile-menu-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #edf1f5;color:var(--nyv-mobile-navy);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;}
  .nyv-mobile-menu-list a span{font-family:inherit!important;font-size:18px;letter-spacing:0;color:#8da0b6;}
  .nyv-mobile-menu-note{margin:12px 18px 18px;padding:14px;border-radius:16px;background:#eef6ff;border:1px solid #d3e7f8;color:var(--nyv-mobile-muted);font-size:12px;line-height:1.55;}

  /* bottom thumb navigation */
  .nyv-mobile-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:100040;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--nyv-mobile-line);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -14px 45px rgba(7,17,58,.10);}
  .nyv-mobile-tabbar a,.nyv-mobile-tabbar button{height:48px;border:0;background:transparent;color:var(--nyv-mobile-navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border-radius:14px;}
  .nyv-mobile-tabbar .icon{font-size:18px;line-height:1;}
  .nyv-mobile-tabbar a:active,.nyv-mobile-tabbar button:active{background:#eef3f8;}

  /* homepage mobile polish */
  .hero,.second-banner{height:clamp(390px,106vw,540px)!important;min-height:0!important;}
  .banner-media,.banner-video{object-position:center!important;}
  .category-section{padding:18px 12px 30px!important;}
  .category-carousel{gap:10px!important;padding:0 2px!important;}
  .category-card{flex:0 0 72%!important;max-width:72%!important;border-radius:18px!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--nyv-mobile-line)!important;box-shadow:0 12px 28px rgba(7,17,58,.06)!important;}
  .category-body{background:#fff!important;padding:13px 10px!important;}
  .category-body h3{font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important;}
  .collection-title{padding:34px 18px 24px!important;}
  .collection-title h2{font-size:32px!important;line-height:1.1!important;}
  .editorial-row{display:block!important;min-height:0!important;margin:0 12px 18px!important;border:1px solid var(--nyv-mobile-line)!important;border-radius:22px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 16px 38px rgba(7,17,58,.06)!important;}
  .editorial-row.reverse .editorial-text,.editorial-row.reverse .editorial-image{order:initial!important;}
  .editorial-image{min-height:0!important;height:auto!important;background:#eef3f8!important;}
  .editorial-image img{height:auto!important;aspect-ratio:1/.84!important;object-fit:cover!important;}
  .editorial-text{min-height:0!important;padding:24px 18px!important;background:#fff!important;border:0!important;}
  .editorial-text small{font-size:10px!important;letter-spacing:.18em!important;margin-bottom:10px!important;}
  .editorial-text h3{font-size:23px!important;margin-bottom:12px!important;}
  .editorial-text p{font-size:13px!important;line-height:1.55!important;margin-bottom:16px!important;}
  .editorial-btn,.hero-btn{width:100%!important;border-radius:999px!important;text-align:center!important;padding:14px 16px!important;font-size:12px!important;}
  .builder-banner-section,.concierge-banner-section{min-height:0!important;}
  .builder-banner,.concierge-banner{display:block!important;min-height:0!important;}
  .builder-banner-visual,.concierge-right{height:280px!important;min-height:0!important;}
  .builder-banner-copy{padding:28px 18px!important;}
  .builder-banner-copy h2{font-size:31px!important;}
  .builder-banner-right{padding:0 12px 28px!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .step-card{min-height:0!important;border-radius:18px!important;padding:18px!important;}
  .trust-strip{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important;padding:22px 12px!important;}
  .trust-item{border-radius:14px!important;padding:13px 8px!important;}
  .footer{padding:34px 18px calc(28px + var(--nyv-bottom-safe))!important;}
  .footer-grid{grid-template-columns:1fr!important;gap:22px!important;}

  /* products mobile — compact, Blue-Nile-style browsing */
  .product-hero{min-height:220px!important;height:220px!important;padding:0!important;}
  .product-hero h1{font-size:34px!important;line-height:1.02!important;}
  .product-hero p{font-size:13px!important;line-height:1.5!important;}
  .product-page,.products-page,.product-section{padding-left:12px!important;padding-right:12px!important;}
  .page-title-row{display:block!important;padding:24px 12px 10px!important;}
  .page-title-row h1,.page-title{font-size:31px!important;margin-bottom:8px!important;}
  .sort-wrap{margin-top:12px!important;width:100%!important;}
  .sort-wrap select{width:100%!important;height:44px!important;border-radius:12px!important;}
  .nyv-mobile-filter-toggle{display:flex!important;align-items:center;justify-content:space-between;width:calc(100% - 24px);margin:10px 12px 12px;padding:13px 15px;border-radius:14px;border:1px solid var(--nyv-mobile-line);background:#fff;color:var(--nyv-mobile-navy);font-weight:900;text-transform:uppercase;letter-spacing:.07em;box-shadow:0 10px 24px rgba(7,17,58,.05);}
  body:not(.nyv-mobile-filters-open) .filter-bar{display:none!important;}
  body.nyv-mobile-filters-open .filter-bar{display:grid!important;grid-template-columns:1fr!important;margin:0 12px 14px!important;padding:14px!important;border-radius:18px!important;border:1px solid var(--nyv-mobile-line)!important;background:#fff!important;box-shadow:0 16px 35px rgba(7,17,58,.08)!important;}
  .filter-bar input,.filter-bar select,.filter-bar button{height:44px!important;border-radius:12px!important;font-size:13px!important;}
  .product-count{padding:4px 12px 10px!important;font-size:12px!important;color:var(--nyv-mobile-muted)!important;}
  .product-section .grid,#productGrid.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:0 12px 18px!important;}
  .product-card{border-radius:16px!important;background:#fff!important;border:1px solid var(--nyv-mobile-line)!important;box-shadow:0 10px 26px rgba(7,17,58,.06)!important;overflow:hidden!important;}
  .product-media{aspect-ratio:1/1!important;min-height:0!important;border-radius:0!important;background:#f8fafc!important;}
  .product-media img{width:100%!important;height:100%!important;object-fit:cover!important;}
  .product-body{padding:12px 10px 13px!important;}
  .product-title{font-size:13px!important;line-height:1.28!important;min-height:34px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .product-meta,.product-desc,.product-card .desc{font-size:11px!important;line-height:1.35!important;color:var(--nyv-mobile-muted)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .price,.product-price{font-size:13px!important;font-weight:900!important;margin-top:7px!important;}
  .product-actions{gap:6px!important;}
  .product-card .btn,.product-card button{min-height:34px!important;font-size:10px!important;border-radius:999px!important;}

  /* detail page */
  .detail-wrap{padding:14px 12px var(--nyv-bottom-safe)!important;}
  .breadcrumb{font-size:11px!important;overflow-x:auto;white-space:nowrap;padding-bottom:6px;}
  .detail-grid{display:block!important;}
  .gallery-wrap{display:flex!important;flex-direction:column-reverse!important;gap:10px!important;}
  .thumbs{display:flex!important;overflow-x:auto!important;gap:8px!important;scrollbar-width:none;padding:0 0 4px!important;}
  .thumbs::-webkit-scrollbar{display:none;}
  .thumb{flex:0 0 66px!important;width:66px!important;height:66px!important;border-radius:12px!important;}
  .main-media{border-radius:18px!important;background:#fff!important;box-shadow:0 12px 28px rgba(7,17,58,.07)!important;}
  .product-info{padding:18px 2px 0!important;}
  .product-info h1{font-size:31px!important;line-height:1.08!important;margin:8px 0 10px!important;}
  .sku,.rating{font-size:12px!important;}
  .product-info .price{font-size:21px!important;}
  .select-row,.option-row,.action-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .select-card,.option-card,.stone-custom-card,.description-box,.info-strip,.product-details-panel{border-radius:16px!important;background:#fff!important;box-shadow:0 10px 24px rgba(7,17,58,.05)!important;}
  .action-row .btn-dark{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(64px + env(safe-area-inset-bottom,0px))!important;z-index:100045!important;width:auto!important;height:48px!important;border-radius:999px!important;box-shadow:0 12px 35px rgba(7,17,58,.24)!important;}

  /* cart + checkout */
  .cart-page,.checkout-page,.account-shell,.policy-wrap{padding-left:12px!important;padding-right:12px!important;}
  .cart-layout,.checkout-layout,.account-grid{display:block!important;}
  .cart-card,.checkout-card,.summary-card,.summary-panel,.account-card,.order-card{border-radius:18px!important;padding:16px!important;margin-bottom:14px!important;background:#fff!important;border:1px solid var(--nyv-mobile-line)!important;box-shadow:0 10px 25px rgba(7,17,58,.05)!important;}
  .cart-card-body,.checkout-item{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:12px!important;}
  .cart-product-media,.checkout-thumb{width:82px!important;height:82px!important;border-radius:14px!important;}
  .cart-main-name,.checkout-item-title{font-size:14px!important;line-height:1.3!important;}
  .checkout-summary,.summary-card,.summary-wrap{position:static!important;max-height:none!important;}
  .form-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .field,.field input,.checkout-card input,.checkout-card select,.checkout-card textarea,.account-card input,.account-card select{height:46px!important;border-radius:13px!important;font-size:14px!important;}
  .checkout-card textarea,.account-card textarea{height:auto!important;min-height:100px!important;}
  .phone-combo,.nyv-phone-wrap{display:grid!important;grid-template-columns:92px 1fr!important;gap:8px!important;}
  .place-order-btn,.checkout-btn,.whatsapp-btn,.submit-btn{width:100%!important;height:50px!important;border-radius:999px!important;font-size:13px!important;}
  .payment-option,.pay-card{border-radius:16px!important;padding:14px!important;}

  /* account/orders */
  .account-shell h1,.account-shell h2,.account-card h2,.order-card h3{font-size:29px!important;}
  .order-card{overflow:hidden!important;}
  .order-head{gap:8px!important;}
  .timeline{padding:12px!important;border-radius:16px!important;background:#eef3f8!important;}

  /* admin at mobile: keep usable */
  .admin-layout{display:block!important;}
  .sidebar{position:sticky!important;top:0!important;z-index:20!important;display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:10px!important;white-space:nowrap!important;background:var(--nyv-mobile-navy)!important;}
  .sidebar .brand,.sidebar .side-title{display:none!important;}
  .side-link,.admin-logout-link{flex:0 0 auto!important;border-radius:999px!important;font-size:11px!important;padding:10px 12px!important;}
  .main{padding:12px!important;}
  .table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .modal{width:calc(100vw - 12px)!important;max-height:96vh!important;border-radius:18px!important;}
  .modal-body{max-height:calc(100vh - 150px)!important;}
}

@media (max-width:430px){
  .currency-select{display:none!important;}
  .site-logo,.logo-area img,.logo-area-image img{width:min(150px,44vw)!important;max-width:min(150px,44vw)!important;}
  .header-row{grid-template-columns:40px minmax(0,1fr) auto!important;padding-left:10px!important;padding-right:10px!important;}
  .product-section .grid,#productGrid.grid{gap:10px!important;padding-left:10px!important;padding-right:10px!important;}
  .product-title{font-size:12px!important;}
  .product-body{padding:10px 8px!important;}
  .hero,.second-banner{height:380px!important;}
  .cart-card-body,.checkout-item{grid-template-columns:74px minmax(0,1fr)!important;}
  .cart-product-media,.checkout-thumb{width:74px!important;height:74px!important;}
}

@media (min-width:861px){
  .nyv-mobile-drawer,.nyv-mobile-drawer-backdrop,.nyv-mobile-tabbar,.nyv-mobile-quicknav,.nyv-mobile-filter-toggle,.nyv-mobile-menu-toggle{display:none!important;}
}

/* NYVAARA MOBILE POLISH — user screenshot batch fixes 20260626 */
@media (max-width: 860px){
  /* 1) Product tiles: use more screen width, reduce empty side margins */
  .product-page,.products-page,.product-section{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .product-section .grid,#productGrid.grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .product-card{border-radius:15px!important;}
  .product-body{padding:11px 8px 12px!important;}

  /* 2) Home category cards: centre card visible, side cards peeking */
  .category-section{padding:18px 0 30px!important;}
  .category-carousel-wrap{overflow:hidden!important;}
  .category-carousel{
    gap:16px!important;
    padding-left:16vw!important;
    padding-right:16vw!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:16vw!important;
  }
  .category-card{
    flex:0 0 68vw!important;
    max-width:68vw!important;
    scroll-snap-align:center!important;
    border-radius:18px!important;
  }
  .category-image{aspect-ratio:1/1.18!important;}

  /* 3) Builder/process boxes: compact height based on content */
  .builder-banner-right{gap:10px!important;padding:0 10px 22px!important;}
  .step-card{
    min-height:0!important;
    height:auto!important;
    padding:14px 16px!important;
    border-radius:18px!important;
  }
  .step-number{width:34px!important;height:34px!important;margin-bottom:9px!important;font-size:14px!important;}
  .step-card h3{font-size:22px!important;line-height:1.12!important;margin-bottom:7px!important;}
  .step-card p{font-size:14px!important;line-height:1.42!important;margin:0!important;}

  /* 4) Concierge/expert form: wider form and perfectly centered button text */
  .concierge-form-wrap{padding:28px 8px!important;}
  .lead-form{
    width:calc(100vw - 24px)!important;
    max-width:none!important;
    padding:22px 16px!important;
    border-radius:28px!important;
  }
  .lead-form .form-grid{gap:12px!important;}
  .lead-form .field,
  .lead-form input.field,
  .lead-form select.field,
  .lead-form textarea.field{
    width:100%!important;
    min-width:0!important;
    font-size:15px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .lead-form textarea.field{min-height:132px!important;}
  .lead-form .submit-btn,
  .submit-btn.full{
    min-height:56px!important;
    height:auto!important;
    padding:12px 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.18!important;
    white-space:normal!important;
    word-break:normal!important;
  }

  /* 5) Homepage hero banner: mobile auto-fit with less excessive height */
  .hero,.second-banner{
    height:clamp(300px,78vw,430px)!important;
    min-height:0!important;
    background:#07113a!important;
  }
  .banner-click,.banner-frame,.sample-banner-frame{height:100%!important;}
  .banner-media,.banner-video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:62% center!important;
  }

  /* 6) Bottom nav: consistent premium typography and active search fit */
  .nyv-mobile-tabbar a,.nyv-mobile-tabbar button{
    font-family:Inter, Arial, sans-serif!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.045em!important;
    text-decoration:none!important;
    gap:3px!important;
  }
  .nyv-mobile-tabbar .icon{
    width:22px!important;
    height:22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-family:Arial, sans-serif!important;
  }
  .nyv-mobile-tabbar svg{width:21px!important;height:21px!important;stroke:#07113a!important;fill:none!important;stroke-width:1.9!important;}
  .nyv-mobile-tabbar a:active,.nyv-mobile-tabbar button:active,.nyv-mobile-tabbar .is-active{background:#eef3f8!important;}

  /* mobile search opened from bottom nav */
  body.nyv-mobile-search-open .header-row .nyv-mobile-menu-toggle + .header-search-wrap,
  body.nyv-mobile-search-open #headerSearchWrap{
    display:flex!important;
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:calc(76px + env(safe-area-inset-top,0px))!important;
    z-index:100080!important;
    width:auto!important;
    justify-content:center!important;
    padding:0!important;
  }
  body.nyv-mobile-search-open #headerSearchWrap .search-box{display:none!important;}
  body.nyv-mobile-search-open #headerSearchWrap .inline-search-box{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    height:50px!important;
    border-radius:999px!important;
    box-shadow:0 18px 48px rgba(7,17,58,.22)!important;
    background:#fff!important;
  }
  body.nyv-mobile-search-open #headerSearchWrap .inline-search-results{
    width:calc(100vw - 24px)!important;
    left:0!important;
    transform:none!important;
    top:calc(100% + 10px)!important;
    max-height:60vh!important;
  }

  /* 7) Collection cards: image on top, text below, image auto-fits without cutting */
  .editorial-row,
  .editorial-row.reverse{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  .editorial-row .editorial-image,
  .editorial-row.reverse .editorial-image{
    order:1!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1.05!important;
    background:#06113b!important;
  }
  .editorial-row .editorial-text,
  .editorial-row.reverse .editorial-text{
    order:2!important;
    width:100%!important;
  }
  .editorial-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#06113b!important;
  }
  .editorial-text{padding:22px 18px 24px!important;}
}

@media (max-width:430px){
  .product-page,.products-page,.product-section{padding-left:4px!important;padding-right:4px!important;}
  .product-section .grid,#productGrid.grid{gap:7px!important;padding-left:4px!important;padding-right:4px!important;}
  .category-carousel{padding-left:15vw!important;padding-right:15vw!important;scroll-padding-inline:15vw!important;}
  .category-card{flex-basis:70vw!important;max-width:70vw!important;}
  .hero,.second-banner{height:clamp(290px,82vw,380px)!important;}
  .lead-form{width:calc(100vw - 18px)!important;padding:20px 14px!important;}
}


/* NYVAARA MOBILE PRODUCT DETAIL FINAL FIXES — 20260627 */
@media (max-width: 860px){
  /* keep product detail order correct on mobile */
  .nyv-page-detail .gallery-wrap{gap:12px!important;}
  .nyv-page-detail .gallery-main-col{order:2!important;}
  .nyv-page-detail .thumbs{
    order:1!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    padding-bottom:8px!important;
  }
  .nyv-page-detail .thumb{
    flex:0 0 76px!important;
    width:76px!important;
    height:76px!important;
    min-width:76px!important;
    min-height:76px!important;
    scroll-snap-align:start!important;
  }
  .nyv-page-detail .main-media{
    overflow:hidden!important;
    touch-action:pan-y!important;
  }
  .nyv-page-detail .product-info{
    padding-top:14px!important;
  }
  .nyv-page-detail .product-info .product-details-panel{
    margin-top:16px!important;
  }

  /* mobile product detail tables must stay readable */
  .nyv-page-detail .product-details-panel{overflow:visible!important;}
  .nyv-page-detail .product-details-panel > .details-table{
    width:100%!important;
    table-layout:fixed!important;
  }
  .nyv-page-detail .product-details-panel > .details-table tr{
    display:grid!important;
    grid-template-columns:minmax(112px,.92fr) minmax(0,1.08fr)!important;
    align-items:stretch!important;
  }
  .nyv-page-detail .product-details-panel > .details-table td{
    display:block!important;
    padding:11px 14px!important;
    border-bottom:1px solid #edf0f3!important;
  }
  .nyv-page-detail .product-details-panel > .details-table td:last-child{
    text-align:left!important;
    font-weight:800!important;
  }

  .nyv-page-detail .diamond-info-table{display:block!important;width:100%!important;table-layout:fixed!important;}
  .nyv-page-detail .diamond-info-table .diamond-head{display:none!important;}
  .nyv-page-detail .diamond-info-table tr{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-bottom:1px solid #edf0f3!important;
  }
  .nyv-page-detail .diamond-info-table td{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:4px!important;
    padding:11px 12px!important;
    text-align:left!important;
    font-weight:700!important;
    border-bottom:0!important;
  }
  .nyv-page-detail .diamond-info-table td::before{
    content:attr(data-label);
    display:block!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
    color:#2c75b8!important;
  }
}

@media (max-width: 430px){
  .nyv-page-detail .thumb{
    flex-basis:72px!important;
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    min-height:72px!important;
  }
  .nyv-page-detail .diamond-info-table tr{
    grid-template-columns:1fr!important;
  }
  .nyv-page-detail .product-details-panel > .details-table tr{
    grid-template-columns:1fr!important;
  }
}

/* NYVAARA STONE TABLE MOBILE ONLY + DESKTOP RESTORE — 20260629
   Important: only Stone Details table gets scrollable table treatment.
   Product Details / Jewellery Specifications and desktop layout remain unchanged. */

/* Desktop/tablet restore: no mobile table overrides should affect desktop */
@media (min-width: 861px){
  body:not(.admin-page) .product-details-panel .details-table,
  body:not(.admin-page) .product-details-panel .details-table tbody,
  body:not(.admin-page) .product-details-panel .details-table tr,
  body:not(.admin-page) .product-details-panel .details-table td{
    display:revert!important;
  }
  body:not(.admin-page) .product-details-panel .details-table{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:auto!important;
  }
  body:not(.admin-page) .product-details-panel .details-table tr{
    display:table-row!important;
  }
  body:not(.admin-page) .product-details-panel .details-table td{
    display:table-cell!important;
    padding:15px 16px!important;
    border-bottom:1px solid #edf0f3!important;
    vertical-align:middle!important;
    background:transparent!important;
  }
  body:not(.admin-page) .product-details-panel .details-table:not(.diamond-info-table) td:first-child{
    text-align:left!important;
    font-weight:400!important;
    color:#07113a!important;
  }
  body:not(.admin-page) .product-details-panel .details-table:not(.diamond-info-table) td:last-child{
    text-align:right!important;
    font-weight:800!important;
    color:#07113a!important;
  }
  body:not(.admin-page) .product-details-panel .diamond-info-table .diamond-head td{
    background:#07113a!important;
    color:#fff!important;
    font-size:12px!important;
    letter-spacing:.8px!important;
    text-transform:uppercase!important;
    font-weight:900!important;
    text-align:left!important;
  }
  body:not(.admin-page) .product-details-panel .diamond-info-table td::before{
    content:none!important;
    display:none!important;
  }
  body:not(.admin-page) .lab-diamond-block{
    overflow:visible!important;
  }
}

/* Mobile: keep normal Product Details table as label/value. Only Stone Details table scrolls. */
@media (max-width: 860px){
  .nyv-page-detail .product-details-panel{overflow:hidden!important;}

  .nyv-page-detail .product-details-panel .details-table:not(.diamond-info-table),
  .nyv-page-detail .product-details-panel .details-table:not(.diamond-info-table) tbody{
    display:table!important;
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:auto!important;
  }
  .nyv-page-detail .product-details-panel .details-table:not(.diamond-info-table) tr{
    display:table-row!important;
  }
  .nyv-page-detail .product-details-panel .details-table:not(.diamond-info-table) td{
    display:table-cell!important;
    padding:13px 14px!important;
    border-bottom:1px solid #edf0f3!important;
    vertical-align:middle!important;
    word-break:normal!important;
    background:transparent!important;
  }
  .nyv-page-detail .product-details-panel .details-table:not(.diamond-info-table) td:first-child{
    width:45%!important;
    color:#07113a!important;
    font-weight:400!important;
    text-align:left!important;
  }
  .nyv-page-detail .product-details-panel .details-table:not(.diamond-info-table) td:last-child{
    width:55%!important;
    color:#07113a!important;
    font-weight:800!important;
    text-align:right!important;
  }

  .nyv-page-detail .lab-diamond-block{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    max-width:100%!important;
  }
  .nyv-page-detail .lab-diamond-block .details-section-title,
  .nyv-page-detail .lab-diamond-block > .details-table:not(.diamond-info-table){
    min-width:0!important;
    width:100%!important;
  }

  .nyv-page-detail .lab-diamond-block .diamond-info-table,
  .nyv-page-detail .lab-diamond-block .diamond-info-table tbody{
    display:table!important;
    min-width:560px!important;
    width:max-content!important;
    max-width:none!important;
    border-collapse:collapse!important;
    table-layout:auto!important;
    background:#fff!important;
  }
  .nyv-page-detail .lab-diamond-block .diamond-info-table tr,
  .nyv-page-detail .lab-diamond-block .diamond-info-table tr:not(.diamond-head){
    display:table-row!important;
    background:#fff!important;
  }
  .nyv-page-detail .lab-diamond-block .diamond-info-table .diamond-head{
    display:table-row!important;
    background:#07113a!important;
  }
  .nyv-page-detail .lab-diamond-block .diamond-info-table .diamond-head td{
    display:table-cell!important;
    background:#07113a!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    padding:13px 12px!important;
    border:0!important;
    white-space:nowrap!important;
    text-align:left!important;
  }
  .nyv-page-detail .lab-diamond-block .diamond-info-table td{
    display:table-cell!important;
    color:#07113a!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:800!important;
    padding:13px 12px!important;
    border-bottom:1px solid #edf0f3!important;
    background:#fff!important;
    white-space:nowrap!important;
    text-align:left!important;
    vertical-align:middle!important;
  }
  .nyv-page-detail .lab-diamond-block .diamond-info-table td::before{
    content:none!important;
    display:none!important;
  }
}

@media (max-width:430px){
  .nyv-page-detail .lab-diamond-block .diamond-info-table{
    min-width:530px!important;
  }
  .nyv-page-detail .lab-diamond-block .diamond-info-table .diamond-head td,
  .nyv-page-detail .lab-diamond-block .diamond-info-table td{
    font-size:12px!important;
    padding:12px 10px!important;
  }
}

/* NYVAARA MOBILE FINAL BATCH FIXES — 20260701
   Scoped to mobile only. Desktop/header/admin layouts are intentionally untouched. */
@media (max-width: 860px){
  /* 1) Homepage hero/banner image: fit inside box without cutting important area */
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero,
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .second-banner{
    height:clamp(270px,72vw,430px)!important;
    min-height:0!important;
    background:#07113a!important;
  }
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero .banner-frame,
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero .sample-banner-frame,
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero .banner-click{
    height:100%!important;
    background:#07113a!important;
  }
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero .banner-media,
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero .banner-video,
  body:not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) .hero .hero-sample-image{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#07113a!important;
  }

  /* 2) Products page: one combined Filter & Sort control only */
  .nyv-page-products .page-title-row .sort-box,
  .nyv-page-products .sort-box{
    display:none!important;
  }
  .nyv-mobile-sort-wrap{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
  }
  .nyv-mobile-sort-wrap label{
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    color:#07113a!important;
  }
  .nyv-mobile-sort-wrap select{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    border-radius:12px!important;
    border:1px solid var(--nyv-mobile-line)!important;
    background:#fff!important;
    color:#07113a!important;
    padding:0 12px!important;
    font-weight:800!important;
  }

  /* 3) Mobile review strip horizontal swipe carousel */
  .nyv-site-footer .nyv-review-strip{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:14px!important;
    padding:28px 16px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .nyv-site-footer .nyv-review-strip::-webkit-scrollbar{display:none!important;}
  .nyv-site-footer .nyv-review-card{
    flex:0 0 84%!important;
    min-width:260px!important;
    scroll-snap-align:start!important;
    background:#fffaf6!important;
    border:1px solid #eadfd4!important;
    border-radius:18px!important;
    padding:20px 18px!important;
    min-height:0!important;
  }
  .nyv-site-footer .nyv-review-card p{
    font-size:14px!important;
    line-height:1.65!important;
  }
  .nyv-page-detail .reviews-section .review-list{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .nyv-page-detail .reviews-section .review-list::-webkit-scrollbar{display:none!important;}
  .nyv-page-detail .reviews-section .review-item{
    flex:0 0 84%!important;
    min-width:260px!important;
    scroll-snap-align:start!important;
  }

  /* 4) Mobile footer accordion with + / − */
  body.nyv-mobile-footer-accordion .nyv-footer-main{
    padding-top:22px!important;
    padding-bottom:20px!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-grid{
    display:block!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col,
  body.nyv-mobile-footer-accordion .nyv-newsletter{
    border-bottom:1px solid #dce4ee!important;
    padding:0!important;
    margin:0!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col h4,
  body.nyv-mobile-footer-accordion .nyv-newsletter h4{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    padding:18px 0!important;
    margin:0!important;
    cursor:pointer!important;
    font-size:14px!important;
    line-height:1.2!important;
    letter-spacing:.10em!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col h4::after,
  body.nyv-mobile-footer-accordion .nyv-newsletter h4::after{
    content:"+"!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    border-radius:50%!important;
    border:1px solid #dce4ee!important;
    color:#07113a!important;
    font-size:18px!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col.nyv-footer-open h4::after,
  body.nyv-mobile-footer-accordion .nyv-newsletter.nyv-footer-open h4::after{
    content:"−"!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col:not(.nyv-footer-open) > :not(h4),
  body.nyv-mobile-footer-accordion .nyv-newsletter:not(.nyv-footer-open) > :not(h4){
    display:none!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col.nyv-footer-open,
  body.nyv-mobile-footer-accordion .nyv-newsletter.nyv-footer-open{
    padding-bottom:16px!important;
  }
  body.nyv-mobile-footer-accordion .nyv-footer-col.nyv-footer-open a,
  body.nyv-mobile-footer-accordion .nyv-footer-col.nyv-footer-open span,
  body.nyv-mobile-footer-accordion .nyv-newsletter.nyv-footer-open p,
  body.nyv-mobile-footer-accordion .nyv-newsletter.nyv-footer-open form,
  body.nyv-mobile-footer-accordion .nyv-newsletter.nyv-footer-open .nyv-social-row{
    display:block!important;
  }
  body.nyv-mobile-footer-accordion .nyv-newsletter.nyv-footer-open form{
    display:flex!important;
  }

  /* 5) Product detail mobile zoom pan helper */
  .nyv-page-detail .main-media.nyv-mobile-zoom-panning{
    touch-action:none!important;
    overflow:hidden!important;
  }
  .nyv-page-detail .main-media.nyv-mobile-zoom-panning img{
    will-change:transform!important;
  }
}


/* NYVAARA MOBILE HERO FIT + STABLE ZOOM PATCH — 20260702
   Mobile-only. Desktop/admin layouts are intentionally untouched. */
@media (max-width: 860px){
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #heroBanner.hero,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #secondBanner.second-banner{
    height:clamp(260px, 66vw, 420px)!important;
    min-height:0!important;
    background:#07113a!important;
    overflow:hidden!important;
  }
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #heroBanner .banner-click,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #heroBanner .banner-frame,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #secondBanner .banner-click,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #secondBanner .banner-frame{
    width:100%!important;
    height:100%!important;
    background:#07113a!important;
    overflow:hidden!important;
  }
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #heroBanner img.banner-media,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #heroBanner video.banner-video,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #secondBanner img.banner-media,
  body:not(.admin-page):not(.nyv-page-products):not(.nyv-page-detail):not(.nyv-page-cart):not(.nyv-page-checkout):not(.nyv-page-account) #secondBanner video.banner-video{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#07113a!important;
  }

  .nyv-page-detail #mainMedia.nyv-stable-mobile-zoom{
    touch-action:none!important;
    overflow:hidden!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
  .nyv-page-detail #mainMedia.nyv-stable-mobile-zoom img{
    will-change:transform!important;
    transition:transform .12s ease!important;
    transform-origin:center center!important;
  }
  .nyv-page-detail #mainMedia.nyv-stable-mobile-zoom.nyv-pan-active img{
    transition:none!important;
  }
}

/* NYVAARA MOBILE HERO IMAGE FILL FIX — 20260701
   Mobile-only: removes blue bars above/below hero image by making image fill the banner box.
   Desktop is intentionally untouched. */
@media (max-width: 860px){
  body:not(.admin-page) .hero,
  body:not(.admin-page) .second-banner{
    height:clamp(345px,88vw,500px)!important;
    min-height:0!important;
    background:#07113a!important;
    overflow:hidden!important;
  }

  body:not(.admin-page) .hero .banner-click,
  body:not(.admin-page) .hero .banner-frame,
  body:not(.admin-page) .hero .sample-banner-frame,
  body:not(.admin-page) .second-banner .banner-click,
  body:not(.admin-page) .second-banner .banner-frame,
  body:not(.admin-page) .second-banner .sample-banner-frame{
    width:100%!important;
    height:100%!important;
    display:block!important;
    background:#07113a!important;
    overflow:hidden!important;
  }

  body:not(.admin-page) .hero .banner-media,
  body:not(.admin-page) .hero .banner-video,
  body:not(.admin-page) .hero .hero-sample-image,
  body:not(.admin-page) .second-banner .banner-media,
  body:not(.admin-page) .second-banner .banner-video,
  body:not(.admin-page) .second-banner .hero-sample-image{
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    display:block!important;
    object-fit:cover!important;
    object-position:64% center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
}

@media (max-width: 430px){
  body:not(.admin-page) .hero,
  body:not(.admin-page) .second-banner{
    height:clamp(330px,88vw,440px)!important;
  }
  body:not(.admin-page) .hero .banner-media,
  body:not(.admin-page) .hero .banner-video,
  body:not(.admin-page) .hero .hero-sample-image,
  body:not(.admin-page) .second-banner .banner-media,
  body:not(.admin-page) .second-banner .banner-video,
  body:not(.admin-page) .second-banner .hero-sample-image{
    object-position:66% center!important;
  }
}
