/* =========================================================
   OBSESSION — MOBILE FOUNDATION V1
   Mobile only. Desktop untouched.
   ========================================================= */

@media (max-width:620px){

  /* ---------- TOP BAR ---------- */

  .topbar{
    min-height:28px!important;
    height:28px!important;
  }

  .topbar .topbar-inner{
    height:28px!important;
    min-height:28px!important;
    padding:0!important;
    justify-content:center!important;
  }

  .topbar .topbar-inner span:last-child{
    display:none!important;
  }

  .topbar .topbar-inner span:first-child{
    font-size:8px!important;
    letter-spacing:.10em!important;
    white-space:nowrap!important;
  }


  /* ---------- HEADER ---------- */

  .header{
    position:relative!important;
    z-index:1300!important;
  }

  .header .nav{
    min-height:68px!important;
    padding:7px 0!important;

    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    grid-template-areas:"menu brand actions"!important;

    align-items:center!important;
    column-gap:7px!important;

    flex-wrap:nowrap!important;
    direction:ltr!important;
  }


  /* LOGO */

  .header .brand{
    grid-area:brand!important;

    justify-self:center!important;
    display:flex!important;
    align-items:center!important;

    gap:7px!important;
    margin:0!important;

    width:auto!important;
    min-width:0!important;
    max-width:150px!important;
  }

  .header .brand img{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;

    object-fit:contain!important;
  }

  .header .brand-copy{
    min-width:0!important;
  }

  .header .brand-copy strong{
    display:block!important;
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
    white-space:nowrap!important;
  }

  .header .brand-copy span{
    display:block!important;
    margin-top:4px!important;

    font-size:7px!important;
    letter-spacing:.30em!important;
    white-space:nowrap!important;
  }


  /* MENU BUTTON */

  .header .menu-btn{
    grid-area:menu!important;
    justify-self:start!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:40px!important;
    height:40px!important;

    padding:0!important;
    margin:0!important;

    font-size:28px!important;
    line-height:1!important;
  }


  /* RIGHT ACTIONS */

  .header .nav-actions{
    grid-area:actions!important;
    justify-self:end!important;

    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;

    align-items:center!important;
    justify-content:flex-end!important;

    gap:5px!important;
    margin:0!important;

    min-width:0!important;
  }


  /* LANGUAGE */

  .header .lang-switch{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:auto!important;
    height:36px!important;

    padding:0 5px!important;
    margin:0!important;

    gap:2px!important;
  }

  .header .lang-switch .lang-btn{
    min-width:0!important;
    padding:0 2px!important;

    font-size:9px!important;
    line-height:1!important;
  }

  .header .lang-switch > span{
    font-size:8px!important;
  }


  /* BAG — permanent visible mobile icon */

  .header .icon-btn[href="cart.html"]{
    position:relative!important;

    display:block!important;
    flex:none!important;

    width:38px!important;
    height:38px!important;

    min-width:38px!important;
    max-width:38px!important;

    padding:0!important;
    margin:0!important;

    font-size:0!important;
    line-height:0!important;

    overflow:visible!important;
    border:1px solid rgba(181,138,67,.45)!important;
  }

  .header .icon-btn[href="cart.html"] > span[data-i18n="bag"]{
    display:none!important;
  }

  /* bag body */
  .header .icon-btn[href="cart.html"]::before{
    content:""!important;

    position:absolute!important;
    left:50%!important;
    top:14px!important;

    width:15px!important;
    height:13px!important;

    transform:translateX(-50%)!important;

    border:1.5px solid currentColor!important;
    border-radius:2px!important;
    box-sizing:border-box!important;
  }

  /* bag handle */
  .header .icon-btn[href="cart.html"]::after{
    content:""!important;

    position:absolute!important;
    left:50%!important;
    top:9px!important;

    width:7px!important;
    height:6px!important;

    transform:translateX(-50%)!important;

    border:1.5px solid currentColor!important;
    border-bottom:0!important;
    border-radius:8px 8px 0 0!important;
    box-sizing:border-box!important;
  }

  .header .cart-count{
    position:absolute!important;

    top:2px!important;
    right:2px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:16px!important;
    height:16px!important;

    min-width:16px!important;

    padding:0!important;
    margin:0!important;

    border-radius:50%!important;

    background:#b88739!important;
    color:#fff!important;

    font-size:8px!important;
    line-height:1!important;

    z-index:4!important;
  }


  /* ---------- MOBILE MENU DRAWER ---------- */

  .header .navlinks{
    position:fixed!important;

    top:96px!important;
    bottom:0!important;
    left:0!important;

    width:min(330px,88vw)!important;
    height:auto!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;

    gap:0!important;

    padding:14px 18px 30px!important;

    overflow-y:auto!important;
    overscroll-behavior:contain!important;

    background:#17130f!important;
    color:#fff!important;

    box-shadow:22px 0 50px rgba(0,0,0,.28)!important;

    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;

    opacity:1!important;
    visibility:visible!important;

    pointer-events:none!important;
    z-index:1290!important;
  }

  .header .navlinks.open{
    transform:translateX(0)!important;
    pointer-events:auto!important;
  }

  html[dir="rtl"] .header .navlinks{
    left:auto!important;
    right:0!important;

    direction:rtl!important;
    text-align:right!important;

    transform:translateX(105%)!important;

    box-shadow:-22px 0 50px rgba(0,0,0,.28)!important;
  }

  html[dir="rtl"] .header .navlinks.open{
    transform:translateX(0)!important;
  }


  .header .navlinks > a,
  .header .navlinks > .dropdown > .dropbtn{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;

    width:100%!important;
    min-height:48px!important;

    margin:0!important;
    padding:11px 4px!important;

    border-bottom:1px solid rgba(255,255,255,.09)!important;

    font-size:12px!important;
    line-height:1.4!important;

    text-align:left!important;
  }

  html[dir="rtl"] .header .navlinks > a,
  html[dir="rtl"] .header .navlinks > .dropdown > .dropbtn{
    text-align:right!important;
  }


  /* Dropdowns don't remain huge/open */

  .header .navlinks .dropdown{
    width:100%!important;
  }

  .header .navlinks .dropmenu{
    position:static!important;

    display:none!important;

    width:100%!important;
    min-width:0!important;

    padding:5px 0 8px 12px!important;
    margin:0!important;

    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  html[dir="rtl"] .header .navlinks .dropmenu{
    padding:5px 12px 8px 0!important;
  }

  .header .navlinks .dropdown.open > .dropmenu{
    display:block!important;
  }

  .header .navlinks .dropmenu a{
    display:block!important;

    min-height:38px!important;
    padding:9px 4px!important;

    font-size:10px!important;
    line-height:1.5!important;

    border-bottom:1px solid rgba(255,255,255,.05)!important;
  }


  /* ---------- HOME HERO ---------- */

  .hero{
    min-height:620px!important;
    height:auto!important;

    display:flex!important;
    align-items:flex-end!important;

    background-position:center center!important;
  }

  .hero .hero-content{
    position:relative!important;

    inset:auto!important;
    left:auto!important;
    right:auto!important;

    transform:none!important;

    width:min(100% - 32px,1180px)!important;
    max-width:none!important;

    margin:0 auto!important;

    padding:290px 0 24px!important;
  }

  .hero .eyebrow{
    margin-bottom:14px!important;
    font-size:9px!important;
  }

  .hero h1{
    width:100%!important;
    max-width:100%!important;

    margin:0 0 16px!important;

    font-size:48px!important;
    line-height:.98!important;

    overflow:visible!important;
  }

  .hero p{
    width:100%!important;
    max-width:100%!important;

    margin:0 0 18px!important;

    font-size:14px!important;
    line-height:1.75!important;
  }

  .hero .hero-actions{
    width:100%!important;

    display:grid!important;
    grid-template-columns:1fr!important;

    gap:9px!important;

    margin:0!important;
  }

  .hero .hero-actions .btn{
    width:100%!important;
    min-height:50px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    padding:12px!important;
  }


  /* Arabic hero — undo old desktop RTL positioning */

  html[dir="rtl"] .hero .hero-content{
    position:relative!important;

    inset:auto!important;
    left:auto!important;
    right:auto!important;

    transform:none!important;

    width:min(100% - 32px,1180px)!important;
    max-width:none!important;

    margin:0 auto!important;

    padding:290px 0 24px!important;

    text-align:right!important;
    direction:rtl!important;
  }

  html[dir="rtl"] .hero .hero-content > *{
    width:100%!important;
    max-width:100%!important;

    margin-left:0!important;
    margin-right:0!important;

    text-align:right!important;
  }

  html[dir="rtl"] .hero h1{
    font-size:36px!important;
    line-height:1.45!important;
    letter-spacing:0!important;

    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  html[dir="rtl"] .hero p{
    font-size:13px!important;
    line-height:1.9!important;
  }


  /* ---------- HOME PRODUCT CARDS — ALWAYS TWO ---------- */

  .home-product-grid,
  #home-signature{
    display:grid!important;

    grid-template-columns:repeat(2,minmax(0,1fr))!important;

    gap:10px!important;

    width:100%!important;
    max-width:none!important;
  }

  .home-product-grid .product-card,
  #home-signature .product-card{
    width:100%!important;
    min-width:0!important;
    height:100%!important;

    margin:0!important;
  }

  .home-product-grid .product-img{
    width:100%!important;

    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;

    overflow:hidden!important;
  }

  #home-signature .product-img{
    width:100%!important;

    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    aspect-ratio:4 / 3!important;

    overflow:hidden!important;
  }

  .home-product-grid .product-card-info,
  #home-signature .product-card-info{
    padding:9px 8px 6px!important;
  }

  .home-product-grid .product-card-brand,
  #home-signature .product-card-brand{
    margin-bottom:4px!important;

    font-size:7px!important;
    line-height:1.3!important;
    letter-spacing:.08em!important;
  }

  .home-product-grid .product-card-title,
  #home-signature .product-card-title{
    min-height:32px!important;

    margin:3px 0 5px!important;

    font-size:12px!important;
    line-height:1.35!important;
  }

  .home-product-grid .product-card-meta,
  .home-product-grid .product-card-stock,
  #home-signature .product-card-meta,
  #home-signature .product-card-stock{
    font-size:7.5px!important;
    line-height:1.45!important;
  }


  /* size buttons */

  .home-product-grid .obs-card-variants,
  #home-signature .obs-card-variants{
    display:flex!important;
    flex-wrap:wrap!important;

    gap:4px!important;

    margin-top:6px!important;
  }

  .home-product-grid .obs-card-variant,
  #home-signature .obs-card-variant{
    min-width:0!important;

    padding:5px 6px!important;

    font-size:7.5px!important;
    line-height:1!important;
  }


  /* bottom */

  .home-product-grid .product-card-bottom,
  #home-signature .product-card-bottom{
    display:grid!important;
    grid-template-columns:1fr!important;

    gap:7px!important;

    padding:8px!important;
  }

  .home-product-grid .product-card-price,
  .home-product-grid .obs-card-price,
  .home-product-grid .obs-card-current,
  #home-signature .product-card-price,
  #home-signature .obs-card-price,
  #home-signature .obs-card-current{
    font-size:12px!important;
  }

  .home-product-grid .mini-btn,
  .home-product-grid .product-card-add,
  #home-signature .mini-btn,
  #home-signature .product-card-add{
    width:100%!important;
    min-height:34px!important;

    padding:7px 5px!important;

    font-size:8px!important;
    line-height:1.2!important;
  }


  /* ---------- WHATSAPP ---------- */

  .floating-whatsapp{
    width:44px!important;
    height:44px!important;

    min-width:44px!important;

    padding:0!important;

    right:12px!important;
    bottom:12px!important;
    left:auto!important;

    justify-content:center!important;
  }

  html[dir="rtl"] .floating-whatsapp{
    right:auto!important;
    left:12px!important;
  }

  .floating-whatsapp b,
  .floating-whatsapp .wa-icon{
    width:32px!important;
    height:32px!important;
  }

}


