/* Shisha Center V43 Phase 4: Global RTL/LTR direction hardening.
   This file intentionally uses logical CSS properties and is loaded after legacy/admin/client CSS. */
:root{--v43-dir-safe:1}
html[dir="rtl"],html[dir="rtl"] body{direction:rtl;text-align:start}
html[dir="ltr"],html[dir="ltr"] body{direction:ltr;text-align:start}
body{unicode-bidi:isolate;overflow-x:hidden}
input,textarea,select,button{font:inherit}
input:not([type="number"]):not([type="tel"]):not([type="email"]):not([type="url"]),textarea{direction:inherit;text-align:start}
[dir="ltr"],html[dir="ltr"] .force-ltr{direction:ltr;text-align:start}
[dir="rtl"],html[dir="rtl"] .force-rtl{direction:rtl;text-align:start}
[dir="ltr"] [dir="rtl"],[dir="rtl"] [dir="ltr"]{unicode-bidi:isolate}

/* Generic app/admin surfaces */
.admin-shell,.main,.sidebar,.client-page,.shell,.v20-shop-shell,.v39-client-shell,.v20-main-content,.v39-client-main,.client-card,.glass,.appbar{direction:inherit;text-align:start}
.sidebar,.v20-sidebar,.v39-global-sidebar{inset-inline-start:auto;inset-inline-end:auto}
.side-link,.v20-side-nav a,.v39-side-nav a,.v20-sidebar-footer>a,.bottom-nav .nav-item,.client-v32-mobile-header a,.client-v32-mobile-header button{direction:inherit}
html[dir="rtl"] .sidebar,html[dir="rtl"] .v20-sidebar,html[dir="rtl"] .v39-global-sidebar{text-align:start}
html[dir="ltr"] .sidebar,html[dir="ltr"] .v20-sidebar,html[dir="ltr"] .v39-global-sidebar{text-align:start}

/* Logical spacing helpers for legacy markup */
.ml-auto{margin-inline-start:auto!important;margin-left:unset!important}.mr-auto{margin-inline-end:auto!important;margin-right:unset!important}
.text-left,.text-right{text-align:start!important}.float-left,.float-right{float:inline-start!important}

/* Icons that visually mean “back” should flip by direction. */
html[dir="ltr"] .back-link .fa-arrow-right,html[dir="ltr"] .client-mini-header .fa-arrow-right{transform:scaleX(-1)}
html[dir="rtl"] .back-link .fa-arrow-right,html[dir="rtl"] .client-mini-header .fa-arrow-right{transform:none}
html[dir="rtl"] .fa-arrow-left-long,html[dir="rtl"] .fa-arrow-right-long{transform:scaleX(-1)}

/* Catalog and persistent client shell: RTL opens from right, LTR opens from left. */
@media (min-width:901px){
  html[dir="rtl"] .v20-shop-shell,html[dir="rtl"] .v39-client-shell{grid-template-columns:var(--sh-sidebar,292px) minmax(0,1fr)}
  html[dir="ltr"] .v20-shop-shell,html[dir="ltr"] .v39-client-shell{grid-template-columns:var(--sh-sidebar,292px) minmax(0,1fr)}
}
@media (max-width:900px){
  html[dir="rtl"] .v20-sidebar,html[dir="rtl"] .v39-global-sidebar{inset-inline-end:0!important;inset-inline-start:auto!important;right:0!important;left:auto!important;transform:translateX(105%)}
  html[dir="ltr"] .v20-sidebar,html[dir="ltr"] .v39-global-sidebar{inset-inline-start:0!important;inset-inline-end:auto!important;left:0!important;right:auto!important;transform:translateX(-105%)}
  body.v20-menu-open .v20-sidebar,body.v20-menu-open .v39-global-sidebar{transform:translateX(0)!important}
}

/* Horizontal components should scroll in their natural language direction without page overflow. */
.v20-category-chips,.v37-mobile-slider,.v20-featured-grid{direction:inherit;overscroll-behavior-inline:contain}
html[dir="rtl"] .v20-category-chips,html[dir="rtl"] .v37-mobile-slider,html[dir="rtl"] .v20-featured-grid{scroll-padding-inline-start:12px;scroll-padding-inline-end:12px}
.track-steps,.track-timeline,.timeline{max-width:100%;overflow-x:hidden}
.timeline-row,.track-step,.track-timeline-item{border-left:0!important;border-right:0!important;border-inline-start:4px solid rgba(244,184,90,.5)!important;text-align:start}

