/* ================================================================
   RIZA — Panels, Popups, Special Pages CSS
   ================================================================ */

/* ══════════════════════════════════════════
   CART PANEL (side drawer)
   ══════════════════════════════════════════ */
.panel-overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(3px);
  z-index:2000;
  opacity:0; pointer-events:none;
  transition:opacity .3s ease;
}
.panel-overlay.open { opacity:1; pointer-events:all; }

.cart-panel {
  position:fixed;
  top:0; left:0;
  width:min(420px, 100vw);
  height:100%;
  background:var(--bgc-card);
  z-index:2001;
  display:flex; flex-direction:column;
  transform:translateX(-100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:4px 0 40px rgba(0,0,0,.15);
}
.cart-panel.open { transform:translateX(0); }

.cp-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px;
  border-bottom:1px solid var(--bgc-line);
  background:var(--bgc-chrome);
  color:#fff;
}
.cp-head h3 { font-size:16px; font-weight:700; letter-spacing:.5px; }
.cp-head .cp-count {
  background:var(--bgc-warmink); color:#fff;
  font-size:11px; font-weight:700;
  padding:2px 8px; border-radius:50px;
  margin-right:8px;
}
.cp-close {
  background:rgba(255,255,255,.12); border:none;
  color:#fff; width:34px; height:34px;
  border-radius:50%; font-size:16px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s;
}
.cp-close:hover { background:rgba(255,255,255,.25); }

.cp-items { flex:1; overflow-y:auto; padding:16px; }
.cp-items::-webkit-scrollbar { width:3px; }
.cp-items::-webkit-scrollbar-thumb { background:var(--bgc-alt); border-radius:2px; }

