/* «کیف طلا» side panel opened from the header wallet icon (assets/drawer.js). */
.swg-dw {
	--g: var(--sg-gold, #C9A227);
	--gd: var(--sg-gold-dark, #A88418);
	--gt: #7A5F0C;
	--gl: var(--sg-gold-light, #FAF4E6);
	--line: var(--sg-border-light, #E8DFCE);
	--ink: var(--sg-black, #1A1A1A);
	--mut: #6b6b6b;
	--buy: #1f8a4c;
	--sell: #c0392b;
	position: fixed;
	inset: 0;
	z-index: 1000002; /* above the theme header (999999) and cart drawer (1000001) */
	direction: rtl;
	font-family: var(--sg-font-body, inherit);
	color: var(--ink);
}
.swg-dw[hidden] { display: none; }
html.swg-dw-open, html.swg-dw-open body { overflow: hidden !important; }
html.swg-dw-open .swan-chat { display: none !important; } /* chat bubble sits above everything */

.swg-dw__scrim { position: absolute; inset: 0; background: rgba(20, 18, 14, .38); opacity: 0; transition: opacity .2s ease; }
.swg-dw__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0; /* the header icons sit on the left of the RTL header */
	width: min(400px, 92vw);
	display: flex;
	flex-direction: column;
	background: #F8F7F4;
	box-shadow: 0 0 40px rgba(0, 0, 0, .12);
	transform: translateX(-102%);
	transition: transform .22s ease;
	outline: none;
}
.swg-dw.is-in .swg-dw__scrim { opacity: 1; }
.swg-dw.is-in .swg-dw__panel { transform: none; }
@media (prefers-reduced-motion: reduce) { .swg-dw__scrim, .swg-dw__panel { transition: none; } }

.swg-dw__head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.swg-dw__head h2 { margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--ink); }
.swg-dw__state { padding: 2px 10px; border-radius: 999px; font-size: .72rem; background: #f1efea; color: var(--mut); }
.swg-dw__state.is-open { background: #e8f3ea; color: #1b6b35; }
.swg-dw__state.is-closed { background: #f6e9e7; color: #9a2a20; }
.swg-dw__close { margin-inline-start: auto; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; transition: background-color .2s; }
.swg-dw__close:hover { background: #f1efea; }
.swg-dw__close:focus-visible, .swg-dw a:focus-visible { outline: 2px solid var(--g); outline-offset: 2px; }

.swg-dw__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 16px; display: grid; gap: 14px; align-content: start; }

/* Gold balance: soft black card, gold figure */
.swg-dw__hero { display: grid; gap: 2px; padding: 18px; border-radius: 16px; background: #1f1d1a; color: #f3efe6; }
.swg-dw__hero span { font-size: .78rem; color: #cfc6b4; }
.swg-dw__hero strong { font-size: 1.6rem; font-weight: 600; color: var(--g); font-variant-numeric: tabular-nums; }
.swg-dw__hero small { font-size: .8rem; color: #e6dfd0; }
.swg-dw__hero .swg-dw__res { color: #cfc6b4; }
.swg-dw__hero.is-loading span, .swg-dw__hero.is-loading strong, .swg-dw__hero.is-loading small { display: block; height: 12px; width: 40%; border-radius: 6px; background: #3a3732; }
.swg-dw__hero.is-loading strong { height: 26px; width: 60%; margin: 6px 0; }
.swg-dw__sk { height: 46px; border-radius: 12px; background: #ece9e2; }
.swg-dw__sk.is-short { width: 60%; }

.swg-dw__lines { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.swg-dw__lines li { display: flex; align-items: baseline; gap: 10px; padding: 10px 14px; font-size: .85rem; }
.swg-dw__lines li + li { border-top: 1px solid var(--line); }
.swg-dw__val { margin-inline-start: auto; font-variant-numeric: tabular-nums; }
.swg-dw__val b { font-weight: 600; }

.swg-dw__warn { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; border-inline-start: 3px solid var(--g); background: var(--gl); color: var(--ink); text-decoration: none; font-size: .85rem; }
.swg-dw__warn span { color: var(--gt); }

.swg-dw__rates { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.swg-dw__rate { display: grid; gap: 2px; padding: 10px 14px; color: var(--ink); text-decoration: none; }
.swg-dw__rate + .swg-dw__rate { border-right: 1px solid var(--line); }
.swg-dw__rate span { font-size: .72rem; color: var(--mut); }
.swg-dw__rate b { font-size: 1.05rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.swg-dw__rate.is-buy b { color: var(--buy); }
.swg-dw__rate.is-sell b { color: var(--sell); }
.swg-dw__when { margin: -8px 0 0; font-size: .72rem; color: var(--mut); }

.swg-dw__acts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.swg-dw__btn { display: grid; place-items: center; min-height: 48px; border-radius: 12px; color: #fff; font-weight: 600; text-decoration: none; transition: background-color .2s; }
.swg-dw__btn.is-buy { background: var(--buy); }
.swg-dw__btn.is-buy:hover { background: #17723e; }
.swg-dw__btn.is-sell { background: var(--sell); }
.swg-dw__btn.is-sell:hover { background: #a3301f; }
.swg-dw__btn.is-main { background: #1f1d1a; color: var(--g); }

.swg-dw__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.swg-dw__links a { display: grid; place-items: center; min-height: 44px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font-size: .8rem; text-align: center; text-decoration: none; transition: border-color .2s; }
.swg-dw__links a:hover { border-color: var(--g); }

.swg-dw__recent h3 { margin: 0 0 6px; font-size: .9rem; font-weight: 600; }
.swg-dw__recent ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.swg-dw__recent li { display: flex; align-items: center; gap: 10px; padding: 9px 14px; font-size: .82rem; }
.swg-dw__recent li + li { border-top: 1px solid var(--line); }
.swg-dw__recent li > span:first-child { display: grid; min-width: 0; }
.swg-dw__recent li b { font-weight: 600; }
.swg-dw__recent small { color: var(--mut); font-size: .72rem; }
.swg-dw__recent li > span:last-child { margin-inline-start: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.swg-dw .is-pos { color: var(--buy); }
.swg-dw .is-neg { color: var(--sell); }

.swg-dw__lead { margin: 0; font-size: .9rem; line-height: 1.9; }
.swg-dw__muted { margin: 0; font-size: .82rem; color: var(--mut); }
.swg-dw__more { justify-self: center; margin-top: 6px; display: inline-block; padding: 8px; color: var(--gt); font-size: .82rem; text-decoration: none; }
.swg-dw__more:hover { text-decoration: underline; }

/* Rates are buttons (pick buy / sell); shipped-with-page numbers are dimmed until refreshed */
.swg-dw__rate { border: 0; background: none; font: inherit; text-align: start; cursor: pointer; }
.swg-dw__rates.is-old b { opacity: .55; }

.swg-dw__credit { display: flex; align-items: baseline; gap: 10px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--gl); font-size: .85rem; }
.swg-dw__credit b { font-weight: 600; font-variant-numeric: tabular-nums; }
.swg-dw__credit .swg-dw__link { margin-inline-start: auto; }
.swg-dw__link { min-height: 32px; padding: 4px 6px; border: 0; background: none; color: var(--gt); font: inherit; font-size: .82rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.swg-dw__msg { margin: 0; padding: 10px 14px; border-radius: 10px; font-size: .84rem; line-height: 1.8; }
.swg-dw__msg.is-ok { background: #e8f3ea; color: #1b5e30; }
.swg-dw__msg.is-err { background: #f6e9e7; color: #8f251c; }
.swg-dw__note { margin: 0; padding: 10px 14px; border-radius: 10px; background: var(--gl); font-size: .84rem; line-height: 1.8; }

/* Trade box */
.swg-dw__trade { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.swg-dw__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 10px; background: #f1efea; }
.swg-dw__tabs button { min-height: 40px; border: 0; border-radius: 8px; background: transparent; color: var(--mut); font: inherit; font-weight: 600; cursor: pointer; transition: background-color .2s, color .2s; }
.swg-dw__tabs button.is-on { background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.swg-dw__tabs button.is-buy.is-on { color: var(--buy); }
.swg-dw__tabs button.is-sell.is-on { color: var(--sell); }
.swg-dw__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.swg-dw__fields label, .swg-dw__out label { display: flex; align-items: center; gap: 6px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; transition: border-color .2s; }
.swg-dw__fields label:focus-within, .swg-dw__out label:focus-within { border-color: var(--g); }
.swg-dw__fields input, .swg-dw__out input { flex: 1; min-width: 0; height: 46px; border: 0; background: none; color: var(--ink); font: inherit; font-size: 1.05rem; text-align: left; outline: none; box-shadow: none; }
.swg-dw__fields span, .swg-dw__out label span { font-size: .75rem; color: var(--mut); }
.swg-dw__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.swg-dw__chips:empty { display: none; }
.swg-dw__chips button { min-height: 34px; padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-size: .78rem; cursor: pointer; }
.swg-dw__chips button:hover { border-color: var(--g); }
.swg-dw__hint { margin: 0; min-height: 1.4em; font-size: .8rem; color: var(--mut); }
.swg-dw__hint.is-err { color: var(--sell); }
.swg-dw__btn { width: 100%; border: 0; font: inherit; font-size: 1rem; font-weight: 600; cursor: pointer; }
.swg-dw__btn[disabled] { opacity: .45; cursor: not-allowed; }
.swg-dw__choice { display: grid; gap: 8px; }
.swg-dw__choice p { margin: 0; font-size: .85rem; line-height: 1.8; }
.swg-dw__opt { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font: inherit; text-align: start; cursor: pointer; transition: border-color .2s; }
.swg-dw__opt b { font-weight: 600; }
.swg-dw__opt small { font-size: .74rem; line-height: 1.6; color: var(--mut); }
.swg-dw__opt:hover:not([disabled]) { border-color: var(--g); }
.swg-dw__opt.is-buy b { color: var(--buy); }
.swg-dw__opt.is-sell b { color: var(--sell); }
.swg-dw__opt[disabled] { opacity: .55; cursor: not-allowed; }
.swg-dw__choice .swg-dw__link { justify-self: center; }
.swg-dw__code-title { margin: 0; font-weight: 600; }
.swg-dw__trade [data-code] { display: grid; gap: 8px; }
.swg-dw__codefield { display: grid; gap: 4px; font-size: .8rem; color: var(--mut); }
.swg-dw__codefield input { height: 50px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: 1.3rem; letter-spacing: .4em; text-align: center; color: var(--ink); }
.swg-dw__codefield input:focus { border-color: var(--g); outline: none; }
.swg-dw__trade.is-code .swg-dw__link { justify-self: center; }
.swg-dw__out { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.swg-dw__body.is-busy { cursor: progress; }
.swg-dw__body.is-busy .swg-dw__btn, .swg-dw__body.is-busy .swg-dw__opt { opacity: .6; pointer-events: none; }
.swg-dw button:focus-visible, .swg-dw input:focus-visible { outline: 2px solid var(--g); outline-offset: 2px; }
/* Never wider than the panel: inputs' natural width must not stretch the grid */
.swg-dw__body, .swg-dw__trade, .swg-dw__choice, .swg-dw__out { grid-template-columns: minmax(0, 1fr); }
.swg-dw__fields, .swg-dw__tabs, .swg-dw__rates { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.swg-dw__fields input, .swg-dw__out input { width: 100%; }
.swg-dw__body { grid-auto-rows: max-content; } /* rows never squeezed when the content is taller than the screen */
.swg-dw .swg-dw__btn, .swg-dw .swg-dw__btn:hover, .swg-dw .swg-dw__btn:focus { color: #fff; }
.swg-dw .swg-dw__btn.is-main { color: var(--g); }
