/*rzm:s36*/
/* Rozhika Support → Q&A Bridge — front-end (consent card + anonymous option). */

/* anonymous checkbox injected into Q&A / review forms */
.rsqb-anon-opt {
	display: flex; align-items: center; gap: 9px; margin: 10px 0 6px;
	font-size: 14px; color: #374151; cursor: pointer; user-select: none;
}
.rsqb-anon-opt input { width: clamp(16px, 15.43px + 0.1786vw, 18px); height: clamp(16px, 15.43px + 0.1786vw, 18px); accent-color: #6366f1; cursor: pointer; flex: 0 0 auto; }
.rsqb-anon-opt .rsqb-anon-hint { font-size: 12px; color: #9ca3af; }
.rsqb-anon-name { font-weight: 700; }

/* Anonymous badges intentionally carry NO bespoke sizing/position here: the Q&A
   badge reuses the native `.user-badge-qa` wrapper and the review badge reuses the
   native `.review-author-badge` wrapper, so they inherit the site's exact badge
   size, circular border, shadow and placement. The marker classes below exist only
   so the badges can be targeted/QA'd; they must not override the native geometry. */
/* No geometry here on purpose. `.review-author-badge` / `.user-badge-qa` already
   set vertical-align (with !important), so a duplicate declaration on the marker
   class could only ever be dead weight or, worse, the start of a second source of
   truth for badge geometry. The marker classes are markers. */

/* consent card inside the support widget — clean, compact, in-chat */
.rsqb-consent {
	margin: 12px 10px; padding: 15px 15px 14px; border-radius: 18px;
	background: #ffffff; border: 1px solid #e9ecf5;
	box-shadow: 0 10px 30px rgba(67,56,202,.12), 0 2px 6px rgba(17,24,39,.05);
	direction: rtl; font-family: inherit; 
	max-width: 360px;
}
@keyframes rsqb-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.rsqb-consent__head { display: flex; align-items: center; gap: 11px; margin-bottom: 11px; }
.rsqb-consent__ic {
	width: 42px; height: 42px; border-radius: 13px; flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg,#818cf8,#4338ca); box-shadow: 0 6px 16px rgba(67,56,202,.28);
}
.rsqb-consent__htx { min-width: 0; }
.rsqb-consent__title { font-weight: 800; font-size: 14.5px; color: #1e1b4b; margin: 0; line-height: 1.65; }
.rsqb-consent__sub { margin: 4px 0 0; }
.rsqb-consent__product {
	display: inline-block; font-weight: 700; font-size: 12px; color: #4338ca;
	background: #eef2ff; border: 1px solid #e0e7ff; border-radius: 999px; padding: 2px 10px; line-height: 1.7;
}
.rsqb-consent__help { font-size: 12.5px; color: #6b7280; margin: 0 0 12px; line-height: 1.85; }
.rsqb-consent__perk {
	display: flex; gap: 8px; align-items: flex-start;
	font-size: 12px; line-height: 1.8; color: #92580c; font-weight: 700;
	background: linear-gradient(135deg,#fff7e6,#fffdf6); border: 1px solid #fce6ad;
	border-radius: 13px; padding: 9px 11px; margin: 0 0 13px;
}
.rsqb-consent__btns { display: flex; flex-direction: column; gap: 8px; }
.rsqb-consent__btn {
	border: 0; border-radius: 12px; padding: 12px 14px; font-weight: 800; cursor: pointer;
	font-family: inherit; font-size: 14px; 
}
.rsqb-consent__btn:hover { filter: brightness(1.03); }
.rsqb-consent__btn:active { transform: scale(.985); }
.rsqb-consent__btn--full { background: linear-gradient(135deg,#6366f1,#4338ca); color: #fff; box-shadow: 0 6px 16px rgba(67,56,202,.28); }
.rsqb-consent__btn--anon { background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; }
.rsqb-consent__btn--decline { background: transparent; color: #9aa1ad; font-weight: 700; font-size: 13px; padding: 9px 14px; }
.rsqb-consent--done { text-align: center; color: #0a6c33; font-weight: 800; padding: 20px 16px; font-size: 14px; }
.rsqb-consent__done { display: flex; flex-direction: column; align-items: center; gap: 8px; }

/* Guest Q&A form (injected where wc-product-questions shows a login notice) */
.rsqb-guest-form{margin-top:8px}
.rsqb-guest-note{font-size:12px;color:#7a7a8c;margin:6px 2px 0;display:flex;align-items:center;gap:6px}
.rsqb-guest-note::before{content:"";width:8px;height:8px;border-radius:50%;background:#a78bfa;display:inline-block;flex:0 0 auto}
.rsqb-guest-msg{margin-top:clamp(7px, 6.143px + 0.2679vw, 10px);padding:clamp(7px, 6.143px + 0.2679vw, 10px) clamp(9px, 8.143px + 0.2679vw, 12px);border-radius:clamp(7px, 6.143px + 0.2679vw, 10px);font-size:clamp(12px, 11.71px + 0.08929vw, 13px);line-height:1.7}
.rsqb-guest-msg.rsqb-ok{background:#e9f9ef;color:#137a43;border:1px solid #bdebcf}
.rsqb-guest-msg.rsqb-err{background:#fdecec;color:#b3261e;border:1px solid #f5c2c0}

/* member's OWN anonymous posts — appended to /my-account/user-qa & /user-reviews (issue #9) */
.rsqb-acct{margin:28px 0 8px;direction:rtl}
.rsqb-acct__head{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px dashed #e3e6ef}
.rsqb-acct__badge{width:44px;height:44px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:7px;background:linear-gradient(135deg,#818cf8,#4338ca);box-shadow:0 4px 12px rgba(67,56,202,.25)}
.rsqb-acct__badge svg{width:100%;height:100%;display:block}
.rsqb-acct__title{margin:0;font-size:16px;font-weight:800;color:#1e1b4b}
.rsqb-acct__note{margin:3px 0 0;font-size:12.5px;color:#6b7280;line-height:1.7}
.rsqb-acct__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.rsqb-acct-card{display:flex;gap:12px;padding:13px;border:1px solid #ececf3;border-radius:15px;background:#fff;box-shadow:0 2px 8px rgba(17,24,39,.04);border-inline-start:3px solid #e5e7eb}
/* Task 4: per-type accent so questions vs answers vs reviews read at a glance. */
.rsqb-acct-card--q{border-inline-start-color:#6366f1}
.rsqb-acct-card--a{border-inline-start-color:#10b981}
.rsqb-acct-card--r{border-inline-start-color:#f59e0b}
.rsqb-acct-card__media{width:62px;height:62px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:#f3f4f7;display:block}
.rsqb-acct-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.rsqb-acct-card__media--ph{background:repeating-linear-gradient(45deg,#f3f4f7,#f3f4f7 6px,#eceef3 6px,#eceef3 12px)}
.rsqb-acct-card__body{flex:1 1 auto;min-width:0}
.rsqb-acct-card__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.rsqb-acct-card__product{font-weight:800;font-size:13.5px;color:#3730a3;text-decoration:none;line-height:1.5}
.rsqb-acct-card__product:hover{text-decoration:underline}
.rsqb-acct-card__type{font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px}
.rsqb-acct-card__type--q{background:#eef2ff;color:#4338ca}
.rsqb-acct-card__type--a{background:#ecfdf5;color:#047857}
.rsqb-acct-card__type--r{background:#fff7ed;color:#c2410c}
.rsqb-acct-card__rating{margin:2px 0 4px;color:#f59e0b;font-size:13px;letter-spacing:1px}
.rsqb-acct-card__text{margin:0 0 8px;font-size:13px;color:#374151;line-height:1.85}
.rsqb-acct-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#9097a3}
.rsqb-acct-card__status{font-weight:700;padding:2px 8px;border-radius:999px}
.rsqb-status--ok{background:#e9f9ef;color:#0a7a3d}
.rsqb-status--pending{background:#fff4e5;color:#a55a00}
.rsqb-status--rejected{background:#fdeaea;color:#b3261e}
.rsqb-acct-card__anon{font-weight:700;color:#4338ca;background:#eef2ff;border:1px solid #e0e7ff;padding:2px 8px;border-radius:999px}
@media (max-width:520px){.rsqb-acct__grid{grid-template-columns:1fr}}

/* my-account anonymous tab — relocated into the page's native tab bar (issue: real tab, not a bottom section).
   Task 5: the anon glyph now uses the TIGHT 0 0 24 24 symbol, so an explicit 20px box makes it the
   same visual size as the neighbouring tab icons (the old 1.05em sizing rendered it ~25% too small). */
.rsqb-anon-tab .tab-icon svg{width:20px;height:20px;vertical-align:middle}
.rsqb-anon-rtab__ic svg{width:20px;height:20px;vertical-align:middle}
.rsqb-anon-rtab__ic{display:inline-flex;margin-inline-end:6px;vertical-align:middle}

/* ----------------------------------------------------------------------------
   my-account tab bars (Q&A + reviews): wrap-friendly compact layout + stylized
   count pills that are identical for the NATIVE tabs and our anonymous tab.
   Scoped to the two account wrappers so nothing else on the site is touched.
   (These pills/tab are injected by account.js after RUCSS, so the classes are
   also safelisted in RSQB_Compat::rucss_safelist().)
   -------------------------------------------------------------------------- */
/* Let the rows wrap instead of overflowing / widening the page when there are
   several tabs (the extra «ناشناس» tab used to squeeze/overflow the row). */
.rozhika-qa-wrapper .qa-main-tabs{flex-wrap:wrap}
.rozhika-qa-wrapper .qa-main-tab{flex:1 1 auto;white-space:nowrap;padding-left:16px;padding-right:16px}
/* Reviews filter bar already wraps (host sets flex-wrap); just keep it tidy and
   compact so the extra «ناشناس» tab doesn't force the row to widen. */
.rozhika-reviews-wrapper .filter-tabs{justify-content:center}
.rozhika-reviews-wrapper .filter-tab{padding-left:16px;padding-right:16px}

/* Count pill — same look for native tab counts and the anonymous tab. */
.rsqb-tab-count,.rsqb-anon-tab__count{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:clamp(17px, 16.14px + 0.2679vw, 20px);height:clamp(17px, 16.14px + 0.2679vw, 20px);padding:0 clamp(5px, 4.714px + 0.08929vw, 6px);margin-inline-start:clamp(5px, 4.429px + 0.1786vw, 7px);
	border-radius:999px;background:#4338ca;color:#fff;
	font-size:12px;font-weight:800;line-height:1;vertical-align:middle
}
/* Beat wc-user-account-custom's `.qa-main-tab span{color:inherit}` so the number
   stays white instead of turning gray/invisible on an INACTIVE Q&A tab. */
.qa-main-tab .rsqb-tab-count,.filter-tab .rsqb-tab-count,
.qa-main-tab .rsqb-anon-tab__count,.filter-tab .rsqb-anon-tab__count{
	color:#fff;-webkit-text-fill-color:#fff
}
/* The ACTIVE tab shows a purple gradient, so flip the pill to frosted-white so
   the count pops instead of melting into the tab background. */
.qa-main-tab.active .rsqb-tab-count,.filter-tab.active .rsqb-tab-count,
.qa-main-tab.active .rsqb-anon-tab__count,.filter-tab.active .rsqb-anon-tab__count{
	background:rgba(255,255,255,.24)
}

.rsqb-acct__panel{padding:6px 2px 10px;}
.rsqb-acct__empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:46px 16px;color:#6b7280;text-align:center;font-size:14px}
.rsqb-acct__empty .rsqb-acct__badge{opacity:.85}
.rsqb-acct--fallback{display:block!important}
.rsqb-acct--fallback .rsqb-acct__panel{margin-top:26px}

/* ============================================================================
   Tasks 4 & 6 — in-chat consent card + system notices inside the support widget.
   These message kinds are injected by JS after WP Rocket's RUCSS snapshot, so the
   selectors below are safelisted in RSQB_Compat::rucss_safelist().
   ============================================================================ */
#rwh-widget-hub .rwh-message-system {
    align-self: center;
    max-width: 94%;
    align-items: center;
}
#rwh-widget-hub .rwh-message-system .rwh-system-bubble {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    background: linear-gradient(135deg, rgba(157, 78, 221, 0.10), rgba(118, 75, 162, 0.10));
    border: 1px solid rgba(157, 78, 221, 0.22);
    border-radius: 14px;
    color: #6d28d9;
    font-family: var(--font-family, IRANYekan, sans-serif);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.55;
    text-align: center;
}
#rwh-widget-hub .rwh-message-system .rwh-system-icon { display: inline-flex; color: #7b2cbf; flex-shrink: 0; }
#rwh-widget-hub .rwh-message-system .rwh-system-time {
    font-size: 12px; color: #64748b; margin-top: 4px; text-align: center;
}
/* Task 2: distinct emerald look for the admin-published (no-consent) notice, so it
   reads differently from the purple consent thank-you. Safelisted in RSQB_Compat. */
#rwh-widget-hub .rwh-message-system.rsqb-sys--pub .rwh-system-bubble {
    background: linear-gradient(135deg, rgba(16,185,129,0.12), rgba(5,150,105,0.12));
    border-color: rgba(5,150,105,0.30);
    color: #047857;
}
#rwh-widget-hub .rwh-message-system.rsqb-sys--pub .rwh-system-icon { color: #059669; }

#rwh-widget-hub .rwh-message-consent { align-self: stretch; max-width: 100%; }
#rwh-widget-hub .rwh-consent-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 14px 15px 13px;
    box-shadow: 0 8px 24px rgba(123, 44, 191, 0.10);
}
#rwh-widget-hub .rwh-consent-card::before {
    content: '';
    position: absolute;
    top: 0; bottom: 0; right: 0;
    width: 4px;
    background: linear-gradient(135deg, #9d4edd 0%, #7b2cbf 100%);
}
#rwh-widget-hub .rwh-consent-head { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 11px; }
#rwh-widget-hub .rwh-consent-spark {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(157, 78, 221, 0.14), rgba(118, 75, 162, 0.14));
    color: #7b2cbf;
}
#rwh-widget-hub .rwh-consent-prompt {
    font-family: var(--font-family, IRANYekan, sans-serif);
    font-size: 13px; line-height: 1.75; color: #1e293b; font-weight: 700;
}
#rwh-widget-hub .rwh-consent-note {
    margin: 0 0 11px !important;
    padding: 8px 11px !important;
    background: rgba(16, 185, 129, 0.08) !important;
    border: 1px solid rgba(16, 185, 129, 0.20) !important;
    border-radius: 10px !important;
    font-family: var(--font-family, IRANYekan, sans-serif);
    font-size: 12px !important; line-height: 1.7 !important; color: #047857 !important; font-weight: 600 !important;
    display: flex !important; gap: 6px; align-items: flex-start;
}
#rwh-widget-hub .rwh-consent-note svg { flex-shrink: 0; margin-top: 1px; }
/* Encouraging line shown to everyone (guests + members) — soft purple note. */
#rwh-widget-hub .rwh-consent-help {
    margin: 0 0 11px !important;
    padding: 8px 11px !important;
    background: rgba(157, 78, 221, 0.06) !important;
    border: 1px solid rgba(157, 78, 221, 0.16) !important;
    border-radius: 10px !important;
    font-family: var(--font-family, IRANYekan, sans-serif);
    font-size: 12px !important; line-height: 1.7 !important; color: #6d28d9 !important; font-weight: 600 !important;
    display: flex !important; gap: 7px; align-items: flex-start;
}
#rwh-widget-hub .rwh-consent-help svg { flex-shrink: 0; margin-top: 1px; }
#rwh-widget-hub .rwh-consent-actions { display: flex; flex-direction: column; gap: 8px; }
/* The support widget (rozhika-widget-hub) ships a blanket reset
   `#rwh-widget-hub button { background-image:none!important; border-radius:50%!important;
   padding:0!important; box-shadow:none!important; font-weight:normal!important; ... }` for its
   own circular icon buttons. Our consent buttons are <button>s injected INTO the widget, so that
   reset wrecks them (kills the name button's gradient -> white text on white = invisible, forces a
   50% radius "pill/ellipse", zeroes padding). We out-rank it on specificity, but it uses
   !important, so the visual props below must be !important too. Scoped to our component only. */
#rwh-widget-hub .rwh-consent-btn {
    width: 100% !important; padding: 11px 14px !important; border: 1px solid transparent !important; border-radius: 12px !important; cursor: pointer !important;
    font-family: var(--font-family, IRANYekan, sans-serif); font-size: 13px !important; font-weight: 700 !important;
    line-height: 1.4 !important; min-height: 0 !important; min-width: 0 !important; margin: 0 !important;
    display: inline-flex !important; align-items: center; justify-content: center; gap: 7px;
}
#rwh-widget-hub .rwh-consent-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
#rwh-widget-hub .rwh-consent-btn-ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
#rwh-widget-hub .rwh-consent-btn-ic svg { width: 16px; height: 16px; display: block; }
#rwh-widget-hub .rwh-consent-btn-tx { display: inline-flex; align-items: center; }
#rwh-widget-hub .rwh-consent-btn--name {
    background: linear-gradient(135deg, #9d4edd 0%, #7b2cbf 100%) !important; color: #fff !important;
    box-shadow: 0 4px 14px rgba(157, 78, 221, 0.32) !important;
}
#rwh-widget-hub .rwh-consent-btn--name:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(157, 78, 221, 0.42) !important; }
#rwh-widget-hub .rwh-consent-btn--anon {
    background: rgba(157, 78, 221, 0.07) !important; color: #7b2cbf !important; border-color: rgba(157, 78, 221, 0.28) !important;
}
#rwh-widget-hub .rwh-consent-btn--anon:hover { background: rgba(157, 78, 221, 0.13) !important; }
#rwh-widget-hub .rwh-consent-btn--decline {
    background: transparent !important; color: #64748b !important; border-color: #e2e8f0 !important;
}
#rwh-widget-hub .rwh-consent-btn--decline:hover { background: #f8fafc !important; color: #1e293b !important; }
#rwh-widget-hub .rwh-consent-btn:disabled { opacity: 0.55; cursor: default; transform: none; box-shadow: none; }
#rwh-widget-hub .rwh-consent-busy { text-align: center; padding: 6px; color: #7b2cbf; font-size: 12px; font-weight: 700; }

/* ============================================================================
   Task 1 — clickable product chip: the product name on the consent card and a
   distinct bordered chip beside the thank-you bubble, both opening the product
   page. Scoped to the support widget (the only place the chip renders) with
   !important so the widget's own link/button rules can't flatten it. Safelisted
   in RSQB_Compat::rucss_safelist().
   ============================================================================ */
#rwh-widget-hub .rsqb-prodchip-wrap { display: flex !important; justify-content: center; margin-top: 9px; }
#rwh-widget-hub .rsqb-prodchip {
    display: inline-flex !important; align-items: center; gap: 7px; max-width: 100% !important;
    padding: 7px 12px !important; border: 1px solid #ddd6fe !important; border-radius: 12px !important;
    background: linear-gradient(135deg, #f5f3ff, #eef2ff) !important; color: #5b21b6 !important;
    font-family: var(--font-family, IRANYekan, sans-serif); font-size: 12.5px !important; font-weight: 800 !important;
    line-height: 1.4 !important; text-decoration: none !important; box-shadow: 0 2px 8px rgba(91, 33, 182, .10) !important;
    cursor: pointer; min-height: 0 !important; min-width: 0 !important; margin: 9px auto 0;
}
#rwh-widget-hub .rsqb-prodchip:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(91, 33, 182, .18) !important; background: linear-gradient(135deg, #efeafe, #e6edff) !important; }
#rwh-widget-hub .rsqb-prodchip__ic { display: inline-flex; flex: 0 0 auto; color: #7c3aed; }
#rwh-widget-hub .rsqb-prodchip__ic svg { display: block; width: 16px; height: 16px; }
#rwh-widget-hub .rsqb-prodchip__tx { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
#rwh-widget-hub .rsqb-prodchip__caret { flex: 0 0 auto; opacity: .65; }
/* inline variant: the product name under the consent prompt (own line, compact pill) */
#rwh-widget-hub .rwh-consent-product.rsqb-prodchip--inline { display: flex !important; width: -moz-fit-content; width: fit-content; max-width: 100%; margin: 9px 0 0 !important; font-size: 12px !important; padding: 6px 11px !important; box-shadow: none !important; }
#rwh-widget-hub .rsqb-prodchip--static { cursor: default; }

/* ============================================================================
   Task 3 — unified compact Q&A controls + custom filter dropdown. Applied to the
   product-page (wc-product-questions) AND my-account (wc-user-account-custom)
   .qa-controls so both look identical: one centered row of [filter dropdown]
   [sort] [search]. The native filter tabs are hidden (kept for click-driving).
   Safelisted in RSQB_Compat::rucss_safelist().
   ============================================================================ */
.qa-controls.rsqb-qa-compact { padding: clamp(10px, 8.857px + 0.3571vw, 14px) !important; border-radius: clamp(11px, 9.571px + 0.4464vw, 16px); background: #fff; border: 1px solid #ececf3; box-shadow: 0 2px 10px rgba(17, 24, 39, .05); }
.rsqb-qa-compact .qa-filters { display: flex !important; flex-wrap: wrap; gap: clamp(8px, 7.429px + 0.1786vw, 10px) clamp(10px, 8.857px + 0.3571vw, 14px); align-items: flex-end; justify-content: center; }
.rsqb-qa-compact .filter-section, .rsqb-qa-compact .sort-section, .rsqb-qa-compact .search-section { min-width: 0; margin: 0; }
.rsqb-qa-compact .filter-section { flex: 1 1 180px; max-width: 260px; }
.rsqb-qa-compact .sort-section { flex: 1 1 150px; max-width: 220px; }
.rsqb-qa-compact .search-section { flex: 2 1 220px; }
.rsqb-qa-compact .filter-title, .rsqb-qa-compact .sort-title, .rsqb-qa-compact .search-title {
    display: flex; align-items: center; gap: clamp(5px, 4.714px + 0.08929vw, 6px); margin: 0 0 clamp(4px, 3.429px + 0.1786vw, 6px);
    /* RZK 2026-08-27 (round 25): was flat at every width. House ramp -- cap is the old value so tablet and desktop are unchanged, and the small end gets smaller. */
    font-size: 12px; font-weight: 800; color: #6b7280; letter-spacing: .2px; text-transform: none;
}
.rsqb-qa-compact .filter-title svg, .rsqb-qa-compact .sort-title svg, .rsqb-qa-compact .search-title svg { color: #6366f1; width: clamp(14px, 13.43px + 0.1786vw, 16px); height: clamp(14px, 13.43px + 0.1786vw, 16px); }
.rsqb-tabs-hidden { display: none !important; }

.rsqb-fdrop { position: relative; width: 100%; }
.rsqb-fdrop__btn {
    display: flex; align-items: center; gap: clamp(6px, 5.429px + 0.1786vw, 8px); width: 100%;
    padding: clamp(8px, 7.429px + 0.1786vw, 10px) clamp(10px, 9.429px + 0.1786vw, 12px); border: 1px solid #e5e7eb; border-radius: clamp(9px, 8.143px + 0.2679vw, 12px); background: #fff; cursor: pointer;
    font-family: var(--font-family, IRANYekan, sans-serif); /* RZK 2026-08-27 (round 26): was flat at every width. House ramp -- cap is the old value so tablet and desktop are unchanged; only the small end shrinks. */
    font-size: clamp(12px, 11.71px + 0.08929vw, 13px); font-weight: 700; color: #374151; text-align: start;
}
.rsqb-fdrop__btn:hover { border-color: #c7d2fe; }
.rsqb-fdrop.is-open .rsqb-fdrop__btn { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }
.rsqb-fdrop__cur { display: inline-flex; align-items: center; gap: clamp(6px, 5.714px + 0.08929vw, 7px); flex: 1 1 auto; min-width: 0; }
.rsqb-fdrop__cur .rsqb-fdrop__lb { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rsqb-fdrop__ic { display: inline-flex; flex: 0 0 auto; color: #6366f1; }
.rsqb-fdrop__ic svg { display: block; width: clamp(14px, 13.43px + 0.1786vw, 16px); height: clamp(14px, 13.43px + 0.1786vw, 16px); color: #6366f1; }
.rsqb-fdrop__arrow { flex: 0 0 auto; color: #9ca3af;  }
.rsqb-fdrop.is-open .rsqb-fdrop__arrow { transform: rotate(180deg); }
.rsqb-fdrop__menu {
    position: absolute; z-index: 50; top: calc(100% + 6px); inset-inline: 0;
    background: #fff; border: 1px solid #eceaf6; border-radius: clamp(9px, 8.143px + 0.2679vw, 12px); padding: clamp(5px, 4.714px + 0.08929vw, 6px);
    box-shadow: 0 12px 30px rgba(67, 56, 202, .16); display: flex; flex-direction: column; gap: 3px;
}
/*
 * The panel is opened and closed with the `hidden` attribute (see
 * assets/js/frontend.js: `menu.hidden = true/false`), and the rule above gives it
 * `display: flex`. A bare `[hidden]{display:none}` has the same specificity as
 * `.rsqb-fdrop__menu`, so which of the two wins depends purely on stylesheet order —
 * and any tool that concatenates or reorders CSS (WP Rocket's Remove Unused CSS does
 * exactly that) can flip it, leaving this dropdown permanently open. Qualifying the
 * selector with the attribute makes it 0-2-0 and therefore order-independent.
 */
.rsqb-fdrop__menu[hidden] { display: none; }
.rsqb-fdrop__opt {
    display: flex; align-items: center; gap: clamp(6px, 5.429px + 0.1786vw, 8px); width: 100%; padding: clamp(7px, 6.429px + 0.1786vw, 9px) clamp(8px, 7.429px + 0.1786vw, 10px); border: 0; border-radius: clamp(7px, 6.429px + 0.1786vw, 9px);
    background: transparent; cursor: pointer; font-family: inherit; /* RZK 2026-08-27 (round 26): was flat at every width. House ramp -- cap is the old value so tablet and desktop are unchanged; only the small end shrinks. */
    font-size: clamp(12px, 11.71px + 0.08929vw, 13px); font-weight: 700; color: #4b5563; text-align: start;
}
.rsqb-fdrop__opt .rsqb-fdrop__lb { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rsqb-fdrop__opt:hover { background: #f5f3ff; color: #4338ca; }
.rsqb-fdrop__opt.is-active { background: linear-gradient(135deg, #6366f1, #4338ca); color: #fff; }
.rsqb-fdrop__opt.is-active .rsqb-fdrop__ic, .rsqb-fdrop__opt.is-active .rsqb-fdrop__ic svg { color: #fff; }
.rsqb-fdrop .rsqb-tab-count { margin-inline-start: auto; }
.rsqb-fdrop__opt.is-active .rsqb-tab-count { background: rgba(255, 255, 255, .24); }

.rsqb-qa-compact .sort-select {
    width: 100%; padding: clamp(8px, 7.429px + 0.1786vw, 10px) clamp(10px, 9.429px + 0.1786vw, 12px); border: 1px solid #e5e7eb !important; border-radius: clamp(9px, 8.143px + 0.2679vw, 12px) !important; background: #fff;
    font-family: var(--font-family, IRANYekan, sans-serif); font-size: clamp(12px, 11.71px + 0.08929vw, 13px); font-weight: 700; color: #374151; cursor: pointer;
}
.rsqb-qa-compact .sort-select:focus { outline: none; border-color: #6366f1 !important; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }
.rsqb-qa-compact .search-wrapper { position: relative; }
.rsqb-qa-compact .qa-search-input {
    width: 100%; padding: clamp(8px, 7.429px + 0.1786vw, 10px) clamp(10px, 9.429px + 0.1786vw, 12px); border: 1px solid #e5e7eb !important; border-radius: clamp(9px, 8.143px + 0.2679vw, 12px) !important; background: #fff;
    font-family: var(--font-family, IRANYekan, sans-serif); font-size: clamp(12px, 11.71px + 0.08929vw, 13px); color: #374151; box-sizing: border-box;
}
.rsqb-qa-compact .qa-search-input:focus { outline: none; border-color: #6366f1 !important; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }

/* ============================================================================
   v1.5.0 — server-rendered my-account anonymous tab.
   The anonymous tab button, its panel, the «ثبت شده» relabel and the count pills
   are now produced server-side (class-rsqb-render.php) so nothing re-arranges
   after load (no FOUC). These styles dress the server-rendered panels; the tab
   buttons reuse the host's native .qa-main-tab / .filter-tab styling already.
   ============================================================================ */
@keyframes rsqb-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
/* Q&A anonymous panel lives in the host's .qa-tab-content shell. */
#rsqb-anon-qa-content {  }
#rsqb-anon-qa-content .rsqb-acct { margin-top: 6px; }
/* Reviews anonymous panel (shown when the «ناشناس» filter tab is active). */
.rsqb-anon-reviews-panel { padding: 6px 2px 10px;  direction: rtl; }
.rsqb-anon-reviews-panel .rsqb-acct { margin-top: 6px; }

/* While the «ناشناس» (anonymous) reviews tab is active, force-hide the host's own
   review panels. The host user-reviews.js runs an async fade on the SAME click and
   would otherwise race the list/controls/badges back into view on top of our panel.
   This `!important` beats the host's inline display so there is no flash/overlap.
   /my-account/ is logged-in only (RUCSS never runs there), but `.rsqb-anon-active`
   is still added to the rocket_rucss_safelist for consistency. */
.rozhika-reviews-wrapper.rsqb-anon-active .reviews-list,
.rozhika-reviews-wrapper.rsqb-anon-active .reviews-controls,
.rozhika-reviews-wrapper.rsqb-anon-active .review-badges-container,
.rozhika-reviews-wrapper.rsqb-anon-active .empty-reviews { display: none !important; }


/* Round 6: the dropdown's chevron was flat 16x16 at every width. */
.rsqb-fdrop__arrow {
	width: clamp(14px, 13.43px + 0.1786vw, 16px);
	height: clamp(14px, 13.43px + 0.1786vw, 16px);
}

/* Round 15: the anonymous option row. It is injected into the Q&A and review
 * forms by JavaScript and only for signed-in users, which is why it never appeared
 * in any server-rendered HTML and no audit had measured it. Its label inherited
 * the form's size; the hint was a flat 12px.
 *
 * CORRECTION (round 18). Round 15 gave this row a floor of 11.5px. That is below
 * the 12px legibility floor this project holds everywhere else, and it slipped
 * through for the same reason the row itself did: the element only exists for a
 * signed-in visitor, so the anonymous audit never measured it. It is the second
 * instance of the same mistake as the variation chip -- reaching for a smaller
 * number when the type was already sitting on the floor. Floored at 12px; the
 * 13px desktop value is unchanged, so it still matches the form labels. */
.rsqb-anon-opt {
	font-size: clamp(12px, 11.71px + 0.08929vw, 13px);
}
.rsqb-anon-opt .rsqb-anon-hint {
	font-size: 12px;
}
.rsqb-guest-note {
	font-size: 12px;
}