.cp-item {
  display:flex; gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--bgc-line2);
  position:relative;
}
.cp-item-img {
  width:80px; flex-shrink:0;
  aspect-ratio:3/4;
  border-radius:8px; overflow:hidden;
  background:var(--bgc-soft);
}
.cp-item-img img { width:100%; height:100%; object-fit:cover; }
.cp-item-info { flex:1; min-width:0; }
.cp-item-name {
  font-size:13.5px; font-weight:600;
  line-height:1.4; margin-bottom:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cp-item-meta { font-size:12px; color:var(--bgc-mut); margin-bottom:8px; }
.cp-item-price {
  font-size:14px; font-weight:800; color:var(--bgc-ink);
  display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px;
}
/* Before-discount price: muted + struck through with a gold line */
.cp-item-price del,
.cp-item-price del .amount,
.cp-item-price del bdi {
  color:#b3aca2;
  font-weight:600;
  font-size:12px;
  text-decoration:line-through;
  text-decoration-color:#d9b96e;
  text-decoration-thickness:1.5px;
}
/* After-discount price: bold, prominent */
.cp-item-price ins,
.cp-item-price ins .amount,
.cp-item-price ins bdi {
  color:var(--bgc-ink);
  font-weight:900;
  font-size:15px;
  text-decoration:none;
}
/* Savings badge */
.cp-item-off {
  display:inline-flex; align-items:center;
  background:#fdeaea; color:var(--bgc-ink);
  border:1px solid #f6c9c9;
  border-radius:20px;
  padding:1px 9px;
  font-size:10.5px; font-weight:800;
  line-height:1.75;
  white-space:nowrap;
}
.cp-item-qty {
  display:flex; align-items:center; gap:10px;
  margin-top:8px;
}
.cp-qty-btn {
  width:26px; height:26px;
  border:1.5px solid var(--bgc-line);
  background:var(--bgc-card); border-radius:50%;
  font-size:14px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .2s;
  font-family:var(--font);
}
.cp-qty-btn:hover { border-color:var(--bgc-ink); background:var(--bgc-chrome); color:#fff; }
.cp-qty-num { font-size:14px; font-weight:700; min-width:20px; text-align:center; }
.cp-item-remove {
  position:absolute; top:14px; left:0;
  background:none; border:none;
  color:var(--bgc-mut); font-size:14px; cursor:pointer;
  transition:color .2s; padding:4px;
}
.cp-item-remove:hover { color:var(--bgc-ink); }

.cp-empty {
  text-align:center; padding:60px 20px;
  color:var(--bgc-mut);
}
.cp-empty i { font-size:48px; margin-bottom:16px; display:block; opacity:.3; }
.cp-empty p { font-size:14px; margin-bottom:20px; }

.cp-foot {
  padding:18px 22px;
  border-top:1px solid var(--bgc-line);
  background:var(--bgc-card);
}
.cp-subtotal {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:8px; font-size:14px;
}
.cp-subtotal .label { color:var(--bgc-ink); }
.cp-subtotal .amount { font-size:18px; font-weight:800; }
.cp-tax { font-size:11px; color:var(--bgc-mut); margin-bottom:14px; text-align:left; }
.cp-shipping-note {
  display:flex; align-items:center; gap:6px;
  font-size:12px; color:var(--bgc-ink);
  background:var(--bgc-soft); padding:8px 12px;
  border-radius:8px; margin-bottom:14px;
}
.cp-btns { display:flex; flex-direction:column; gap:8px; }
.cp-btns a {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:13px; border-radius:50px;
  font-size:14px; font-weight:700;
  font-family:var(--font); text-decoration:none;
  transition:all .2s;
}
.cp-btn-checkout { background:var(--bgc-chrome); color:#fff; }
.cp-btn-checkout:hover { background:var(--bgc-chrome); }
.cp-btn-cart { background:var(--bgc-card); color:var(--bgc-ink); border:2px solid var(--bgc-ink); }
.cp-btn-cart:hover { background:var(--bgc-chrome); color:#fff; }

/* ══════════════════════════════════════════
   ACCOUNT PANEL
   ══════════════════════════════════════════ */
.account-panel {
  position:fixed;
  top:0; left:0;
  width:min(380px, 100vw);
  height:100%;
  background:var(--bgc-card);
  z-index:2001;
  display:flex; flex-direction:column;
  transform:translateX(-100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:4px 0 40px rgba(0,0,0,.15);
}
.account-panel.open { transform:translateX(0); }

.ap-head {
  background:var(--bgc-chrome); color:#fff;
  padding:0 22px;
  height:72px;
  display:flex; align-items:center; justify-content:space-between;
}
.ap-head h3 { font-size:16px; font-weight:700; }

.ap-user-info {
  padding:24px 22px;
  background:linear-gradient(135deg, var(--bgc-chrome) 0%, var(--bgc-chrome2) 100%);
  color:#fff;
  display:flex; align-items:center; gap:14px;
}
.ap-avatar {
  width:52px; height:52px;
  background:rgba(255,255,255,.15);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; color:rgba(255,255,255,.8);
  flex-shrink:0;
}
.ap-user-name { font-size:16px; font-weight:700; margin-bottom:3px; }
.ap-user-email { font-size:12px; color:rgba(255,255,255,.6); }

.ap-login-area { padding:24px 22px; }
.ap-login-area h4 { font-size:18px; font-weight:800; margin-bottom:6px; }
.ap-login-area p { font-size:13px; color:var(--bgc-ink); margin-bottom:20px; }
.ap-form-group { margin-bottom:14px; }
.ap-form-group input {
  width:100%; padding:11px 14px;
  border:1.5px solid var(--bgc-line); border-radius:10px;
  font-family:var(--font); font-size:14px;
  direction:rtl; outline:none;
  transition:border-color .2s;
}
.ap-form-group input:focus { border-color:var(--bgc-ink); }
.ap-login-btn {
  width:100%; padding:12px;
  background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:50px;
  font-family:var(--font); font-size:14px; font-weight:700;
  cursor:pointer; transition:background .2s;
  margin-bottom:10px;
}
.ap-login-btn:hover { background:var(--bgc-chrome); }
.ap-register-link {
  display:block; text-align:center;
  font-size:13px; color:var(--bgc-ink);
  padding:8px;
}
.ap-register-link a { color:var(--bgc-ink); font-weight:700; border-bottom:1px solid var(--bgc-ink); }

.ap-links { padding:8px 0; border-top:1px solid var(--bgc-line2); }
.ap-link-item {
  display:flex; align-items:center; gap:14px;
  padding:14px 22px;
  font-size:14px; color:var(--bgc-ink);
  text-decoration:none;
  transition:background .2s;
  border-bottom:1px solid var(--bgc-line2);
}
.ap-link-item:hover { background:var(--bgc-card); }
.ap-link-item i { width:20px; color:var(--bgc-mut); font-size:16px; }
.ap-link-item .ap-badge {
  margin-right:auto; background:var(--bgc-warmink); color:#fff;
  font-size:10px; font-weight:700;
  padding:2px 7px; border-radius:50px;
}
.ap-logout {
  margin:16px 22px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:11px;
  border:1.5px solid var(--bgc-line); border-radius:50px;
  color:var(--bgc-ink); font-size:13px; font-weight:600;
  cursor:pointer; background:none; width:calc(100% - 44px);
  font-family:var(--font); text-decoration:none;
  transition:all .2s;
}
.ap-logout:hover { background:var(--bgc-warm); border-color:var(--bgc-ink); }

/* ══════════════════════════════════════════
   WISHLIST PAGE
   ══════════════════════════════════════════ */
.wishlist-page { padding:48px 0 80px; }
.wishlist-hero {
  background:linear-gradient(135deg, var(--bgc-chrome) 0%, var(--bgc-chrome2) 100%);
  color:#fff; padding:56px 0;
  text-align:center; margin-bottom:48px;
  position:relative; overflow:hidden;
}
.wishlist-hero::before {
  content:'♡';
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  font-size:280px; opacity:.03;
  pointer-events:none;
}
.wishlist-hero h1 { font-size:32px; font-weight:900; margin-bottom:8px; }
.wishlist-hero p { font-size:15px; color:rgba(255,255,255,.6); }
.wishlist-hero .count-badge {
  display:inline-block; background:var(--bgc-warmink);
  color:#fff; font-size:13px; font-weight:700;
  padding:4px 14px; border-radius:50px; margin-top:12px;
}

.wishlist-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:22px;
}
.wishlist-card {
  background:var(--bgc-card); border-radius:14px;
  overflow:hidden; box-shadow:0 2px 16px rgba(0,0,0,.07);
  transition:transform .3s, box-shadow .3s;
  position:relative;
}
.wishlist-card:hover { transform:translateY(-6px); box-shadow:0 10px 32px rgba(0,0,0,.13); }
.wishlist-card-img { aspect-ratio:3/4; overflow:hidden; background:var(--bgc-soft); position:relative; }
.wishlist-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.wishlist-card:hover .wishlist-card-img img { transform:scale(1.06); }
.wishlist-remove-btn {
  position:absolute; top:10px; left:10px;
  width:32px; height:32px;
  background:var(--bgc-card); border:none;
  border-radius:50%; color:var(--bgc-ink);
  font-size:14px; display:flex; align-items:center;
  justify-content:center; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
  transition:all .2s;
}
.wishlist-remove-btn:hover { background:var(--bgc-warmink); color:#fff; transform:scale(1.1); }
.wishlist-card-body { padding:12px 14px 16px; }
.wishlist-card-name { font-size:14px; font-weight:600; margin-bottom:6px; line-height:1.4; }
.wishlist-card-price { font-size:16px; font-weight:800; margin-bottom:12px; }
.wishlist-card-price .was { font-size:12px; font-weight:400; color:var(--bgc-mut); text-decoration:line-through; margin-right:6px; }
.wishlist-add-cart {
  display:flex; align-items:center; justify-content:center; gap:7px;
  width:100%; padding:10px;
  background:var(--bgc-chrome); color:#fff; border:none;
  border-radius:50px; font-family:var(--font);
  font-size:13px; font-weight:700;
  cursor:pointer; transition:all .2s; text-decoration:none;
}
.wishlist-add-cart:hover { background:var(--bgc-chrome); }

.wishlist-empty {
  text-align:center; padding:80px 20px;
}
.wishlist-empty i { font-size:72px; color:var(--bgc-mut); display:block; margin-bottom:20px; }
.wishlist-empty h2 { font-size:22px; font-weight:700; margin-bottom:10px; }
.wishlist-empty p { color:var(--bgc-mut); margin-bottom:24px; }

/* ══════════════════════════════════════════
   STATIC PAGES — Shared Hero
   ══════════════════════════════════════════ */
.page-hero {
  padding:60px 0;
  background:var(--bgc-chrome);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-hero::after {
  content:'';
  position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events:none;
}
.page-hero-inner { position:relative; z-index:1; }
.page-hero .breadcrumb {
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-size:12px; color:rgba(255,255,255,.4);
  margin-bottom:16px;
}
.page-hero .breadcrumb a { color:rgba(255,255,255,.5); }
.page-hero .breadcrumb span { color:rgba(255,255,255,.7); }
.page-hero h1 { font-size:clamp(26px, 4vw, 48px); font-weight:900; margin-bottom:10px; }
.page-hero p { font-size:16px; color:rgba(255,255,255,.65); max-width:520px; margin:0 auto; }

/* ══════════════════════════════════════════
   FAQ PAGE
   ══════════════════════════════════════════ */
.faq-page { padding:64px 0; }
.faq-cats {
  display:flex; gap:10px; flex-wrap:wrap;
  justify-content:center; margin-bottom:48px;
}
.faq-cat-btn {
  padding:9px 22px; border-radius:50px;
  border:1.5px solid var(--bgc-line);
  font-family:var(--font); font-size:13px;
  cursor:pointer; background:var(--bgc-card);
  transition:all .2s;
}
.faq-cat-btn.active, .faq-cat-btn:hover {
  background:var(--bgc-chrome); color:#fff; border-color:var(--bgc-ink);
}
.faq-list { max-width:760px; margin:0 auto; }
.faq-item {
  border:1.5px solid var(--bgc-line);
  border-radius:12px; margin-bottom:12px;
  overflow:hidden; transition:border-color .2s;
}
.faq-item.open { border-color:var(--bgc-ink); }
.faq-q {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; cursor:pointer;
  font-size:15px; font-weight:600;
  background:var(--bgc-card); user-select:none;
  transition:background .2s; gap:14px;
}
.faq-item.open .faq-q { background:var(--bgc-chrome); color:#fff; }
.faq-q-icon {
  width:28px; height:28px; flex-shrink:0;
  border-radius:50%; border:1.5px solid var(--bgc-line);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; transition:all .3s;
}
.faq-item.open .faq-q-icon { background:rgba(255,255,255,.15); border-color:transparent; color:#fff; transform:rotate(45deg); }
.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height .35s ease, padding .35s ease;
  padding:0 20px;
  font-size:14px; line-height:1.8; color:var(--bgc-ink);
}
.faq-item.open .faq-a { max-height:400px; padding:18px 20px; }

/* ══════════════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════════════ */
.about-stats {
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:1px; background:var(--bgc-soft);
  margin:48px 0;
  border-radius:16px; overflow:hidden;
}
.stat-box {
  background:var(--bgc-card); padding:36px 24px;
  text-align:center;
}
.stat-box .stat-num {
  font-size:42px; font-weight:900;
  color:var(--bgc-ink); line-height:1;
  margin-bottom:6px; display:block;
}
.stat-box .stat-num span { font-size:22px; color:#bccf68; }
.stat-box .stat-label { font-size:13px; color:var(--bgc-ink); }

.about-features {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:22px; margin:48px 0;
}
.about-feat {
  background:var(--bgc-card); border-radius:14px;
  padding:32px 24px; text-align:center;
  box-shadow:0 2px 16px rgba(0,0,0,.06);
  transition:transform .3s, box-shadow .3s;
}
.about-feat:hover { transform:translateY(-5px); box-shadow:0 8px 28px rgba(0,0,0,.1); }
.about-feat-icon {
  width:64px; height:64px;
  background:var(--bgc-chrome); color:#fff;
  border-radius:18px; font-size:26px;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px;
}
.about-feat h3 { font-size:16px; font-weight:700; margin-bottom:8px; }
.about-feat p { font-size:13.5px; color:var(--bgc-ink); line-height:1.7; }

.about-team {
  background:var(--bgc-chrome); color:#fff;
  border-radius:20px; padding:48px;
  margin:48px 0; text-align:center;
}
.about-team h2 { font-size:28px; font-weight:900; margin-bottom:10px; }
.about-team p { color:rgba(255,255,255,.65); line-height:1.8; max-width:600px; margin:0 auto 28px; }

/* ══════════════════════════════════════════
   POLICY PAGES (shipping / returns / privacy / terms)
   ══════════════════════════════════════════ */
.policy-page { padding:64px 0 80px; }
.policy-layout {
  display:grid; grid-template-columns:260px 1fr;
  gap:40px; align-items:start;
}
.policy-sidebar {
  position:sticky; top:calc(var(--header-h) + 20px);
  background:var(--bgc-card); border-radius:14px;
  border:1.5px solid var(--bgc-line); overflow:hidden;
}
.policy-sidebar-head {
  background:var(--bgc-chrome); color:#fff;
  padding:16px 20px; font-size:14px; font-weight:700;
}
.policy-nav a {
  display:flex; align-items:center; gap:10px;
  padding:13px 20px; font-size:13.5px; color:var(--bgc-ink);
  border-bottom:1px solid var(--bgc-line2);
  text-decoration:none; transition:all .2s;
}
.policy-nav a:hover, .policy-nav a.active {
  background:var(--bgc-card); color:var(--bgc-ink); font-weight:600;
}
.policy-nav a i { width:16px; color:var(--bgc-mut); }

.policy-content h2 {
  font-size:20px; font-weight:800;
  margin:36px 0 14px; padding-top:36px;
  border-top:1px solid var(--bgc-line);
  scroll-margin-top:calc(var(--header-h) + 20px);
}
.policy-content h2:first-child { margin-top:0; padding-top:0; border-top:none; }
.policy-content p { font-size:14.5px; line-height:1.9; color:var(--bgc-ink); margin-bottom:14px; }
.policy-content ul { padding-right:20px; margin-bottom:14px; }
.policy-content ul li {
  font-size:14.5px; line-height:1.9; color:var(--bgc-ink);
  margin-bottom:7px; position:relative;
  padding-right:16px;
}
.policy-content ul li::before {
  content:'•'; position:absolute; right:0;
  color:var(--bgc-ink); font-size:16px;
}

.info-card {
  background:var(--bgc-card); border-radius:14px;
  border:1.5px solid var(--bgc-line);
  padding:24px; margin-bottom:20px;
}
.info-card-head {
  display:flex; align-items:center; gap:12px;
  margin-bottom:16px; padding-bottom:14px;
  border-bottom:1px solid var(--bgc-line2);
}
.info-card-head i {
  width:40px; height:40px;
  background:var(--bgc-chrome); color:#fff;
  border-radius:10px; font-size:18px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.info-card-head h3 { font-size:15px; font-weight:700; }

.shipping-table { width:100%; border-collapse:collapse; margin:20px 0; }
.shipping-table th {
  background:var(--bgc-chrome); color:#fff;
  padding:12px 16px; font-size:13px;
  font-weight:600; text-align:right;
}
.shipping-table td {
  padding:12px 16px; font-size:13.5px;
  border-bottom:1px solid var(--bgc-line); color:var(--bgc-ink);
}
.shipping-table tr:hover td { background:var(--bgc-card); }

.highlight-box {
  background:var(--bgc-warm); border-right:4px solid #bccf68;
  border-radius:8px; padding:16px 20px;
  font-size:14px; color:var(--bgc-ink); margin:16px 0;
  line-height:1.75;
}
.success-box {
  background:var(--bgc-card); border-right:4px solid var(--bgc-ink);
  border-radius:8px; padding:16px 20px;
  font-size:14px; color:var(--bgc-ink); margin:16px 0;
}
.warning-box {
  background:var(--bgc-warm); border-right:4px solid #badb25;
  border-radius:8px; padding:16px 20px;
  font-size:14px; color:var(--bgc-ink); margin:16px 0;
}

/* ══════════════════════════════════════════
   MY ORDERS PAGE
   ══════════════════════════════════════════ */
.orders-page { padding:48px 0 80px; }
.orders-tabs {
  display:flex; gap:0; border-bottom:2px solid var(--bgc-line);
  margin-bottom:32px; overflow-x:auto;
}
.orders-tab {
  padding:12px 24px; font-size:14px; font-weight:600;
  color:var(--bgc-mut); border-bottom:2px solid transparent;
  margin-bottom:-2px; cursor:pointer; white-space:nowrap;
  background:none; border-top:none; border-right:none; border-left:none;
  font-family:var(--font); transition:all .2s;
}
.orders-tab.active { color:var(--bgc-ink); border-bottom-color:var(--bgc-ink); }
.orders-tab:hover { color:var(--bgc-ink); }

.order-card {
  background:var(--bgc-card); border-radius:14px;
  border:1.5px solid var(--bgc-line);
  margin-bottom:18px; overflow:hidden;
  transition:box-shadow .2s;
}
.order-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.07); }
.order-card-head {
  display:flex; align-items:center; flex-wrap:wrap;
  gap:12px; padding:16px 20px;
  background:var(--bgc-card); border-bottom:1px solid var(--bgc-line);
}
.order-num { font-size:14px; font-weight:800; }
.order-date { font-size:12px; color:var(--bgc-mut); }
.order-status {
  padding:4px 12px; border-radius:50px;
  font-size:12px; font-weight:700;
}
.status-processing { background:var(--bgc-warm); color:var(--bgc-warmink); }
.status-completed  { background:var(--bgc-soft); color:var(--bgc-ink); }
.status-cancelled  { background:var(--bgc-warm); color:var(--bgc-ink); }
.status-on-hold    { background:var(--bgc-soft); color:var(--bgc-ink); }
.status-pending    { background:var(--bgc-alt); color:var(--bgc-ink); }
.order-total-head { margin-right:auto; font-size:15px; font-weight:800; }

.order-items { padding:16px 20px; display:flex; flex-direction:column; gap:12px; }
.order-item { display:flex; gap:12px; align-items:center; }
.order-item-img {
  width:60px; height:80px; flex-shrink:0;
  border-radius:8px; overflow:hidden; background:var(--bgc-soft);
}
.order-item-img img { width:100%; height:100%; object-fit:cover; }
.order-item-info { flex:1; }
.order-item-name { font-size:13.5px; font-weight:600; margin-bottom:4px; }
.order-item-meta { font-size:12px; color:var(--bgc-mut); }

.order-card-foot {
  padding:14px 20px;
  border-top:1px solid var(--bgc-line2);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.order-actions { display:flex; gap:8px; }
.order-action-btn {
  padding:8px 18px; border-radius:50px;
  font-family:var(--font); font-size:12px; font-weight:600;
  cursor:pointer; transition:all .2s; text-decoration:none;
  display:inline-flex; align-items:center; gap:6px;
}
.btn-track { background:var(--bgc-chrome); color:#fff; border:none; }
.btn-track:hover { background:var(--bgc-chrome); }
.btn-reorder { background:var(--bgc-card); color:var(--bgc-ink); border:1.5px solid var(--bgc-line); }
.btn-reorder:hover { border-color:var(--bgc-ink); }
.btn-invoice { background:var(--bgc-card); color:var(--bgc-ink); border:1.5px solid var(--bgc-line); }

/* ══════════════════════════════════════════
   SHOP / ARCHIVE PAGE — v4 (horizontal filter bar, full-width grid)
   ══════════════════════════════════════════ */

/* Global overflow guard */
.shop-page-header,
.shop-content {
  max-width:100%;
  overflow-x:hidden;
  box-sizing:border-box;
}
/* filter-bar must NOT have overflow hidden — dropdowns are absolutely positioned */
.filter-bar { max-width:100%; box-sizing:border-box; }

/* Page Header */
.shop-page-header {
  background:linear-gradient(135deg, var(--bgc-card) 0%, var(--bgc-card) 100%);
  border-bottom:1px solid var(--bgc-line);
  padding:22px 0 18px;
}
.shop-breadcrumb {
  display:flex; align-items:center; gap:6px;
  font-size:12px; color:var(--bgc-mut); margin-bottom:10px;
  flex-wrap:wrap; overflow-x:hidden;
}
.shop-breadcrumb a { color:var(--bgc-mut); text-decoration:none; transition:color .2s; }
.shop-breadcrumb a:hover { color:var(--bgc-ink); }
.shop-breadcrumb i { font-size:9px; color:var(--bgc-mut); }
.shop-header-row {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap;
}
.shop-page-title { font-size:20px; font-weight:800; color:var(--bgc-ink); margin:0; }
.shop-page-desc { font-size:13px; color:var(--bgc-mut); margin:3px 0 0; }
.shop-count {
  font-size:12px; color:#fff; white-space:nowrap;
  background:var(--bgc-chrome); padding:4px 12px; border-radius:50px;
  font-weight:600;
}

/* ── Sub-cats horizontal scroll strip ──────────────────────────── */
.shop-subcats {
  background:var(--bgc-card); border-bottom:1px solid var(--bgc-line);
  padding:10px 0;
  overflow:hidden;
  position:relative;
}

/* Fade edges — show that more chips exist beyond the visible area */
.shop-subcats::before,
.shop-subcats::after {
  content:'';
  position:absolute; top:0; bottom:0;
  width:52px; z-index:2; pointer-events:none;
  transition:opacity .25s;
}
.shop-subcats::before {  /* right edge — RTL start (الكل side) */
  right: 0;
  background:linear-gradient(to left, var(--bgc-card) 15%, transparent);
}
.shop-subcats::after {   /* left edge — RTL end (last chip side) */
  left: 0;
  background:linear-gradient(to right, var(--bgc-card) 15%, transparent);
}
/* hide the fade when already at that edge */
.shop-subcats.sc-at-start::before { opacity:0; }
.shop-subcats.sc-at-end::after    { opacity:0; }

.shop-subcats .riza-container {
  /* override base .riza-container centering */
  max-width: none; margin:0; width:100%;
  direction:rtl;
  display:flex; gap:8px; flex-wrap:nowrap;
  overflow-x:auto; overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:2px 24px;
  scroll-behavior:smooth;
}
.shop-subcats .riza-container::-webkit-scrollbar { display:none; }
.shop-subcats .riza-container::after { content:''; flex-shrink:0; width:8px; }

.subcat-pill {
  padding:7px 16px; border-radius:50px; font-size:13px; font-weight:600;
  border:1.5px solid var(--bgc-line); color:var(--bgc-ink); white-space:nowrap; flex-shrink:0;
  text-decoration:none; transition:all .2s; background:var(--bgc-card);
}
.subcat-pill:hover { background:var(--bgc-soft); border-color:var(--bgc-line); color:var(--bgc-ink); }
.subcat-pill.active { background:var(--bgc-chrome); color:#fff; border-color:var(--bgc-ink); }
.subcat-pill span { opacity:.55; font-size:11px; margin-right:2px; }

/* ── Shop Content (full-width, no sidebar) ── */
.shop-content {
  padding:24px 0 80px;
  width:100%;
  box-sizing:border-box;
}

/* ══════════════════════════════════════════
   HORIZONTAL FILTER BAR
   ══════════════════════════════════════════ */
.filter-bar {
  background:var(--bgc-card);
  border-bottom:1px solid var(--bgc-line);
  padding:10px 0;
  position:sticky;
  top:var(--header-h, 72px);
  z-index:200;
  box-shadow:0 3px 14px rgba(0,0,0,.055);
}

/* Inner row: chips left, sort+view right */
.fbar-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:nowrap;
}
.fbar-chips {
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  flex:1;
  min-width:0;
}
.fbar-right {
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}

/* ── Filter chip buttons ── */
.fbar-item { position:relative; }
.fbar-btn {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 15px;
  border:1.5px solid var(--bgc-line);
  border-radius:50px;
  background:var(--bgc-card);
  font-family:var(--font, 'Tajawal', sans-serif);
  font-size:13px;
  font-weight:700;
  color:var(--bgc-ink);
  cursor:pointer;
  transition:all .2s;
  white-space:nowrap;
  line-height:1;
}
.fbar-btn:hover { border-color:var(--bgc-ink); background:var(--bgc-card); color:var(--bgc-ink); }
.fbar-btn.active { border-color:var(--bgc-ink); background:var(--bgc-chrome); color:#fff; }
.fbar-btn.has-value { border-color:var(--bgc-ink); background:var(--bgc-chrome); color:#fff; }
.fbar-btn em { font-style:normal; font-weight:600; opacity:.85; font-size:12px; }
.fbar-arrow { font-size:9px; transition:transform .2s; }
.fbar-btn.active .fbar-arrow { transform:rotate(180deg); }

/* ── Dropdown panels ── */
.fbar-panel {
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:230px;
  background:var(--bgc-card);
  border:1.5px solid var(--bgc-line);
  border-radius:16px;
  box-shadow:0 10px 40px rgba(0,0,0,.13);
  z-index:600;
  /* no overflow:hidden — content must expand freely, no scroll */
  animation: fbar-drop .18s ease;
}
.fbar-panel.open { display:block; }
@keyframes fbar-drop {
  from { opacity:0; transform:translateY(-6px); }
  to   { opacity:1; transform:translateY(0); }
}
.fbar-panel-body { padding:16px; }
.fbar-panel-foot {
  padding:10px 16px 12px;
  border-top:1px solid var(--bgc-line2);
  background:var(--bgc-card);
  border-radius:0 0 16px 16px;
}
.fbar-apply {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding:10px 0;
  background:var(--bgc-chrome);
  color:#fff;
  border:none;
  border-radius:50px;
  font-family:var(--font, 'Tajawal', sans-serif);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s;
}
.fbar-apply:hover { background:var(--bgc-chrome); }

/* ── Clear all button ── */
.fbar-clear-btn {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 13px;
  background:var(--bgc-warm);
  border:1.5px solid var(--bgc-line);
  border-radius:50px;
  font-family:var(--font, 'Tajawal', sans-serif);
  font-size:12px;
  font-weight:700;
  color:var(--bgc-ink);
  cursor:pointer;
  transition:all .2s;
  white-space:nowrap;
}
.fbar-clear-btn:hover { background:var(--bgc-warmink); color:#fff; border-color:var(--bgc-ink); }
.fbar-clear-count {
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--bgc-warmink); color:#fff;
  border-radius:50px; padding:1px 7px;
  font-size:10px; font-weight:800; min-width:18px;
}
.fbar-clear-btn:hover .fbar-clear-count { background:rgba(255,255,255,.3); }

/* ── Active filter tags row ── */
.fbar-active-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:8px 0 2px;
}

/* ── Price note ── */
.price-note {
  font-size:11px; color:var(--bgc-mut);
  margin-top:8px; text-align:center;
}

/* sub-category indented label */
.filter-check.sub { padding-right:20px; opacity:.85; }

.filter-check {
  display:flex; align-items:center; gap:10px;
  padding:6px 0; cursor:pointer; font-size:13px; color:var(--bgc-ink);
}
.filter-check input[type="checkbox"] {
  width:16px; height:16px; flex-shrink:0; cursor:pointer;
  accent-color:var(--bgc-ink); border-radius:4px;
}
.filter-check-count { margin-right:auto; color:var(--bgc-mut); font-size:11px; }

.price-range-inputs {
  display:flex; align-items:center; gap:8px; margin-top:8px;
}
.price-range-inputs input {
  flex:1; min-width:0; padding:8px 10px; font-size:13px;
  border:1.5px solid var(--bgc-line); border-radius:8px;
  text-align:center; direction:ltr; outline:none;
  transition:border-color .2s; box-sizing:border-box;
}
.price-range-inputs input:focus { border-color:var(--bgc-ink); }
.price-range-inputs span { color:var(--bgc-mut); font-size:12px; flex-shrink:0; }

/* ── لوحة فيها خيارات كتيرة ───────────────────────────────────────
   🔴 كانت الألوان ١١٩ خانة بلا أسماء جوّه لوحة ٢٣٠ بكسل، فاتضغطت لشرائح
   رفيعة ملوّنة مالهاش أي معنى. دلوقتي: اسم جنب كل لون · تمرير بحدّ أقصى
   للارتفاع · بحث حيّ · والأكثر استعمالًا فوق. */
.fbar-panel-wide { min-width:300px; }
.fbar-panel-body { max-height:340px; overflow-y:auto; overscroll-behavior:contain; }
.fbar-panel-body::-webkit-scrollbar { width:8px; }
.fbar-panel-body::-webkit-scrollbar-thumb { background:var(--bgc-alt); border-radius:8px; }
.fbar-panel-body::-webkit-scrollbar-thumb:hover { background:#bccf68; }

.fbar-search {
  position:sticky; top:-16px; z-index:2;
  display:flex; align-items:center; gap:7px;
  margin:-4px 0 10px; padding:7px 10px;
  background:var(--bgc-card); border:1.5px solid var(--bgc-line); border-radius:10px;
}
.fbar-search i { color:var(--bgc-mut); font-size:12px; flex-shrink:0; }
.fbar-search input {
  flex:1; min-width:0; border:0; outline:0; background:transparent;
  font-family:var(--font); font-size:12.5px; color:var(--bgc-ink);
}
.fbar-search input::placeholder { color:var(--bgc-mut); }
.fbar-search-count {
  flex-shrink:0; font-size:11px; color:var(--bgc-mut);
  background:var(--bgc-card); border-radius:20px; padding:1px 8px;
}
.fbar-noresult { margin:10px 2px 0; font-size:12.5px; color:var(--bgc-mut); text-align:center; }
.fbar-opt[hidden] { display:none !important; }

.filter-colors { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:2px 0 4px; }
.color-opt {
  display:flex; align-items:center; gap:8px;
  padding:5px 7px; border-radius:9px; cursor:pointer;
  transition:background .15s; min-width:0;
}
.color-opt:hover { background:var(--bgc-card); }
.color-opt.active { background:var(--bgc-warm); }
.color-name {
  font-size:12px; color:var(--bgc-ink); font-family:var(--font);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.color-opt.active .color-name { color:var(--bgc-ink); font-weight:700; }
.filter-color {
  width:22px; height:22px; border-radius:50%; flex:0 0 22px;
  cursor:pointer; border:2px solid var(--bgc-line2);
  transition:all .2s; position:relative;
  box-shadow:0 0 0 1.5px #e3e3e3, 0 1px 3px rgba(0,0,0,.12);
}
.filter-color.active { box-shadow:0 0 0 2px #111, 0 1px 4px rgba(0,0,0,.2); }
.filter-color.active::after {
  content:'✓'; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.7);
}

.filter-sizes { display:flex; flex-wrap:wrap; gap:6px; }
.filter-size {
  padding:5px 13px; border:1.5px solid var(--bgc-line);
  border-radius:7px; font-size:12px; font-weight:700;
  cursor:pointer; transition:all .2s; background:var(--bgc-card); color:var(--bgc-ink);
  font-family:var(--font);
}
.filter-size.active, .filter-size:hover { background:var(--bgc-chrome); color:#fff; border-color:var(--bgc-ink); }

.filter-rating label {
  display:flex; align-items:center; gap:8px;
  padding:6px 0; cursor:pointer; font-size:13px; color:var(--bgc-ink);
}
.filter-rating .stars { color:var(--bgc-grn); letter-spacing:1px; }
.filter-rating input { accent-color:var(--bgc-ink); }

.filter-apply-btn {
  display:block; width:calc(100% - 36px); margin:12px 18px 4px;
  padding:11px 0; background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:50px; font-family:var(--font);
  font-size:13px; font-weight:700; cursor:pointer; transition:background .2s;
  box-sizing:border-box; text-align:center;
}
.filter-apply-btn:hover { background:var(--bgc-chrome); }
.filter-reset-btn {
  display:block; width:calc(100% - 36px); margin:6px 18px 0;
  padding:9px 0; background:transparent;
  border:1.5px solid var(--bgc-line); border-radius:50px;
  font-family:var(--font); font-size:12px; color:var(--bgc-ink);
  cursor:pointer; transition:all .2s; box-sizing:border-box; text-align:center;
}
.filter-reset-btn:hover { border-color:var(--bgc-ink); color:var(--bgc-ink); }

/* Active filter chips */
.active-filters {
  display:flex; flex-wrap:wrap; gap:7px;
  padding:10px 18px 4px; align-items:center;
}
.active-filters-label { font-size:11px; color:var(--bgc-mut); }
.filter-tag {
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 11px; background:var(--bgc-soft);
  border-radius:50px; font-size:11px; font-weight:600; color:var(--bgc-ink);
  cursor:pointer; transition:all .2s;
}
.filter-tag:hover { background:var(--bgc-chrome); color:#fff; }
.filter-tag i { font-size:9px; }
.clear-all-filters {
  font-size:12px; color:var(--bgc-ink); cursor:pointer;
  background:none; border:none; font-family:var(--font); padding:0;
}

/* ── Sort select & view buttons (inside filter bar) ── */
.sort-select {
  border:1.5px solid var(--bgc-line); border-radius:50px;
  padding:8px 14px; font-size:13px;
  font-family:var(--font, 'Tajawal', sans-serif);
  background:var(--bgc-card); outline:none; cursor:pointer;
  color:var(--bgc-ink); transition:border-color .2s; direction:rtl;
}
.sort-select:focus { border-color:var(--bgc-ink); }
.view-btns { display:flex; gap:4px; }
.view-btn {
  width:34px; height:34px; border-radius:8px;
  border:1.5px solid var(--bgc-line); background:var(--bgc-card);
  color:var(--bgc-mut); cursor:pointer; transition:all .2s;
  display:flex; align-items:center; justify-content:center; font-size:13px;
}
.view-btn.active, .view-btn:hover { border-color:var(--bgc-ink); background:var(--bgc-chrome); color:#fff; }

/* ── Product Cards Grid ──────────────────── */
.products-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  width:100%; box-sizing:border-box;
}

.pcard {
  background:var(--bgc-card); border-radius:14px;
  overflow:hidden; border:1px solid var(--bgc-line);
  transition:box-shadow .3s, transform .3s, border-color .3s;
  display:flex; flex-direction:column;
  min-width:0; /* critical: prevents grid overflow */
}
.pcard:hover {
  box-shadow:0 8px 28px rgba(0,0,0,.09);
  transform:translateY(-4px); border-color:var(--bgc-line);
}

.pcard-img-wrap {
  position:relative; aspect-ratio:3/4;
  background:var(--bgc-card); overflow:hidden; flex-shrink:0;
}
.pcard-img-wrap a { display:block; width:100%; height:100%; }
.pcard-img-wrap img {
  width:100%; height:100%; object-fit:cover; object-position:top center;
  transition:transform .5s ease;
}
.pcard:hover .pcard-img-wrap img { transform:scale(1.05); }

.pcard-badge {
  position:absolute; top:10px; right:10px;
  font-size:11px; font-weight:700;
  padding:3px 9px; border-radius:20px; letter-spacing:.3px;
}
.pcard-badge.sale { background:var(--bgc-warmink); color:#fff; }
.pcard-badge.new  { background:var(--bgc-chrome); color:#fff; }

.pcard-wish {
  position:absolute; top:10px; left:10px;
  width:32px; height:32px; border-radius:50%;
  background:var(--bgc-card); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; color:var(--bgc-mut); transition:all .2s;
  opacity:0; box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.pcard:hover .pcard-wish { opacity:1; }
.pcard-wish:hover, .pcard-wish.active { color:var(--bgc-ink); background:var(--bgc-card); }

.pcard-body { padding:11px 13px 13px; flex:1; display:flex; flex-direction:column; }
.pcard-stars {
  display:flex; align-items:center; gap:2px;
  font-size:10.5px; color:var(--bgc-grn); margin-bottom:5px;
}
.pcard-stars span { color:var(--bgc-mut); font-size:10.5px; margin-right:2px; }
.pcard-name {
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; font-size:13px; font-weight:600; color:var(--bgc-ink);
  line-height:1.45; margin-bottom:8px; text-decoration:none; flex:1;
}
.pcard-name:hover { color:var(--bgc-ink); }
.pcard-price {
  display:flex; align-items:baseline; gap:7px;
  margin-bottom:11px; flex-wrap:wrap;
}
.pcard-price .price-now { font-size:16px; font-weight:800; color:var(--bgc-ink); }
.pcard-price .price-was { font-size:12px; color:var(--bgc-mut); text-decoration:line-through; opacity:0.85; }
.pcard-price del { font-size:12px; color:var(--bgc-mut); font-weight:400; opacity:0.85; }
.pcard-price ins { text-decoration:none; font-size:16px; font-weight:800; color:var(--bgc-ink); }
.pcard-btn, .pcard-atc {
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:9px 0; margin-top:auto;
  background:var(--bgc-chrome); color:#fff; border-radius:9px;
  font-size:13px; font-weight:700;
  text-decoration:none; transition:background .2s, opacity .2s;
  border:none; cursor:pointer; font-family:var(--font, 'Tajawal', sans-serif);
  box-sizing:border-box;
}
.pcard-btn:hover, .pcard-atc:hover { background:var(--bgc-chrome); }
.pcard-atc:disabled { opacity:.55; cursor:not-allowed; }

/* Homepage product card ATC button */
.product-card-atc {
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:8px 10px; margin-top:8px;
  background:var(--bgc-chrome); color:#fff; border-radius:8px;
  font-size:13px; font-weight:600; text-decoration:none;
  transition:background .2s, opacity .2s;
  border:none; cursor:pointer; font-family:var(--font, 'Tajawal', sans-serif);
}
.product-card-atc:hover { background:var(--bgc-chrome); }
.product-card-atc:disabled { opacity:.55; cursor:not-allowed; }

/* List View */
.products-grid.list-view {
  grid-template-columns:minmax(0, 1fr); gap:10px;
}
.products-grid.list-view .pcard {
  display:grid; grid-template-columns:120px minmax(0, 1fr);
  border-radius:12px; flex-direction:unset;
}
.products-grid.list-view .pcard-img-wrap {
  aspect-ratio:1/1; border-radius:12px 0 0 12px; height:100%;
}
.products-grid.list-view .pcard-body {
  padding:14px 16px; flex-direction:column; justify-content:center;
}
.products-grid.list-view .pcard-btn {
  width:auto; align-self:flex-start; padding:8px 20px;
}

/* Empty state */
/* ── حالة «لا نتائج» ──────────────────────────────────────────────
   🔴 كان الزرّ `.pcard-btn` (زرّ بطاقة منتج بعرض ١٠٠٪) فطلع شريطًا أسود
   ماسحًا الصفحة من الحافة للحافة. دلوقتي بطاقة محدودة العرض بأزرار طبيعية. */
.shop-empty {
  max-width:520px; margin:40px auto 56px; text-align:center;
  padding:44px 28px 40px; background:var(--bgc-warm);
  border:1px solid var(--bgc-line); border-radius:20px;
}
.shop-empty-icon {
  width:78px; height:78px; margin:0 auto 20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bgc-card); border:1px solid var(--bgc-line);
  box-shadow:0 6px 20px rgba(106,121,39, .07);
}
.shop-empty-icon i { font-size:28px; color:var(--bgc-grn); }
.shop-empty h3 { font-size:19px; font-weight:800; color:var(--bgc-ink); margin:0 0 8px; }
.shop-empty p { color:var(--bgc-mut); font-size:14px; line-height:1.8; margin:0 0 24px; }
.shop-empty-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.se-btn {
  display:inline-flex; align-items:center; gap:7px;
  padding:11px 22px; border-radius:12px; font-size:13.5px; font-weight:700;
  text-decoration:none; transition:.18s; font-family:var(--font); white-space:nowrap;
}
.se-btn-main { background:var(--bgc-chrome); color:#F5F2EA; border:1px solid var(--bgc-ink); }
.se-btn-main:hover { background:var(--bgc-grnf); border-color:#9EB537; color:var(--bgc-ong); }
.se-btn-ghost { background:var(--bgc-card); color:var(--bgc-ink); border:1px solid var(--bgc-line); }
.se-btn-ghost:hover { border-color:#9EB537; color:var(--bgc-ink); }
@media (max-width: 520px) {
  .shop-empty { margin:24px 14px 40px; padding:34px 18px 30px; }
  .shop-empty-actions .se-btn { flex:1 1 100%; justify-content:center; }
}

/* Pagination */
/* ══════════════════════════════════════════
   SHOP PAGINATION — premium design
   ══════════════════════════════════════════ */
.shop-pagination {
  margin-top:56px;
  padding:36px 0 0;
  border-top:1px solid var(--bgc-line);
  display:flex;
  justify-content:center;
}
.shop-pagination ul {
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0; padding:0;
  flex-wrap:nowrap;
}
/* ── Base number button ── */
.shop-pagination .page-numbers {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:46px;
  padding:0 8px;
  border-radius:14px;
  font-family:var(--font, 'Tajawal', sans-serif);
  font-size:15px;
  font-weight:700;
  color:var(--bgc-ink);
  background:var(--bgc-card);
  border:1.5px solid var(--bgc-line);
  text-decoration:none;
  transition:all .22s cubic-bezier(.4,0,.2,1);
  cursor:pointer;
  white-space:nowrap;
  position:relative;
}
.shop-pagination .page-numbers:hover:not(.current):not(.dots) {
  border-color:var(--bgc-ink);
  background:var(--bgc-chrome);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 6px 20px rgba(0,0,0,.14);
}
/* ── Current page ── */
.shop-pagination .page-numbers.current {
  background:var(--bgc-chrome);
  color:var(--bgc-grn);          /* gold text on black */
  border-color:var(--bgc-ink);
  transform:translateY(-3px);
  box-shadow:0 6px 24px rgba(0,0,0,.18);
  min-width:50px;
  font-size:16px;
}
/* ── Dots ── */
.shop-pagination .page-numbers.dots {
  border:none;
  background:transparent;
  color:var(--bgc-onmut);
  font-size:18px;
  letter-spacing:3px;
  min-width:28px;
  cursor:default;
  transform:none !important;
  box-shadow:none !important;
}
/* ── Prev / Next ── */
.shop-pagination .page-numbers.prev,
.shop-pagination .page-numbers.next {
  min-width:auto;
  padding:0 20px;
  border-radius:50px;
  gap:8px;
  font-size:13px;
  background:var(--bgc-warm);       /* brand beige */
  border-color:var(--bgc-line);
  color:var(--bgc-ink);
}
.shop-pagination .page-numbers.prev { margin-left:10px; }
.shop-pagination .page-numbers.next { margin-right:10px; }

.shop-pagination .page-numbers.prev:hover,
.shop-pagination .page-numbers.next:hover {
  background:var(--bgc-chrome);
  border-color:var(--bgc-ink);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 6px 20px rgba(0,0,0,.14);
}
/* icon inside prev/next */
.shop-pagination .page-numbers.prev i,
.shop-pagination .page-numbers.next i {
  font-size:11px;
  transition:transform .2s;
}
.shop-pagination .page-numbers.prev:hover i { transform:translateX(3px); }
.shop-pagination .page-numbers.next:hover i { transform:translateX(-3px); }

/* ══════════════════════════════════════════
   TOAST NOTIFICATIONS
   ══════════════════════════════════════════ */
.riza-toast {
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--bgc-chrome);
  color:#fff;
  padding:13px 24px;
  border-radius:50px;
  font-family:var(--font, 'Tajawal', sans-serif);
  font-size:14px;
  font-weight:700;
  z-index:99999;
  opacity:0;
  pointer-events:none;
  display:flex;
  align-items:center;
  gap:9px;
  box-shadow:0 8px 40px rgba(0,0,0,.25);
  white-space:nowrap;
  max-width:calc(100vw - 40px);
  transition:opacity .25s ease, transform .25s ease;
  direction:rtl;
}
.riza-toast.show {
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.riza-toast--success { background:var(--bgc-chrome); }
.riza-toast--error   { background:var(--bgc-warmink); }
.riza-toast--info    { background:var(--bgc-chrome); }
.riza-toast i        { font-size:15px; flex-shrink:0; }

/* ── ATC button success state ── */
.spd-atc-btn.atc-success,
.pcard-atc.atc-success,
.product-card-atc.atc-success {
  background:var(--bgc-chrome) !important;
}

/* ── Variant block error highlight ── */
@keyframes riza-shake {
  0%, 100% { transform:translateX(0); }
  20%, 60%  { transform:translateX(-5px); }
  40%, 80%  { transform:translateX(5px); }
}
.spd-variant-required {
  animation:riza-shake .45s ease;
  outline:2px solid var(--bgc-ink);
  outline-offset:4px;
  border-radius:10px;
}
.spd-variant-required .spd-var-label { color:var(--bgc-ink); }

/* ── Card button variants ── */
.pcard-btn-outline {
  background:var(--bgc-card);
  color:var(--bgc-ink);
  border:1.5px solid var(--bgc-ink);
}
.pcard-btn-outline:hover { background:var(--bgc-chrome); color:#fff; }
.pcard-btn-ghost {
  background:var(--bgc-soft);
  color:var(--bgc-mut);
  border:1.5px solid var(--bgc-line);
}
.pcard-btn-ghost:hover { background:var(--bgc-soft); color:var(--bgc-ink); }

/* ── Homepage card button variants ── */
.product-card-atc-outline {
  background:var(--bgc-card);
  color:var(--bgc-ink);
  border:1.5px solid var(--bgc-ink);
}
.product-card-atc-outline:hover { background:var(--bgc-chrome); color:#fff; }
.product-card-atc-ghost {
  background:var(--bgc-soft);
  color:var(--bgc-mut);
}
.product-card-atc-ghost:hover { background:var(--bgc-soft); }

/* Legacy helpers (kept for compatibility) */
.shop-results { font-size:13px; color:var(--bgc-ink); }
.shop-results strong { color:var(--bgc-ink); }
.shop-sort {
  padding:9px 14px; border:1.5px solid var(--bgc-line);
  border-radius:8px; font-family:var(--font); font-size:13px;
  background:var(--bgc-card); outline:none; cursor:pointer; direction:rtl;
}
.view-toggle { display:flex; gap:4px; }
.shop-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.shop-grid.list-view { grid-template-columns:minmax(0,1fr); }
.page-num {
  width:38px; height:38px; border:1.5px solid var(--bgc-line); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:600; color:var(--bgc-onchrome);
  text-decoration:none; transition:all .2s;
}
.page-num.active, .page-num:hover { background:var(--bgc-chrome); color:#fff; border-color:var(--bgc-ink); }
.page-dots { color:var(--bgc-mut); padding:0 4px; }
.mobile-filter-toggle { display:none; }
.filter-panel-mobile { display:none; }

/* ══════════════════════════════════════════
   PRODUCT DETAIL PAGE
   ══════════════════════════════════════════ */
.pdp-wrap { padding:32px 0 80px; }
.pdp-breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-size:12px; color:var(--bgc-mut); margin-bottom:28px;
}
.pdp-breadcrumb a { color:var(--bgc-mut); transition:color .2s; }
.pdp-breadcrumb a:hover { color:var(--bgc-ink); }
.pdp-breadcrumb .sep { color:var(--bgc-mut); }

/* ══════════════════════════════════════════
   SINGLE PRODUCT — spd (clean redesign)
   ══════════════════════════════════════════ */
.spd-page { padding:28px 0 80px; background:var(--bgc-card); }

.spd-breadcrumb {
  display:flex; align-items:center; gap:6px;
  font-size:12px; color:var(--bgc-mut); margin-bottom:24px; flex-wrap:wrap;
}
.spd-breadcrumb a { color:var(--bgc-mut); text-decoration:none; }
.spd-breadcrumb a:hover { color:var(--bgc-ink); }
.spd-breadcrumb i { font-size:10px; }
.spd-breadcrumb span { color:var(--bgc-ink); }

.spd-layout { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; margin-bottom:56px; }

/* Gallery */
.spd-gallery { display:grid; grid-template-columns:72px 1fr; gap:12px; position:sticky; top:calc(var(--header-h,72px) + 16px); }
.spd-thumbs { display:flex; flex-direction:column; gap:8px; }
.spd-thumb {
  width:72px; height:88px; border-radius:8px; overflow:hidden;
  border:2px solid transparent; background:var(--bgc-card);
  cursor:pointer; padding:0; transition:border-color .2s;
}
.spd-thumb:hover, .spd-thumb.active { border-color:var(--bgc-ink); }
.spd-thumb img { width:100%; height:100%; object-fit:contain; padding:4px; }
.spd-main-img {
  position:relative; border-radius:14px; overflow:hidden;
  background:var(--bgc-card); aspect-ratio:3/4;
}
.spd-main-img img {
  width:100%; height:100%; object-fit:contain;
  transition:opacity .2s; padding:12px;
}
.spd-badge {
  position:absolute; top:12px; right:12px;
  padding:4px 10px; border-radius:20px; font-size:12px; font-weight:700;
}
.spd-badge.sale { background:var(--bgc-warmink); color:#fff; }

/* Info */
.spd-cat {
  display:inline-block; font-size:11px; font-weight:600; letter-spacing:2px;
  text-transform:uppercase; color:var(--bgc-mut); text-decoration:none;
  margin-bottom:8px; transition:color .2s;
}
.spd-cat:hover { color:var(--bgc-ink); }
.spd-title { font-size:24px; font-weight:800; color:var(--bgc-ink); line-height:1.3; margin:0 0 14px; }
.spd-rating { display:flex; align-items:center; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.spd-stars { display:flex; gap:2px; font-size:13px; color:var(--bgc-grn); }
.spd-rating-num { font-size:13px; font-weight:700; color:var(--bgc-ink); }
.spd-rev-link { font-size:12px; color:var(--bgc-mut); text-decoration:underline; }
.spd-sales { font-size:12px; color:var(--bgc-ink); display:flex; align-items:center; gap:4px; }

.spd-price { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.spd-price-now { font-size:26px; font-weight:800; color:var(--bgc-ink); }
.spd-price-now del { font-size:16px; color:var(--bgc-mut); font-weight:400; }
.spd-price-now ins { text-decoration:none; color:var(--bgc-ink); }
.spd-price-now.spd-price-range { font-size:22px; }
.spd-price-was { font-size:15px; color:var(--bgc-mut); text-decoration:line-through; opacity:0.8; }
.spd-discount { font-size:12px; font-weight:700; background:var(--bgc-warmink); color:#fff; padding:3px 8px; border-radius:20px; }
.spd-vat { font-size:11px; color:var(--bgc-mut); width:100%; }

.spd-short-desc { font-size:14px; color:var(--bgc-ink); line-height:1.8; margin-bottom:16px; }
.spd-divider { border:none; border-top:1px solid var(--bgc-line); margin:16px 0; }

/* Variants */
.spd-variant-block { margin-bottom:18px; }
.spd-var-label { font-size:13px; font-weight:600; margin-bottom:10px; }
.spd-selected-val { font-weight:400; color:var(--bgc-mut); }
.spd-sizes { display:flex; gap:8px; flex-wrap:wrap; }
.spd-size-btn {
  padding:8px 16px; border-radius:8px; border:1.5px solid var(--bgc-line);
  background:var(--bgc-card); font-size:13px; font-weight:600; cursor:pointer;
  transition:all .2s; font-family:var(--font,'Tajawal',sans-serif);
}
.spd-size-btn:hover, .spd-size-btn.active { border-color:var(--bgc-ink); background:var(--bgc-chrome); color:#fff; }
.spd-colors { display:flex; gap:10px; flex-wrap:wrap; }
.spd-color-btn {
  width:30px; height:30px; border-radius:50%; border:3px solid transparent;
  cursor:pointer; transition:all .2s; outline:2px solid transparent;
}
.spd-color-btn:hover, .spd-color-btn.active { outline:2px solid var(--bgc-ink); outline-offset:2px; }

/* Stock */
.spd-stock { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:600; margin-bottom:18px; }
.spd-stock.in { color:var(--bgc-mut); }
.spd-stock.out { color:var(--bgc-ink); }

/* Actions */
.spd-actions { display:flex; gap:10px; align-items:center; margin-bottom:20px; flex-wrap:wrap; }
.spd-qty {
  display:flex; align-items:center; border:1.5px solid var(--bgc-line); border-radius:10px; overflow:hidden;
}
.spd-qty button {
  width:38px; height:44px; background:var(--bgc-card); border:none;
  font-size:20px; font-weight:300; cursor:pointer; transition:background .2s; line-height:1;
}
.spd-qty button:hover { background:var(--bgc-soft); }
.spd-qty input {
  width:48px; border:none; text-align:center; font-size:15px; font-weight:700;
  background:transparent; outline:none; color:var(--bgc-ink); padding:0; height:44px;
  -moz-appearance:textfield;
}
.spd-qty input::-webkit-outer-spin-button, .spd-qty input::-webkit-inner-spin-button { -webkit-appearance:none; }
.spd-atc-btn {
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 24px; background:var(--bgc-chrome); color:#fff; border-radius:10px;
  font-size:15px; font-weight:700; border:none; cursor:pointer;
  transition:background .2s; font-family:var(--font,'Tajawal',sans-serif);
  text-decoration:none; min-width:160px;
}
.spd-atc-btn:hover { background:var(--bgc-chrome); }
.spd-atc-btn.disabled { background:var(--bgc-alt); color:var(--bgc-mut); cursor:not-allowed; }
/* Hide the shortcode button (we use our custom one) */
.spd-actions .woocommerce-loop-add-to-cart-link,
.spd-actions form.cart { display:none !important; }
.spd-wish-btn {
  width:46px; height:46px; border-radius:10px; border:1.5px solid var(--bgc-line);
  background:var(--bgc-card); cursor:pointer; font-size:18px; color:var(--bgc-mut);
  transition:all .2s; display:flex; align-items:center; justify-content:center;
}
.spd-wish-btn:hover, .spd-wish-btn.active { color:var(--bgc-ink); border-color:var(--bgc-line); background:var(--bgc-warm); }

/* Trust */
.spd-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:20px; }
.spd-trust-item {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:12px 8px; background:var(--bgc-card); border-radius:10px;
  font-size:11px; color:var(--bgc-ink); text-align:center;
}
.spd-trust-item i { font-size:18px; color:var(--bgc-ink); }

.spd-meta { font-size:12px; color:var(--bgc-mut); margin-bottom:4px; }
.spd-meta span, .spd-meta a { color:var(--bgc-ink); text-decoration:none; }
.spd-meta a:hover { color:var(--bgc-ink); }

/* Tabs */
.spd-tabs-section { border-top:2px solid var(--bgc-line); padding-top:40px; margin-bottom:56px; }
.spd-tabs { display:flex; gap:0; border-bottom:2px solid var(--bgc-line); margin-bottom:28px; }
.spd-tab {
  padding:13px 24px; font-size:14px; font-weight:600; color:var(--bgc-mut);
  border:none; background:transparent; cursor:pointer; font-family:var(--font,'Tajawal',sans-serif);
  border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s;
}
.spd-tab:hover { color:var(--bgc-ink); }
.spd-tab.active { color:var(--bgc-ink); border-bottom-color:var(--bgc-ink); }
.spd-tab-content { display:none; }
.spd-tab-content.active { display:block; }
.spd-desc-body { font-size:14px; line-height:1.9; color:var(--bgc-ink); }
.spd-specs { margin-top:24px; }
.spd-specs h4 { font-size:15px; font-weight:700; margin-bottom:12px; }
.spd-specs-table { width:100%; border-collapse:collapse; }
.spd-specs-table th, .spd-specs-table td { padding:10px 14px; font-size:13px; border-bottom:1px solid var(--bgc-line2); text-align:right; }
.spd-specs-table th { font-weight:600; color:var(--bgc-ink); width:35%; background:var(--bgc-card); }

.spd-ship-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.spd-ship-card { background:var(--bgc-card); border-radius:14px; padding:24px; }
.spd-ship-card i { font-size:24px; color:var(--bgc-ink); display:block; margin-bottom:12px; }
.spd-ship-card h4 { font-size:15px; font-weight:700; margin-bottom:12px; }
.spd-ship-card ul { list-style:none; padding:0; }
.spd-ship-card li { font-size:13px; color:var(--bgc-ink); padding:5px 0; display:flex; align-items:center; gap:8px; }
.spd-ship-card li::before { content:'✓'; color:var(--bgc-mut); font-weight:700; flex-shrink:0; }

/* Related */
.spd-related { margin-bottom:56px; }
.spd-related-title { font-size:18px; font-weight:800; margin-bottom:20px; }
.spd-related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.spd-rel-card { text-decoration:none; color:var(--bgc-ink); border-radius:12px; overflow:hidden; border:1px solid var(--bgc-line); transition:box-shadow .2s; }
.spd-rel-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.08); }
.spd-rel-img { aspect-ratio:3/4; background:var(--bgc-card); position:relative; overflow:hidden; }
.spd-rel-img img { width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .4s; }
.spd-rel-card:hover .spd-rel-img img { transform:scale(1.04); }
.spd-rel-body { padding:10px 12px 14px; }
.spd-rel-name { display:block; font-size:13px; font-weight:600; margin-bottom:4px; line-height:1.4; -webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden; }
.spd-rel-price { font-size:14px; font-weight:800; color:var(--bgc-ink); }

/* ── Old PDP (kept for backward compat) ── */
.pdp-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:56px; align-items:start;
}

/* Gallery */
.pdp-gallery { position:sticky; top:calc(var(--header-h) + 20px); }
.pdp-main-img {
  border-radius:16px; overflow:hidden;
  background:var(--bgc-soft); aspect-ratio:4/5;
  position:relative; margin-bottom:12px;
  cursor:zoom-in;
}
.pdp-main-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s ease;
}
.pdp-main-img:hover img { transform:scale(1.04); }
.pdp-main-img .img-badges {
  position:absolute; top:14px; right:14px;
  display:flex; flex-direction:column; gap:6px;
}
.img-badge {
  padding:5px 12px; border-radius:50px;
  font-size:11px; font-weight:700;
  backdrop-filter:blur(4px);
}
.img-badge-sale { background:var(--bgc-warmink); color:#fff; }
.img-badge-new  { background:rgba(0,0,0,.8); color:#fff; }

.pdp-thumbs {
  display:flex; gap:8px; overflow-x:auto;
  padding-bottom:4px;
}
.pdp-thumbs::-webkit-scrollbar { height:3px; }
.pdp-thumbs::-webkit-scrollbar-thumb { background:var(--bgc-alt); }
.pdp-thumb {
  flex:0 0 72px; height:94px;
  border-radius:10px; overflow:hidden;
  background:var(--bgc-soft); cursor:pointer;
  border:2px solid transparent;
  transition:border-color .2s;
}
.pdp-thumb.active { border-color:var(--bgc-ink); }
.pdp-thumb img { width:100%; height:100%; object-fit:cover; }

/* Product Info */
.pdp-info {}
.pdp-brand { font-size:12px; font-weight:600; letter-spacing:2px; color:#bccf68; text-transform:uppercase; margin-bottom:8px; }
.pdp-title { font-size:26px; font-weight:900; line-height:1.3; margin-bottom:12px; }
.pdp-rating-row {
  display:flex; align-items:center; gap:14px;
  margin-bottom:16px; font-size:13px;
}
.pdp-stars { color:var(--bgc-grn); font-size:14px; }
.pdp-rating-num { font-weight:700; }
.pdp-reviews-link { color:var(--bgc-mut); border-bottom:1px solid var(--bgc-line); }
.pdp-sold { color:var(--bgc-ink); font-weight:600; }

.pdp-price-row { margin-bottom:20px; }
.pdp-price-now { font-size:32px; font-weight:900; display:block; margin-bottom:2px; }
.pdp-price-was { font-size:15px; color:var(--bgc-mut); text-decoration:line-through; }
.pdp-discount-pct {
  display:inline-block; background:var(--bgc-warm); color:var(--bgc-ink);
  font-size:13px; font-weight:700;
  padding:3px 10px; border-radius:50px; margin-right:8px;
}
.pdp-vat-note { font-size:11px; color:var(--bgc-mut); margin-top:4px; }

/* Variants */
.pdp-variants { margin-bottom:24px; }
.pdp-var-label {
  font-size:13px; font-weight:700; margin-bottom:10px;
  display:flex; align-items:center; justify-content:space-between;
}
.pdp-var-label .selected-val { font-weight:400; color:var(--bgc-ink); }

.pdp-sizes { display:flex; flex-wrap:wrap; gap:8px; }
.pdp-size {
  min-width:46px; padding:9px 14px;
  border:1.5px solid var(--bgc-line); border-radius:10px;
  font-size:13px; font-weight:600; text-align:center;
  cursor:pointer; transition:all .2s;
  background:var(--bgc-card); font-family:var(--font);
}
.pdp-size:hover { border-color:var(--bgc-ink); }
.pdp-size.active { background:var(--bgc-chrome); color:#fff; border-color:var(--bgc-ink); }
.pdp-size.out-of-stock { opacity:.35; cursor:not-allowed; text-decoration:line-through; }

.pdp-colors { display:flex; flex-wrap:wrap; gap:8px; }
.pdp-color {
  width:34px; height:34px; border-radius:50%;
  cursor:pointer; border:3px solid var(--bgc-line2);
  outline:2px solid transparent;
  transition:all .2s; position:relative;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.pdp-color:hover { outline-color:var(--bgc-mut); }
.pdp-color.active { outline-color:var(--bgc-ink); }

/* Quantity + CTA */
.pdp-qty-row {
  display:flex; align-items:center; gap:12px;
  margin-bottom:16px;
}
.pdp-qty-wrap {
  display:flex; align-items:center;
  border:1.5px solid var(--bgc-line); border-radius:50px;
  overflow:hidden;
}
.pdp-qty-btn {
  width:40px; height:46px;
  background:var(--bgc-card); border:none;
  font-size:18px; cursor:pointer;
  transition:background .2s; color:var(--bgc-ink);
  font-family:var(--font);
}
.pdp-qty-btn:hover { background:var(--bgc-soft); }
.pdp-qty-input {
  width:50px; height:46px; border:none;
  text-align:center; font-size:16px; font-weight:700;
  font-family:var(--font); outline:none;
}

.pdp-cta { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.pdp-add-cart {
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:15px; background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:50px; font-family:var(--font);
  font-size:15px; font-weight:700; cursor:pointer;
  transition:all .25s; text-decoration:none;
}
.pdp-add-cart:hover { background:var(--bgc-chrome); transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.2); }
.pdp-buy-now {
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:15px; background:var(--bgc-card); color:var(--bgc-ink);
  border:2px solid var(--bgc-ink); border-radius:50px;
  font-family:var(--font); font-size:15px; font-weight:700;
  cursor:pointer; transition:all .25s; text-decoration:none;
}
.pdp-buy-now:hover { background:var(--bgc-card); }
.pdp-wishlist-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:12px; background:var(--bgc-card); color:var(--bgc-ink);
  border:1.5px solid var(--bgc-line); border-radius:50px;
  font-family:var(--font); font-size:13px; font-weight:600;
  cursor:pointer; transition:all .25s;
}
.pdp-wishlist-btn:hover { border-color:var(--bgc-ink); color:var(--bgc-ink); }
.pdp-wishlist-btn.active { background:var(--bgc-warm); border-color:var(--bgc-ink); color:var(--bgc-ink); }

/* Trust badges */
.pdp-trust {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:10px; margin-bottom:22px;
}
.trust-item {
  background:var(--bgc-card); border-radius:10px;
  padding:12px 8px; text-align:center;
  font-size:11.5px; color:var(--bgc-ink); line-height:1.4;
}
.trust-item i { font-size:20px; color:var(--bgc-ink); display:block; margin-bottom:5px; }

/* Delivery estimate */
.pdp-delivery {
  display:flex; align-items:center; gap:12px;
  background:var(--bgc-card); border:1px solid var(--bgc-line);
  border-radius:10px; padding:12px 16px;
  font-size:13px; margin-bottom:20px;
}
.pdp-delivery i { color:var(--bgc-mut); font-size:18px; }

/* Product Tabs */
.pdp-tabs { margin-top:40px; }
.pdp-tab-nav {
  display:flex; gap:0;
  border-bottom:2px solid var(--bgc-line); margin-bottom:28px;
  overflow-x:auto;
}
.pdp-tab-btn {
  padding:12px 24px; font-family:var(--font);
  font-size:14px; font-weight:600; color:var(--bgc-mut);
  border:none; background:none; cursor:pointer;
  border-bottom:2px solid transparent; margin-bottom:-2px;
  transition:all .2s; white-space:nowrap;
}
.pdp-tab-btn.active { color:var(--bgc-ink); border-bottom-color:var(--bgc-ink); }
.pdp-tab-content { display:none; }
.pdp-tab-content.active { display:block; }
.pdp-tab-content p { font-size:14.5px; line-height:1.9; color:var(--bgc-ink); margin-bottom:14px; }
.pdp-tab-content table { width:100%; border-collapse:collapse; }
.pdp-tab-content table td {
  padding:11px 14px; border-bottom:1px solid var(--bgc-line2);
  font-size:13.5px;
}
.pdp-tab-content table td:first-child { color:var(--bgc-mut); width:40%; }

/* Reviews summary */
.reviews-summary {
  display:grid; grid-template-columns:auto 1fr;
  gap:32px; align-items:center; margin-bottom:28px;
  padding:24px; background:var(--bgc-card); border-radius:14px;
}
.reviews-big { text-align:center; }
.reviews-big .score { font-size:56px; font-weight:900; line-height:1; }
.reviews-big .stars { color:var(--bgc-grn); font-size:20px; margin:6px 0; }
.reviews-big .count { font-size:13px; color:var(--bgc-mut); }
.reviews-bars { flex:1; }
.reviews-bar-row {
  display:flex; align-items:center; gap:10px;
  margin-bottom:7px; font-size:12px;
}
.reviews-bar-row .stars-num { width:30px; color:var(--bgc-ink); }
.reviews-bar-track {
  flex:1; height:6px; background:var(--bgc-alt); border-radius:3px; overflow:hidden;
}
.reviews-bar-fill { height:100%; background:#bbdc29; border-radius:3px; }
.reviews-bar-row .pct { width:35px; color:var(--bgc-mut); text-align:left; }

/* Related */
.pdp-related { padding:48px 0; border-top:1px solid var(--bgc-line); margin-top:40px; }

/* ══════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════ */
@media (max-width: 1100px) {
  .products-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; }
  .spd-related-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .spd-trust { grid-template-columns:repeat(2, 1fr); }
  .about-stats { grid-template-columns:repeat(2, 1fr); }
  .about-features { grid-template-columns:repeat(2, 1fr); }
  .pdp-layout { gap:32px; }
}

@media (max-width: 900px) {
  .products-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
  .shop-page-title { font-size:18px; }
  /* filter bar: allow chips to wrap */
  .fbar-inner { flex-wrap:wrap; }
  .fbar-right { width:100%; justify-content:flex-end; padding-top:4px; }
}

@media (max-width: 768px) {
  .shop-content { padding:16px 0 60px; }
  /* filter bar: scrollable chips on mobile */
  .fbar-chips { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px;
                scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .fbar-chips::-webkit-scrollbar { display:none; }
  .fbar-inner { flex-wrap:wrap; gap:6px; }
  .fbar-right { padding-top:0; }
  /* filter panels: full width */
  .fbar-panel { position:fixed; top:auto; bottom:0; right:0; left:0;
                min-width:unset; width:100%; border-radius:20px 20px 0 0;
                box-shadow:0 -8px 40px rgba(0,0,0,.16); }
  .products-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .shop-count { font-size:11px; padding:3px 10px; }
  /* SPD */
  .spd-layout { grid-template-columns:1fr; gap:24px; }
  .spd-gallery { position:static; grid-template-columns:60px 1fr; gap:8px; }
  .spd-thumb { width:60px; height:72px; }
  .spd-trust { grid-template-columns:repeat(2, 1fr); }
  .spd-related-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .spd-ship-grid { grid-template-columns:1fr; }
  /* Other */
  .policy-layout { grid-template-columns:1fr; }
  .policy-sidebar { position:static; }
  .about-stats { grid-template-columns:repeat(2, 1fr); }
  .about-features { grid-template-columns:1fr; }
  .about-team { padding:32px 24px; }
  .wishlist-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .reviews-summary { grid-template-columns:1fr; }
  .pdp-layout { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
  .pcard-body { padding:8px 10px 10px; }
  .pcard-name { font-size:12px; }
  .pcard-price .price-now { font-size:14px; }
  .wishlist-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .spd-trust { grid-template-columns:repeat(4, 1fr); }
  .spd-related-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .spd-actions { flex-wrap:wrap; }
  .spd-atc-btn { min-width:unset; flex:1; }
  .sort-select { padding:7px 10px; font-size:12px; }
  .shop-page-title { font-size:17px; }
  .fbar-btn { padding:7px 11px; font-size:12px; }
}

/* ══════════════════════════════════════════
   CART PAGE — FULL PAGE
   ══════════════════════════════════════════ */
.riza-cart-page { padding:40px 0 80px; min-height:60vh; background:var(--bgc-card); }
.cart-page-head { margin-bottom:40px; }
.cart-page-head h1 { font-size:28px; font-weight:800; margin-bottom:6px; }
.cart-page-head p { color:var(--bgc-mut); font-size:14px; }

/* Empty State */
.cart-empty-state { text-align:center; padding:80px 20px; }
.cart-empty-icon { font-size:72px; color:var(--bgc-mut); margin-bottom:24px; }
.cart-empty-state h2 { font-size:22px; font-weight:700; margin-bottom:10px; }
.cart-empty-state p { color:var(--bgc-mut); margin-bottom:32px; }

/* Layout */
.cart-layout {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:32px;
  align-items:start;
}

/* Items col */
.cart-items-head {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:16px;
  padding:12px 20px;
  background:var(--bgc-chrome);
  color:#fff;
  border-radius:12px 12px 0 0;
  font-size:12px;
  font-weight:600;
  letter-spacing:.5px;
}
.cart-item {
  display:grid;
  grid-template-columns:90px 1fr 120px 100px;
  gap:20px;
  align-items:center;
  background:var(--bgc-card);
  padding:18px 20px;
  border-bottom:1px solid var(--bgc-line);
  transition:background .2s;
}
.cart-item:hover { background:var(--bgc-card); }
.cart-item-img-wrap {
  aspect-ratio:3/4;
  border-radius:8px;
  overflow:hidden;
  background:var(--bgc-soft);
}
.cart-item-img-wrap img { width:100%; height:100%; object-fit:contain; }
.cart-item-name {
  font-size:14px;
  font-weight:600;
  color:var(--bgc-ink);
  line-height:1.4;
  display:block;
  margin-bottom:6px;
  text-decoration:none;
}
.cart-item-name:hover { color:var(--bgc-ink); }
.cart-item-remove {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px; height:26px;
  border-radius:50%;
  background:var(--bgc-soft);
  color:var(--bgc-mut);
  font-size:11px;
  transition:all .2s;
  margin-top:8px;
  text-decoration:none;
}
.cart-item-remove:hover { background:var(--bgc-warm); color:var(--bgc-ink); }
.cart-item-price-mob { display:none; }

/* Qty */
.qty-ctrl {
  display:flex;
  align-items:center;
  border:1.5px solid var(--bgc-line);
  border-radius:50px;
  overflow:hidden;
  width:fit-content;
}
.qty-ctrl button {
  width:32px; height:32px;
  background:transparent;
  border:none;
  font-size:18px;
  font-weight:300;
  color:var(--bgc-ink);
  cursor:pointer;
  transition:background .2s;
  line-height:1;
}
.qty-ctrl button:hover { background:var(--bgc-soft); }
.qty-ctrl input {
  width:44px;
  border:none;
  text-align:center;
  font-size:14px;
  font-weight:600;
  background:transparent;
  outline:none;
  color:var(--bgc-ink);
  padding:0;
  -moz-appearance:textfield;
}
.qty-ctrl input::-webkit-outer-spin-button,
.qty-ctrl input::-webkit-inner-spin-button { -webkit-appearance:none; }

.cart-item-subtotal { font-size:15px; font-weight:700; color:var(--bgc-ink); text-align:center; }

/* Actions row */
.cart-actions-row {
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 20px;
  background:var(--bgc-card);
  border-radius:0 0 12px 12px;
  border-top:2px solid var(--bgc-line2);
  flex-wrap:wrap;
}
.coupon { display:flex; gap:8px; flex:1; min-width:200px; }
.coupon-input {
  flex:1;
  border:1.5px solid var(--bgc-line);
  border-radius:50px;
  padding:9px 16px;
  font-size:13px;
  font-family:var(--font, 'Tajawal', sans-serif);
  outline:none;
  transition:border-color .2s;
}
.coupon-input:focus { border-color:var(--bgc-ink); }
.btn-outline-dark {
  padding:9px 18px;
  border:1.5px solid var(--bgc-ink);
  border-radius:50px;
  background:transparent;
  color:var(--bgc-onchrome);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  transition:all .2s;
}
.btn-outline-dark:hover { background:var(--bgc-chrome); color:#fff; }
.cart-update-btn {
  padding:9px 20px;
  border:1.5px solid var(--bgc-line);
  border-radius:50px;
  background:transparent;
  color:var(--bgc-mut);
  font-size:12px;
  cursor:pointer;
  transition:all .2s;
  white-space:nowrap;
}
.cart-update-btn:hover { border-color:var(--bgc-ink); color:var(--bgc-ink); }

/* Totals */
.cart-totals-col { position:sticky; top:90px; }
.cart-totals-box {
  background:var(--bgc-card);
  border-radius:16px;
  padding:28px 24px;
  box-shadow:0 4px 24px rgba(0,0,0,.07);
}
.cart-totals-box h3 { font-size:18px; font-weight:800; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid var(--bgc-line); }
.totals-row {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  padding:10px 0;
  font-size:14px;
  border-bottom:1px solid var(--bgc-line2);
  gap:12px;
}
.totals-row span { color:var(--bgc-ink); }
.totals-row strong { font-weight:700; color:var(--bgc-ink); }
.totals-total { padding:16px 0; margin-top:8px; border-bottom:none; border-top:2px solid var(--bgc-ink); }
.totals-total span { font-size:16px; font-weight:700; color:var(--bgc-ink); }
.totals-total strong { font-size:20px; font-weight:800; }
.totals-vat-note { font-size:11px; color:var(--bgc-mut); margin-bottom:20px; }
.text-green { color:var(--bgc-mut) !important; }
.cart-shipping { font-size:13px; text-align:left; }

/* WC checkout button */
.cart-totals-box .wc-proceed-to-checkout { display:block; margin:20px 0 12px; }
.cart-totals-box .checkout-button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  padding:16px !important;
  background:var(--bgc-chrome) !important;
  color:#fff !important;
  border-radius:50px !important;
  font-size:15px !important;
  font-weight:700 !important;
  border:none !important;
  transition:background .2s !important;
}
.cart-totals-box .checkout-button:hover { background:var(--bgc-chrome) !important; }
.cart-trust-row {
  display:flex;
  justify-content:center;
  gap:20px;
  font-size:11px;
  color:var(--bgc-mut);
  margin-top:16px;
}
.cart-trust-row span { display:flex; align-items:center; gap:5px; }
.cart-trust-row i { font-size:12px; }
.cart-continue-link {
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:center;
  margin-top:16px;
  font-size:13px;
  color:var(--bgc-mut);
  text-decoration:none;
  transition:color .2s;
}
.cart-continue-link:hover { color:var(--bgc-ink); }

/* ══════════════════════════════════════════
   MY ACCOUNT PAGE
   ══════════════════════════════════════════ */
.riza-account-page { min-height:70vh; background:var(--bgc-card); }

/* Auth (login/register) */
.account-auth-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:80vh;
  padding:40px 20px;
}
.account-auth-box {
  background:var(--bgc-card);
  border-radius:20px;
  padding:48px 40px;
  width:100%;
  max-width:440px;
  box-shadow:0 8px 40px rgba(0,0,0,.08);
}
.account-auth-logo { text-align:center; margin-bottom:8px; }
.account-auth-box h2 { text-align:center; font-size:22px; font-weight:800; margin-bottom:6px; }
.account-auth-box > p { text-align:center; color:var(--bgc-mut); font-size:13px; margin-bottom:28px; }
.auth-tabs { display:flex; border-bottom:2px solid var(--bgc-line); margin-bottom:28px; }
.auth-tab {
  flex:1; background:transparent; border:none;
  padding:12px; font-size:14px; font-weight:600;
  color:var(--bgc-mut); cursor:pointer; transition:color .2s;
  border-bottom:2px solid transparent; margin-bottom:-2px;
}
.auth-tab.active { color:var(--bgc-ink); border-bottom-color:var(--bgc-ink); }
.auth-panel { display:none; }
.auth-panel.active { display:block; }
.auth-field { margin-bottom:16px; }
.auth-field label { display:block; font-size:12px; font-weight:600; color:var(--bgc-ink); margin-bottom:6px; letter-spacing:.3px; }
.auth-field input {
  width:100%; border:1.5px solid var(--bgc-line); border-radius:10px;
  padding:12px 14px; font-size:14px; outline:none;
  transition:border-color .2s; background:var(--bgc-card);
  font-family:var(--font, 'Tajawal', sans-serif);
}
.auth-field input:focus { border-color:var(--bgc-ink); background:var(--bgc-card); }
.auth-field-pw { position:relative; }
.auth-field-pw input { padding-left:44px; }
.toggle-pw { position:absolute; left:12px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--bgc-mut); cursor:pointer; font-size:14px; }
.auth-remember { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; font-size:13px; }
.auth-remember a { color:var(--bgc-mut); }
.auth-remember a:hover { color:var(--bgc-ink); }
.auth-submit-btn {
  width:100%; padding:14px;
  background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:50px;
  font-size:15px; font-weight:700;
  cursor:pointer; transition:background .2s;
  font-family:var(--font, 'Tajawal', sans-serif);
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.auth-submit-btn:hover { background:var(--bgc-chrome); }

/* Account Hero */
.account-hero { background:var(--bgc-chrome); padding:32px 0; }
.account-hero-inner { display:flex; align-items:center; gap:20px; }
.account-avatar { width:64px; height:64px; border-radius:50%; overflow:hidden; border:2px solid rgba(255,255,255,.2); flex-shrink:0; }
.acct-avatar-img { width:100%; height:100%; object-fit:cover; }
.account-hero-info h1 { font-size:20px; font-weight:700; color:#fff; margin-bottom:4px; }
.account-hero-info p { font-size:13px; color:rgba(255,255,255,.5); }
.account-logout-btn { margin-right:auto; display:flex; align-items:center; gap:8px; padding:10px 20px; border:1px solid rgba(255,255,255,.2); border-radius:50px; color:rgba(255,255,255,.7); font-size:13px; text-decoration:none; transition:all .2s; }
.account-logout-btn:hover { border-color:var(--bgc-line2); color:#fff; }

/* Account Body */
.account-body { padding:40px 0 80px; }

/* Quick Links */
.account-quick-links { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-bottom:36px; }
.acct-quick-card {
  display:flex; align-items:center; gap:14px;
  background:var(--bgc-card); border-radius:14px; padding:18px 16px;
  text-decoration:none; color:var(--bgc-ink);
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:all .2s; position:relative;
  border:1.5px solid transparent;
}
.acct-quick-card:hover { border-color:var(--bgc-ink); box-shadow:0 4px 20px rgba(0,0,0,.1); transform:translateY(-2px); }
.acct-quick-icon { width:44px; height:44px; background:var(--bgc-soft); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--bgc-ink); flex-shrink:0; }
.acct-quick-label { display:block; font-size:14px; font-weight:700; margin-bottom:2px; }
.acct-quick-sub { display:block; font-size:12px; color:var(--bgc-mut); }
.acct-quick-badge { position:absolute; top:12px; left:12px; background:var(--bgc-warmink); color:#fff; font-size:10px; font-weight:700; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.acct-arrow { margin-right:auto; color:var(--bgc-mut); font-size:12px; }

/* Account Section */
.account-section { margin-top:32px; }
.account-section-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.account-section-head h3 { font-size:17px; font-weight:800; }
.account-section-head a { font-size:12px; color:var(--bgc-mut); text-decoration:underline; }

/* Order cards in account */
.acct-order-card { background:var(--bgc-card); border-radius:14px; margin-bottom:12px; box-shadow:0 2px 10px rgba(0,0,0,.05); overflow:hidden; }
.acct-order-head { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid var(--bgc-line2); }
.acct-order-num { font-weight:700; font-size:14px; margin-left:10px; }
.acct-order-date { font-size:12px; color:var(--bgc-mut); }
.acct-order-status { font-size:11px; font-weight:600; padding:4px 12px; border-radius:20px; }
.acct-order-total { font-size:15px; font-weight:700; }
.acct-order-items { display:flex; gap:8px; padding:14px 18px; }
.acct-order-item { width:56px; height:56px; border-radius:8px; overflow:hidden; background:var(--bgc-soft); }
.acct-order-item img { width:100%; height:100%; object-fit:contain; }
.acct-order-item-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--bgc-mut); font-size:20px; }
.acct-order-item-more { width:56px; height:56px; border-radius:8px; background:var(--bgc-soft); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:var(--bgc-ink); }
.acct-order-foot { padding:12px 18px; border-top:1px solid var(--bgc-line2); display:flex; gap:8px; }
.acct-btn-sm { padding:7px 16px; border-radius:50px; font-size:12px; font-weight:600; background:var(--bgc-chrome); color:#fff; border:none; text-decoration:none; transition:background .2s; }
.acct-btn-sm:hover { background:var(--bgc-chrome); }
.acct-btn-ghost { background:transparent; color:var(--bgc-mut); border:1px solid var(--bgc-line); }
.acct-btn-ghost:hover { background:var(--bgc-warm); color:var(--bgc-ink); border-color:var(--bgc-line); }

/* Sidebar + endpoint */
.account-endpoint-wrap { display:grid; grid-template-columns:220px 1fr; gap:32px; }
.account-sidebar-nav { background:var(--bgc-card); border-radius:14px; padding:12px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.account-sidebar-link { display:flex; align-items:center; padding:12px 14px; border-radius:8px; font-size:14px; font-weight:500; color:var(--bgc-ink); text-decoration:none; transition:all .2s; margin-bottom:2px; }
.account-sidebar-link:hover, .account-sidebar-link.is-active { background:var(--bgc-chrome); color:#fff; }
.account-endpoint-content { background:var(--bgc-card); border-radius:14px; padding:28px; box-shadow:0 2px 10px rgba(0,0,0,.05); }

/* Responsive */
@media (max-width: 900px) {
  .cart-layout { grid-template-columns:1fr; }
  .cart-totals-col { position:static; }
  .cart-item { grid-template-columns:80px 1fr; grid-template-rows:auto auto; }
  .cart-item-qty-wrap { grid-column:2; }
  .cart-item-subtotal { display:none; }
  .cart-item-price-mob { display:block; font-size:14px; font-weight:700; margin-top:4px; }
  .cart-items-head { display:none; }
  .account-quick-links { grid-template-columns:1fr; }
  .account-endpoint-wrap { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .account-auth-box { padding:32px 20px; }
  .account-hero-inner { flex-wrap:wrap; }
  .account-logout-btn { margin-right:0; width:100%; justify-content:center; }
}

/* ══════════════════════════════════════════════════════════════
   MULTI-STEP CHECKOUT  (rco-*)
   ══════════════════════════════════════════════════════════════ */

/* Page wrapper */
.riza-checkout-page {
  min-height:80vh;
  background:var(--bgc-warm);
  padding:0 0 80px;
}

/* ── Wizard Header ── */
.rco-wizard-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 0 24px;
  margin-bottom:8px;
}
.rco-back-link {
  width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--bgc-line); border-radius:50%;
  color:var(--bgc-onchrome); font-size:15px; text-decoration:none;
  transition:all .2s; flex-shrink:0;
}
.rco-back-link:hover { border-color:var(--bgc-ink); background:var(--bgc-chrome); color:#fff; }
.rco-header-brand {
  font-size:20px; font-weight:900; letter-spacing:3px;
  color:var(--bgc-ink); flex-shrink:0;
}

/* Step indicator */
.rco-wizard-steps {
  display:flex;
  align-items:center;
  gap:0;
  flex:1;
  justify-content:center;
  padding:0 24px;
}
.rco-wstep {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  position:relative;
  flex-shrink:0;
}
.rco-wstep-circle {
  width:44px; height:44px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  border:2px solid var(--bgc-line);
  background:var(--bgc-card);
  color:var(--bgc-mut);
  transition:all .35s;
  position:relative;
  z-index:1;
}
.rco-wstep.active .rco-wstep-circle {
  background:var(--bgc-chrome); border-color:var(--bgc-ink); color:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.18);
}
.rco-wstep.completed .rco-wstep-circle {
  background:#bccf68; border-color:#bccf68; color:#fff;
}
.rco-wstep.completed .rco-wstep-circle::after {
  content:'\f00c';
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  position:absolute;
  inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:14px;
}
.rco-wstep.completed .rco-wstep-circle i { opacity:0; }
.rco-wstep-label {
  font-size:11px; font-weight:600; color:var(--bgc-mut);
  white-space:nowrap; transition:color .3s;
}
.rco-wstep.active .rco-wstep-label   { color:var(--bgc-ink); }
.rco-wstep.completed .rco-wstep-label { color:#bccf68; }

/* Connecting lines */
.rco-wstep-line {
  flex:1;
  height:2px;
  background:var(--bgc-alt);
  min-width:40px;
  max-width:80px;
  margin-bottom:18px;
  transition:background .35s;
}
.rco-wstep-line.filled { background:#bccf68; }

/* ── Layout ── */
.rco-layout {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:28px;
  align-items:start;
}

/* ── Step panels ── */
.rco-step-panel {
  display:none;
  background:var(--bgc-card);
  border-radius:20px;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  overflow:hidden;
}
.rco-step-panel.active { display:block; }

.rco-panel-head {
  display:flex;
  align-items:center;
  gap:16px;
  padding:28px 28px 20px;
  border-bottom:1px solid var(--bgc-line);
}
.rco-panel-num {
  width:40px; height:40px;
  background:var(--bgc-chrome); color:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; font-weight:700;
  flex-shrink:0;
}
.rco-panel-head-text h2 { font-size:18px; font-weight:800; color:var(--bgc-ink); margin-bottom:2px; }
.rco-panel-head-text p  { font-size:13px; color:var(--bgc-mut); }

.rco-panel-body { padding:28px; }

.rco-panel-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 28px;
  border-top:1px solid var(--bgc-line);
  background:var(--bgc-warm);
}

/* ── Navigation buttons ── */
.rco-btn-next {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 28px;
  background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:50px;
  font-size:14px; font-weight:700;
  cursor:pointer; transition:all .2s;
  font-family:var(--font, 'Tajawal', sans-serif);
}
.rco-btn-next:hover { background:#bccf68; transform:translateY(-1px); }
.rco-btn-next i { font-size:12px; }

.rco-btn-prev {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px;
  background:transparent; color:var(--bgc-mut);
  border:1.5px solid var(--bgc-line); border-radius:50px;
  font-size:13px; font-weight:600;
  cursor:pointer; transition:all .2s;
  font-family:var(--font, 'Tajawal', sans-serif);
}
.rco-btn-prev:hover { border-color:var(--bgc-ink); color:var(--bgc-ink); }

/* ── WC Billing/Shipping fields ── */
.rco-wc-fields .woocommerce-billing-fields,
.rco-wc-fields .woocommerce-shipping-fields { margin:0; }
.rco-wc-fields .form-row { margin-bottom:16px; }
.rco-wc-fields .form-row label {
  display:block; font-size:12px; font-weight:600;
  color:var(--bgc-ink); margin-bottom:6px; letter-spacing:.3px;
}
.rco-wc-fields .form-row .required { color:#bccf68; }
.rco-wc-fields input.input-text,
.rco-wc-fields select,
.rco-wc-fields textarea {
  width:100% !important;
  border:1.5px solid var(--bgc-line) !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  font-size:14px !important;
  background:var(--bgc-warm) !important;
  color:var(--bgc-ink) !important;
  outline:none !important;
  transition:border-color .2s, box-shadow .2s !important;
  font-family:var(--font, 'Tajawal', sans-serif) !important;
  box-shadow:none !important;
}
.rco-wc-fields input.input-text:focus,
.rco-wc-fields select:focus,
.rco-wc-fields textarea:focus {
  border-color:var(--bgc-ink) !important;
  background:var(--bgc-card) !important;
  box-shadow:0 0 0 3px rgba(17,17,17,.06) !important;
}
.rco-wc-fields input.rco-field-error,
.rco-wc-fields select.rco-field-error {
  border-color:var(--bgc-ink) !important;
  box-shadow:0 0 0 3px rgba(229,57,53,.1) !important;
}
/* Two-column billing grid */
.rco-wc-fields .woocommerce-billing-fields__field-wrapper,
.rco-wc-fields .woocommerce-shipping-fields__field-wrapper {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
}
.rco-wc-fields .form-row-wide { grid-column:1 / -1; }
.rco-wc-fields .woocommerce-additional-fields { grid-column:1 / -1; }

/* Ship to diff address toggle */
.rco-wc-fields .woocommerce-shipping-fields h3 {
  font-size:15px; font-weight:700; margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.rco-section-divider {
  display:flex; align-items:center; gap:10px;
  font-size:14px; font-weight:700; color:var(--bgc-ink);
  margin:24px 0 16px;
  padding-bottom:12px;
  border-bottom:1px dashed var(--bgc-line);
}

/* ── Shipping cards ── */
.rco-shipping-body { display:flex; flex-direction:column; gap:12px; }
.rco-ship-card {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  column-gap:16px;
  row-gap:0;
  padding:18px 20px;
  border:2px solid var(--bgc-line);
  border-radius:14px;
  cursor:pointer;
  transition:all .2s;
  background:var(--bgc-card);
  position:relative;
}
.rco-ship-card:hover { border-color:#bccf68; background:var(--bgc-warm); }
.rco-ship-card.selected {
  border-color:var(--bgc-ink);
  background:var(--bgc-warm);
  box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.rco-ship-card input[type="radio"] { display:none; }

/* COD-unavailable hint under RedBox shipping */
.rco-cod-note {
  display:flex;
  align-items:center;
  gap:10px;
  margin:-4px 3px 2px;
  padding:10px 14px;
  background:linear-gradient(180deg, #fff8ea, #fdf0d6);
  border:1px solid #f0dcae;
  border-right:3px solid #bccf68;
  border-radius:12px;
  direction:rtl;
  text-align:right;
  box-shadow:0 3px 12px rgba(var(--c-gold-rgb),.14);
  animation:rco-cod-note-in .35s ease both;
}
@keyframes rco-cod-note-in {
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}
.rco-cod-note-ic {
  width:26px; height:26px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:#bccf68; color:#fff;
  border-radius:50%; font-size:13px;
  box-shadow:0 2px 8px rgba(var(--c-gold-rgb),.45);
}
.rco-cod-note-txt {
  font-size:12.5px; line-height:1.6; color:#8a6d2f; font-weight:600;
}
.rco-cod-note-txt b { color:#5f4a17; font-weight:800; }

/* Free-shipping notice — same language as .rco-cod-note.
   Gold = still short of the threshold · green = already qualified. */
.rco-free-note {
  display:flex;
  align-items:center;
  gap:10px;
  margin:-4px 3px 10px;   /* tucked under the selected shipping card */
  padding: 11px 14px;
  background:linear-gradient(180deg, #fff8ea, #fdf0d6);
  border:1px solid #f0dcae;
  border-right:3px solid #bccf68;
  border-radius:12px;
  direction:rtl;
  text-align:right;
  box-shadow:0 3px 12px rgba(var(--c-gold-rgb),.14);
  animation:rco-cod-note-in .35s ease both;
}
.rco-free-note-ic {
  width:26px; height:26px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:#bccf68; color:#fff;
  border-radius:50%; font-size:13px;
  box-shadow:0 2px 8px rgba(var(--c-gold-rgb),.45);
}
.rco-free-note-txt {
  font-size:12.5px; line-height:1.6; color:#8a6d2f; font-weight:600;
}
.rco-free-note-txt b { color:#5f4a17; font-weight:800; }

.rco-free-note.is-ok {
  background:linear-gradient(180deg, #f1faf1, #e6f5e8);
  border-color:#bfe3c4;
  border-right-color:#2e7d32;
  box-shadow:0 3px 12px rgba(46,125,50,.14);
}
.rco-free-note.is-ok .rco-free-note-ic {
  background:var(--bgc-ink);
  box-shadow:0 2px 8px rgba(46,125,50,.4);
}
.rco-free-note.is-ok .rco-free-note-txt { color:#2f6b34; }
.rco-free-note.is-ok .rco-free-note-txt b { color:#1e4d22; }

/* Both shipping notices stay visible at all times (decision 2026-07-21).
   A previous "hide until the shopper picks a method" gate was removed: it
   depended on JS state that did not survive the checkout fragment refresh,
   so the notes vanished for good on the first click. */

/* ══ Free-shipping OFFER banner — prominent, ABOVE the methods ══════
   Progress teaser (gold + bar) while short of the threshold, green once
   met. Sits at the top of #rco-shipping-rates-wrap so the offer is the
   first thing the shopper sees. (Layout redesign 2026-07-25.) */
.rco-ship-offer {
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:14px;
  background:linear-gradient(135deg, #fff6e0 0%, #fdeecb 55%, #f7e2b0 100%);
  border:1px solid #e6cf94;
  border-right:4px solid #bccf68;
  box-shadow:0 6px 20px rgba(var(--c-gold-rgb),.20);
  direction:rtl;
  text-align:right;
  position:relative;
  overflow:hidden;
  animation:rco-cod-note-in .35s ease both;
}
.rco-ship-offer::after {
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
  transform:translateX(-120%);
  animation:rco-offer-shine 3.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes rco-offer-shine {
  0%, 60% { transform:translateX(-120%); }
  100%    { transform:translateX(120%); }
}
.rco-ship-offer-ic {
  width:40px; height:40px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(140deg, var(--c-gold-light), #bccf68);
  color:#fff; border-radius:12px; font-size:18px;
  box-shadow:0 4px 12px rgba(var(--c-gold-rgb),.5);
}
.rco-ship-offer-body { flex:1; min-width:0; }
.rco-ship-offer-txt { display:block; font-size:14px; line-height:1.55; color:#7a5f22; font-weight:700; }
.rco-ship-offer-txt b { color:#4f3d11; font-weight:900; }
.rco-ship-offer-bar {
  display:block; height:7px; margin-top:9px;
  background:rgba(var(--c-gold-rgb),.22); border-radius:20px; overflow:hidden;
}
.rco-ship-offer-fill {
  display:block; height:100%;
  background:linear-gradient(90deg, #bccf68, #e8c986);
  border-radius:20px; transition:width .5s ease;
}
.rco-ship-offer.is-ok {
  background:linear-gradient(135deg, #eafaea 0%, #dcf3de 100%);
  border-color:#bfe3c4; border-right-color:#2e7d32;
  box-shadow:0 6px 20px rgba(46,125,50,.18);
}
.rco-ship-offer.is-ok .rco-ship-offer-ic {
  background:linear-gradient(140deg, #43a047, var(--bgc-ink));
  box-shadow:0 4px 12px rgba(46,125,50,.5);
}
.rco-ship-offer.is-ok .rco-ship-offer-txt { color:#2f6b34; }
.rco-ship-offer.is-ok .rco-ship-offer-txt b { color:#1e4d22; }

/* ══ In-card contextual note — a full-width row INSIDE the card ══════
   COD warning inside the RedBox card · free-shipping "qualified"
   confirmation inside the free-shipping card. (.rco-ship-card is
   flex-wrap; flex-basis:100% pushes this onto its own line.) */
.rco-ship-cardnote {
  flex:0 0 100%;
  display:flex; align-items:flex-start; gap:8px;
  margin-top:13px; padding-top:12px;
  border-top:1px dashed rgba(var(--c-gold-rgb),.45);
  direction:rtl; text-align:right;
  font-size:12.5px; line-height:1.6; color:#8a6d2f; font-weight:600;
}
.rco-ship-cardnote b { color:#5f4a17; font-weight:800; }
.rco-scn-ic {
  width:22px; height:22px; flex-shrink:0; margin-top:1px;
  display:flex; align-items:center; justify-content:center;
  background:#bccf68; color:#fff; border-radius:50%; font-size:11px;
  box-shadow:0 2px 6px rgba(var(--c-gold-rgb),.45);
}
.rco-ship-cardnote.is-ok { color:#2f6b34; border-top-color:rgba(46,125,50,.35); }
.rco-ship-cardnote.is-ok b { color:#1e4d22; }
.rco-ship-cardnote.is-ok .rco-scn-ic { background:var(--bgc-ink); box-shadow:0 2px 6px rgba(46,125,50,.4); }

.rco-ship-icon {
  width:48px; height:48px;
  background:var(--bgc-warm);
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; color:#bccf68;
  flex-shrink:0; transition:all .2s;
}
.rco-ship-card.selected .rco-ship-icon { background:var(--bgc-chrome); color:#bccf68; }

.rco-ship-info { flex:1; }
.rco-ship-info strong { display:block; font-size:15px; font-weight:700; color:var(--bgc-ink); margin-bottom:2px; }
.rco-ship-info small { font-size:12px; color:var(--bgc-mut); }

.rco-ship-price { font-size:16px; font-weight:800; color:var(--bgc-ink); }
.rco-free-badge {
  display:inline-flex; align-items:center; gap:5px;
  background:var(--bgc-card); color:var(--bgc-mut);
  border:1px solid var(--bgc-line); border-radius:20px;
  padding:4px 12px; font-size:13px; font-weight:700;
}

.rco-ship-check {
  width:28px; height:28px;
  border-radius:50%;
  border:2px solid var(--bgc-line);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; color:transparent;
  transition:all .2s; flex-shrink:0;
}
.rco-ship-card.selected .rco-ship-check {
  background:var(--bgc-chrome); border-color:var(--bgc-ink); color:#fff;
}

/* No shipping available */
.rco-no-ship {
  display:flex; align-items:center; gap:12px;
  padding:20px; border-radius:12px;
  background:var(--bgc-warm); border:1px solid var(--bgc-line);
  color:var(--bgc-grn); font-size:14px;
}
.rco-no-ship--info { background:var(--bgc-card); border-color:var(--bgc-line); color:var(--bgc-ink); }
.rco-no-ship i { font-size:20px; flex-shrink:0; }

/* ── Shipping loading state ── */
#rco-shipping-rates-wrap { position:relative; transition:opacity .2s; }
#rco-shipping-rates-wrap.rco-loading {
  pointer-events:none;
  opacity:.5;
}
#rco-shipping-rates-wrap.rco-loading::after {
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.6);
  border-radius:14px;
  z-index:2;
}
#rco-shipping-rates-wrap.rco-loading::before {
  content:'';
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:36px; height:36px;
  border:3px solid var(--bgc-line);
  border-top-color:#bccf68;
  border-radius:50%;
  z-index:3;
  animation:rco-spin .7s linear infinite;
}
@keyframes rco-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }

/* ── Payment body (WC renders its own HTML here) ── */
.rco-payment-body { padding:0 !important; min-height:200px; }
.rco-payment-body #payment {
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  float:none !important;
}
/* WC uses wc_payment_methods OR payment_methods class */
.rco-payment-body #payment ul.payment_methods,
.rco-payment-body #payment ul.wc_payment_methods {
  padding:24px 24px 0 !important;
  margin:0 !important;
  list-style:none !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.rco-payment-body #payment ul.payment_methods li,
.rco-payment-body #payment ul.wc_payment_methods li {
  background:var(--bgc-warm) !important;
  border:2px solid var(--bgc-line) !important;
  border-radius:14px !important;
  padding:16px 20px !important;
  transition:all .2s !important;
  margin:0 !important;
}
.rco-payment-body #payment ul.payment_methods li.payment_method_active,
.rco-payment-body #payment ul.wc_payment_methods li.payment_method_active,
.rco-payment-body #payment ul.payment_methods li:has(input:checked),
.rco-payment-body #payment ul.wc_payment_methods li:has(input:checked) {
  border-color:var(--bgc-ink) !important;
  background:var(--bgc-card) !important;
  box-shadow:0 4px 16px rgba(0,0,0,.07) !important;
}
.rco-payment-body #payment ul.payment_methods li label,
.rco-payment-body #payment ul.wc_payment_methods li label {
  font-weight:600 !important;
  font-size:14px !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  color:var(--bgc-ink) !important;
}
.rco-payment-body #payment ul.payment_methods li img,
.rco-payment-body #payment ul.wc_payment_methods li img { max-height:28px !important; }
.rco-payment-body .payment_box {
  margin-top:12px !important;
  padding:14px !important;
  background:var(--bgc-warm) !important;
  border-radius:10px !important;
  font-size:13px !important;
  color:var(--bgc-ink) !important;
}
.rco-payment-body #payment .woocommerce-terms-and-conditions-wrapper {
  padding:16px 24px !important;
  font-size:12.5px !important;
  color:var(--bgc-mut) !important;
}
.rco-payment-body #payment .place-order {
  padding:20px 24px !important;
  background:var(--bgc-card) !important;
  border-top:1px solid var(--bgc-line) !important;
  margin:0 !important;
}
.rco-payment-body #payment #place_order {
  width:100% !important;
  padding:16px !important;
  background:var(--bgc-chrome) !important;
  color:#fff !important;
  border:none !important;
  border-radius:50px !important;
  font-size:16px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  transition:all .25s !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  font-family:var(--font, 'Tajawal', sans-serif) !important;
  letter-spacing:.5px !important;
}
.rco-payment-body #payment #place_order:hover {
  background:#bccf68 !important;
  transform:translateY(-2px) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.18) !important;
}
/* WC loading spinner overlay — keep it working */
.rco-payment-body #payment .blockUI { border-radius:14px; }
/* No payment gateways message */
.rco-payment-body #payment .no-gateways {
  padding:32px 24px;
  text-align:center;
  color:var(--bgc-mut);
  font-size:14px;
}
/* No gateways admin message (shown outside #payment) */
.rco-no-gateways-msg {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  padding:40px 24px;
  text-align:center;
  color:var(--bgc-mut);
}
.rco-no-gateways-msg i {
  font-size:36px;
  color:var(--bgc-ink);
}
.rco-no-gateways-msg p {
  font-size:15px;
  line-height:1.8;
  color:var(--bgc-ink);
  margin:0;
}
.rco-no-gateways-msg a {
  color:#bccf68;
  font-weight:600;
  text-decoration:none;
}
.rco-no-gateways-msg a:hover { text-decoration:underline; }

/* Secure payment note */
.rco-panel-foot--pay { background:var(--bgc-card); border-top-color:var(--bgc-line); }
.rco-pay-secure-note {
  display:flex; align-items:center; gap:6px;
  font-size:12px; color:var(--bgc-mut);
}
.rco-pay-secure-note i { color:#bccf68; }

/* ── Sidebar ── */
.rco-sidebar { position:sticky; top:24px; }
.rco-summary-card {
  background:var(--bgc-card);
  border-radius:20px;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  overflow:hidden;
}

.rco-summary-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--bgc-line);
}
.rco-summary-head h3 {
  font-size:16px; font-weight:800; color:var(--bgc-ink);
  display:flex; align-items:center; gap:8px;
}
.rco-summary-head h3 i { color:#bccf68; }
.rco-summary-badge {
  background:var(--bgc-chrome); color:#fff;
  border-radius:20px; padding:2px 10px;
  font-size:12px; font-weight:700;
}

.rco-summary-items { padding:16px 24px; display:flex; flex-direction:column; gap:14px; }

.rco-sitem {
  display:flex; align-items:center; gap:12px;
}
.rco-sitem-img {
  position:relative; flex-shrink:0;
  width:56px; height:56px;
  border-radius:10px; overflow:hidden;
  background:var(--bgc-warm);
}
.rco-sitem-img img { width:100%; height:100%; object-fit:cover; }
.rco-sitem-qty {
  position:absolute; top:-6px; left:-6px;
  background:var(--bgc-chrome); color:#fff;
  border-radius:50%;
  width:20px; height:20px;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:700;
}
.rco-sitem-info { flex:1; min-width:0; }
.rco-sitem-name {
  display:block; font-size:13px; font-weight:600; color:var(--bgc-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  margin-bottom:2px;
}
.rco-sitem-var { font-size:11px; color:var(--bgc-mut); }
.rco-sitem-price { font-size:13px; font-weight:700; color:var(--bgc-ink); flex-shrink:0; }

/* Coupon */
.rco-coupon-wrap { padding:0 24px 16px; border-bottom:1px solid var(--bgc-line); }
.rco-coupon-form-row { display:flex; gap:8px; }
.rco-coupon-input {
  flex:1; padding:10px 14px;
  border:1.5px solid var(--bgc-line); border-radius:10px;
  font-size:13px; color:var(--bgc-ink);
  outline:none; background:var(--bgc-warm);
  font-family:var(--font, 'Tajawal', sans-serif);
  transition:border-color .2s;
}
.rco-coupon-input:focus { border-color:var(--bgc-ink); }
.rco-coupon-btn {
  padding:10px 16px;
  background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:10px;
  font-size:12px; font-weight:700;
  cursor:pointer; transition:all .2s;
  font-family:var(--font, 'Tajawal', sans-serif);
  white-space:nowrap; display:flex; align-items:center; gap:5px;
}
.rco-coupon-btn:hover { background:#bccf68; }
.rco-coupon-applied {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:8px; padding:8px 12px;
  background:var(--bgc-card); border-radius:8px;
  font-size:12px;
}
.rco-coupon-applied i { color:var(--bgc-mut); }
.rco-coupon-discount { color:var(--bgc-mut); font-weight:700; }

/* Totals */
.rco-totals-wrap { padding:16px 24px; border-bottom:1px solid var(--bgc-line); }
.rco-total-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:7px 0; font-size:13px; color:var(--bgc-ink);
}
.rco-discount-row { color:var(--bgc-mut); font-weight:600; }
.rco-cod-fee-row { color:var(--bgc-ink); font-weight:600; }
.rco-cod-fee-badge {
  background:var(--bgc-warm); color:var(--bgc-ink);
  border:1px solid #dfee99;
  border-radius:8px; padding:2px 10px;
  font-weight:700; font-size:13px;
}
.rco-total-grand {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 0 4px;
  margin-top:8px;
  border-top:2px solid var(--bgc-ink);
  font-size:15px; font-weight:700; color:var(--bgc-ink);
}
.rco-total-grand strong { font-size:20px; font-weight:900; }

/* Trust row */
.rco-trust-row {
  display:flex; justify-content:space-around;
  padding:16px 24px;
  background:var(--bgc-warm);
}
.rco-trust-item {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  font-size:10px; color:var(--bgc-mut); font-weight:600;
}
.rco-trust-item i { font-size:16px; color:#bccf68; }

/* ══════════════════════════════════════════════════════════════
   THANK YOU PAGE  (rty-*)
   ══════════════════════════════════════════════════════════════ */

.riza-thankyou-page {
  min-height:80vh;
  background:var(--bgc-warm);
  padding:0 0 80px;
}

/* ── Hero ── */
.rty-hero {
  margin-bottom:32px;
  border-radius:0 0 24px 24px;
  overflow:hidden;
}
.rty-hero--success { background:linear-gradient(135deg, var(--bgc-chrome) 0%, var(--bgc-chrome2) 100%); }
.rty-hero--error   { background:linear-gradient(135deg, var(--bgc-warmink) 0%, var(--bgc-warmink) 100%); }
.rty-hero--warning { background:linear-gradient(135deg, var(--bgc-warmink) 0%, var(--bgc-warmink) 100%); }
.rty-hero--info    { background:linear-gradient(135deg, var(--bgc-chrome) 0%, var(--bgc-chrome2) 100%); }

.rty-hero-inner {
  display:flex;
  align-items:center;
  gap:28px;
  padding:48px 0;
  max-width:1240px;
  margin:0 auto;
  padding-inline:24px;
}
.rty-hero-text h1 { font-size:28px; font-weight:900; color:#fff; margin-bottom:8px; }
.rty-hero-text p  { font-size:15px; color:rgba(255,255,255,.65); }

/* Animated checkmark */
.rty-anim-wrap {
  width:72px; height:72px; flex-shrink:0;
}
.rty-check-svg {
  width:72px; height:72px;
  display:block;
}
.rty-check-circle {
  stroke:#bccf68;
  stroke-width:2;
  stroke-dasharray:166;
  stroke-dashoffset:166;
  animation:rty-circle-draw .6s ease-in-out forwards;
}
.rty-check-tick {
  stroke:#bccf68;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:48;
  stroke-dashoffset:48;
  animation:rty-tick-draw .4s ease-in-out .6s forwards;
}
@keyframes rty-circle-draw {
  to { stroke-dashoffset:0; }
}
@keyframes rty-tick-draw {
  to { stroke-dashoffset:0; }
}

/* Error icon */
.rty-error-icon {
  width:72px; height:72px;
  display:flex; align-items:center; justify-content:center;
  font-size:48px; color:var(--bgc-warmink);
  flex-shrink:0;
}

/* ── Meta cards ── */
.rty-meta-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
  margin-bottom:28px;
}
.rty-meta-card {
  background:var(--bgc-card);
  border-radius:16px;
  padding:20px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.rty-meta-icon {
  width:44px; height:44px;
  background:var(--bgc-warm);
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; color:#bccf68;
  flex-shrink:0;
}
.rty-meta-icon--gold    { background:var(--bgc-warm); color:#bccf68; }
.rty-meta-icon--success { background:var(--bgc-card); color:var(--bgc-mut); }
.rty-meta-icon--error   { background:var(--bgc-warm); color:var(--bgc-ink); }
.rty-meta-icon--warning { background:var(--bgc-warm); color:var(--bgc-grn); }
.rty-meta-icon--info    { background:var(--bgc-soft); color:var(--bgc-ink); }

.rty-meta-label { display:block; font-size:11px; color:var(--bgc-mut); font-weight:600; margin-bottom:3px; letter-spacing:.3px; }
.rty-meta-val   { display:block; font-size:15px; font-weight:800; color:var(--bgc-ink); }
.rty-status-success { color:var(--bgc-mut); }
.rty-status-error   { color:var(--bgc-ink); }
.rty-status-warning { color:var(--bgc-grn); }
.rty-status-info    { color:var(--bgc-ink); }

/* ── Detail grid ── */
.rty-detail-grid {
  display:grid;
  grid-template-columns:1fr 320px;
  gap:24px;
  align-items:start;
}

/* ── Box component ── */
.rty-box {
  background:var(--bgc-card);
  border-radius:20px;
  box-shadow:0 2px 16px rgba(0,0,0,.05);
  overflow:hidden;
}
.rty-box-head {
  display:flex; align-items:center; gap:10px;
  padding:20px 24px;
  border-bottom:1px solid var(--bgc-line);
}
.rty-box-head h3 { font-size:16px; font-weight:800; color:var(--bgc-ink); }
.rty-box-head i  { color:#bccf68; font-size:18px; }

/* Items list */
.rty-items-list { padding:8px 24px; }
.rty-item {
  display:flex; align-items:center; gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--bgc-line2);
}
.rty-item:last-child { border-bottom:none; }
.rty-item-img {
  width:60px; height:60px;
  border-radius:10px; overflow:hidden;
  background:var(--bgc-warm); flex-shrink:0;
}
.rty-item-img img { width:100%; height:100%; object-fit:cover; }
.rty-img-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--bgc-mut); font-size:22px; }
.rty-item-info { flex:1; min-width:0; }
.rty-item-name {
  display:block; font-size:14px; font-weight:700; color:var(--bgc-ink);
  text-decoration:none; margin-bottom:3px;
}
a.rty-item-name:hover { color:#bccf68; }
.rty-item-meta { display:block; font-size:12px; color:var(--bgc-mut); margin-bottom:2px; }
.rty-item-qty  { font-size:12px; color:var(--bgc-mut); }
.rty-item-price { font-size:14px; font-weight:800; color:var(--bgc-ink); flex-shrink:0; }

/* Totals inside box */
.rty-totals { padding:0 24px 4px; }
.rty-total-row {
  display:flex; justify-content:space-between;
  padding:9px 0; font-size:13px; color:var(--bgc-ink);
  border-top:1px solid var(--bgc-line);
}
.rty-total-discount { color:var(--bgc-mut); font-weight:600; }
.rty-total-grand {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 0 20px;
  border-top:2px solid var(--bgc-ink);
  font-size:15px; font-weight:700; color:var(--bgc-ink);
  margin-top:4px;
}
.rty-total-grand strong { font-size:22px; font-weight:900; }

/* Info boxes (sidebar right) */
.rty-side-boxes { display:flex; flex-direction:column; gap:16px; }
.rty-info-box {
  background:var(--bgc-card);
  border-radius:16px;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
  overflow:hidden;
}
.rty-info-box-head {
  display:flex; align-items:center; gap:8px;
  padding:14px 20px;
  background:var(--bgc-warm);
  border-bottom:1px solid var(--bgc-line);
  font-size:13px; font-weight:700; color:var(--bgc-ink);
}
.rty-info-box-head i { color:#bccf68; }
.rty-info-box-body {
  padding:14px 20px;
  font-size:13.5px; line-height:1.7; color:var(--bgc-ink);
  font-style:normal;
}

/* CTA box */
.rty-cta-box {
  display:flex; flex-direction:column; gap:10px;
}
.rty-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 20px;
  border-radius:50px;
  font-size:14px; font-weight:700;
  text-decoration:none; transition:all .2s;
  cursor:pointer;
}
.rty-btn--primary { background:var(--bgc-chrome); color:#fff; }
.rty-btn--primary:hover { background:#bccf68; transform:translateY(-1px); }
.rty-btn--outline { background:transparent; color:var(--bgc-ink); border:1.5px solid var(--bgc-line); }
.rty-btn--outline:hover { border-color:var(--bgc-ink); color:var(--bgc-ink); }

/* Fallback (no order) actions */
.rty-fallback-actions { display:flex; justify-content:center; padding:40px 0; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .rco-layout { grid-template-columns:1fr 300px; gap:20px; }
}

@media (max-width: 900px) {
  .rco-layout { grid-template-columns:1fr; }
  .rco-sidebar { position:static; order:-1; }
  .rco-summary-items { max-height:220px; overflow-y:auto; }
  .rty-meta-grid { grid-template-columns:repeat(2, 1fr); }
  .rty-detail-grid { grid-template-columns:1fr; }
}

@media (max-width: 768px) {
  .rco-wizard-header { padding:16px 0 20px; }
  .rco-wstep-label { display:none; }
  .rco-wstep-circle { width:38px; height:38px; font-size:14px; }
  .rco-wstep-line { min-width:24px; }
  .rco-panel-head { padding:20px 20px 16px; }
  .rco-panel-body { padding:20px; }
  .rco-panel-foot { padding:16px 20px; }
  .rco-wc-fields .woocommerce-billing-fields__field-wrapper,
  .rco-wc-fields .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
  .rty-hero-inner { flex-direction:column; text-align:center; padding:36px 20px; gap:16px; }
  .rty-meta-grid { grid-template-columns:repeat(2, 1fr); gap:10px; }
}

@media (max-width: 480px) {
  .rco-header-brand { display:none; }
  .rco-wizard-steps { padding:0 12px; }
  .rty-meta-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .rty-meta-card { padding:14px; }
}

/* ══════════════════════════════════════════════════════════════
   PREMIUM AUTH PAGE  (rco-auth-*)
   Login + Register with animated tab switching
   ══════════════════════════════════════════════════════════════ */

/* Page wrapper */
.rco-auth-page {
  min-height:100vh;
  background:linear-gradient(135deg, var(--bgc-warm) 0%, var(--bgc-warm) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}

/* Card */
.rco-auth-card {
  display:grid;
  grid-template-columns:340px 1fr;
  max-width:880px;
  width:100%;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 32px 100px rgba(0,0,0,.18), 0 8px 32px rgba(0,0,0,.1);
}

/* ── Brand Panel ── */
.rco-auth-brand {
  background:var(--bgc-chrome);
  padding:52px 36px;
  display:flex;
  align-items:stretch;
  position:relative;
  overflow:hidden;
}

/* Decorative rings */
.rco-auth-deco-ring {
  position:absolute;
  border-radius:50%;
  border:1.5px solid rgba(188,207,104,.15);
  pointer-events:none;
}
.rco-auth-deco-ring--1 {
  width:360px; height:360px;
  top:-120px; right:-120px;
  border-width:40px;
  border-color:rgba(188,207,104,.07);
}
.rco-auth-deco-ring--2 {
  width:180px; height:180px;
  bottom:60px; left:-70px;
}
.rco-auth-deco-ring--3 {
  width:80px; height:80px;
  bottom:180px; right:24px;
  border-color:rgba(188,207,104,.25);
}

.rco-auth-brand-inner {
  position:relative; z-index:1;
  display:flex; flex-direction:column;
  width:100%;
}

/* Logo */
.rco-auth-logo {
  font-family:'Playfair Display', 'Georgia', serif;
  font-size:44px; font-weight:700;
  font-style:italic; letter-spacing:5px;
  color:#fff; margin-bottom:14px;
  line-height:1;
}
.rco-auth-logo-r { color:#bccf68; }

/* Gold bar */
.rco-auth-gold-bar {
  width:40px; height:3px;
  background:linear-gradient(90deg, #bccf68, #d7e989);
  border-radius:2px; margin-bottom:18px;
}

.rco-auth-tagline {
  font-size:20px; font-weight:300;
  color:rgba(255,255,255,.75);
  line-height:1.5; margin-bottom:36px;
}

/* Features list */
.rco-auth-features {
  display:flex; flex-direction:column; gap:16px;
  flex:1;
}
.rco-auth-feat {
  display:flex; align-items:center; gap:12px;
  font-size:13px; color:rgba(255,255,255,.55);
}
.rco-auth-feat-icon {
  width:34px; height:34px; flex-shrink:0;
  background:rgba(188,207,104,.12);
  border:1px solid rgba(188,207,104,.25);
  border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  color:#bccf68; font-size:13px;
}

/* Back link */
.rco-auth-brand-bottom { margin-top:36px; }
.rco-auth-home-link {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; color:rgba(255,255,255,.35);
  text-decoration:none; transition:color .2s;
}
.rco-auth-home-link:hover { color:#bccf68; }

/* ── Form Panel ── */
.rco-auth-form-panel {
  background:var(--bgc-card);
  padding:40px 44px 40px;
  display:flex; flex-direction:column;
}

/* Tab switcher */
.rco-auth-tabs {
  display:flex;
  position:relative;
  background:var(--bgc-warm);
  border-radius:14px;
  padding:5px;
  margin-bottom:32px;
  gap:2px;
}
.rco-auth-tab {
  flex:1;
  display:flex; align-items:center; justify-content:center; gap:7px;
  padding:11px 16px;
  background:transparent; border:none;
  border-radius:10px;
  font-size:13px; font-weight:600; color:var(--bgc-mut);
  cursor:pointer; transition:color .25s;
  font-family:var(--font, 'Tajawal', sans-serif);
  position:relative; z-index:1;
}
.rco-auth-tab i { font-size:12px; }
.rco-auth-tab.active { color:var(--bgc-ink); }

/* Sliding pill indicator */
.rco-auth-tab-indicator {
  position:absolute;
  top:5px; bottom:5px;
  background:var(--bgc-card);
  border-radius:10px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  transition:width .3s cubic-bezier(.4,0,.2,1), right .3s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}

/* Auth panels */
.rco-auth-panel {
  display:none;
}
.rco-auth-panel.active {
  display:block;
  animation:rco-auth-in .36s ease forwards;
}
@keyframes rco-auth-in {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:translateY(0); }
}

.rco-auth-panel-head { margin-bottom:24px; }
.rco-auth-panel-head h2 {
  font-size:22px; font-weight:800; color:var(--bgc-ink); margin-bottom:4px;
}
.rco-auth-panel-head p { font-size:13px; color:var(--bgc-mut); }

/* Fields */
.rco-field {
  margin-bottom:16px;
}
.rco-field label {
  display:flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; color:var(--bgc-ink);
  margin-bottom:7px; letter-spacing:.3px; text-transform:uppercase;
}
.rco-field label i { color:#bccf68; font-size:11px; }
.rco-field input {
  width:100%;
  border:1.5px solid var(--bgc-line);
  border-radius:12px;
  padding:13px 16px;
  font-size:14px;
  color:var(--bgc-ink);
  background:var(--bgc-warm);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
  font-family:var(--font, 'Tajawal', sans-serif);
}
.rco-field input:focus {
  border-color:var(--bgc-ink);
  background:var(--bgc-card);
  box-shadow:0 0 0 3px rgba(17,17,17,.06);
}
.rco-field input.rco-field-error {
  border-color:var(--bgc-ink);
  box-shadow:0 0 0 3px rgba(229,57,53,.08);
}
.rco-field-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.rco-field-row .rco-field { margin-bottom:0; }

/* Password field */
.rco-pw-wrap { position:relative; }
.rco-pw-wrap input { padding-left:46px; }
.rco-pw-toggle {
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--bgc-mut); cursor:pointer;
  font-size:14px; padding:4px; transition:color .2s;
}
.rco-pw-toggle:hover { color:var(--bgc-ink); }

/* Password strength */
.rco-pw-strength {
  display:flex; align-items:center; gap:10px;
  margin-top:7px;
}
.rco-pw-bar {
  flex:1; height:4px; background:var(--bgc-warm);
  border-radius:2px; transition:width .3s, background .3s;
  width:0;
}
.rco-pw-bar.weak   { background:var(--bgc-warmink); }
.rco-pw-bar.fair   { background:#badb25; }
.rco-pw-bar.good   { background:var(--bgc-chrome); }
.rco-pw-bar.strong { background:var(--bgc-chrome); }
.rco-pw-label { font-size:11px; color:var(--bgc-mut); white-space:nowrap; min-width:60px; }

/* Auth meta (remember + forgot) */
.rco-auth-meta {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:20px; margin-top:-4px;
}
.rco-remember {
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--bgc-ink); cursor:pointer;
  user-select:none;
}
.rco-remember input[type="checkbox"] { display:none; }
.rco-check-box {
  width:18px; height:18px;
  border:1.5px solid var(--bgc-line); border-radius:5px;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s; flex-shrink:0;
}
.rco-remember input:checked ~ .rco-check-box {
  background:var(--bgc-chrome); border-color:var(--bgc-ink);
}
.rco-remember input:checked ~ .rco-check-box::after {
  content:'\f00c';
  font-family:'Font Awesome 5 Free'; font-weight:900;
  font-size:9px; color:#fff;
}
.rco-forgot {
  font-size:12px; color:#7A5C1F; text-decoration:none;   /* 2.24 ⟶ 6.2 على أبيض */
  transition: color .2s;
}
.rco-forgot:hover { color:var(--bgc-ink); }

/* Submit button */
.rco-auth-submit {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:15px 20px;
  background:var(--bgc-chrome); color:#fff;
  border:none; border-radius:14px;
  font-size:15px; font-weight:700;
  cursor:pointer; transition:all .25s;
  font-family:var(--font, 'Tajawal', sans-serif);
  margin-bottom:20px;
  position:relative; overflow:hidden;
}
.rco-auth-submit::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(135deg, transparent 0%, rgba(188,207,104,.15) 100%);
  opacity:0; transition:opacity .3s;
}
.rco-auth-submit:hover { background:var(--bgc-chrome); transform:translateY(-1px); box-shadow:0 8px 28px rgba(0,0,0,.2); }
.rco-auth-submit:hover::before { opacity:1; }
.rco-auth-submit .rco-btn-icon {
  width:32px; height:32px;
  background:rgba(255,255,255,.12);
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; transition:background .2s;
}
.rco-auth-submit:hover .rco-btn-icon { background:rgba(188,207,104,.3); }

/* Switch link */
.rco-auth-switch {
  text-align:center; font-size:13px; color:var(--bgc-mut); margin:0;
}
.rco-auth-switch-btn {
  background:none; border:none;
  color:#bccf68; font-weight:700; font-size:13px;
  cursor:pointer; padding:0; margin-right:4px;
  text-decoration:underline; text-underline-offset:2px;
  font-family:var(--font, 'Tajawal', sans-serif);
  transition:color .2s;
}
.rco-auth-switch-btn:hover { color:var(--bgc-ink); }

/* Terms note */
.rco-terms-note {
  font-size:11.5px; color:var(--bgc-mut); text-align:center;
  margin-bottom:16px; line-height:1.6;
}
.rco-terms-note a { color:var(--bgc-mut); text-decoration:underline; }
.rco-terms-note a:hover { color:var(--bgc-ink); }

/* Auto-password note */
.rco-pw-auto-note {
  font-size:13px; color:var(--bgc-mut);
  background:var(--bgc-warm); border-radius:10px;
  padding:12px 14px; margin-bottom:16px;
  display:flex; align-items:center; gap:8px;
}
.rco-pw-auto-note i { color:#bccf68; }

/* WC notices inside auth page */
.rco-auth-form-panel .woocommerce-error,
.rco-auth-form-panel .woocommerce-message,
.rco-auth-form-panel .woocommerce-info {
  border-radius:12px !important;
  margin-bottom:20px !important;
  font-size:13px !important;
}

/* ── Responsive ── */
@media (max-width: 820px) {
  .rco-auth-card { grid-template-columns:1fr; }
  .rco-auth-brand { padding:36px 28px; }
  .rco-auth-deco-ring--1 { width:220px; height:220px; top:-80px; right:-80px; }
  .rco-auth-brand-inner { flex-direction:row; align-items:center; gap:24px; }
  .rco-auth-features { display:none; }
  .rco-auth-tagline { font-size:16px; margin-bottom:0; }
  .rco-auth-gold-bar { margin-bottom:10px; }
  .rco-auth-logo { font-size:32px; }
  .rco-auth-brand-bottom { display:none; }
}

@media (max-width: 520px) {
  .rco-auth-page { padding:0; align-items:flex-start; }
  .rco-auth-card { border-radius:0; box-shadow:none; }
  .rco-auth-brand-inner { flex-direction:column; gap:8px; }
  .rco-auth-form-panel { padding:28px 20px; }
  .rco-auth-tabs { margin-bottom:24px; }
  .rco-field-row { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════
   COMPREHENSIVE MOBILE RESPONSIVE FIXES
   ══════════════════════════════════════════ */

/* ── Account endpoint ── */
@media (max-width: 900px) {
  .account-endpoint-wrap { grid-template-columns:1fr; gap:16px; }
  .account-sidebar-nav { display:flex; flex-wrap:wrap; gap:4px; padding:8px; }
  .account-sidebar-link { flex:1 1 auto; min-width:130px; justify-content:center; padding:10px 12px; font-size:13px; border-radius:8px; text-align:center; }
}
@media (max-width: 600px) {
  .account-endpoint-content { padding:20px 16px; border-radius:12px; }
  .account-hero { padding:20px 0; }
  .account-hero-inner { flex-direction:column; align-items:flex-start; gap:10px; }
  .account-hero-inner h1 { font-size:20px; }
  .account-quick-links { grid-template-columns:1fr 1fr; gap:10px; }
  .acct-quick-card { padding:14px 12px; }
  .account-logout-btn { font-size:12px; padding:7px 14px; }
}
@media (max-width: 400px) {
  .account-quick-links { grid-template-columns:1fr; }
  .account-sidebar-link { font-size:12px; padding:9px 10px; }
}

/* ── Shop page ── */
@media (max-width: 768px) {
  .shop-toolbar { flex-direction:column; align-items:flex-start; gap:10px; }
  .shop-toolbar-right { width:100%; justify-content:space-between; }
  .products-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .filter-sidebar { display:none; }
  .shop-layout { grid-template-columns:1fr; }
}
@media (max-width: 400px) {
  .pcard-body { padding:8px 10px 10px; }
  .pcard-name { font-size:12px; }
  .pcard-price .price-now { font-size:14px; }
}

/* ── Cart page ── */
@media (max-width: 768px) {
  .cart-layout { grid-template-columns:1fr !important; }
  .cart-sidebar { position:static; }
  .cart-item { grid-template-columns:70px 1fr; gap:10px; }
  .cart-item-img { width:70px; height:70px; }
  .cart-item-actions { grid-column:1 / -1; }
}
@media (max-width: 480px) {
  .cart-coupon-row { flex-direction:column; }
  .cart-coupon-row input, .cart-coupon-row button { width:100%; }
}

/* ── Checkout wizard ── */
@media (max-width: 768px) {
  .rco-layout { grid-template-columns:1fr; }
  .rco-sidebar { order:-1; }
  .rco-summary-card { border-radius:12px; }
  .rco-wizard-header { padding:14px 0 18px; gap:12px; }
  .rco-wstep-label { font-size:10px; }
  .rco-wstep-circle { width:34px; height:34px; font-size:14px; }
}
@media (max-width: 480px) {
  .rco-wizard-header { padding:12px 0 14px; }
  .rco-step-panel { padding:0; }
  .rco-panel-head { gap:10px; padding:16px 14px; }
  .rco-panel-body { padding:16px 14px; }
  .rco-panel-foot { padding:14px; }
  .rco-ship-card { padding:12px; }
  .rco-wstep-line { flex:1; }
  .rco-btn-next, .rco-btn-prev { padding:11px 18px; font-size:13px; }
}

/* ── Single product (SPD) ── */
@media (max-width: 768px) {
  .spd-layout { grid-template-columns:1fr; }
  .spd-gallery { max-width:100%; }
  .spd-gallery-thumb-list { display:flex; flex-direction:row; overflow-x:auto; gap:8px; }
  .spd-gallery-thumb { width:60px; height:60px; flex-shrink:0; }
  .spd-info { padding:20px 0 0; }
}
@media (max-width: 480px) {
  .spd-price-now { font-size:24px; }
  .spd-title { font-size:18px; }
  .spd-atc-btn { padding:14px; font-size:14px; }
  .spd-var-options { gap:6px; }
  .spd-var-option { min-width:40px; height:40px; font-size:13px; }
}

/* ── Orders page v2 (custom orders page) ── */
@media (max-width: 480px) {
  .orders-hero-v2 h1 { font-size:20px; }
  .ocard-head { padding:14px 16px; }
  .ocard-items { padding:12px 16px; }
  .ocard-meta { grid-template-columns:1fr; }
  .ocard-totals { padding:12px 16px; }
  .ocard-actions { padding:12px 16px; gap:6px; }
  .ocard-btn { padding:8px 12px; font-size:12px; }
}

/* ── Pagination ── */
@media (max-width: 480px) {
  .shop-pagination ul { gap:4px; }
  .shop-pagination .page-numbers { min-width:36px; height:36px; font-size:13px; border-radius:10px; }
  .shop-pagination .page-numbers.prev,
  .shop-pagination .page-numbers.next { padding:0 12px; font-size:12px; }
}

/* ── Product detail page breadcrumb ── */
@media (max-width: 480px) {
  .spd-breadcrumb { font-size:11px; gap:4px; }
  .pdp-breadcrumb { font-size:11px; }
}

/* ── Footer grid extra polish ── */
@media (max-width: 480px) {
  .footer-col h4 { font-size:12px; }
  .footer-col ul li a { font-size:12px; }
  .footer-social a { width:32px; height:32px; font-size:13px; }
  .app-badges { flex-direction:row; flex-wrap:wrap; gap:6px; }
}

/* ── Wishlist page ── */
@media (max-width: 600px) {
  .wishlist-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
}
@media (max-width: 380px) {
  .wishlist-grid { grid-template-columns:1fr; }
}

/* ── Toast notification ── */
@media (max-width: 480px) {
  .riza-toast { font-size:13px; padding:11px 18px; max-width:calc(100vw - 24px); }
}

/* ── Back to top button ── */
@media (max-width: 480px) {
  .back-top { bottom:16px; left:16px; width:40px; height:40px; font-size:13px; }
}

/* ── Page-level fixes ── */
@media (max-width: 600px) {
  .orders-page { padding:24px 0 60px; }
  .orders-tabs { overflow-x:auto; scrollbar-width:none; }
  .orders-tabs::-webkit-scrollbar { display:none; }
  .order-card { border-radius:12px; }
}

/* ── General touch targets ── */
@media (max-width: 768px) {
  button, .ao-btn, .vo-btn, .ocard-btn { min-height:42px; }
  input, select, textarea { font-size:16px !important; /* prevents iOS zoom */ }
}

/* ================================================================
   HOMEPAGE — Categories Slider (section ③) — Premium Fashion
   ================================================================ */
.riza-cats-section { overflow:hidden; }
.riza-cats-track-wrap {
  position:relative;
  overflow-x:hidden;
  overflow-y:visible;
}

.riza-cats-track {
  display:flex !important;
  gap:14px !important;
  padding-bottom:8px;
  /* disable browser scroll-snap so JS controls page-scroll cleanly */
  scroll-snap-type: none;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}

/* ── Category card ── */
.rz-cat-card {
  flex:0 0 160px;
  max-width:160px;
  border-radius:20px;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  scroll-snap-align:start;
  position:relative;
  transition:transform .3s cubic-bezier(.34,1.4,.64,1), box-shadow .3s ease;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
  display:block;
}
.rz-cat-card:hover {
  transform:translateY(-7px) scale(1.03);
  box-shadow:0 16px 40px rgba(0,0,0,.22);
  text-decoration:none;
  color:#fff;
}

/* Image fills entire card at portrait 3:4 ratio */
.rz-cat-card-img {
  aspect-ratio:3 / 4;
  overflow:hidden;
  position:relative;
  background:var(--bgc-chrome);
}
.rz-cat-card-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.25,.46,.45,.94);
}
.rz-cat-card:hover .rz-cat-card-img img { transform:scale(1.1); }

/* Gradient overlay — always visible, intensifies on hover */
.rz-cat-card-img::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.35) 45%,
    rgba(0,0,0,.05) 100%
  );
  transition:background .3s ease;
}
.rz-cat-card:hover .rz-cat-card-img::after {
  background:linear-gradient(
    to top,
    var(--bgc-chrome) 0%,
    rgba(0,0,0,.45) 50%,
    rgba(0,0,0,.1) 100%
  );
}

/* Name sits on top of gradient */
.rz-cat-card-name {
  position:absolute;
  bottom:0;
  right:0;
  left:0;
  padding:18px 14px 14px;
  font-family:'Tajawal', sans-serif;
  font-size:15px;
  font-weight:800;
  line-height:1.3;
  color:#fff;
  z-index:2;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}

/* Gold accent line on hover */
.rz-cat-card::before {
  content:'';
  position:absolute;
  bottom:0;
  right:0;
  left:0;
  height:3px;
  background:linear-gradient(90deg, #bccf68, #dded93);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s ease;
  z-index:3;
}
.rz-cat-card:hover::before { transform:scaleX(1); }

/* ── Sub-category card: image (square) + white label + black text ── */
.rz-cat-card--sub {
  flex:0 0 120px;
  max-width:120px;
  border-radius:14px;
  background:var(--bgc-card);
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.rz-cat-card--sub:hover {
  transform:translateY(-5px) scale(1.02);
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
/* Square image */
.rz-cat-card--sub .rz-cat-card-img {
  aspect-ratio:1 / 1;
  border-radius:0;
}
/* Lighter gradient — doesn't cover full image */
.rz-cat-card--sub .rz-cat-card-img::after {
  background:linear-gradient(to top, rgba(0,0,0,.22) 0%, transparent 55%);
}
/* White label bar with BLACK text */
.rz-cat-card--sub .rz-cat-card-name {
  position:static !important;
  background:var(--bgc-card);
  color:var(--bgc-ink) !important;
  text-shadow:none !important;
  font-size:12px;
  font-weight:700;
  padding:8px 10px 9px;
  text-align:center;
  line-height:1.3;
  border-top:1px solid var(--bgc-line);
}
/* Gold bar on hover */
.rz-cat-card--sub::before { border-radius:0 0 14px 14px; }

/* Extra gap before each new parent group */
.rz-cat-card:not(.rz-cat-card--sub) { margin-right:8px; }
.rz-cat-card:not(.rz-cat-card--sub):first-child { margin-right:0; }

@media (max-width: 640px) {
  .rz-cat-card       { flex:0 0 130px; max-width:130px; }
  .rz-cat-card--sub  { flex:0 0 100px; max-width:100px; }
  .rz-cat-card-name  { font-size:13px; padding:14px 10px 10px; }
  .rz-cat-card--sub .rz-cat-card-name { font-size:11px; padding:6px 8px 8px; }
  .riza-cats-track   { gap:8px !important; }
}

/* ================================================================
   HOMEPAGE — Banner Strip Slider (section ⑤)
   ================================================================ */
.riza-strips-section { overflow:hidden; }
.riza-strips-track {
  display:flex !important;
  gap:18px !important;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
}
.riza-strip-slide {
  flex:0 0 300px !important;
  max-width:300px !important;
  scroll-snap-align:start;
  border-radius:18px;
  overflow:hidden;
  min-height:360px;
}
.riza-strip-slide img {
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.riza-strip-slide:hover img { transform:scale(1.05); }

@media (max-width: 640px) {
  .riza-strip-slide { flex:0 0 80vw !important; max-width:80vw !important; min-height:280px; }
}

/* Category block mobile handled by .riza-catblock-grid in style.css */

/* ── Installment Widget (PDP) ─────────────────────────────── */
.spd-installment {
  border:1.5px solid var(--bgc-line);
  border-radius:16px;
  overflow:hidden;
  margin:16px 0;
  box-shadow:0 2px 14px rgba(0,0,0,.07);
}
.spd-inst-header {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  color:var(--bgc-mut);
  font-weight:700;
  letter-spacing:0.5px;
  background:var(--bgc-warm);
  border-bottom:1px solid var(--bgc-line);
  padding:10px 16px;
}
.spd-inst-rows { background:var(--bgc-card); }
.spd-inst-row {
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid var(--bgc-line);
  transition:background .18s;
}
.spd-inst-row:last-child { border-bottom:none; }
.spd-inst-row:hover { background:var(--bgc-warm); }
.spd-inst-svg {
  height:30px;
  width:auto;
  flex-shrink:0;
  border-radius:7px;
}
.spd-inst-detail {
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.spd-inst-plan { font-size:11px; color:var(--bgc-mut); line-height:1.3; }
.spd-inst-amount { font-size:13px; color:var(--bgc-ink); line-height:1.3; }
.spd-inst-amount strong { color:var(--bgc-ink); font-size:16px; font-weight:800; }
.spd-inst-tag {
  font-size:10px;
  font-weight:700;
  padding:4px 10px;
  background:var(--bgc-soft);
  color:var(--bgc-ink);
  border-radius:20px;
  white-space:nowrap;
  flex-shrink:0;
}
@media (max-width: 480px) {
  .spd-inst-tag { display:none; }
  .spd-inst-amount strong { font-size:15px; }
}

/* ── WhatsApp Floating Button ─────────────────────────────── */
.riza-wa-float {
  position:fixed;
  bottom:28px;
  left:24px;
  width:56px;
  height:56px;
  border-radius:50%;
  /* 🔑 لون علامة واتساب — ثابت في الوضعين، ما يتربطش بمتغيّرات الثيم */
  background: linear-gradient(145deg, #2EE571 0%, #25D366 45%, #128C7E 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:27px;
  text-decoration:none;
  /* حلقة رفيعة تفصله عن الخلفية في الوضعين */
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset,
              0 6px 22px rgba(37,211,102,.38),
              0 2px 10px rgba(0,0,0,.22);
  z-index:9900;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s ease;
}
.riza-wa-float:hover, .riza-wa-float:focus-visible {
  transform:scale(1.09) translateY(-3px);
  box-shadow:0 0 0 1px rgba(255,255,255,.28) inset,
              0 12px 32px rgba(37,211,102,.5),
              0 4px 14px rgba(0,0,0,.26);
  color:#fff;
  text-decoration:none;
}
.riza-wa-float:active { transform:scale(.96); }
/* في الداكن الوهج بيبقى أقوى شوية عشان يفضل بارزًا على الفحمي */
html[data-bgtheme="dark"] .riza-wa-float {
  box-shadow:0 0 0 1px rgba(255,255,255,.22) inset,
              0 6px 26px rgba(37,211,102,.5),
              0 2px 10px rgba(0,0,0,.5);
}
@media (max-width: 480px) {
  .riza-wa-float { left:16px; bottom:20px; width:50px; height:50px; font-size:24px; }
}

/* ── Mega Navigation Panel ────────────────────────────────── */
.riza-mega-panel {
  position:fixed;
  top:var(--header-h, 72px);
  left:0; right:0;
  background:var(--bgc-card);
  z-index:998;
  max-height:500px;
  overflow:hidden;
  border-bottom:2px solid var(--bgc-line);
  box-shadow:0 16px 48px rgba(0,0,0,.16);
  transform:translateY(-10px);
  opacity:0;
  pointer-events:none;
  transition:transform .24s cubic-bezier(.4,0,.2,1), opacity .22s ease;
}
.riza-mega-panel.is-open {
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.rmp-inner {
  display:flex;
  flex-direction:column;
  height:100%;
  max-height:500px;
}

/* ── Tabs nav ── */
.rmp-tabs-nav {
  display:flex;
  gap:0;
  border-bottom:2px solid var(--bgc-line);
  background:var(--bgc-warm);
  padding:0 8px;
  flex-shrink:0;
  overflow-x:auto;
}
.rmp-tab {
  background:none;
  border:none;
  border-bottom:3px solid transparent;
  margin-bottom:-2px;
  cursor:pointer;
  padding:14px 20px;
  font-family:inherit;
  font-size:13px;
  font-weight:700;
  color:var(--bgc-ink);
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  transition:color .18s, border-color .18s;
}
.rmp-tab:hover { color:var(--bgc-ink); }
.rmp-tab.active { color:var(--bgc-grn)); border-bottom-color:var(--bgc-grn); }
.rmp-tab i { font-size:12px; opacity:.8; }

/* ── Content panes ── */
.rmp-content {
  display:none;
  overflow-y:auto;
  max-height:430px;
  padding:18px 0 14px;
}
.rmp-content.active { display:block; }

/* ── Categories grid ── */
.rmp-cats-grid {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0 2px;
}
.rmp-cat-item {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:12px 16px;
  border-radius:14px;
  border:1.5px solid var(--bgc-line);
  text-decoration:none;
  color:var(--bgc-ink);
  min-width:88px;
  transition:border-color .18s, background .18s, transform .2s;
}
.rmp-cat-item:hover {
  border-color:var(--bgc-grn);
  background:var(--bgc-warm);
  transform:translateY(-3px);
  text-decoration:none;
  color:var(--bgc-ink);
}
.rmp-cat-all { background:var(--bgc-warm); border-color:var(--bgc-line); }
.rmp-cat-icon {
  width:46px; height:46px;
  border-radius:50%;
  background:var(--bgc-warm);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  font-size:18px; color:var(--bgc-mut);
  flex-shrink:0;
}
.rmp-cat-icon img { width:100%; height:100%; object-fit:cover; }
.rmp-cat-name { font-size:12px; font-weight:700; text-align:center; line-height:1.3; }
.rmp-cat-count { font-size:10px; color:var(--bgc-mut); }

/* ── Product grid ── */
.rmp-prod-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(138px, 1fr));
  gap:14px;
  padding:0 2px;
}
.rmp-card {
  text-decoration:none;
  color:inherit;
  border-radius:12px;
  overflow:hidden;
  border:1.5px solid var(--bgc-line);
  background:var(--bgc-card);
  transition:transform .2s, box-shadow .2s;
  display:block;
}
.rmp-card:hover {
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,.1);
  text-decoration:none;
  color:inherit;
}
.rmp-card-img {
  position:relative;
  aspect-ratio:3 / 4;
  overflow:hidden;
  background:var(--bgc-soft);
}
.rmp-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .32s; }
.rmp-card:hover .rmp-card-img img { transform:scale(1.07); }
.rmp-card-badge {
  position:absolute; top:6px; right:6px;
  background:var(--bgc-warmink); color:#fff;
  font-size:9px; font-weight:800;
  padding:2px 7px; border-radius:20px;
  letter-spacing:.3px;
}
.rmp-card-badge.new { background:var(--bgc-chrome); }
.rmp-card-name {
  font-size:11px; font-weight:700; color:var(--bgc-ink);
  padding:8px 8px 2px; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2;
  -webkit-box-orient:vertical; overflow:hidden;
}
.rmp-card-price {
  padding:3px 8px 9px;
  font-size:12px; font-weight:800;
  color:var(--bgc-grn));
}
.rmp-card-price .woocommerce-Price-amount { color:var(--bgc-grn)); }
.rmp-card-price ins { text-decoration:none; }
.rmp-card-price del { color:var(--bgc-mut); font-size:10px; font-weight:400; }

/* ── View all link ── */
.rmp-view-all { padding:14px 2px 0; text-align:center; }
.rmp-view-all-link {
  display:inline-flex; align-items:center; gap:5px;
  font-size:12px; font-weight:700;
  color:var(--bgc-grn));
  text-decoration:none;
  border-bottom:1px dashed transparent;
  transition:border-color .18s;
  padding-bottom:2px;
}
.rmp-view-all-link:hover { border-bottom-color:var(--bgc-grn); text-decoration:none; }

/* ── Empty state ── */
.rmp-empty {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:10px;
  padding:48px 20px;
  color:var(--bgc-mut); font-size:14px; text-align:center;
}
.rmp-empty i { font-size:30px; }

/* ── Overlay behind panel ── */
.riza-mega-overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,.42);
  z-index:997;
  opacity:0; pointer-events:none;
  transition:opacity .24s ease;
}
.riza-mega-overlay.is-active { opacity:1; pointer-events:auto; }

/* hide on mobile — mobile drawer handles navigation */
@media (max-width: 768px) {
  .riza-mega-panel,
  .riza-mega-overlay { display:none !important; }
}

/* ── Dropdown hover fix ───────────────────────────────────── */
.mega-dropdown { top:100% !important; padding-top:8px !important; }
.has-mega-menu .mega-dropdown { display:none; }
.has-mega-menu.dd-open .mega-dropdown { display:block !important; }

/* ── Subnav Bar ───────────────────────────────────────────── */
.riza-subnav {
  background:var(--bgc-chrome);
  border-bottom:1px solid rgba(255,255,255,.08);
  position:sticky;
  top:var(--header-h, 72px);
  z-index:998;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.riza-subnav::-webkit-scrollbar { display:none; }
.riza-subnav-inner {
  display:flex;
  align-items:center;
  padding:0;
  min-width:max-content;
}
.rsn-item {
  display:flex;
  align-items:center;
  gap:5px;
  padding:10px 14px;
  font-size:12px;
  font-weight:600;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s, background .18s;
  border-bottom:2px solid transparent;
}
.rsn-item:hover,
.rsn-item.rsn-active {
  color:#fff;
  background:rgba(255,255,255,.06);
  border-bottom-color:var(--bgc-grn);
  text-decoration:none;
}
.rsn-cat { font-weight:700; }
.rsn-special { color:var(--bgc-grn)); }
.rsn-special:hover { color:var(--bgc-grn); background:rgba(188,207,104,.08); }
.rsn-special i { font-size:11px; }
.rsn-sep {
  width:1px;
  height:20px;
  background:rgba(255,255,255,.15);
  margin:0 8px;
  flex-shrink:0;
}
@media (max-width: 768px) { .riza-subnav { display:none; } }


/* ══════════════════════════════════════════════════════════════
   RIZA CHECKOUT RESPONSIVE FIX 2026-08-25
   العلّة: `.rco-main`/`.rco-sidebar` عناصر جريد، وافتراضها `min-width:auto`
   يمنعها تصغر تحت عرض محتواها (min-content). صفوف الـflex جوّاها
   (`.rco-panel-head` · `.rco-summary-head` · `.rco-trust-row` · `.rco-panel-foot`)
   min-content بتاعها 478px، فالعمود اتمدّ لـ478 جوّه شاشة 390
   و`.rco-summary-card{overflow:hidden}` قصّت الزيادة بصمت — عشان كده
   الصفحة ماكانتش بتعمل scroll أفقي والباج بان كأنه «محتوى ناقص».
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .rco-layout, .rco-main, .rco-sidebar { min-width:0; }

  .rco-panel-head { flex-wrap:wrap; gap:10px; }
  .rco-panel-head-text { min-width:0; flex:1 1 auto; }
  .rco-panel-head-text h2,
  .rco-panel-head-text p { overflow-wrap:anywhere; }

  .rco-summary-head { gap:8px; }
  .rco-summary-head h3 { min-width:0; }

  /* ⚠️ القاعدة الأصلية هنا كانت بتكبس التسمية لعرض صفر — شوف بلوك
     RIZA TOTALS ROW CORRECTION تحت. سايبينها فاضية عمدًا. */

  .rco-sitem, .rco-sitem-info { min-width:0; }
  .rco-sitem-var {
    display:block; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis;
  }
  .rco-sitem-price { white-space:nowrap; }

  .rco-trust-row { flex-wrap:wrap; gap:10px; }
  .rco-trust-row > * { flex:1 1 90px; min-width:0; }

  .rco-panel-foot { flex-wrap:wrap; gap:10px; }

  /* حزام أمان أخير — ما حاجة تعدّي عرض الشاشة */
  .riza-checkout-page, .riza-checkout-page * { max-width:100%; }
}

@media (max-width: 480px) {
  .rco-summary-items,
  .rco-totals-wrap,
  .rco-coupon-wrap { padding-inline:14px; }
  .rco-summary-head { padding:18px 14px 14px; }
}

/* ══════════════════════════════════════════════════════════════
   RIZA STATIC PAGES RESPONSIVE FIX 2026-08-25
   /contact/ و/about/ اتبنوا بـinline styles (grid-template-columns
   ثابتة + gap 48px + padding 90px). الـinline بيغلب الـmedia queries
   ⇒ لازم !important. مقصورة على body.page عشان ما تمسّش صفحات المتجر.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 820px) {
  body.page:not(.woocommerce-page) [style*="grid-template-columns"] {
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  body.page:not(.woocommerce-page) [style*="max-width"] { max-width:100% !important; }

  /* حشو رأسي ضخم مكتوب inline (90px) بياكل الشاشة على الموبايل */
  body.page:not(.woocommerce-page) section[style*="padding:90px"],
  body.page:not(.woocommerce-page) section[style*="padding: 90px"] {
    padding-block:48px !important;
  }
  body.page:not(.woocommerce-page) section[style*="min-height:460px"],
  body.page:not(.woocommerce-page) section[style*="min-height: 460px"] {
    min-height:320px !important;
  }

  /* حزام أمان */
  body.page:not(.woocommerce-page) .riza-container,
  body.page:not(.woocommerce-page) .riza-container * { max-width:100%; }
  body.page:not(.woocommerce-page) img { height:auto; }
}

@media (max-width: 480px) {
  body.page:not(.woocommerce-page) [style*="grid-template-columns"] { gap:16px !important; }
  body.page:not(.woocommerce-page) section[style*="padding:90px"],
  body.page:not(.woocommerce-page) section[style*="padding: 90px"] { padding-block:36px !important; }
}

/* ══════════════════════════════════════════════════════════════
   RIZA FLOATING BUTTONS STACK FIX — 2026-08-25
   زر واتساب (.riza-wa-float · z9900 · bottom:20px · left:16px) كان بيدفن
   زر «للأعلى» (.back-top · z900 · bottom:16px · left:16px) — نفس الركن
   بالظبط وتداخل 40×38px، فالعميل شايف زر واحد بس.
   الحلّ: رصّ رأسي — «للأعلى» فوق الواتساب. القيمة = 20 (bottom الواتساب)
   + 50 (ارتفاعه) + 12 (فجوة) = 82px.
   ══════════════════════════════════════════════════════════════ */
.back-top,
.js-back-top { bottom:82px; }

/* على الشاشات الصغيرة الأزرار أصغر — نضبط الفجوة تبعًا */
@media (max-width: 480px) {
  .back-top,
  .js-back-top { bottom:78px; }
}

/* لو زر الواتساب مش موجود على الصفحة، رجّع «للأعلى» لمكانه الطبيعي */
body:not(:has(.riza-wa-float)) .back-top,
body:not(:has(.riza-wa-float)) .js-back-top { bottom:16px; }

/* ══════════════════════════════════════════════════════════════
   RIZA SUMMARY ITEM + COUPON FIX — 2026-08-25
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

  /* ── زر «تطبيق» كان بيتقصّ برّه الكارت ──
     input بـflex:1 وmin-width:auto = يرفض يصغر ⇒ يزقّ الزرّ برّه. */
  .rco-coupon-form-row { flex-wrap:wrap; }
  .rco-coupon-input {
    min-width:0;
    flex:1 1 140px;
  }
  .rco-coupon-btn {
    flex:0 0 auto;
    padding-inline:14px;
  }

  /* ── اسم المنتج: يلتفّ على سطرين بدل ما يتقصّ ── */
  .rco-sitem { align-items:flex-start; }
  .rco-sitem-info { flex:1 1 auto; min-width:0; }
  .rco-sitem-name {
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;          /* سطرين كاملين — أوضح بكتير من «…» */
    line-clamp: 2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    line-height:1.45;
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  .rco-sitem-var {
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.5;
  }
  .rco-sitem-price {
    white-space:nowrap;
    align-self:center;
    flex:0 0 auto;
  }
}

/* على الشاشات الضيّقة جدًّا: السعر ينزل تحت الاسم عشان الاسم ياخد العرض كله */
@media (max-width: 400px) {
  .rco-sitem { flex-wrap:wrap; row-gap:6px; }
  .rco-sitem-info { flex:1 1 100%; order:2; }
  .rco-sitem-img  { order:1; }
  .rco-sitem-price { order:3; margin-inline-start:auto; }
  .rco-sitem-name { -webkit-line-clamp:3; line-clamp:3; }
}

/* ══════════════════════════════════════════════════════════════
   RIZA TOTALS ROW — القاعدة الصحيحة (2026-08-25)
   المبدأ: التسمية («الشحن» · «المجموع الفرعي») قصيرة وثابتة ولا تنكمش أبدًا.
   القيمة هي اللي تاخد المساحة الباقية وتلتفّ لو طالت، والمبلغ نفسه ما ينكسرش.
   🪤 المحاولة الأولى عكست الدورين (القيمة nowrap + التسمية min-width:0)
      فاتكبست «الشحن» لعرض 0px وارتفاع 123px — الحروف مرصوصة عمودي.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .rco-total-row,
  .rco-total-grand {
    flex-wrap:wrap;
    gap:2px 10px;
    align-items:baseline;
  }

  .rco-total-row > :first-child,
  .rco-total-grand > :first-child {
    flex:0 0 auto;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }

  .rco-total-row > :last-child,
  .rco-total-grand > :last-child {
    flex:0 1 auto;              /* تاخد عرض محتواها لا عرض الصفّ */
    min-width: 0;
    margin-inline-start:auto;   /* تفضل ملزوقة ناحية الشمال في RTL */
    text-align: end;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .rco-total-row .woocommerce-Price-amount,
  .rco-total-grand .woocommerce-Price-amount,
  .rco-cod-fee-badge { white-space:nowrap; }

  .rco-total-row:empty { display:none; }
}

/* ── RIZA TOTALS TIGHT — الشاشات الضيّقة (2026-08-25) ──
   الهدف: كل صفّ إجماليات يقعد سطر واحد ما دام المحتوى يسمح، بدل ما ينزل
   سطرين لفرق بكسلات. الفجوة والحشو والخط بيتضيّقوا بالتدريج لا فجأة. */
@media (max-width: 430px) {
  .rco-total-row { font-size:12.5px; gap:2px 6px; }
  .rco-total-row .rco-cod-fee-badge { padding:2px 7px; font-size:12.5px; }
  .rco-total-grand { gap:2px 8px; }
}
@media (max-width: 370px) {
  .rco-total-row { font-size:12px; gap:2px 5px; }
  .rco-total-row .rco-cod-fee-badge { padding:2px 6px; font-size:12px; }
}

/* ── RIZA QTY BADGE CLIP FIX — 2026-08-25 ──
   الشارة عند top/left:-6px والحاوية overflow:hidden ⇒ كانت متقصوصة.
   ننقل القصّ للصورة نفسها ونسيب الحاوية visible. */
.rco-sitem-img { overflow:visible; }
.rco-sitem-img img {
  border-radius:10px;
  display:block;
}
.rco-sitem-qty {
  z-index:2;
  box-shadow:0 0 0 2px #fff;   /* يفصلها عن الصورة بوضوح */
}

/* ══════════════════════════════════════════════════════════════
   RIZA GRID MIN-WIDTH GUARD — 2026-08-25
   عناصر grid/flex افتراضها min-width:auto ⇒ ترفض تصغر تحت min-content،
   فالعمود يتمدّ برّه الشاشة والأب بـoverflow:hidden يقصّه **بصمت**.
   متحقَّق: .rco-layout 478→300 · .cart-layout 313→297.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .cart-layout,
  .pdp-layout,
  .policy-layout,
  .rco-layout,
  .shop-layout,
  .spd-layout,
  .account-body,
  .account-endpoint-wrap,
  .account-quick-links,
  .rco-auth-card,
  .rco-wc-fields,
  .rco-field-row,
  .cart-item,
  .cart-items-head,
  .spd-ship-grid,
  .spd-trust,
  .spd-related-grid,
  .spd-specs-table,
  .spd-gallery,
  .pdp-trust,
  .reviews-summary,
  .rty-detail-grid,
  .rty-meta-grid,
  .about-features,
  .about-stats,
  .stat-box,
  .hero-grid,
  .footer-grid,
  .riza-trust-bar,
  .header-inner,
  .products-grid,
  .shop-grid,
  .wishlist-grid,
  .rmp-prod-grid,
  .rmp-cats-grid,
  .featured-products-grid,
  .riza-all-products-grid,
  .riza-app-grid,
  .riza-catblock-grid {
    min-width:0;
  }

  .cart-layout > *,
  .pdp-layout > *,
  .policy-layout > *,
  .rco-layout > *,
  .shop-layout > *,
  .spd-layout > *,
  .account-body > *,
  .account-endpoint-wrap > *,
  .account-quick-links > *,
  .rco-auth-card > *,
  .rco-wc-fields > *,
  .rco-field-row > *,
  .cart-item > *,
  .cart-items-head > *,
  .spd-ship-grid > *,
  .spd-trust > *,
  .spd-related-grid > *,
  .spd-specs-table > *,
  .spd-gallery > *,
  .pdp-trust > *,
  .reviews-summary > *,
  .rty-detail-grid > *,
  .rty-meta-grid > *,
  .about-features > *,
  .about-stats > *,
  .stat-box > *,
  .hero-grid > *,
  .footer-grid > *,
  .riza-trust-bar > *,
  .header-inner > *,
  .products-grid > *,
  .shop-grid > *,
  .wishlist-grid > *,
  .rmp-prod-grid > *,
  .rmp-cats-grid > *,
  .featured-products-grid > *,
  .riza-all-products-grid > *,
  .riza-app-grid > *,
  .riza-catblock-grid > * {
    min-width:0;
  }
}


/* ══════════════════════════════════════════════════════════════
   RIZA INPUT SHRINK GUARD — 2026-08-25
   <input> ليه عرض ذاتي + min-width:auto ⇒ في صفّ flex يرفض ينكمش ويزقّ
   الزرّ المجاور برّه الحاوية. علاج عام لكل حقول الموقع على الموبايل.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  input, select, textarea { min-width:0; max-width:100%; }

  /* صفوف «حقل + زرّ» — تلتفّ بدل ما تدفع الزرّ برّه */
  .coupon,
  .cart-coupon-row,
  .rco-coupon-form-row,
  form.woocommerce-form-coupon,
  .newsletter-form,
  .search-row {
    display:flex;
    flex-wrap:wrap;
    min-width:0;
    gap:8px;
  }
  .coupon > input,
  .coupon .coupon-input,
  .cart-coupon-row input,
  .newsletter-form input,
  .search-row input {
    flex:1 1 130px;
    min-width:0;
  }
  .coupon > .button,
  .coupon .btn-outline-dark,
  .cart-coupon-row button,
  .newsletter-form button,
  .search-row button {
    flex:0 0 auto;
    white-space:nowrap;
  }

  /* .coupon كان عليه min-width:200px ثابت — يمنعه من الانكماش */
  .coupon { min-width:0 !important; }

  /* (قاعدة .hdr-btn اتنقلت لبلوك الهيدر تحت) */
}

/* ══════════════════════════════════════════════════════════════
   RIZA MOBILE HEADER FIT — 2026-08-25
   الهيدر مشترك في كل الصفحات، فأي زيادة فيه بتكسر الموقع كله.
   القياس: المتاح 212px · ٥ أزرار + ٤ فجوات لازم يقعدوا جوّاه.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .header-inner { gap:12px; min-width:0; }
  .header-actions {
    gap:4px;
    min-width:0;
    flex-shrink:1;
  }
  .hdr-btn {
    width:38px;
    height:38px;
    flex:0 0 auto;
    padding:0;
    /* 🪤 من غير overflow:hidden — شارة «AI» absolute ومصمّمة تطلّ برّه،
       وهي مش بتأثّر على عرض الصفّ لأنها خارج تدفّق التخطيط. */
    overflow: visible;
  }
  .hdr-btn i,
  .hdr-btn svg { font-size:15px; }
  /* نصّ «AI» جوّه زرّ البحث بالصورة كان بيمدّه 5px */
  .hdr-btn .hdr-btn-label,
  .js-vsearch-trigger span { font-size:8.5px; line-height:1; }
}

@media (max-width: 400px) {
  .header-inner { gap:8px; padding-inline:10px; }
  .header-actions { gap:3px; }
  .hdr-btn { width:36px; height:36px; }
}

/* ══════════════════════════════════════════════════════════════
   RIZA PRODUCT NAME WRAP — 2026-08-25
   قرار المالك: الاسم ما يتقصّش. line-clamp بيدّي سطرين كاملين
   بدل nowrap+ellipsis اللي كان بيخفي معظم الاسم على الشاشات الضيّقة.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .cp-item-name,
  .cart-item-name,
  .order-item-name,
  .rty-item-name,
  .pcard-name,
  .product-card-name,
  .rmp-card-name,
  .spd-rel-name,
  .wishlist-card-name,
  .bestseller-name,
  .toprated-name,
  .feat-card-name {
    white-space:normal !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.45;
    overflow-wrap:anywhere;
    min-width:0;
  }
}


/* ══════════════════════════════════════════════════════════════
   ملخص السلة (10-10) — نفس كارت «إتمام الطلب» (.rco-summary-card)
   القالب: woocommerce/cart/cart-totals.php · الغلاف .cart_totals
   ══════════════════════════════════════════════════════════════ */
.riza-cart-summary .rcs-ship { padding:16px 24px; border-bottom:1px solid var(--bgc-line); }
.rcs-ship-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:10px; }
.rcs-ship-head span { font-size:13px; font-weight:800; color:var(--bgc-ink); display:flex; align-items:center; gap:6px; }
.rcs-ship-head span i { color:#bccf68; }
.rcs-ship-head small { font-size:11px; color:#9a9a9a; }
.rcs-ship-list { display:flex; flex-direction:column; gap:8px; }
.rcs-ship-opt {
  position:relative; display:flex; align-items:center; gap:10px;
  padding:11px 12px; border:1.5px solid #ece7de; border-radius:12px;
  background:var(--bgc-card); cursor:pointer; transition:border-color .2s, background .2s;
}
.rcs-ship-opt:hover { border-color:#d9cdb5; }
.rcs-ship-opt.is-on, .rcs-ship-opt:has(input:checked) { border-color:var(--bgc-ink); background:var(--bgc-warm); }
.rcs-ship-opt input { position:absolute; opacity:0; pointer-events:none; }
.rcs-dot { position:relative; flex-shrink:0; width:18px; height:18px; border-radius:50%; border:2px solid #cfc8bb; }
.rcs-ship-opt.is-on .rcs-dot, .rcs-ship-opt:has(input:checked) .rcs-dot { border-color:var(--bgc-ink); }
.rcs-ship-opt.is-on .rcs-dot::after, .rcs-ship-opt:has(input:checked) .rcs-dot::after {
  content:''; position:absolute; inset:3px; border-radius:50%; background:var(--bgc-chrome);
}
.rcs-name { flex:1; min-width:0; font-size:12.5px; font-weight:700; color:var(--bgc-ink); line-height:1.5; }
.rcs-price { font-size:13px; font-weight:800; color:var(--bgc-ink); white-space:nowrap; }
.rcs-free { color:#1a7f37; }
.rcs-ship-empty { font-size:12px; color:var(--bgc-ink); background:var(--bgc-warm); border-radius:10px; padding:10px 12px; line-height:1.7; }
.riza-cart-summary .rcs-ship-val { font-size:12px; color:var(--bgc-ink); text-align:left; max-width:62%; line-height:1.6; }
.riza-cart-summary .rcs-code { font-style:normal; background:var(--bgc-card); color:var(--bgc-mut); border-radius:6px; padding:1px 6px; font-size:11px; margin-inline-start:4px; }
.riza-cart-summary .rcs-vat { font-size:11px; color:var(--bgc-mut); margin-top:8px; }
.riza-cart-summary .rcs-cta { padding:16px 24px 18px; }
.riza-cart-summary .rcs-cta .wc-proceed-to-checkout { margin:0; padding:0; }
.riza-cart-summary .rcs-cta .checkout-button {
  display:flex !important; align-items:center; justify-content:center;
  width:100%; height:52px; margin:0 !important; padding:0 16px !important;
  border-radius:14px !important; background:var(--bgc-chrome) !important; color:#fff !important;
  font-size:15px !important; font-weight:800 !important; transition:background .2s;
}
.riza-cart-summary .rcs-cta .checkout-button:hover { background:#2a2a2a !important; }
.riza-cart-summary .blockUI.blockOverlay { border-radius:20px; }
@media (max-width: 600px) {
  .riza-cart-summary .rcs-ship, .riza-cart-summary .rcs-cta { padding-inline:16px; }
}