/* Tables and admin lists */
table{direction:inherit}th,td{text-align:start}html[dir="rtl"] table,html[dir="ltr"] table{unicode-bidi:isolate}
.admin-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
.admin-shell .sidebar{grid-column:1}.admin-shell .main{min-width:0}
html[dir="rtl"] .admin-shell .sidebar{border-inline-start:1px solid rgba(255,255,255,.08);border-inline-end:0}
html[dir="ltr"] .admin-shell .sidebar{border-inline-end:1px solid rgba(255,255,255,.08);border-inline-start:0}
@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-shell .sidebar{position:relative;inset:auto;border-inline:0}}

/* Language switcher must not float over content in the wrong side. */
.lang-switcher,.client-lang-switcher{direction:inherit;inset-inline-end:16px;inset-inline-start:auto;right:auto;left:auto}
html[dir="rtl"] .lang-switcher,html[dir="rtl"] .client-lang-switcher{inset-inline-start:16px;inset-inline-end:auto}

/* Modal and toast placement with logical coordinates. */
.cart-toast{inset-inline:16px;left:auto!important;right:auto!important}.v24-product-modal__close,.checkout-terms-modal__close{inset-inline-end:12px;right:auto!important;left:auto!important}

/* Print/invoice compatibility */
@media print{body{direction:inherit;text-align:start}.print{display:none!important}th,td{text-align:start!important}}


