/* ============================================================
   RIWAJ FAQ PRO — v1.0.0
   Figma-style /faq/ page with motion.
   Pairs with site-pro.css.

   Per UI/UX Pro Max:
     §1 a11y · §2 touch ≥44px · §4 elevation tokens
     §5 mobile-first · §7 spring physics + reduced-motion
     §8 forms (visible labels, inline validation)
   ============================================================ */

body.riwajfood .rf-faq-page-pro {
  --rf-d-1: 0 1px 2px rgba(26,15,8,0.06), 0 2px 6px rgba(26,15,8,0.05);
  --rf-d-2: 0 4px 10px rgba(26,15,8,0.08), 0 10px 28px rgba(26,15,8,0.10);
  --rf-d-3: 0 14px 28px rgba(26,15,8,0.12), 0 28px 60px rgba(26,15,8,0.14);
  --rf-d-brand: 0 8px 20px rgba(212,81,30,0.20), 0 18px 44px rgba(212,81,30,0.18);
  --rf-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --rf-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  background: linear-gradient(180deg, #FFF8F3 0%, #FFEFE3 100%);
  overflow-x: hidden;
}
body.riwajfood .rf-faq-page-pro .rf-faq-container {
  width: min(1240px, 92%);
  margin: 0 auto;
}

/* Reveal helper */
body.riwajfood.riwajfood .rf-faq-page-pro [data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms var(--rf-ease-out),
              transform 700ms var(--rf-ease-out);
}
body.riwajfood.riwajfood .rf-faq-page-pro [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* Animated gradient text */
body.riwajfood.riwajfood .rf-faq-grad {
  background: linear-gradient(135deg, var(--rf-brand, #D4511E) 0%, #FF8F44 50%, var(--rf-brand-deep, #B33E14) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  background-size: 200% 100%;
  animation: rfFaqGrad 6s ease-in-out infinite;
}
@keyframes rfFaqGrad {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* ============================================================
   1. HERO
   ============================================================ */
body.riwajfood.riwajfood .rf-faq-hero {
  position: relative;
  padding: clamp(48px, 9vh, 100px) 0 clamp(32px, 5vh, 60px);
  overflow: hidden;
  isolation: isolate;
  text-align: center;
}
body.riwajfood.riwajfood .rf-faq-blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(50px);
  opacity: 0.55;
  z-index: 0;
}
body.riwajfood.riwajfood .rf-faq-blob--a {
  width: 460px; height: 460px;
  top: -100px; inset-inline-start: -80px;
  background: radial-gradient(circle, rgba(255,145,95,0.55), transparent 70%);
  animation: rfFaqBlob 14s ease-in-out infinite;
}
body.riwajfood.riwajfood .rf-faq-blob--b {
  width: 360px; height: 360px;
  top: 30%; inset-inline-end: -60px;
  background: radial-gradient(circle, rgba(212,81,30,0.45), transparent 70%);
  animation: rfFaqBlob 18s ease-in-out infinite reverse;
}
@keyframes rfFaqBlob {
  0%, 100% { transform: translate(0,0) scale(1); }
  50%      { transform: translate(30px, -20px) scale(1.10); }
}
body.riwajfood.riwajfood .rf-faq-grid-pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(212,81,30,0.10) 1px, transparent 0);
  background-size: 28px 28px;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, transparent 70%);
  pointer-events: none;
}
body.riwajfood.riwajfood .rf-faq-hero-content {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto;
}

body.riwajfood.riwajfood .rf-faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 81, 30, 0.18);
  border-radius: 999px;
  color: var(--rf-brand-deep, #B33E14);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 22px;
  box-shadow: 0 4px 12px rgba(212, 81, 30, 0.12);
}
body.riwajfood.riwajfood .rf-faq-hero-title {
  font-size: clamp(1.8rem, 1.3rem + 2.4vw, 3.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
  color: #1A0F08 !important;
  margin: 0 0 18px !important;
}
body.riwajfood.riwajfood .rf-faq-hero-sub {
  font-size: clamp(1rem, 0.92rem + 0.4vw, 1.15rem) !important;
  color: #4A2E20 !important;
  line-height: 1.7 !important;
  margin: 0 auto 26px !important;
  max-width: 600px;
}
body.riwajfood.riwajfood .rf-faq-hero-sub strong {
  color: var(--rf-brand-deep, #B33E14);
}

/* ─── BIG SEARCH ─── */
body.riwajfood.riwajfood .rf-faq-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 580px;
  margin: 0 auto;
  background: #fff;
  border: 1.5px solid rgba(212,81,30,0.18);
  border-radius: 999px;
  padding: 6px;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.06),
    0 12px 30px rgba(26,15,8,0.10);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms var(--rf-spring);
}
body.riwajfood.riwajfood .rf-faq-search-wrap:focus-within {
  border-color: var(--rf-brand, #D4511E);
  box-shadow:
    0 0 0 6px rgba(212,81,30,0.12),
    0 14px 36px rgba(26,15,8,0.14);
  transform: translateY(-1px);
}
body.riwajfood.riwajfood .rf-faq-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  color: var(--rf-brand, #D4511E);
  border-radius: 50%;
  background: var(--rf-brand-soft, #FFF0E5);
}
body.riwajfood.riwajfood .rf-faq-search-wrap input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  font: 600 1rem 'DM Sans','Noto Sans Arabic',sans-serif;
  color: #1A0F08;
  padding: 0 12px;
  min-width: 0;
  height: 42px;
}
body.riwajfood.riwajfood .rf-faq-search-wrap input::placeholder {
  color: #A89180;
  font-weight: 500;
}
body.riwajfood.riwajfood .rf-faq-search-wrap input::-webkit-search-cancel-button {
  display: none;
}
body.riwajfood.riwajfood .rf-faq-search-clear {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0;
  background: var(--rf-paper-200, #FFE4D1);
  color: #6B5040;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 200ms ease;
  margin-inline-end: 4px;
}
body.riwajfood.riwajfood .rf-faq-search-clear:hover {
  background: var(--rf-brand, #D4511E);
  color: #fff;
  transform: rotate(90deg);
}
body.riwajfood.riwajfood .rf-faq-search-hint {
  position: absolute;
  bottom: -28px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--rf-brand-deep, #B33E14);
  white-space: nowrap;
}

/* Suggestions row */
body.riwajfood.riwajfood .rf-faq-suggestions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 36px;
}
body.riwajfood.riwajfood .rf-faq-suggestions-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #6B5040;
  margin-inline-end: 4px;
}
body.riwajfood.riwajfood .rf-faq-suggestion {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  background: rgba(255,255,255,0.80);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(212,81,30,0.18);
  border-radius: 999px;
  color: var(--rf-ink-700, #4A2E20);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 200ms var(--rf-spring);
}
body.riwajfood.riwajfood .rf-faq-suggestion:hover {
  background: linear-gradient(135deg, var(--rf-brand, #D4511E), var(--rf-brand-deep, #B33E14));
  color: #fff;
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(212,81,30,0.30);
}

/* ============================================================
   2. MAIN: SIDEBAR + ACCORDION
   ============================================================ */
body.riwajfood.riwajfood .rf-faq-main {
  padding: clamp(20px, 3vh, 40px) 0 clamp(50px, 8vh, 90px);
}
body.riwajfood.riwajfood .rf-faq-main-grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

/* ─── SIDEBAR ─── */
body.riwajfood.riwajfood .rf-faq-sidebar {
  position: sticky;
  top: 90px;
  align-self: start;
}
body.riwajfood.riwajfood .rf-faq-sidebar-card {
  background: #fff;
  border-radius: 22px;
  border: 1px solid rgba(212,81,30,0.08);
  box-shadow: var(--rf-d-1);
  overflow: hidden;
}
body.riwajfood.riwajfood .rf-faq-sidebar-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  color: #1A0F08 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--rf-paper-200, #FFE4D1);
}
body.riwajfood.riwajfood .rf-faq-sidebar-count {
  background: var(--rf-brand-soft, #FFF0E5);
  color: var(--rf-brand-deep, #B33E14);
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
}

/* Category nav */
body.riwajfood.riwajfood .rf-faq-cats {
  display: flex;
  flex-direction: column;
  padding: 8px;
  gap: 2px;
}
body.riwajfood.riwajfood .rf-faq-cat-btn {
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 14px;
  background: transparent;
  border: 0;
  border-radius: 12px;
  font: 600 0.92rem inherit;
  color: var(--rf-ink-800, #2A1A0F);
  cursor: pointer;
  text-align: start;
  transition: background 200ms ease, color 200ms ease, transform 200ms var(--rf-spring);
}
body.riwajfood.riwajfood .rf-faq-cat-btn:hover {
  background: var(--rf-paper-50, #FFF8F3);
  color: var(--rf-brand-deep, #B33E14);
}
body.riwajfood.riwajfood .rf-faq-cat-btn.is-active {
  background: linear-gradient(135deg, var(--rf-brand, #D4511E) 0%, var(--rf-brand-deep, #B33E14) 100%);
  color: #fff;
  box-shadow: 0 6px 14px rgba(212,81,30,0.30);
}
body.riwajfood.riwajfood .rf-faq-cat-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--rf-paper-100, #FFF0E5);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  transition: background 200ms ease;
}
body.riwajfood.riwajfood .rf-faq-cat-btn.is-active .rf-faq-cat-icon {
  background: rgba(255,255,255,0.20);
}
body.riwajfood.riwajfood .rf-faq-cat-label {
  flex: 1;
}
body.riwajfood.riwajfood .rf-faq-cat-count {
  font-size: 0.72rem;
  font-weight: 700;
  background: rgba(212,81,30,0.10);
  color: var(--rf-brand-deep, #B33E14);
  padding: 2px 9px;
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  transition: background 200ms ease, color 200ms ease;
}
body.riwajfood.riwajfood .rf-faq-cat-btn.is-active .rf-faq-cat-count {
  background: rgba(255,255,255,0.22);
  color: #fff;
}

/* Sidebar help block */
body.riwajfood.riwajfood .rf-faq-sidebar-help {
  margin: 8px;
  padding: 18px 16px 16px;
  background: linear-gradient(180deg, var(--rf-paper-50, #FFF8F3) 0%, var(--rf-paper-100, #FFF0E5) 100%);
  border-radius: 14px;
  text-align: center;
  border: 1px dashed var(--rf-paper-200, #FFE4D1);
}
body.riwajfood.riwajfood .rf-faq-sidebar-help-emoji {
  font-size: 1.6rem;
  display: inline-block;
  margin-bottom: 4px;
  filter: drop-shadow(0 2px 6px rgba(212,81,30,0.20));
}
body.riwajfood.riwajfood .rf-faq-sidebar-help h3 {
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  color: #1A0F08 !important;
  margin: 0 0 4px !important;
}
body.riwajfood.riwajfood .rf-faq-sidebar-help p {
  font-size: 0.78rem !important;
  color: #6B5040 !important;
  margin: 0 0 12px !important;
  line-height: 1.5 !important;
}
body.riwajfood.riwajfood .rf-faq-sidebar-help-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #25D366;
  color: #fff !important;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(37,211,102,0.32);
  transition: transform 200ms var(--rf-spring), box-shadow 200ms ease, filter 200ms ease;
}
body.riwajfood.riwajfood .rf-faq-sidebar-help-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 8px 18px rgba(37,211,102,0.42);
}

/* ─── ACCORDION CONTENT ─── */
body.riwajfood.riwajfood .rf-faq-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

body.riwajfood.riwajfood .rf-faq-section-header {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
body.riwajfood.riwajfood .rf-faq-section-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #FFF4EA 0%, #FFE4D1 100%);
  font-size: 1.3rem;
  box-shadow:
    inset 0 -2px 4px rgba(212,81,30,0.10),
    inset 0 2px 3px rgba(255,255,255,0.80),
    0 6px 14px rgba(212,81,30,0.18);
}
body.riwajfood.riwajfood .rf-faq-section-header h2 {
  font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem) !important;
  font-weight: 800 !important;
  color: #1A0F08 !important;
  margin: 0 !important;
  letter-spacing: -0.015em;
  flex: 1;
}
body.riwajfood.riwajfood .rf-faq-section-count {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--rf-brand-deep, #B33E14);
  background: var(--rf-brand-soft, #FFF0E5);
  padding: 4px 12px;
  border-radius: 999px;
}

body.riwajfood.riwajfood .rf-faq-list-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Accordion item */
body.riwajfood.riwajfood .rf-faq-item {
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(212,81,30,0.10);
  box-shadow: var(--rf-d-1);
  overflow: hidden;
  transition: border-color 240ms ease, box-shadow 240ms ease;
}
body.riwajfood.riwajfood .rf-faq-item:hover {
  box-shadow: var(--rf-d-2);
  border-color: var(--rf-brand-tint, rgba(212,81,30,0.20));
}
body.riwajfood.riwajfood .rf-faq-item.is-open {
  border-color: var(--rf-brand, #D4511E);
  box-shadow: var(--rf-d-brand);
}
body.riwajfood.riwajfood .rf-faq-q {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px;
  padding: 18px 22px !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer;
  text-align: start !important;
  font: 700 1rem inherit !important;
  color: #1A0F08 !important;
  min-height: 60px;
  transition: color 200ms ease, background 200ms ease;
}
body.riwajfood.riwajfood .rf-faq-q:hover {
  background: var(--rf-paper-50, #FFF8F3) !important;
  color: var(--rf-brand-deep, #B33E14) !important;
}
body.riwajfood.riwajfood .rf-faq-item.is-open .rf-faq-q {
  color: var(--rf-brand-deep, #B33E14) !important;
}
body.riwajfood.riwajfood .rf-faq-q-text {
  flex: 1;
  line-height: 1.4;
}
body.riwajfood.riwajfood .rf-faq-q-arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rf-brand-soft, #FFF0E5);
  color: var(--rf-brand, #D4511E);
  flex-shrink: 0;
  transition: transform 320ms var(--rf-spring), background 240ms ease, color 240ms ease;
}
body.riwajfood.riwajfood .rf-faq-item.is-open .rf-faq-q-arrow {
  background: linear-gradient(135deg, var(--rf-brand, #D4511E), var(--rf-brand-deep, #B33E14));
  color: #fff;
  transform: rotate(45deg);
  box-shadow: 0 4px 10px rgba(212,81,30,0.32);
}

/* Accordion answer (animated by JS via height) */
body.riwajfood.riwajfood .rf-faq-a {
  height: 0;
  overflow: hidden;
  transition: height 320ms var(--rf-ease-out);
}
body.riwajfood.riwajfood .rf-faq-a-inner {
  padding: 4px 22px 22px;
  border-top: 1px dashed var(--rf-paper-200, #FFE4D1);
  margin-top: 0;
}
body.riwajfood.riwajfood .rf-faq-a p {
  font-size: 0.95rem !important;
  color: #4A2E20 !important;
  line-height: 1.75 !important;
  margin: 14px 0 0 !important;
}

/* ============================================================
   3. EMPTY STATE
   ============================================================ */
body.riwajfood.riwajfood .rf-faq-empty {
  display: none;
  text-align: center;
  padding: 60px 28px;
  background: #fff;
  border-radius: 22px;
  border: 1px solid rgba(212,81,30,0.10);
  box-shadow: var(--rf-d-1);
  position: relative;
  overflow: hidden;
}
body.riwajfood.riwajfood .rf-faq-empty:not([hidden]) {
  display: block;
}
body.riwajfood.riwajfood .rf-faq-empty::before {
  content: "";
  position: absolute;
  top: -60px; inset-inline-start: -40px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(212,81,30,0.10), transparent 65%);
  border-radius: 50%;
  pointer-events: none;
}
body.riwajfood.riwajfood .rf-faq-empty-illustration {
  width: 96px;
  height: 96px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 200, 168, 0.6), transparent 60%),
    linear-gradient(135deg, #FFF4EA 0%, #FFE4D1 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rf-brand-deep, #B33E14);
  box-shadow:
    inset 0 -3px 6px rgba(212,81,30,0.10),
    inset 0 2px 3px rgba(255,255,255,0.80),
    0 8px 20px rgba(212,81,30,0.18);
  position: relative;
  z-index: 1;
}
body.riwajfood.riwajfood .rf-faq-empty-illustration svg {
  width: 56px;
  height: 56px;
  filter: drop-shadow(0 4px 8px rgba(212,81,30,0.22));
}
body.riwajfood.riwajfood .rf-faq-empty h3 {
  position: relative;
  z-index: 1;
  font-size: 1.25rem;
  font-weight: 800;
  color: #1A0F08;
  margin: 0 0 8px;
}
body.riwajfood.riwajfood .rf-faq-empty p {
  position: relative;
  z-index: 1;
  font-size: 0.92rem;
  color: #6B5040;
  margin: 0 0 22px;
  line-height: 1.65;
}
body.riwajfood.riwajfood .rf-faq-empty-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
body.riwajfood.riwajfood .rf-faq-empty-clear {
  background: linear-gradient(135deg, var(--rf-brand, #D4511E) 0%, var(--rf-brand-deep, #B33E14) 100%);
  color: #fff;
  border: 0;
  padding: 11px 22px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(212,81,30,0.32);
  transition: transform 200ms var(--rf-spring), filter 180ms ease;
}
body.riwajfood.riwajfood .rf-faq-empty-clear:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}
body.riwajfood.riwajfood .rf-faq-empty-contact {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 22px;
  background: #fff;
  color: var(--rf-brand-deep, #B33E14) !important;
  border: 1.5px solid var(--rf-paper-200, #FFE4D1);
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none !important;
  transition: all 200ms var(--rf-spring);
}
body.riwajfood.riwajfood .rf-faq-empty-contact:hover {
  border-color: var(--rf-brand, #D4511E);
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(26,15,8,0.10);
}

/* ============================================================
   4. STILL NEED HELP CTA
   ============================================================ */
body.riwajfood.riwajfood .rf-faq-cta-wrap {
  padding: 0 0 clamp(50px, 8vh, 90px);
}
body.riwajfood.riwajfood .rf-faq-cta {
  position: relative;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255,255,255,0.18), transparent 55%),
    linear-gradient(135deg, var(--rf-brand, #D4511E) 0%, var(--rf-brand-deep, #B33E14) 100%);
  border-radius: 24px;
  padding: clamp(28px, 4vw, 50px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 22px 50px rgba(212,81,30,0.32);
}
body.riwajfood.riwajfood .rf-faq-cta-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}
body.riwajfood.riwajfood .rf-faq-cta-blob--a {
  width: 220px; height: 220px;
  top: -60px; inset-inline-start: 10%;
  background: radial-gradient(circle, rgba(255,255,255,0.22), transparent 70%);
}
body.riwajfood.riwajfood .rf-faq-cta-blob--b {
  width: 180px; height: 180px;
  bottom: -40px; inset-inline-end: 18%;
  background: radial-gradient(circle, rgba(255,200,130,0.30), transparent 70%);
}
body.riwajfood.riwajfood .rf-faq-cta > * { position: relative; z-index: 1; }
body.riwajfood.riwajfood .rf-faq-cta-content {
  flex: 1;
  min-width: 240px;
}
body.riwajfood.riwajfood .rf-faq-cta-emoji {
  font-size: 1.8rem;
  display: inline-block;
  margin-bottom: 8px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.18));
}
body.riwajfood.riwajfood .rf-faq-cta-content h2 {
  font-size: clamp(1.3rem, 1.05rem + 1vw, 1.8rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.015em;
}
body.riwajfood.riwajfood .rf-faq-cta-content p {
  font-size: 0.95rem !important;
  color: rgba(255,255,255,0.92) !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}
body.riwajfood.riwajfood .rf-faq-cta-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
body.riwajfood.riwajfood .rf-faq-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none !important;
  transition: transform 220ms var(--rf-spring), box-shadow 220ms ease, filter 200ms ease;
  white-space: nowrap;
}
body.riwajfood.riwajfood .rf-faq-cta-btn--primary {
  background: #fff;
  color: var(--rf-brand-deep, #B33E14) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.20);
}
body.riwajfood.riwajfood .rf-faq-cta-btn--primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 12px 26px rgba(0,0,0,0.28);
}
body.riwajfood.riwajfood .rf-faq-cta-btn--wa {
  background: #25D366;
  color: #fff !important;
}
body.riwajfood.riwajfood .rf-faq-cta-btn--wa:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 8px 22px rgba(0,0,0,0.20);
}
body.riwajfood.riwajfood .rf-faq-cta-btn--ghost {
  background: rgba(255,255,255,0.10);
  border: 1.5px solid rgba(255,255,255,0.40);
  color: #fff !important;
  backdrop-filter: blur(8px);
}
body.riwajfood.riwajfood .rf-faq-cta-btn--ghost:hover {
  background: rgba(255,255,255,0.18);
  border-color: #fff;
  transform: translateY(-2px);
}

/* ============================================================
   5. RESPONSIVE
   ============================================================ */

/* Tablet ≤1024px → sidebar collapses to horizontal scrolling pills */
@media (max-width: 1024px) {
  body.riwajfood.riwajfood .rf-faq-main-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar {
    position: static;
    top: auto;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar-card {
    border-radius: 18px;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar-title {
    padding: 14px 18px !important;
    font-size: 0.78rem !important;
  }
  body.riwajfood.riwajfood .rf-faq-cats {
    flex-direction: row;
    overflow-x: auto;
    padding: 10px;
    gap: 6px;
    scrollbar-width: none;
  }
  body.riwajfood.riwajfood .rf-faq-cats::-webkit-scrollbar { display: none; }
  body.riwajfood.riwajfood .rf-faq-cat-btn {
    flex-shrink: 0;
    padding: 9px 14px;
    border-radius: 999px;
    background: var(--rf-paper-50, #FFF8F3);
  }
  body.riwajfood.riwajfood .rf-faq-cat-btn:hover {
    background: var(--rf-paper-100, #FFF0E5);
  }
  body.riwajfood.riwajfood .rf-faq-cat-icon {
    width: 24px;
    height: 24px;
    font-size: 0.9rem;
  }
  body.riwajfood.riwajfood .rf-faq-cat-label {
    font-size: 0.85rem;
  }
  /* Hide the sidebar help block on tablet/mobile (separate CTA below covers it) */
  body.riwajfood.riwajfood .rf-faq-sidebar-help { display: none; }
}

/* Mobile ≤640px */
@media (max-width: 640px) {
  body.riwajfood.riwajfood .rf-faq-hero {
    padding: 36px 0 24px;
  }
  body.riwajfood.riwajfood .rf-faq-search-wrap {
    padding: 5px;
    border-radius: 18px;
  }
  body.riwajfood.riwajfood .rf-faq-search-icon {
    width: 38px;
    height: 38px;
  }
  body.riwajfood.riwajfood .rf-faq-search-wrap input {
    height: 40px;
    font-size: 16px; /* prevents iOS zoom-on-focus */
  }
  body.riwajfood.riwajfood .rf-faq-suggestions {
    margin-top: 32px;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  body.riwajfood.riwajfood .rf-faq-suggestions::-webkit-scrollbar { display: none; }
  body.riwajfood.riwajfood .rf-faq-suggestion {
    flex-shrink: 0;
  }
  body.riwajfood.riwajfood .rf-faq-q {
    padding: 14px 16px !important;
    font-size: 0.92rem !important;
    min-height: 52px;
  }
  body.riwajfood.riwajfood .rf-faq-q-arrow {
    width: 28px;
    height: 28px;
  }
  body.riwajfood.riwajfood .rf-faq-q-arrow svg {
    width: 14px;
    height: 14px;
  }
  body.riwajfood.riwajfood .rf-faq-a-inner {
    padding: 4px 16px 18px;
  }
  body.riwajfood.riwajfood .rf-faq-a p {
    font-size: 0.88rem !important;
  }
  body.riwajfood.riwajfood .rf-faq-section-icon {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }
  body.riwajfood.riwajfood .rf-faq-cta {
    flex-direction: column;
    text-align: center;
  }
  body.riwajfood.riwajfood .rf-faq-cta-btns {
    width: 100%;
    justify-content: center;
  }
  body.riwajfood.riwajfood .rf-faq-cta-btn {
    flex: 1 1 calc(50% - 5px);
    justify-content: center;
  }
  body.riwajfood.riwajfood .rf-faq-cta-btn--ghost {
    flex: 1 1 100%;
  }
  body.riwajfood.riwajfood .rf-faq-empty {
    padding: 40px 20px;
  }
}

/* Tiny phone ≤380px */
@media (max-width: 380px) {
  body.riwajfood.riwajfood .rf-faq-cat-btn {
    padding: 7px 12px;
  }
  body.riwajfood.riwajfood .rf-faq-cat-label {
    font-size: 0.8rem;
  }
  body.riwajfood.riwajfood .rf-faq-cat-count {
    font-size: 0.68rem;
    padding: 1px 7px;
  }
  body.riwajfood.riwajfood .rf-faq-empty-actions {
    flex-direction: column;
  }
  body.riwajfood.riwajfood .rf-faq-empty-clear,
  body.riwajfood.riwajfood .rf-faq-empty-contact {
    width: 100%;
    justify-content: center;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.riwajfood.riwajfood .rf-faq-blob,
  body.riwajfood.riwajfood .rf-faq-grad {
    animation: none !important;
  }
  body.riwajfood.riwajfood .rf-faq-page-pro [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  body.riwajfood.riwajfood .rf-faq-suggestion:hover,
  body.riwajfood.riwajfood .rf-faq-cat-btn:hover,
  body.riwajfood.riwajfood .rf-faq-cta-btn:hover,
  body.riwajfood.riwajfood .rf-faq-search-clear:hover,
  body.riwajfood.riwajfood .rf-faq-empty-clear:hover,
  body.riwajfood.riwajfood .rf-faq-empty-contact:hover,
  body.riwajfood.riwajfood .rf-faq-sidebar-help-btn:hover {
    transform: none !important;
  }
  body.riwajfood.riwajfood .rf-faq-a {
    transition: none !important;
  }
  body.riwajfood.riwajfood .rf-faq-q-arrow {
    transition: background 0ms, color 0ms !important;
  }
}

/* ============================================================
   v1.0.1 DELTA — sticky scrolling sidebar + centered CTA
   ============================================================ */

/* ─── 1. SIDEBAR — sticky with internal scroll (desktop ≥1025px) ─── */
@media (min-width: 1025px) {
  body.riwajfood.riwajfood .rf-faq-sidebar {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 110px);   /* always fits viewport, never cut off */
    align-self: start;
  }
  /* Inner card scrolls when content overflows */
  body.riwajfood.riwajfood .rf-faq-sidebar-card {
    max-height: calc(100vh - 110px);
    display: flex;
    flex-direction: column;
    overflow: hidden;                  /* clip outer corners */
  }
  /* The category nav + help block share the scroll area */
  body.riwajfood.riwajfood .rf-faq-sidebar-card .rf-faq-cats {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    scrollbar-width: thin;
    scrollbar-color: var(--rf-brand-tint, rgba(212,81,30,0.25)) transparent;
    transition: scrollbar-color 200ms ease;
  }
  /* Reveal a thicker, brand-colored scrollbar on hover */
  body.riwajfood.riwajfood .rf-faq-sidebar:hover .rf-faq-cats {
    scrollbar-color: var(--rf-brand, #D4511E) rgba(212,81,30,0.08);
  }
  body.riwajfood.riwajfood .rf-faq-sidebar-card .rf-faq-cats::-webkit-scrollbar {
    width: 6px;
    background: transparent;
    transition: width 200ms ease;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar:hover .rf-faq-cats::-webkit-scrollbar {
    width: 8px;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar-card .rf-faq-cats::-webkit-scrollbar-thumb {
    background: var(--rf-brand-tint, rgba(212,81,30,0.25));
    border-radius: 4px;
    transition: background 200ms ease;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar:hover .rf-faq-cats::-webkit-scrollbar-thumb {
    background: var(--rf-brand, #D4511E);
  }
  body.riwajfood.riwajfood .rf-faq-sidebar-card .rf-faq-cats::-webkit-scrollbar-track {
    background: transparent;
  }
  /* Help block stays pinned at the bottom */
  body.riwajfood.riwajfood .rf-faq-sidebar-card .rf-faq-sidebar-help {
    flex-shrink: 0;
    margin-top: auto;
  }
  /* Subtle fade hint at the top + bottom of the scroll area to suggest more content */
  body.riwajfood.riwajfood .rf-faq-sidebar-card .rf-faq-cats {
    mask-image: linear-gradient(180deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
  }
}

/* ─── 2. CTA BANNER — centered layout (no more empty space) ─── */
body.riwajfood.riwajfood .rf-faq-cta {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  gap: 22px !important;
  padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
}
body.riwajfood.riwajfood .rf-faq-cta-content {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 560px;
  margin: 0 auto;
}
body.riwajfood.riwajfood .rf-faq-cta-emoji {
  margin-bottom: 12px;
}
body.riwajfood.riwajfood .rf-faq-cta-content h2 {
  margin: 0 0 8px !important;
}
body.riwajfood.riwajfood .rf-faq-cta-content p {
  max-width: 420px;
  margin: 0 auto !important;
}
body.riwajfood.riwajfood .rf-faq-cta-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 580px;
}

/* Tablet ≤1024 — same centered layout, tighter padding */
@media (max-width: 1024px) {
  body.riwajfood.riwajfood .rf-faq-cta {
    padding: clamp(30px, 4vw, 44px) clamp(20px, 3vw, 32px) !important;
    gap: 18px !important;
  }
  body.riwajfood.riwajfood .rf-faq-cta-content h2 {
    font-size: clamp(1.2rem, 1rem + 0.8vw, 1.6rem) !important;
  }
}

/* Mobile ≤640 — even tighter, full-width buttons */
@media (max-width: 640px) {
  body.riwajfood.riwajfood .rf-faq-cta {
    padding: 28px 18px !important;
    gap: 16px !important;
    border-radius: 20px !important;
  }
  body.riwajfood.riwajfood .rf-faq-cta-emoji {
    font-size: 1.5rem;
    margin-bottom: 6px;
  }
  body.riwajfood.riwajfood .rf-faq-cta-content h2 {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
  body.riwajfood.riwajfood .rf-faq-cta-content p {
    font-size: 0.85rem !important;
  }
  body.riwajfood.riwajfood .rf-faq-cta-btns {
    flex-direction: column;
    width: 100%;
    gap: 8px;
  }
  body.riwajfood.riwajfood .rf-faq-cta-btn {
    width: 100%;
    flex: 1 1 100%;
    justify-content: center;
    padding: 12px 22px;
    font-size: 0.88rem;
  }
}

/* ============================================================
   v1.0.2 DELTA — Compact CTA banner (no empty space)
   - Remove decorative blobs (user requested)
   - Lock banner height to content + minimal padding
   - Use solid brand gradient (no blobs needed)
   ============================================================ */

/* Remove the decorative blobs that were creating visual emptiness */
body.riwajfood.riwajfood .rf-faq-cta-blob {
  display: none !important;
}

/* Tight, content-hugging banner */
body.riwajfood.riwajfood .rf-faq-cta {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  gap: 16px !important;
  padding: 36px 32px !important;       /* fixed compact padding, no clamp */
  min-height: 0 !important;             /* defeat any height inheritance */
  height: auto !important;
  /* Keep the brand gradient + simple radial highlight */
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.14), transparent 60%),
    linear-gradient(135deg, var(--rf-brand, #D4511E) 0%, var(--rf-brand-deep, #B33E14) 100%) !important;
}
body.riwajfood.riwajfood .rf-faq-cta::before,
body.riwajfood.riwajfood .rf-faq-cta::after {
  display: none !important;            /* kill any inherited pseudo-elements */
}
body.riwajfood.riwajfood .rf-faq-cta-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 520px;
}
body.riwajfood.riwajfood .rf-faq-cta-emoji {
  margin: 0 0 8px !important;
  font-size: 1.6rem;
  display: inline-block;
}
body.riwajfood.riwajfood .rf-faq-cta-content h2 {
  margin: 0 0 6px !important;
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem) !important;
}
body.riwajfood.riwajfood .rf-faq-cta-content p {
  margin: 0 !important;
  font-size: 0.9rem !important;
}
body.riwajfood.riwajfood .rf-faq-cta-btns {
  margin: 4px 0 0 !important;
  padding: 0 !important;
}

/* Tablet ≤1024 — even tighter */
@media (max-width: 1024px) {
  body.riwajfood.riwajfood .rf-faq-cta {
    padding: 28px 22px !important;
    gap: 14px !important;
    border-radius: 20px !important;
  }
}

/* Mobile ≤640 — compact, full-width buttons */
@media (max-width: 640px) {
  body.riwajfood.riwajfood .rf-faq-cta {
    padding: 24px 18px !important;
    gap: 12px !important;
    border-radius: 18px !important;
  }
  body.riwajfood.riwajfood .rf-faq-cta-emoji {
    font-size: 1.4rem;
  }
  body.riwajfood.riwajfood .rf-faq-cta-content h2 {
    font-size: 1.05rem !important;
  }
  body.riwajfood.riwajfood .rf-faq-cta-content p {
    font-size: 0.82rem !important;
  }
}

/* ============================================================
   v1.0.3 DELTA — Fix sticky sidebar scroll-along
   - overflow-x: hidden on the page wrapper was breaking sticky
     (creates a new scroll-context that traps position: sticky)
   - Switch to `overflow-x: clip` which has the same visual effect
     but does NOT establish a scroll container, so sticky binds
     to the viewport and naturally stops at the grid's end
     (which is exactly where the "ما لقيتي جواب" CTA begins)
   ============================================================ */
body.riwajfood.riwajfood .rf-faq-page-pro {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* Ensure no parent in the chain re-introduces overflow-hidden */
body.riwajfood.riwajfood .rf-faq-main,
body.riwajfood.riwajfood .rf-faq-main .rf-faq-container,
body.riwajfood.riwajfood .rf-faq-main-grid {
  overflow: visible !important;
}

/* Belt-and-braces: re-assert sticky on desktop with proper bounds */
@media (min-width: 1025px) {
  body.riwajfood.riwajfood .rf-faq-main-grid {
    align-items: start !important;
  }
  body.riwajfood.riwajfood .rf-faq-sidebar {
    position: sticky !important;
    top: 90px !important;
    max-height: calc(100vh - 110px);
    align-self: start !important;
    z-index: 5;
  }
  /* The sticky naturally stops at the bottom of .rf-faq-main-grid
     (which ends before .rf-faq-cta-wrap), so the sidebar peels away
     exactly when the CTA banner enters view. No JS needed. */
}

/* ========== END FAQ PRO V1.0.3 ========== */