/* extra narrow phones — still keep two product cards */
@media (max-width:390px){

  .header .nav{
    grid-template-columns:38px minmax(0,1fr) auto!important;
    column-gap:4px!important;
  }

  .header .brand{
    gap:5px!important;
    max-width:125px!important;
  }

  .header .brand img{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }

  .header .brand-copy strong{
    font-size:15px!important;
    letter-spacing:.10em!important;
  }

  .header .brand-copy span{
    font-size:6px!important;
    letter-spacing:.20em!important;
  }

  .header .lang-switch{
    padding:0 3px!important;
  }

  .home-product-grid,
  #home-signature{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .home-product-grid .product-img{
    height:135px!important;
    min-height:135px!important;
    max-height:135px!important;
  }

  .home-product-grid .product-card-title,
  #home-signature .product-card-title{
    font-size:11px!important;
  }

}

/* =========================================================
   OBSESSION — MOBILE HEADER / MENU / RTL HERO FIX V1.1
   ========================================================= */

@media (max-width:620px){

  /* ======================================================
     HEADER — SAME PHYSICAL LAYOUT IN EN + AR
     menu | brand | actions
     ====================================================== */

  .header{
    position:relative!important;
    z-index:5000!important;
  }

  .header .nav,
  html[dir="rtl"] .header .nav{
    direction:ltr!important;

    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) max-content!important;
    grid-template-areas:"menu brand actions"!important;

    align-items:center!important;

    width:min(100% - 24px,1180px)!important;

    height:68px!important;
    min-height:68px!important;

    padding:6px 0!important;
    margin:0 auto!important;

    column-gap:5px!important;

    flex-wrap:nowrap!important;
  }


  /* ---------- MENU ---------- */

  .header .menu-btn,
  html[dir="rtl"] .header .menu-btn{
    grid-area:menu!important;

    position:relative!important;
    inset:auto!important;

    justify-self:start!important;

    width:38px!important;
    height:38px!important;

    min-width:38px!important;

    margin:0!important;
    padding:0!important;

    transform:none!important;

    z-index:50!important;
    pointer-events:auto!important;

    font-size:27px!important;
    line-height:1!important;
  }


  /* ---------- BRAND ---------- */

  .header .brand,
  html[dir="rtl"] .header .brand{
    grid-area:brand!important;

    position:static!important;
    inset:auto!important;

    justify-self:center!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;

    direction:ltr!important;

    width:auto!important;
    min-width:0!important;
    max-width:145px!important;

    margin:0!important;
    padding:0!important;

    transform:none!important;

    gap:6px!important;
  }

  .header .brand img{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;

    margin:0!important;
  }

  .header .brand-copy{
    min-width:0!important;
  }

  .header .brand-copy strong{
    font-size:16px!important;
    line-height:1!important;

    letter-spacing:.12em!important;

    white-space:nowrap!important;
  }

  .header .brand-copy span{
    margin-top:4px!important;

    font-size:6px!important;
    line-height:1!important;

    letter-spacing:.25em!important;

    white-space:nowrap!important;
  }


  /* ---------- ACTIONS ---------- */

  .header .nav-actions,
  html[dir="rtl"] .header .nav-actions{
    grid-area:actions!important;

    position:static!important;
    inset:auto!important;

    justify-self:end!important;

    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;

    align-items:center!important;
    justify-content:flex-end!important;

    width:max-content!important;
    min-width:0!important;
    max-width:none!important;

    margin:0!important;
    padding:0!important;

    transform:none!important;

    direction:ltr!important;

    gap:3px!important;
  }


  /* ---------- LANGUAGE ---------- */

  .header .lang-switch,
  html[dir="rtl"] .header .lang-switch{
    position:static!important;

    width:62px!important;
    min-width:62px!important;
    height:34px!important;

    margin:0!important;
    padding:0 3px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    gap:1px!important;

    transform:none!important;
  }

  .header .lang-switch .lang-btn{
    min-width:0!important;

    padding:0 2px!important;

    font-size:8.5px!important;
    line-height:1!important;
  }

  .header .lang-switch > span{
    font-size:8px!important;
  }


  /* ======================================================
     SEARCH — KEEP ITS HIT BOX AWAY FROM MENU
     ====================================================== */

  .header .obs-header-search-btn{
    position:relative!important;

    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    inset:auto!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    flex:0 0 32px!important;

    width:32px!important;
    height:32px!important;

    min-width:32px!important;
    max-width:32px!important;

    margin:0!important;
    padding:6px!important;

    transform:none!important;

    z-index:2!important;

    box-sizing:border-box!important;
  }

  .header .obs-header-search-btn svg{
    width:17px!important;
    height:17px!important;

    pointer-events:none!important;
  }


  /* ---------- BAG ---------- */

  .header .icon-btn[href="cart.html"],
  html[dir="rtl"] .header .icon-btn[href="cart.html"]{
    position:relative!important;

    inset:auto!important;

    flex:0 0 34px!important;

    width:34px!important;
    height:34px!important;

    min-width:34px!important;
    max-width:34px!important;

    margin:0!important;
    padding:0!important;

    transform:none!important;

    z-index:3!important;
  }

  .header .cart-count{
    top:-3px!important;
    right:-3px!important;
  }


  /* ======================================================
     MOBILE MENU DRAWER
     completely hidden when closed — no black sliver
     ====================================================== */

  .header .navlinks{
    position:fixed!important;

    top:96px!important;
    bottom:0!important;

    left:0!important;
    right:auto!important;

    width:min(320px,86vw)!important;
    height:auto!important;

    margin:0!important;
    padding:15px 18px 28px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;

    overflow-y:auto!important;

    background:#17130f!important;

    opacity:1!important;

    transform:translateX(-110%)!important;

    visibility:hidden!important;
    pointer-events:none!important;

    transition:transform .22s ease,visibility 0s linear .22s!important;

    box-shadow:18px 0 45px rgba(0,0,0,.30)!important;

    z-index:6000!important;
  }

  .header .navlinks.open{
    transform:translateX(0)!important;

    visibility:visible!important;
    pointer-events:auto!important;

    transition:transform .22s ease!important;
  }


  /* Arabic drawer comes from right */

  html[dir="rtl"] .header .navlinks{
    left:auto!important;
    right:0!important;

    direction:rtl!important;

    transform:translateX(110%)!important;

    box-shadow:-18px 0 45px rgba(0,0,0,.30)!important;
  }

  html[dir="rtl"] .header .navlinks.open{
    transform:translateX(0)!important;
  }


  /* ======================================================
     SEARCH OVERLAY
     never inherit weird header positioning
     ====================================================== */

  .obs-search-overlay{
    z-index:9000!important;
  }


  /* ======================================================
     ARABIC HERO
     ====================================================== */

  html[dir="rtl"] .hero{
    min-height:620px!important;
    height:auto!important;
  }

  html[dir="rtl"] .hero .hero-content{
    position:relative!important;

    inset:auto!important;

    width:min(100% - 32px,1180px)!important;
    max-width:none!important;

    margin:0 auto!important;

    padding:285px 0 24px!important;

    transform:none!important;

    direction:rtl!important;
    text-align:right!important;
  }

  html[dir="rtl"] .hero .eyebrow{
    width:100%!important;

    margin:0 0 11px!important;

    font-size:8px!important;
    line-height:1.5!important;

    text-align:right!important;
  }

  html[dir="rtl"] .hero h1{
    width:100%!important;
    max-width:100%!important;

    margin:0 0 14px!important;

    padding:0!important;

    font-family:"Noto Kufi Arabic",Tahoma,Arial,sans-serif!important;

    font-size:30px!important;
    line-height:1.55!important;

    font-weight:600!important;
    letter-spacing:0!important;

    text-align:right!important;

    white-space:normal!important;

    transform:none!important;
  }

  html[dir="rtl"] .hero h1 > span,
  html[dir="rtl"] .hero h1 > em{
    display:block!important;

    width:100%!important;

    margin:0!important;
    padding:0!important;

    text-align:right!important;
  }

  html[dir="rtl"] .hero h1 br{
    display:none!important;
  }

  html[dir="rtl"] .hero p{
    width:100%!important;
    max-width:100%!important;

    margin:0 0 18px!important;

    padding:0!important;

    font-size:12.5px!important;
    line-height:1.9!important;

    text-align:right!important;
  }

}


/* narrow phones */
@media(max-width:390px){

  .header .brand,
  html[dir="rtl"] .header .brand{
    max-width:128px!important;
    gap:4px!important;
  }

  .header .brand img{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }

  .header .brand-copy strong{
    font-size:14px!important;
  }

  .header .brand-copy span{
    font-size:5.5px!important;
  }

  .header .lang-switch,
  html[dir="rtl"] .header .lang-switch{
    width:58px!important;
    min-width:58px!important;
  }

  .header .obs-header-search-btn{
    flex-basis:30px!important;

    width:30px!important;
    height:30px!important;

    min-width:30px!important;
    max-width:30px!important;
  }

  html[dir="rtl"] .hero h1{
    font-size:28px!important;
  }
}
