/* Silver Core v0.6.0 — global design tokens and reset only.
   Page/system CSS is loaded conditionally to avoid internal conflicts. */
:root{
  --slv-bg:#f6f6fb;
  --slv-surface:#ffffff;
  --slv-surface-2:#f0f2f8;
  --slv-surface-3:#e6e8f2;
  --slv-fg:#111120;
  --slv-muted:#666b7f;
  --slv-soft:#8f94a8;
  --slv-border:rgba(17,17,32,.09);
  --slv-border-strong:rgba(17,17,32,.16);
  --slv-pink:#ff4d93;
  --slv-violet:#6f63ff;
  --slv-success:#14a662;
  --slv-warning:#f59e0b;
  --slv-grad:linear-gradient(135deg,var(--slv-pink) 0%,var(--slv-violet) 100%);
  --slv-shadow:0 1px 2px rgba(17,17,32,.04),0 14px 34px rgba(17,17,32,.08);
  --slv-shadow-strong:0 24px 70px rgba(17,17,32,.15);
  --slv-radius:18px;
  --slv-radius-sm:12px;
  --slv-max:1392px;
  --slv-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --slv-display:Sora,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.silver-theme{margin:0;background:var(--slv-bg);color:var(--slv-fg);font-family:var(--slv-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;height:auto}
.slv-container{width:min(100% - 48px,var(--slv-max));margin-inline:auto}.slv-ico{display:inline-block;width:1em;height:1em;vertical-align:-.14em;flex-shrink:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{clip:auto!important;clip-path:none;background:#fff;color:#000;display:block;height:auto;right:8px;top:8px;width:auto;z-index:99999;padding:12px;border-radius:8px;box-shadow:var(--slv-shadow)}


/* Global buttons */
.slv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:13px;text-decoration:none;border:1px solid transparent;padding:0 18px;font-weight:900;font-size:14px;line-height:1;transition:.2s;cursor:pointer}.slv-btn--primary{background:var(--slv-grad);color:#fff;box-shadow:0 14px 28px rgba(255,77,147,.23)}.slv-btn--primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.slv-btn--secondary{background:#fff;border-color:var(--slv-border-strong);color:var(--slv-fg)}.slv-btn--secondary:hover{border-color:var(--slv-pink);color:var(--slv-pink)}.slv-btn--card{width:100%;min-height:38px;border-radius:10px;background:var(--slv-fg);color:#fff}.slv-btn--card:hover{background:var(--slv-pink);color:#fff}.slv-btn--muted{width:100%;min-height:38px;border-radius:10px;background:var(--slv-surface-2);border-color:var(--slv-border);color:var(--slv-muted)}


/* v0.9.4 — Global breadcrumb removal requested. */
.slv-product-breadcrumb,
.slv-cart-breadcrumb,
.slv-account-breadcrumb,
.slv-checkout-breadcrumb,
.slv-thankyou-breadcrumb,
.slv-shop-breadcrumb,
.woocommerce-breadcrumb,
.breadcrumb,
.breadcrumbs{
  display:none !important;
}

/* Silver v0.9.79 — preset avatar picker + avatar rendering. */
.slv-account-avatar.has-avatar{background:transparent!important;padding:0;overflow:hidden;}
.slv-account-avatar .slv-avatar-svg{display:block;width:100%;height:100%;border-radius:inherit;}
.slv-account-avatars{margin:16px 0 0;}
.slv-account-avatars__label{display:block;margin:0 0 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.025em;color:#14141c;}
.slv-account-avatars__grid{display:flex;flex-wrap:wrap;gap:9px;}
.slv-account-avatars__opt{position:relative;display:grid;place-items:center;width:52px;height:52px;border:2px solid #e7e9f2;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,transform .12s ease;}
.slv-account-avatars__opt:hover{border-color:rgba(255,77,147,.45);}
.slv-account-avatars__opt:active{transform:scale(.95);}
.slv-account-avatars__opt input{position:absolute;opacity:0;pointer-events:none;}
.slv-account-avatars__opt .slv-avatar-svg{width:44px;height:44px;border-radius:11px;}
.slv-account-avatars__opt:has(input:checked){border-color:#ff4d93;box-shadow:0 0 0 3px rgba(255,77,147,.14);}
.slv-account-avatars__initial{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:linear-gradient(-135deg,#ff4d93,#f97316);color:#fff;font-weight:900;font-size:17px;}
/* v0.9.79 — selection ring fallback for browsers without :has(). */
.slv-account-avatars__opt input:checked + .slv-avatar-svg,
.slv-account-avatars__opt input:checked + .slv-account-avatars__initial{box-shadow:0 0 0 3px rgba(255,77,147,.55);}

/* ============================================================================
   Silver v0.9.96 — wishlist active-heart state, GLOBAL.
   The GRZ Wishlist plugin toggles .is-active on any [data-grz-wl] heart. The
   active styling previously lived only in product-digital.css, which is not
   loaded on hardware product pages — so the hardware heart toggled in the
   database with no visible change. This rule lives in base.css (always
   loaded), so both the digital and hardware hearts light up pink when active.
   ============================================================================ */
.slv-wl-heart.is-active{border-color:rgba(255,77,147,.55)!important;color:#ff4d93!important;background:#fff0f6!important;}
.slv-wl-heart.is-active .slv-ico{fill:#ff4d93!important;color:#ff4d93!important;}

/* v0.9.287 — order item meta: keep a label with its value.
   WooCommerce prints the details a customer typed at checkout as a definition
   list, and every browser gives <dd> a 40px inline-start margin by default. Laid
   out as a flex row that margin lands *inside* each pair, so the line reads
   "Top-Up:        660 UC User ID:        5206603070" — the label divorced from
   its own value and welded to the next one. The default is reset and the
   breathing space moved to where a pair ends. Logical properties, so Arabic
   mirrors without a second rule. */
dl.variation,
.wc-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
dl.variation dt,
dl.variation dd,
.wc-item-meta li,
.wc-item-meta p,
.wc-item-meta .wc-item-meta-label {
  margin: 0;
  padding: 0;
}
dl.variation dt:not(:first-child),
.wc-item-meta li:not(:first-child) {
  margin-inline-start: 16px;
}
dl.variation dd > p,
.wc-item-meta p {
  display: inline;
}
/* v0.9.310 — a price is one word. "2.550 دج" was breaking after the number in the
   narrow cart column, leaving the currency stranded on its own line. */
.woocommerce-Price-amount,.woocommerce-Price-amount>bdi,.slv-cart-page .amount{white-space:nowrap!important}
/* v0.9.312 — the cart line price is one word, in both languages.
   "2.550" and "دج" (or "DZD") were breaking apart in the narrow price column,
   leaving the currency alone on a second line. Targeting the column itself as
   well as the amount inside it, because the earlier rule aimed only at
   WooCommerce's own price span and the column is what was doing the squeezing. */
.slv-cart-item__price,.slv-cart-item__price *{white-space:nowrap!important}
.slv-cart-item__price{flex:0 0 auto!important;min-width:max-content!important;width:auto!important}


/* ------------------------------------------------------------------
   Output from WooCommerce template actions Silver fires itself.

   Full copy, not a delta: silver_rtl_register_variants() serves this file
   INSTEAD of base.css for Arabic readers, so anything missing here simply
   does not exist for them. The alternative-payment block was added to
   base.css alone and Arabic customers got it unstyled — icon adrift on its
   own line, no card around it.
   ------------------------------------------------------------------ */
.slv-wc-hook{
	max-width:var(--slv-container,1200px);
	margin:24px auto 0;
	padding:0 var(--slv-gutter,20px);
	color:var(--slv-text,#e8eaf0);
	font-size:15px;
	line-height:1.6;
}
.slv-wc-hook:empty{display:none;}
.slv-wc-hook img[height="1"],
.slv-wc-hook img[width="1"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}

/* ------------------------------------------------------------------
   The alternative-payment door.

   No direction override on purpose. The page already carries dir="rtl", so
   a plain flex row runs right-to-left by itself; forcing row-reverse here
   would flip it a second time and put the icon back on the left.
   ------------------------------------------------------------------ */
.slv-alt-pay{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	margin:14px 0 0;
	padding:12px 14px;
	border:1px solid var(--slv-border,#e2e6ef);
	border-radius:10px;
	background:var(--slv-surface-2,#f7f8fb);
	font-size:14px;
	line-height:1.5;
	text-align:right;
}
.slv-alt-pay__icon{display:inline-flex;width:20px;height:20px;flex:0 0 20px;color:#25d366;}
.slv-alt-pay__icon svg{width:100%;height:100%;}
.slv-alt-pay__text{margin:0;flex:1 1 220px;color:var(--slv-text-muted,#5b6478);}
.slv-alt-pay__link{
	font-weight:700;
	text-decoration:underline;
	white-space:nowrap;
	color:inherit;
}
.slv-alt-pay__link:hover{opacity:.75;}
