/* ==========================================================================
   RAS Core — modal & account form
   از متغیرهای قالب RASWEAR استفاده می‌کند؛ اگر قالب دیگری فعال باشد،
   مقادیر جایگزین (fallback) اعمال می‌شوند.
   ========================================================================== */

.ras-modal{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.ras-modal[hidden]{display:none;}

.ras-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(8,8,8,.78);
}

.ras-modal__box{
  position:relative;
  width:100%; max-width:440px; max-height:88vh; overflow-y:auto;
  background:var(--ras-surface, #181818);
  border:1px solid var(--ras-line, rgba(176,141,87,.24));
  color:var(--ras-ivory-dim, #b8b0a3);
  font-family:var(--ras-font-fa, 'Vazirmatn', sans-serif);
}

.ras-modal__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px;
  border-bottom:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
}
.ras-modal__head h3{
  margin:0; font-size:1.05rem;
  color:var(--ras-ivory, #F6F1E8);
}
.ras-modal__close{
  background:none; border:none; cursor:pointer;
  width:40px; height:40px; font-size:1.1rem;
  color:var(--ras-ivory-dim, #b8b0a3);
}

.ras-modal__body{padding:22px;}

.ras-modal__saved{
  font-size:.82rem;
  color:var(--ras-gold-light, #c9a878);
  margin:0 0 16px;
}

.ras-modal .ras-field{margin-bottom:18px;}
.ras-modal .ras-field label{
  display:block; margin-bottom:8px; font-size:.86rem;
}
.ras-modal .ras-field input,
.ras-modal .ras-field select{
  width:100%; min-height:50px; padding:0 14px;
  background:var(--ras-black, #111); color:var(--ras-ivory, #F6F1E8);
  border:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  font-family:inherit; font-size:1rem;
}

.ras-modal__error{
  color:#e08a8a; font-size:.85rem; margin:12px 0 0;
}
.ras-modal__error[hidden]{display:none;}

.ras-modal__result{
  margin-top:26px; padding-top:22px;
  border-top:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  text-align:center;
}
.ras-modal__result[hidden]{display:none;}

.ras-modal__size{
  font-size:3rem; line-height:1;
  color:var(--ras-ivory, #F6F1E8);
  margin:8px 0 10px;
  font-family:var(--ras-font-en, 'Jost', sans-serif);
}
.ras-modal__meta{font-size:.86rem; margin:0 0 16px;}
.ras-modal__alt{
  font-size:.82rem; color:var(--ras-gold-light, #c9a878); margin:0 0 16px;
}
.ras-modal__alt[hidden]{display:none;}
.ras-modal__note{font-size:.82rem; margin:14px 0 0;}
.ras-modal__note a{color:var(--ras-gold-light, #c9a878);}
.ras-modal__disclaimer{
  font-size:.75rem; line-height:1.8; margin:18px 0 0;
  padding-top:14px;
  border-top:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  text-align:start;
}

/* Fallback button styling when the RASWEAR theme is not active. */
.ras-modal .ras-btn,
.ras-measurements-form .ras-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:0 28px; cursor:pointer;
  border:1px solid transparent; font-family:inherit; font-size:.85rem;
}
.ras-modal .ras-btn--block,
.ras-measurements-form .ras-btn--block{width:100%;}
.ras-modal .ras-btn--gold,
.ras-measurements-form .ras-btn--gold{
  background:var(--ras-gold, #B08D57); color:var(--ras-black, #111); font-weight:600;
}
.ras-modal .ras-btn--ghost{
  background:transparent;
  border-color:var(--ras-gold, #B08D57);
  color:var(--ras-gold-light, #c9a878);
}

/* ---------- My Account measurements form ---------- */
.ras-measurements-grid{
  display:grid; grid-template-columns:1fr; gap:4px 18px;
}
@media (min-width:560px){
  .ras-measurements-grid{grid-template-columns:1fr 1fr;}
}
.ras-measurements-form .ras-field label{
  display:block; margin-bottom:6px; font-size:.86rem;
}
.ras-measurements-form .ras-field input,
.ras-measurements-form .ras-field select{
  width:100%; min-height:48px; padding:0 14px;
  background:var(--ras-surface, #181818);
  border:1px solid var(--ras-line-soft, rgba(246,241,232,.12));
  color:var(--ras-ivory, #F6F1E8);
  font-family:inherit;
}
.ras-measurements-form .ras-note{
  font-size:.78rem; opacity:.85; margin-top:14px;
}

/* ==========================================================================
   Phase 3 — Wishlist
   ========================================================================== */
.ras-wishlist-btn{
  background:rgba(17,17,17,.55); border:1px solid var(--ras-line-soft, rgba(246,241,232,.14));
  color:var(--ras-ivory, #F6F1E8); width:38px; height:38px; border-radius:50%;
  cursor:pointer; font-size:1rem; line-height:1; display:inline-flex; align-items:center; justify-content:center;
  transition:color .15s ease, border-color .15s ease;
}
.ras-wishlist-btn.is-active{color:var(--ras-gold, #B08D57); border-color:var(--ras-gold, #B08D57);}
.ras-wishlist-btn:disabled{opacity:.5;}

/* Position over the product-loop thumbnail when the theme uses position:relative on li.product. */
.woocommerce ul.products li.product{position:relative;}
.woocommerce ul.products li.product .ras-wishlist-btn{position:absolute; top:12px; inset-inline-end:12px; z-index:2;}
.ras-wishlist-single{margin:18px 0;}

.ras-wishlist-grid{display:grid; gap:14px;}
.ras-wishlist-item{
  display:grid; grid-template-columns:72px 1fr auto; gap:14px; align-items:center;
  background:var(--ras-surface, #181818); border:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  padding:12px;
}
.ras-wishlist-item__thumb img{width:72px; height:96px; object-fit:cover;}
.ras-wishlist-item__body{display:flex; flex-direction:column; gap:4px; font-size:.92rem;}
.ras-wishlist-item__price{color:var(--ras-gold-light, #c9a878); font-size:.85rem;}

/* ==========================================================================
   Phase 3 — AJAX filters
   ========================================================================== */
.ras-filters{margin-bottom:24px;}
.ras-filters__panel{
  margin-top:14px; padding:20px;
  background:var(--ras-surface, #181818);
  border:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  display:grid; gap:20px;
}
.ras-filters__panel[hidden]{display:none;}
.ras-filters__group{border:none; margin:0; padding:0;}
.ras-filters__group legend{
  font-size:.8rem; letter-spacing:.06em; color:var(--ras-ivory, #F6F1E8);
  margin-bottom:10px; padding:0;
}
.ras-filters__option{
  display:flex; align-items:center; gap:8px; font-size:.88rem;
  color:var(--ras-ivory-dim, #b8b0a3); margin-bottom:8px; cursor:pointer;
}
.ras-filters__price{display:flex; gap:10px;}
.ras-filters__price input{
  width:100%; min-height:42px; padding:0 12px;
  background:var(--ras-black, #111); color:var(--ras-ivory, #F6F1E8);
  border:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
}
.ras-filters__actions{display:flex; gap:10px; flex-wrap:wrap;}
.ras-filters__status{font-size:.82rem; color:var(--ras-ivory-dim, #b8b0a3); margin:10px 0 20px; min-height:1.2em;}
.ras-filters__empty{padding:40px 0; text-align:center; color:var(--ras-ivory-dim, #b8b0a3);}

/* ==========================================================================
   Phase 3 — RAS Club
   ========================================================================== */
.ras-club-card{
  background:var(--ras-surface, #181818); border:1px solid var(--ras-gold, #B08D57);
  padding:30px 26px; text-align:center; max-width:420px; margin-bottom:32px;
}
.ras-club-points{
  font-family:var(--ras-font-en, 'Jost', sans-serif); font-size:2.4rem; color:var(--ras-ivory, #F6F1E8);
  margin:8px 0;
}
.ras-club-points small{font-size:.9rem; color:var(--ras-ivory-dim, #b8b0a3); font-family:inherit;}
.ras-club-perk{font-size:.88rem; margin-bottom:18px;}
.ras-club-progress{height:6px; background:var(--ras-line-soft, rgba(246,241,232,.10)); margin-bottom:12px;}
.ras-club-progress__bar{height:100%; background:var(--ras-gold, #B08D57);}
.ras-club-next{font-size:.82rem; color:var(--ras-gold-light, #c9a878); margin:0;}

.ras-club-table{width:100%; border-collapse:collapse; max-width:640px;}
.ras-club-table th,.ras-club-table td{
  padding:12px 10px; text-align:start; font-size:.86rem;
  border-bottom:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  color:var(--ras-ivory-dim, #b8b0a3);
}
.ras-club-table th{color:var(--ras-ivory, #F6F1E8); font-weight:600;}
.ras-club-table tr.is-current td{color:var(--ras-gold-light, #c9a878);}

/* ==========================================================================
   Phase 3 — Build Your Look product results
   ========================================================================== */
.ras-look-page .ras-result{max-width:none;}
[data-ras-look-products]{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px; text-align:start; margin-top:10px;
}
@media (min-width:640px){
  [data-ras-look-products]{grid-template-columns:repeat(4,1fr);}
}
.ras-look-product{
  display:flex; flex-direction:column; gap:6px;
  background:var(--ras-black, #111); border:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  padding:10px; font-size:.82rem; color:var(--ras-ivory, #F6F1E8);
}
.ras-look-product img{width:100%; aspect-ratio:3/4; object-fit:cover;}
.ras-look-product__price{color:var(--ras-gold-light, #c9a878); font-size:.78rem;}

/* ==========================================================================
   Phase 4 — Corporate / bulk order form
   ========================================================================== */
.ras-corporate-hp{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; margin:0; padding:0;
}
.ras-corporate-errors{
  background:rgba(224,138,138,.08); border:1px solid #e08a8a;
  padding:14px 18px; margin-bottom:24px;
}
.ras-corporate-errors p{margin:0 0 6px; font-size:.86rem; color:#e08a8a;}
.ras-corporate-errors p:last-child{margin-bottom:0;}

.ras-corporate-checks{
  display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-top:10px;
}
@media (min-width:560px){
  .ras-corporate-checks{grid-template-columns:repeat(3,1fr);}
}
.ras-corporate-check{
  display:flex; align-items:center; gap:8px; font-size:.88rem;
  color:var(--ras-ivory-dim, #b8b0a3); cursor:pointer;
}

.ras-corporate-form textarea{
  width:100%; min-height:110px; padding:12px 14px; resize:vertical;
  background:var(--ras-surface, #181818); color:var(--ras-ivory, #F6F1E8);
  border:1px solid var(--ras-line-soft, rgba(246,241,232,.10));
  font-family:inherit; font-size:1rem;
}

/* Admin leads table — status select sits inline with the native WP table. */
.wrap select[name="status"]{min-width:140px;}
