/* Responsive layer — mobile / tablet / laptop */
.container,.page-wrapper,.admin-panel,.dash-main,.factor-sheet,.cart-page-wrap{min-width:0}

@media (max-width:1100px){
 .container{padding-inline:20px}.header-inner{gap:14px}.main-nav a{padding-inline:10px;font-size:13px}.header-actions{gap:7px}.product-detail-layout{gap:30px}.admin-layout{gap:18px}.admin-panel{padding:24px}.dash-main{padding:24px 20px}
}

@media (max-width:900px){
 .main-nav{display:none}.mobile-menu-toggle{display:flex}.site-header{z-index:1000}.header-inner{height:68px}.btn-auth{padding:8px 12px;font-size:13px}.user-profile{padding-inline:4px}.user-profile>span:not(.avatar){max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .main-nav.mobile-open{display:flex;flex-direction:column;position:absolute;top:100%;right:0;left:0;width:100%;max-height:calc(100vh - 68px);overflow-y:auto;padding:10px 14px 14px;gap:4px;background:rgba(4,16,32,.98);border-bottom:1px solid rgba(31,121,184,.25);box-shadow:0 16px 30px rgba(0,0,0,.28);backdrop-filter:blur(16px)}
 .main-nav.mobile-open a{width:100%;padding:12px 14px;border-radius:10px}.main-nav.mobile-open a.active::after{right:10px;left:auto;top:50%;bottom:auto;width:3px;height:55%;transform:translateY(-50%)}
 .page-wrapper{padding-top:34px;padding-bottom:56px}.page-header{margin-bottom:28px}.section{padding-block:50px}.hero{padding-block:42px 58px}.hero-inner,.product-detail-layout,.admin-layout{grid-template-columns:1fr}.hero-content{align-items:center}.hero-visual{order:1}.product-slider{position:relative;top:auto}.form-grid{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid,.features-grid,.categories-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dash-layout{grid-template-columns:1fr;padding-top:68px}.dash-sidebar{position:sticky;top:68px;z-index:20;height:auto;max-height:none;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:8px 10px;border-left:0;border-bottom:1px solid rgba(255,0,168,.15)}.dash-sidebar-title{display:none}.dash-nav-btn{width:auto;flex:0 0 auto;white-space:nowrap;padding:10px 13px;border-right:0;border-bottom:3px solid transparent;border-radius:9px}.dash-nav-btn.active{border-right-color:transparent;border-bottom-color:var(--neon-purple)}.dash-main{padding:20px 16px 40px}.chart-grid{grid-template-columns:1fr}.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-table-wrap{overflow-x:auto}table.dash-table{min-width:700px}
}

@media (max-width:600px){
 .container{padding-inline:14px}body{font-size:14px}.header-inner{height:62px}.logo{font-size:18px;gap:7px}.logo-icon{width:34px;height:34px}.header-actions{gap:5px}.btn-auth span,.btn-contact,.user-profile>span:not(.avatar){display:none}.btn-auth{width:38px;height:38px;padding:0;justify-content:center}.mobile-menu-toggle,.cart-btn{width:38px;height:38px}.main-nav.mobile-open{max-height:calc(100vh - 62px)}
 .page-wrapper{padding-top:26px;padding-bottom:42px}.page-header{margin-bottom:22px}.page-header h1{font-size:25px}.page-header p{font-size:13px;line-height:1.9}.section{padding-block:40px}.section-title{font-size:21px}.hero{padding-block:28px 42px}.hero-title{font-size:clamp(27px,9vw,38px);line-height:1.35}.hero-subtitle{font-size:13px;line-height:1.9}.hero-cta-group{width:100%;flex-direction:column}.hero-cta-group .btn-primary,.hero-cta-group .btn-secondary{width:100%}.hero-stats{width:100%;gap:8px}.hero-stat{flex:1;min-width:0}.hero-stat-num{font-size:18px}.hero-stat-label{font-size:10px}.hero-visual{height:230px}.ring-outer{width:210px;height:210px}.ring-mid{width:160px;height:160px}.hero-logo-box{width:112px;height:112px}.hero-logo-svg{width:52px;height:52px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-grid,.features-grid,.categories-page-grid,.blog-grid{grid-template-columns:1fr;gap:14px}.features-grid{grid-template-columns:1fr}
 .shop-toolbar{align-items:stretch;flex-direction:column;gap:10px}.shop-sort-select{width:100%}.shop-filter-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.shop-filter-item{flex:0 0 auto}.shop-pagination{gap:5px;flex-wrap:wrap}
 .product-detail-layout{gap:24px}.slider-nav-btn{width:36px;height:36px}.slider-thumb{width:58px;height:58px}.product-detail-info h1{font-size:24px}.product-detail-info .price-block{flex-wrap:wrap;gap:8px 12px;padding:16px 0}.product-detail-info .price-block .current{font-size:24px}.detail-cta-group{flex-direction:column}.detail-cta-group>*{width:100%}.trust-badges{grid-template-columns:1fr}
 .cart-page-wrap{padding-inline:0}.cart-item-card{grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;gap:10px 12px;padding:12px}.cart-item-img{width:56px;height:56px;grid-row:1/3}.cart-item-actions{grid-column:2;grid-row:2;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.cart-item-name{font-size:14px}.cart-summary{padding:16px}
 .account-profile-card{padding:18px;gap:12px}.account-tabs{margin-bottom:20px}.account-tab-btn{font-size:13px}.order-card-header,.order-card-body,.order-customer-info{padding-inline:14px}.order-customer-info{grid-template-columns:1fr}.order-customer-info .info-item.full-width{grid-column:auto}
 .admin-panel{padding:16px;border-radius:18px}.admin-panel h2{font-size:16px;margin-bottom:18px}.form-grid{grid-template-columns:1fr;gap:0}.form-group.full-width{grid-column:auto}.form-control{font-size:14px;padding:12px 13px}
 .dash-layout{padding-top:62px}.dash-sidebar{top:62px;padding:7px 8px}.dash-nav-btn{font-size:12px;padding:9px 11px}.dash-main{padding:16px 12px 32px}.dash-section-title{font-size:19px}.dash-section-sub{font-size:12px;line-height:1.8}.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px}.stat-card .stat-value{font-size:20px}.chart-card{padding:14px;overflow:hidden}.dash-table-header{align-items:stretch;flex-direction:column}.dash-table-header .dash-search{width:100%}
 .blog-card-image{height:170px}.blog-card-body{padding:15px}.blog-post-detail h1{font-size:22px;line-height:1.5}.blog-post-detail .blog-post-content{font-size:14px;line-height:2}
 .factor-page-container{padding-inline:8px}.factor-sheet{padding:14px;border-radius:14px}.factor-buyer-grid{grid-template-columns:1fr}.factor-buyer-grid .full-width{grid-column:auto}.factor-items-table{min-width:650px}.factor-totals{width:100%}
 .fa-toast-container{left:12px;right:12px;width:auto;max-width:none}.fa-toast{max-width:none}.fa-modal-overlay{padding:14px}.fa-confirm-modal{width:100%;max-width:none;max-height:calc(100vh - 28px);overflow-y:auto;padding:22px;border-radius:var(--radius-md,16px)}.fa-modal-actions{flex-direction:column-reverse}.fa-modal-actions .fa-modal-btn{width:100%}
 .footer-grid{grid-template-columns:1fr;gap:26px}.footer-bottom{flex-direction:column;align-items:center;text-align:center}
}

@media (max-width:380px){.container{padding-inline:10px}.logo-text{font-size:16px}.product-grid{grid-template-columns:1fr}.stat-cards{grid-template-columns:1fr}.hero-stat{flex:1 1 45%}.dash-nav-btn{font-size:11px;padding:8px 9px}}

@media (hover:none) and (pointer:coarse){.btn-primary,.btn-secondary,.btn-auth,.mobile-menu-toggle,.cart-btn,.cart-qty-btn,.shop-filter-item,.shop-page-btn,.dash-nav-btn{min-height:42px}.cart-qty-btn{min-width:42px;width:42px;height:42px}}

/* ================================================================
   FINAL MOBILE HEADER FIX
   مخصوصاً برای auth.html / ورود و ثبت‌نام
   ================================================================ */
.site-header,
.site-header .container,
.header-inner,
.header-actions {
  overflow: visible;
}

.mobile-menu-toggle {
  position: relative;
  z-index: 1003;
  visibility: visible;
  opacity: 1;
  border: 0;
  cursor: pointer;
  flex: 0 0 auto;
}

.mobile-menu-toggle svg {
  display: block;
  visibility: visible;
  opacity: 1;
  flex: 0 0 auto;
}

@media (max-width: 900px) {
  .site-header {
    z-index: 1100;
  }

  .header-inner {
    position: relative;
    min-width: 0;
  }

  .logo {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .logo-text {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .header-actions {
    flex: 0 0 auto;
    position: relative;
    z-index: 1101;
  }

  .mobile-menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .header-inner {
    height: 62px;
    gap: 8px;
  }

  .header-actions {
    gap: 5px;
  }

  .mobile-menu-toggle,
  .cart-btn,
  .btn-auth {
    width: 38px;
    min-width: 38px;
    max-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    flex: 0 0 38px;
  }

  .mobile-menu-toggle svg {
    width: 20px;
    height: 20px;
  }

  .btn-auth span {
    display: none;
  }

  #site-header {
    position: relative;
    z-index: 1100;
  }

  .auth-wrapper {
    z-index: 1;
  }
}

@media (max-width: 380px) {
  .container {
    padding-inline: 10px;
  }

  .header-inner {
    gap: 6px;
  }

  .logo {
    gap: 6px;
  }

  .logo-icon {
    width: 32px;
    height: 32px;
  }

  .logo-text {
    font-size: 16px;
  }

  .mobile-menu-toggle,
  .cart-btn,
  .btn-auth {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    flex-basis: 36px;
  }
}

/* ================================================================
   FINAL RESPONSIVE PASS — جلوگیری از overflow و zoom در موبایل
   ================================================================ */

html,
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body {
  overflow-x: hidden;
}

.container,
.page-wrapper,
.page-header,
.section,
.section-header,
.shop-layout,
.shop-layout > *,
.shop-toolbar,
.product-grid,
.category-grid,
.categories-page-grid,
.blog-grid,
.admin-layout,
.admin-layout > *,
.dash-layout,
.dash-main,
.factor-page-container,
.factor-sheet,
.cart-page-wrap,
.account-profile-card,
.order-card,
.blog-post-detail,
.auth-wrapper,
.auth-card {
  min-width: 0;
  max-width: 100%;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.shop-layout {
  width: 100%;
}

.shop-layout > div {
  min-width: 0;
}

.shop-toolbar {
  width: 100%;
  min-width: 0;
}

.shop-result-count {
  min-width: 0;
  overflow-wrap: anywhere;
}

.shop-sort-select {
  max-width: 100%;
  min-width: 0;
}

.shop-filter-list {
  min-width: 0;
}

@media (max-width: 900px) {
  .shop-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .shop-filters,
  .shop-layout > div {
    width: 100%;
    min-width: 0;
  }

  .shop-filter-list {
    width: 100%;
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .shop-filter-list::-webkit-scrollbar {
    display: none;
  }

  .shop-filter-item {
    flex: 0 0 auto;
    width: auto;
    max-width: 220px;
  }

  .shop-toolbar {
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  .shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 10px;
  }

  .shop-result-count {
    flex: 1 1 auto;
  }

  .shop-sort-select {
    width: auto;
    flex: 0 0 auto;
    max-width: 170px;
    min-height: 42px;
    padding: 9px 11px;
    font-size: 14px;
  }

  .shop-pagination {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .shop-pagination::-webkit-scrollbar {
    display: none;
  }

  .shop-page-btn {
    flex: 0 0 auto;
  }
}

@media (max-width: 600px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  .form-control,
  .shop-sort-select {
    max-width: 100%;
  }

  .auth-wrapper {
    width: 100%;
    min-height: calc(100svh - 62px);
    padding: 30px 14px 44px;
    overflow: hidden;
  }

  .auth-card {
    width: 100%;
    max-width: 420px;
    padding: 24px 18px;
  }

  .auth-bg-orb {
    width: 300px;
    height: 300px;
    margin: -150px -150px 0 0;
    filter: blur(32px);
  }
}

@media (max-width: 380px) {
  .container {
    padding-inline: 10px;
  }

  .shop-toolbar {
    gap: 7px;
  }

  .shop-result-count {
    font-size: 12px;
  }

  .shop-sort-select {
    max-width: 145px;
    padding-inline: 8px;
    font-size: 13px !important;
  }

  .auth-wrapper {
    padding-inline: 10px;
  }

  .auth-card {
    padding-inline: 14px;
  }
}

@media (max-width: 900px) {
  .header-inner,
  .header-actions,
  .section-header,
  .hero-inner,
  .hero-stats,
  .account-profile-card,
  .order-card-header,
  .order-card-body,
  .cart-item-card,
  .admin-mini-product,
  .admin-info-box,
  .dash-table-header {
    min-width: 0;
  }

  .header-inner > *,
  .header-actions > *,
  .section-header > *,
  .hero-inner > *,
  .account-profile-card > *,
  .order-card-header > *,
  .order-card-body > *,
  .cart-item-card > *,
  .admin-mini-product > *,
  .admin-info-box > * {
    min-width: 0;
  }

  .product-card,
  .category-card,
  .category-page-card,
  .blog-card,
  .stat-card,
  .chart-card,
  .admin-panel {
    min-width: 0;
    max-width: 100%;
  }

  .product-card h3,
  .product-title,
  .category-card span,
  .blog-card h3,
  .admin-mini-product .mini-info,
  .order-card,
  .order-customer-info,
  .cart-item-info {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

.dash-table-wrap,
.table-responsive,
.factor-table-wrap,
.orders-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

@media (hover: none) and (pointer: coarse) {
  .shop-filter-list,
  .shop-pagination,
  .account-tabs,
  .dash-sidebar,
  .dash-table-wrap,
  .table-responsive,
  .factor-table-wrap,
  .orders-table-wrap {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
}

/* ================================================================
   FORM ACCESSORY — FINAL MOBILE / TOUCH / TRANSITION PASS
   ================================================================ */

html,
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

body {
  overscroll-behavior-x: none;
}

main,
section,
header,
footer,
.container,
.page-wrapper {
  min-width: 0;
  max-width: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

.flex,
[class*="grid"],
[class*="row"],
.header-inner,
.header-actions,
.section-header,
.shop-toolbar,
.shop-layout,
.product-grid,
.category-grid,
.categories-page-grid,
.blog-grid,
.features-grid,
.hero-inner,
.hero-stats,
.cart-item-card,
.order-card-header,
.order-card-body,
.account-profile-card,
.admin-layout,
.dash-main {
  min-width: 0;
}

[class*="grid"] > *,
[class*="row"] > *,
.flex > *,
.header-inner > *,
.header-actions > *,
.section-header > *,
.shop-toolbar > *,
.shop-layout > *,
.product-grid > *,
.category-grid > *,
.categories-page-grid > *,
.blog-grid > *,
.features-grid > *,
.hero-inner > *,
.hero-stats > * {
  min-width: 0;
}

@media (hover: none) and (pointer: coarse) {
  a,
  button,
  input,
  select,
  textarea {
    -webkit-tap-highlight-color: transparent;
  }

  button,
  .btn-primary,
  .btn-secondary,
  .btn-auth,
  .btn-contact,
  .mobile-menu-toggle,
  .cart-btn,
  .cart-qty-btn,
  .btn-add-cart,
  .product-favorite,
  .shop-filter-item,
  .shop-page-btn,
  .dash-nav-btn {
    touch-action: manipulation;
  }

  .btn-primary:hover {
    transform: none;
    box-shadow: 0 0 24px #f0c88b33;
  }

  .btn-secondary:hover {
    border-color: rgba(31, 121, 184, 0.45);
    background: rgba(31,121,184,0.07);
  }

  .btn-auth:hover {
    box-shadow: none;
    transform: none;
  }

  .user-profile:hover {
    background: transparent;
  }

  .product-card:hover {
    transform: none;
    border-color: rgba(31, 120, 184, 0.127);
    box-shadow: none;
  }

  .category-card:hover {
    transform: none;
    border-color: #f0c88b38;
    background: var(--bg-card);
    box-shadow: none;
  }

  .category-page-card:hover {
    transform: none;
    border-color: rgba(31, 120, 184, 0.13);
    background: var(--bg-card);
    box-shadow: none;
  }

  .feature-card:hover {
    transform: none;
    border-color: rgba(255, 0, 168, 0.15);
  }

  .blog-card:hover {
    transform: none;
    border-color: rgba(255, 0, 168, 0.18);
  }

  .product-favorite:hover {
    background: rgba(10, 1, 24, 0.6);
  }

  .btn-add-cart:hover {
    background: rgba(255, 183, 0, 0.171);
    box-shadow: none;
  }

  .shop-filter-item:hover {
    background: transparent;
  }

  .shop-page-btn:hover:not(:disabled) {
    border-color: rgba(31, 120, 184, 0.25);
  }

  .section-link:hover {
    color: var(--neon-blue-light);
    gap: 6px;
  }

  .footer-social a:hover {
    background: rgba(255, 174, 0, 0.1);
    box-shadow: none;
  }

  .footer-col a:hover,
  .btn-contact:hover {
    color: var(--text-secondary);
  }

  .stat-card:hover,
  .chart-card:hover,
  .order-card:hover,
  .account-profile-card:hover,
  .admin-panel:hover {
    transform: none !important;
  }
}

@media (max-width: 900px) {
  .container {
    width: 100%;
    padding-inline: 16px;
  }

  .page-wrapper,
  .section {
    width: 100%;
    max-width: 100%;
  }

  .hero-inner,
  .admin-layout,
  .factor-header,
  .factor-buyer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-content,
  .hero-visual {
    min-width: 0;
    width: 100%;
  }

  .product-grid,
  .category-grid,
  .categories-page-grid,
  .blog-grid {
    width: 100%;
    min-width: 0;
  }

  .shop-filter-list {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .shop-filter-list::-webkit-scrollbar {
    display: none;
  }

  .shop-filter-item {
    flex: 0 0 auto;
    width: auto;
  }

  .dash-main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
}

@media (max-width: 600px) {
  .container {
    padding-inline: 12px;
  }

  .shop-toolbar {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .shop-result-count {
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
  }

  .shop-sort-select {
    width: auto !important;
    min-width: 120px;
    max-width: 160px;
    flex: 0 0 auto;
    min-height: 42px;
  }

  .shop-pagination {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .shop-pagination::-webkit-scrollbar {
    display: none;
  }

  .shop-page-btn {
    flex: 0 0 auto;
  }

  .dash-table-wrap,
  .table-responsive,
  .factor-table-wrap,
  .orders-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  .fa-modal-overlay {
    padding: 12px;
  }

  .fa-confirm-modal {
    width: min(100%, 430px);
    max-width: 100%;
  }

  .fa-toast-container {
    left: 10px;
    right: 10px;
    width: auto;
    max-width: none;
    padding-inline: 0;
  }

  .factor-sheet {
    width: 100%;
    max-width: 100%;
    padding: 20px 14px;
    overflow-x: hidden;
  }

  .cart-item-card {
    width: 100%;
    max-width: 100%;
  }

  .cart-item-info {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 380px) {
  .container {
    padding-inline: 10px;
  }

  .shop-toolbar {
    gap: 6px;
  }

  .shop-sort-select {
    min-width: 110px;
    max-width: 145px;
    font-size: 14px !important;
  }

  .hero-stats {
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ================================================================
   NEW — LAPTOP / DESKTOP GUTTER
   فقط برای صفحات بزرگ‌تر از ۱۱۰۰px یک سقف عرض و فاصله‌ی مناسب از
   کناره‌ها به کانتینر اصلی اضافه می‌شود. هیچ کدام از قوانین بالا
   (موبایل/تبلت) دست‌خورده نشده‌اند.
   ================================================================ */
@media (min-width: 1101px) {
  .container {
    width: 100%;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: 32px;
    box-sizing: border-box;
  }
}

@media (min-width: 1440px) {
  .container {
    max-width: 1360px;
    padding-inline: 40px;
  }
}

@media (min-width: 1800px) {
  .container {
    max-width: 1480px;
    padding-inline: 48px;
  }
}
/* اصلاح نهایی auth-wrapper و auth-card برای همه سایزها */

.auth-wrapper {

width: 100%;

max-width: 100%;

min-height: calc(100vh - 76px - 200px);

display: flex;

align-items: center;

justify-content: center;

padding: 56px 20px;

position: relative;

z-index: 1;

overflow: hidden;

box-sizing: border-box;

}

.auth-card {

width: 100%;

max-width: 440px;

margin-inline: auto;

background: var(--bg-card);

border: 1px solid rgba(255, 0, 168, 0.2);

border-radius: var(--radius-lg);

padding: 36px 32px;

box-shadow: var(--glow-soft);

box-sizing: border-box;

}

@media (min-width: 1101px) {

.auth-wrapper {

padding-inline: 40px;

}

.auth-card {

max-width: 460px;

padding: 42px 40px;

}

}

@media (max-width: 600px) {

.auth-wrapper {

width: 100%;

min-height: calc(100svh - 62px);

padding: 30px 14px 44px;

overflow: hidden;

}

.auth-card {

width: 100%;

max-width: 420px;

padding: 24px 18px;

}

}

/* ====================================================================
   اسلایدر افقی محصولات صفحه‌ی اصلی (carousel) - تنظیمات موبایل/تبلت
   ==================================================================== */
@media (max-width: 900px) {
  .carousel-track .product-card {
    width: 220px;
  }
  .carousel-arrow {
    width: 38px;
    height: 38px;
  }
  .carousel-arrow svg {
    width: 17px;
    height: 17px;
  }
}

@media (max-width: 600px) {
  .product-grid.carousel-track {
    gap: 14px;
  }
  .carousel-track .product-card {
    width: 68vw;
  }
  /* توی موبایل، فلش‌ها رو مخفی می‌کنیم چون اسکرول با انگشت طبیعی‌تره؛
     خود اسکرول افقی (لمسی) همچنان کار می‌کنه */
  .carousel-arrow {
    display: none;
  }
}

/* FORM carousel V2 — overrides legacy carousel rules */
.product-grid.carousel-track {
  overflow: visible !important;
  scrollbar-width: none !important;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}
.product-grid.carousel-track::-webkit-scrollbar { display:none !important; }
.carousel-track .product-card { will-change:auto !important; }
@media (max-width: 900px) {
  .carousel-track .product-card { width:220px !important; }
}
@media (max-width: 600px) {
  .carousel-track .product-card { width:72vw !important; }
  .carousel-arrow { display:none !important; }
}


/* HOME CAROUSEL V8 — responsive final override
   این بخش آخرین override اسلایدر است و عمداً بعد از قوانین قدیمی قرار دارد.
   هدف: تبلت و موبایل = دو کارت همزمان + فلش‌های قابل‌مشاهده + فضای لمس/Swipe واقعی.
*/
.product-grid.carousel-track {
  overflow: visible !important;
  direction: ltr !important;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  scrollbar-width: none !important;
}
.product-grid.carousel-track > .product-card {
  direction: rtl !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  .carousel-wrap {
    display: block !important;
    position: relative !important;
    width: 100% !important;
  }

  .carousel-viewport {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .product-grid.carousel-track {
    gap: 10px !important;
    touch-action: pan-y !important;
  }

  .product-grid.carousel-track > .product-card {
    flex: 0 0 calc((100vw - 44px) / 2) !important;
    width: calc((100vw - 44px) / 2) !important;
    min-width: calc((100vw - 44px) / 2) !important;
    max-width: calc((100vw - 44px) / 2) !important;
  }

  .carousel-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    pointer-events: auto !important;
  }

  .carousel-arrow-prev { right: 6px !important; left: auto !important; }
  .carousel-arrow-next { left: 6px !important; right: auto !important; }

  .carousel-arrow svg {
    width: 17px !important;
    height: 17px !important;
  }
}

@media (max-width: 600px) {
  .carousel-viewport {
    padding: 6px 2px 12px !important;
    margin: -6px -2px -12px !important;
  }

  .product-grid.carousel-track {
    gap: 8px !important;
  }

  .product-grid.carousel-track > .product-card {
    flex: 0 0 calc((100vw - 40px) / 2) !important;
    width: calc((100vw - 40px) / 2) !important;
    min-width: calc((100vw - 40px) / 2) !important;
    max-width: calc((100vw - 40px) / 2) !important;
  }

  .carousel-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 50% !important;
  }

  .carousel-arrow-prev { right: 5px !important; }
  .carousel-arrow-next { left: 5px !important; }

  .carousel-arrow svg {
    width: 15px !important;
    height: 15px !important;
  }
}

@media (max-width: 380px) {
  .product-grid.carousel-track > .product-card {
    flex-basis: calc((100vw - 36px) / 2) !important;
    width: calc((100vw - 36px) / 2) !important;
    min-width: calc((100vw - 36px) / 2) !important;
    max-width: calc((100vw - 36px) / 2) !important;
  }
}