/* PHASE5_ADMIN_I18N */
.admin-shell{direction:inherit;}
.admin-shell .sidebar{overflow:auto;}
.admin-lang-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0 18px;}
.admin-lang-chip{display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);color:inherit;text-decoration:none;font-size:12px;font-weight:800;}
.admin-lang-chip.active{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#17100a;border-color:transparent;box-shadow:0 8px 22px rgba(245,158,11,.22);}
.admin-page-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:14px 18px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.045);box-shadow:0 16px 40px rgba(0,0,0,.18);}
.admin-page-title h1{margin:0;font-size:clamp(20px,3vw,30px);}
.admin-page-title span{padding:5px 10px;border-radius:999px;background:rgba(245,158,11,.16);color:#fbbf24;font-weight:900;font-size:12px;letter-spacing:.08em;}
html[dir="rtl"] .admin-shell .main, html[dir="rtl"] .admin-shell table, html[dir="rtl"] .admin-shell input, html[dir="rtl"] .admin-shell textarea, html[dir="rtl"] .admin-shell select{text-align:start;}
html[dir="ltr"] .admin-shell .main, html[dir="ltr"] .admin-shell table, html[dir="ltr"] .admin-shell input, html[dir="ltr"] .admin-shell textarea, html[dir="ltr"] .admin-shell select{text-align:start;}
@media(max-width:760px){.admin-page-title{position:sticky;top:0;z-index:20;border-radius:0 0 18px 18px;margin:-10px -10px 14px}.admin-lang-switcher{grid-template-columns:repeat(4,minmax(0,1fr));}.admin-lang-chip{font-size:11px;padding:6px 4px;}}


/* V43 Phase 5 100% direction hardening. */
html[dir="rtl"] .admin-shell{direction:rtl}html[dir="ltr"] .admin-shell{direction:ltr}
html[dir="rtl"] .admin-shell .sidebar{border-inline-start:1px solid rgba(255,255,255,.12);border-inline-end:0}
html[dir="ltr"] .admin-shell .sidebar{border-inline-end:1px solid rgba(255,255,255,.12);border-inline-start:0}
.admin-shell label,.admin-shell input,.admin-shell select,.admin-shell textarea,.admin-shell button,.admin-shell a,.admin-shell th,.admin-shell td{text-align:start;direction:inherit}
.v20-sidebar,.v39-global-sidebar{inline-size:var(--sh-sidebar,292px)}
html[dir="rtl"] .catalog-sidebar,html[dir="rtl"] .v20-sidebar,html[dir="rtl"] .v39-global-sidebar{order:1}
html[dir="ltr"] .catalog-sidebar,html[dir="ltr"] .v20-sidebar,html[dir="ltr"] .v39-global-sidebar{order:0}


/* V43.24.300 final direction guard: no mobile drawer geometry on desktop. */
@media (min-width:1024px){
  html[dir="rtl"] body.client-v43-app .v20-shop-shell,html[dir="rtl"] body.client-v43-app .v39-client-shell,
  html[dir="rtl"] body.client-v32-app .v20-shop-shell,html[dir="rtl"] body.client-v32-app .v39-client-shell{grid-template-columns:minmax(0,1fr) var(--sh-sidebar,292px)!important;direction:ltr!important}
  html[dir="ltr"] body.client-v43-app .v20-shop-shell,html[dir="ltr"] body.client-v43-app .v39-client-shell,
  html[dir="ltr"] body.client-v32-app .v20-shop-shell,html[dir="ltr"] body.client-v32-app .v39-client-shell{grid-template-columns:var(--sh-sidebar,292px) minmax(0,1fr)!important;direction:ltr!important}
  .v20-sidebar,.v39-global-sidebar{position:sticky!important;transform:none!important;inset:auto!important}
}
@media (max-width:767px){
  html[dir="rtl"] body.client-v43-app .v20-sidebar,html[dir="rtl"] body.client-v43-app .v39-global-sidebar,
  html[dir="rtl"] body.client-v32-app .v20-sidebar,html[dir="rtl"] body.client-v32-app .v39-global-sidebar{inset-inline-end:0!important;inset-inline-start:auto!important;right:0!important;left:auto!important;transform:translateX(105%)!important}
  html[dir="ltr"] body.client-v43-app .v20-sidebar,html[dir="ltr"] body.client-v43-app .v39-global-sidebar,
  html[dir="ltr"] body.client-v32-app .v20-sidebar,html[dir="ltr"] body.client-v32-app .v39-global-sidebar{inset-inline-start:0!important;inset-inline-end:auto!important;left:0!important;right:auto!important;transform:translateX(-105%)!important}
  body.v20-menu-open .v20-sidebar,body.v20-menu-open .v39-global-sidebar{transform:translateX(0)!important}
}

/* V43.28 FINAL MOBILE DRAWER OPEN GUARD
   This file is loaded after the main client CSS, so the open state must be repeated here
   with direction-aware selectors and higher specificity than the closed RTL/LTR rules. */
@media (max-width:767px){
  html[dir="rtl"] body.client-v43-app.v20-menu-open .v20-sidebar,
  html[dir="rtl"] body.client-v43-app.v20-menu-open .v39-global-sidebar,
  html[dir="rtl"] body.client-v32-app.v20-menu-open .v20-sidebar,
  html[dir="rtl"] body.client-v32-app.v20-menu-open .v39-global-sidebar,
  html[dir="ltr"] body.client-v43-app.v20-menu-open .v20-sidebar,
  html[dir="ltr"] body.client-v43-app.v20-menu-open .v39-global-sidebar,
  html[dir="ltr"] body.client-v32-app.v20-menu-open .v20-sidebar,
  html[dir="ltr"] body.client-v32-app.v20-menu-open .v39-global-sidebar{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:1405!important;
  }
  html[dir] body.client-v43-app .v20-sidebar,
  html[dir] body.client-v43-app .v39-global-sidebar,
  html[dir] body.client-v32-app .v20-sidebar,
  html[dir] body.client-v32-app .v39-global-sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    width:min(88vw,360px)!important;
    inline-size:min(88vw,360px)!important;
    max-width:360px!important;
    padding:calc(76px + env(safe-area-inset-top)) 16px calc(26px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:0!important;
    background:radial-gradient(circle at 80% 0%,rgba(255,191,92,.30),transparent 35%),linear-gradient(180deg,#4a2a18 0%,#2a170e 48%,#120b08 100%)!important;
    color:#fff8ec!important;
    box-shadow:0 28px 90px rgba(0,0,0,.78)!important;
  }
  html[dir] body.client-v43-app .v20-drawer-backdrop,
  html[dir] body.client-v43-app .v39-drawer-backdrop,
  html[dir] body.client-v32-app .v20-drawer-backdrop,
  html[dir] body.client-v32-app .v39-drawer-backdrop{
    z-index:1400!important;
  }
  html[dir] body.client-v43-app.v20-menu-open .v20-drawer-backdrop,
  html[dir] body.client-v43-app.v20-menu-open .v39-drawer-backdrop,
  html[dir] body.client-v32-app.v20-menu-open .v20-drawer-backdrop,
  html[dir] body.client-v32-app.v20-menu-open .v39-drawer-backdrop{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:rgba(5,3,2,.46)!important;
    backdrop-filter:blur(4px)!important;
  }
  html[dir] body.client-v43-app.v20-menu-open,
  html[dir] body.client-v32-app.v20-menu-open{
    overflow:hidden!important;
    touch-action:none;
  }
  html[dir] body.client-v43-app.v20-menu-open .bottom-nav,
  html[dir] body.client-v32-app.v20-menu-open .bottom-nav{
    display:none!important;
  }
}

/* V43.62 ADMIN MOBILE SIDEBAR FINAL OVERRIDE
   Loaded after all admin/client CSS. Fixes mobile admin drawer being turned
   into a black/static panel by older max-width direction guards. */
@media (max-width:1023px){
  html[dir] body.admin-v43-app .admin-shell{
    display:block!important;
    grid-template-columns:1fr!important;
    min-height:100dvh!important;
    width:100%!important;
    overflow-x:hidden!important;
  }
  html[dir] body.admin-v43-app .admin-mobile-toggle{
    position:fixed!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  html[dir] body.admin-v43-app .admin-mobile-topbar{
    position:sticky!important;
    top:0!important;
    z-index:1500!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:58px!important;
    padding:10px 12px!important;
    color:#fff7ed!important;
    background:linear-gradient(135deg,#4a2a18 0%,#2b170d 56%,#120b08 100%)!important;
    border-bottom:1px solid rgba(251,191,36,.26)!important;
    box-shadow:0 16px 36px rgba(0,0,0,.38)!important;
    backdrop-filter:blur(16px)!important;
    cursor:pointer!important;
  }
  html[dir] body.admin-v43-app .admin-mobile-menu-icon,
  html[dir] body.admin-v43-app .admin-mobile-lang{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:40px!important;
    height:40px!important;
    color:#fff7ed!important;
    background:rgba(255,247,237,.10)!important;
    border:1px solid rgba(251,191,36,.24)!important;
    border-radius:14px!important;
  }
  html[dir] body.admin-v43-app .admin-mobile-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:1590!important;
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    background:rgba(5,3,2,.58)!important;
    backdrop-filter:blur(4px)!important;
  }
  html[dir] body.admin-v43-app .admin-mobile-toggle:checked ~ .admin-mobile-backdrop{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  html[dir] body.admin-v43-app .admin-shell > .sidebar,
  html[dir] body.admin-v43-app .admin-shell .sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    width:min(88vw,360px)!important;
    inline-size:min(88vw,360px)!important;
    max-width:360px!important;
    z-index:1600!important;
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))!important;
    border-radius:0!important;
    background:
      radial-gradient(circle at 18% 0%, rgba(255,196,94,.38) 0, rgba(255,196,94,.14) 24%, transparent 48%),
      radial-gradient(circle at 95% 16%, rgba(239,68,68,.24) 0, transparent 36%),
      linear-gradient(180deg,#4a2a18 0%,#2b170d 56%,#120b08 100%)!important;
    color:#fff7ed!important;
    border:0!important;
    box-shadow:0 26px 90px rgba(0,0,0,.72)!important;
    transform:translate3d(110%,0,0)!important;
    transition:transform .24s ease!important;
  }
  html[dir="rtl"] body.admin-v43-app .admin-shell > .sidebar,
  html[dir="rtl"] body.admin-v43-app .admin-shell .sidebar{
    right:0!important;
    left:auto!important;
    inset-inline-end:0!important;
    inset-inline-start:auto!important;
    transform:translate3d(110%,0,0)!important;
  }
  html[dir="ltr"] body.admin-v43-app .admin-shell > .sidebar,
  html[dir="ltr"] body.admin-v43-app .admin-shell .sidebar{
    left:0!important;
    right:auto!important;
    inset-inline-start:0!important;
    inset-inline-end:auto!important;
    transform:translate3d(-110%,0,0)!important;
  }
  html[dir] body.admin-v43-app .admin-mobile-toggle:checked ~ .sidebar{
    transform:translate3d(0,0,0)!important;
  }
  html[dir] body.admin-v43-app .admin-shell .sidebar .brand,
  html[dir] body.admin-v43-app .admin-shell .sidebar .side-link,
  html[dir] body.admin-v43-app .admin-shell .sidebar .admin-lang-chip{
    color:#fff7ed!important;
  }
  html[dir] body.admin-v43-app .admin-shell .sidebar .side-link.active,
  html[dir] body.admin-v43-app .admin-shell .sidebar .side-link[aria-current="page"],
  html[dir] body.admin-v43-app .admin-shell .sidebar .admin-lang-chip.active{
    color:#1c1008!important;
    background:linear-gradient(135deg,#fbbf24,#fb923c)!important;
  }
  html[dir] body.admin-v43-app:has(.admin-mobile-toggle:checked){
    overflow:hidden!important;
  }
  html[dir] body.admin-v43-app .admin-shell .main{
    padding:12px!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
}
