/**
 * Riwaj Food — Phase 3 Styles
 * Mobile-first, responsive, RTL-ready.
 *
 * Breakpoints:
 *   481px  = tablet
 *   769px  = tablet landscape
 *   1025px = desktop
 *   1441px = large desktop
 */

/* ═══════════════════════════════════
   VARIABLES & BASE
   ═══════════════════════════════════ */
:root {
    --rf-primary: #D4511E;
    --rf-secondary: #E8722D;
    --rf-accent: #F5A623;
    --rf-light: #FFF8F3;
    --rf-cream: #FFF0E5;
    --rf-dark: #2C1810;
    --rf-text: #2C1810;
    --rf-text2: #5C3D2E;
    --rf-success: #2D7A3A;
    --rf-error: #C62828;
    --rf-info: #1565C0;
    --rf-white: #FFFFFF;
    --rf-radius: 12px;
    --rf-radius-sm: 8px;
    --rf-shadow: 0 2px 12px rgba(44,24,16,0.08);
    --rf-shadow-lg: 0 8px 32px rgba(44,24,16,0.12);
    --rf-transition: 0.3s ease;
    --rf-font-ar: 'Noto Sans Arabic', 'Cairo', sans-serif;
    --rf-font-head: 'DM Sans', 'Nunito', var(--rf-font-ar);
    --rf-font-body: 'Open Sans', var(--rf-font-ar);
    --rf-header-h: 56px;
}

@media (min-width: 1025px) {
    :root { --rf-header-h: 70px; }
}

*, *::before, *::after { box-sizing: border-box; }

body.riwajfood {
    font-family: var(--rf-font-body);
    color: var(--rf-text);
    background: var(--rf-white);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

.rf-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

@media (min-width: 769px) { .rf-container { padding: 0 24px; } }
@media (min-width: 1025px) { .rf-container { padding: 0 32px; } }

/* Astra overrides — remove ALL gaps/padding/sidebar around content */
body.riwajfood .ast-container,
body.riwajfood .site-content .ast-container { max-width: 100% !important; padding: 0 !important; }
body.riwajfood #content,
body.riwajfood .site-content,
body.riwajfood #primary { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; }
body.riwajfood .entry-content { margin: 0 !important; padding: 0 !important; }
body.riwajfood .ast-separate-container .ast-article-single,
body.riwajfood .ast-separate-container .ast-article-post,
body.riwajfood .ast-separate-container .ast-article-page,
body.riwajfood .ast-plain-container .ast-article-single,
body.riwajfood .ast-plain-container .ast-article-post,
body.riwajfood .ast-plain-container .ast-article-page { padding: 0 !important; margin: 0 !important; background: none !important; }
body.riwajfood .ast-separate-container #primary,
body.riwajfood .ast-plain-container #primary,
body.riwajfood .ast-right-sidebar #primary,
body.riwajfood .ast-left-sidebar #primary { padding: 0 !important; margin: 0 !important; width: 100% !important; float: none !important; }
body.riwajfood .site-main { margin: 0 !important; }
body.riwajfood .page .site-content > .ast-container { display: block !important; }
body.riwajfood #secondary,
body.riwajfood .ast-sidebar { display: none !important; } /* force hide sidebar */
body.riwajfood .ast-separate-container .site-main > .ast-row,
body.riwajfood .ast-plain-container .site-main > .ast-row { margin: 0 !important; }
body.riwajfood .ast-separate-container .site-main > .ast-row > .ast-col-md-12,
body.riwajfood .ast-plain-container .site-main > .ast-row > .ast-col-md-12,
body.riwajfood .ast-separate-container .site-main > .ast-row > .ast-col-md-8,
body.riwajfood .ast-plain-container .site-main > .ast-row > .ast-col-md-8 { width: 100% !important; padding: 0 !important; }
/* Force full width on page content wrapper */
body.riwajfood .ast-col-md-8 { width: 100% !important; }
body.riwajfood .ast-col-md-4 { display: none !important; }
body.riwajfood .ast-right-sidebar .ast-col-md-8,
body.riwajfood .ast-left-sidebar .ast-col-md-8 { width: 100% !important; float: none !important; }

/* ═══════════════════════════════════
   HEADER
   ═══════════════════════════════════ */
.rf-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--rf-white);
    height: var(--rf-header-h);
    transition: box-shadow var(--rf-transition);
}

.rf-header.scrolled { box-shadow: 0 2px 16px rgba(44,24,16,0.1); }

.rf-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    gap: 12px;
}

/* Logo */
.rf-header-logo a { display: flex; align-items: center; text-decoration: none; }
.rf-logo-img { height: 36px; width: auto; }
.rf-logo-text {
    font-family: var(--rf-font-head);
    font-weight: 800;
    font-size: 22px;
    color: var(--rf-primary);
    letter-spacing: -0.5px;
}
.rf-logo-text span { color: var(--rf-dark); }
.rf-logo-sm { font-size: 18px; }
.rf-logo-white { color: var(--rf-white); }
.rf-logo-white span { color: var(--rf-accent); }

/* Desktop Nav — hidden on mobile */
.rf-header-nav { display: none; }

@media (min-width: 1025px) {
    .rf-header-nav {
        display: flex;
        align-items: center;
        gap: 24px;
        flex: 1;
        justify-content: center;
    }
}

.rf-nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--rf-text);
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    padding: 8px 4px;
    transition: color var(--rf-transition);
    white-space: nowrap;
}
.rf-nav-link:hover { color: var(--rf-primary); }
.rf-nav-link svg { flex-shrink: 0; }

/* Header Actions */
.rf-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

@media (min-width: 1025px) { .rf-header-actions { gap: 12px; } }

/* Language Switcher */
.rf-lang-switch { position: relative; display: none; }
@media (min-width: 1025px) { .rf-lang-switch { display: block; } }

.rf-lang-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: 1px solid #E0D5CF;
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
    color: var(--rf-text2);
    transition: border-color var(--rf-transition);
}
.rf-lang-btn:hover { border-color: var(--rf-primary); }

.rf-lang-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: var(--rf-white);
    border-radius: var(--rf-radius-sm);
    box-shadow: var(--rf-shadow-lg);
    min-width: 140px;
    display: none;
    z-index: 10;
    overflow: hidden;
}
.rf-lang-switch:hover .rf-lang-dropdown,
.rf-lang-switch.open .rf-lang-dropdown { display: block; }

.rf-lang-dropdown a {
    display: block;
    padding: 10px 16px;
    color: var(--rf-text);
    text-decoration: none;
    font-size: 14px;
    transition: background var(--rf-transition);
}
.rf-lang-dropdown a:hover { background: var(--rf-cream); }
.rf-lang-dropdown a.active { color: var(--rf-primary); font-weight: 600; }

/* User Menu */
.rf-user-menu { position: relative; display: none; }
@media (min-width: 1025px) { .rf-user-menu { display: block; } }

.rf-user-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}
.rf-user-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 2px solid var(--rf-cream); }
.rf-user-name { font-size: 14px; font-weight: 500; color: var(--rf-text); }

.rf-user-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: var(--rf-white);
    border-radius: var(--rf-radius-sm);
    box-shadow: var(--rf-shadow-lg);
    min-width: 180px;
    display: none;
    z-index: 10;
    overflow: hidden;
}
.rf-user-menu:hover .rf-user-dropdown,
.rf-user-menu.open .rf-user-dropdown { display: block; }

.rf-user-dropdown a {
    display: block;
    padding: 10px 16px;
    color: var(--rf-text);
    text-decoration: none;
    font-size: 14px;
    transition: background var(--rf-transition);
}
.rf-user-dropdown a:hover { background: var(--rf-cream); }
.rf-user-dropdown hr { margin: 0; border: none; border-top: 1px solid var(--rf-cream); }
.rf-dropdown-highlight { color: var(--rf-primary) !important; font-weight: 600; }

/* Login Button */
.rf-btn-header {
    display: none;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 24px;
    background: var(--rf-primary);
    color: var(--rf-white);
    text-decoration: none;
    transition: background var(--rf-transition);
}
.rf-btn-header:hover { background: var(--rf-secondary); color: var(--rf-white); }
@media (min-width: 1025px) { .rf-btn-header { display: inline-block; } }

/* Cart */
.rf-cart-btn {
    position: relative;
    display: flex;
    align-items: center;
    color: var(--rf-text);
    text-decoration: none;
    padding: 8px;
}
.rf-cart-btn svg { transition: color var(--rf-transition); }
.rf-cart-btn:hover svg { stroke: var(--rf-primary); }

.rf-cart-badge {
    position: absolute;
    top: 0;
    left: 0;
    background: var(--rf-primary);
    color: var(--rf-white);
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* Hamburger */
.rf-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}
.rf-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--rf-dark);
    border-radius: 2px;
    transition: var(--rf-transition);
}
.rf-hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.rf-hamburger.active span:nth-child(2) { opacity: 0; }
.rf-hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

@media (min-width: 1025px) { .rf-hamburger { display: none; } }

/* Mobile Sidebar */
.rf-mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transition: var(--rf-transition);
}
.rf-mobile-overlay.open { opacity: 1; visibility: visible; }

.rf-mobile-sidebar {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    background: var(--rf-white);
    z-index: 1002;
    transition: right var(--rf-transition);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}
.rf-mobile-sidebar.open { right: 0; }

.rf-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 1px solid var(--rf-cream);
}
.rf-sidebar-close {
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rf-text2);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rf-sidebar-search {
    display: flex;
    padding: 12px 16px;
    gap: 8px;
    border-bottom: 1px solid var(--rf-cream);
}
.rf-sidebar-search input {
    flex: 1;
    border: 1px solid #E0D5CF;
    border-radius: var(--rf-radius-sm);
    padding: 10px 12px;
    font-size: 14px;
    font-family: var(--rf-font-ar);
}
.rf-sidebar-search button {
    background: var(--rf-primary);
    border: none;
    border-radius: var(--rf-radius-sm);
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.rf-sidebar-search button svg { stroke: var(--rf-white); }

.rf-sidebar-nav {
    padding: 8px 0;
}
.rf-sidebar-nav a {
    display: block;
    padding: 14px 20px;
    color: var(--rf-text);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid var(--rf-cream);
    transition: background var(--rf-transition);
}
.rf-sidebar-nav a:hover { background: var(--rf-cream); }

.rf-sidebar-auth { padding: 16px; }
.rf-sidebar-user {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rf-cream);
}
.rf-sidebar-auth a {
    display: block;
    padding: 10px 0;
    color: var(--rf-text);
    text-decoration: none;
    font-size: 15px;
}
.rf-sidebar-auth .rf-btn { text-align: center; margin-top: 8px; }

.rf-sidebar-lang {
    padding: 16px;
    display: flex;
    gap: 16px;
    border-top: 1px solid var(--rf-cream);
    margin-top: auto;
}
.rf-sidebar-lang a { color: var(--rf-text2); text-decoration: none; font-size: 14px; }
.rf-sidebar-lang a.active { color: var(--rf-primary); font-weight: 600; }


/* ═══════════════════════════════════
   SHARED COMPONENTS
   ═══════════════════════════════════ */

/* Buttons */
.rf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 24px;
    border-radius: var(--rf-radius-sm);
    font-family: var(--rf-font-ar);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: all var(--rf-transition);
    min-height: 44px;
}
.rf-btn-primary { background: var(--rf-primary); color: var(--rf-white); }
.rf-btn-primary:hover { background: var(--rf-secondary); color: var(--rf-white); }
.rf-btn-outline { background: transparent; border: 2px solid var(--rf-primary); color: var(--rf-primary); }
.rf-btn-outline:hover { background: var(--rf-primary); color: var(--rf-white); }
.rf-btn-full { width: 100%; }
.rf-btn-sm { padding: 8px 16px; font-size: 13px; min-height: 36px; }
.rf-btn-lg { padding: 16px 32px; font-size: 17px; }
.rf-btn-cta { background: var(--rf-primary); color: var(--rf-white); border-radius: 28px; padding: 14px 32px; font-size: 16px; }
.rf-btn-cta:hover { background: var(--rf-secondary); color: var(--rf-white); }
.rf-btn-white { background: var(--rf-white); color: var(--rf-primary); }
.rf-btn-white:hover { background: var(--rf-cream); color: var(--rf-primary); }

/* Section Title */
.rf-section-title {
    font-family: var(--rf-font-head);
    font-size: 24px;
    font-weight: 700;
    color: var(--rf-dark);
    text-align: center;
    margin-bottom: 32px;
}
@media (min-width: 769px) { .rf-section-title { font-size: 30px; margin-bottom: 40px; } }

.rf-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}
.rf-section-header .rf-section-title { margin-bottom: 0; text-align: start; }

.rf-see-all {
    color: var(--rf-primary);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}
.rf-see-all:hover { color: var(--rf-secondary); }

/* Pin icon */
.rf-pin { font-size: 14px; }

/* Stars */
.rf-star { color: #DDD; font-size: 16px; }
.rf-star.filled { color: var(--rf-accent); }

/* Badge */
.rf-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}
.rf-badge-sponsored { background: var(--rf-accent); color: var(--rf-dark); position: absolute; top: 10px; left: 10px; z-index: 2; }
.rf-badge-new { background: var(--rf-success); color: var(--rf-white); position: absolute; top: 10px; left: 10px; z-index: 2; }
.rf-badge-cotm { background: #FFF3E0; color: #E65100; }
.rf-badge-verified { background: #E8F5E9; color: var(--rf-success); }

/* Spinner */
.rf-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--rf-cream);
    border-top-color: var(--rf-primary);
    border-radius: 50%;
    animation: rf-spin 0.8s linear infinite;
}
@keyframes rf-spin { to { transform: rotate(360deg); } }

.rf-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 0;
    color: var(--rf-text2);
    font-size: 14px;
}

.rf-empty-msg {
    text-align: center;
    color: var(--rf-text2);
    padding: 40px 20px;
    font-size: 15px;
}
.rf-empty-msg a { color: var(--rf-primary); font-weight: 600; }

/* Fade in animation */
.rf-fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: rfFadeIn 0.8s ease forwards;
}
.rf-fade-in:nth-child(2) { animation-delay: 0.15s; }
.rf-fade-in:nth-child(3) { animation-delay: 0.3s; }

@keyframes rfFadeIn {
    to { opacity: 1; transform: translateY(0); }
}


/* ═══════════════════════════════════
   DISH CARD
   ═══════════════════════════════════ */
.rf-dishes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

@media (min-width: 769px) { .rf-dishes-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (min-width: 1025px) { .rf-dishes-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; } }

/* Mobile horizontal scroll variant */
.rf-dishes-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}
.rf-dishes-scroll::-webkit-scrollbar { display: none; }
.rf-dishes-scroll .rf-dish-card {
    flex: 0 0 260px;
    scroll-snap-align: start;
}

@media (min-width: 769px) {
    .rf-dishes-scroll {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        overflow-x: visible;
        scroll-snap-type: none;
    }
    .rf-dishes-scroll .rf-dish-card { flex: unset; }
}
@media (min-width: 1025px) {
    .rf-dishes-scroll { grid-template-columns: repeat(4, 1fr); }
}

.rf-dish-card {
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow);
    overflow: hidden;
    transition: transform var(--rf-transition), box-shadow var(--rf-transition);
}
.rf-dish-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rf-shadow-lg);
}

.rf-dish-card-img {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--rf-cream);
}
.rf-dish-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--rf-transition);
}
.rf-dish-card:hover .rf-dish-card-img img { transform: scale(1.05); }
.rf-dish-card-placeholder {
    width: 100%;
    height: 100%;
    background: var(--rf-cream);
}

.rf-fav-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0,0,0,0.3);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background var(--rf-transition);
}
.rf-fav-btn:hover { background: rgba(0,0,0,0.5); }
.rf-fav-btn.active { background: rgba(255,255,255,0.9); }

.rf-dish-card-body { padding: 12px; }

.rf-dish-name {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
    line-height: 1.3;
}
.rf-dish-name a { color: var(--rf-dark); text-decoration: none; }
.rf-dish-name a:hover { color: var(--rf-primary); }

.rf-dish-cook {
    font-size: 13px;
    margin-bottom: 4px;
}
.rf-dish-cook a {
    color: var(--rf-text2);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}
.rf-dish-cook a:hover { color: var(--rf-primary); }
.rf-mini-avatar { width: 20px; height: 20px; border-radius: 50%; }

.rf-dish-city { font-size: 12px; color: var(--rf-text2); margin-bottom: 6px; }

.rf-dish-rating { font-size: 13px; color: var(--rf-text2); margin-bottom: 8px; }
.rf-dish-rating .rf-star { font-size: 13px; }
.rf-rating-num { font-weight: 600; color: var(--rf-dark); margin: 0 2px; }
.rf-review-count { font-size: 12px; }

.rf-dish-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.rf-dish-price {
    font-size: 17px;
    font-weight: 700;
    color: var(--rf-primary);
}

.rf-add-cart-btn {
    background: var(--rf-primary);
    color: var(--rf-white);
    border: none;
    border-radius: var(--rf-radius-sm);
    padding: 8px 16px;
    font-family: var(--rf-font-ar);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    min-height: 36px;
    transition: background var(--rf-transition);
}
.rf-add-cart-btn:hover { background: var(--rf-secondary); }
.rf-add-cart-btn.added { background: var(--rf-success); }


/* ═══════════════════════════════════
   COOK CARD
   ═══════════════════════════════════ */
.rf-cooks-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

@media (min-width: 769px) { .rf-cooks-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1025px) { .rf-cooks-grid { grid-template-columns: repeat(4, 1fr); } }

.rf-cooks-scroll {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}
.rf-cooks-scroll::-webkit-scrollbar { display: none; }
.rf-cooks-scroll .rf-cook-card {
    flex: 0 0 220px;
    scroll-snap-align: start;
}

@media (min-width: 769px) {
    .rf-cooks-scroll {
        display: grid;
        overflow-x: visible;
        scroll-snap-type: none;
    }
    .rf-cooks-scroll .rf-cook-card { flex: unset; }
}

.rf-cook-card {
    position: relative;
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow);
    text-align: center;
    padding: 24px 16px 16px;
    transition: transform var(--rf-transition), box-shadow var(--rf-transition);
}
.rf-cook-card:hover { transform: translateY(-4px); box-shadow: var(--rf-shadow-lg); }

.rf-cook-card-link { text-decoration: none; color: inherit; display: block; }

.rf-cook-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 12px;
    border: 3px solid var(--rf-cream);
}
@media (min-width: 1025px) { .rf-cook-avatar { width: 100px; height: 100px; } }
.rf-cook-avatar img { width: 100%; height: 100%; object-fit: cover; }

.rf-cook-name { font-size: 16px; font-weight: 700; margin: 0 0 4px; color: var(--rf-dark); }
.rf-cook-city { font-size: 13px; color: var(--rf-text2); margin-bottom: 4px; }
.rf-cook-specialty { font-size: 12px; color: var(--rf-text2); margin-bottom: 8px; }

.rf-cook-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 13px;
    margin-bottom: 12px;
}
.rf-cook-rating { color: var(--rf-accent); font-weight: 600; }
.rf-cook-orders { color: var(--rf-text2); }

.rf-cook-card-actions { margin-top: 8px; }

/* Follow Button */
.rf-follow-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 24px;
    border: 2px solid var(--rf-primary);
    background: transparent;
    color: var(--rf-primary);
    font-family: var(--rf-font-ar);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    min-height: 36px;
    transition: all var(--rf-transition);
}
.rf-follow-btn:hover { background: var(--rf-cream); }
.rf-follow-btn.following {
    background: var(--rf-primary);
    color: var(--rf-white);
    border-color: var(--rf-primary);
}
.rf-follow-btn.following:hover { background: var(--rf-error); border-color: var(--rf-error); }

.rf-followers-count { font-size: 12px; opacity: 0.8; }


/* ═══════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════ */
.rf-hero {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rf-dark) url('../images/hero-bg.jpg') center/cover no-repeat;
    padding: 80px 16px 60px;
    overflow: hidden;
}
@media (min-width: 769px) { .rf-hero { min-height: 500px; padding: 100px 24px 80px; } }
@media (min-width: 1025px) { .rf-hero { min-height: 600px; } }

.rf-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(44,24,16,0.55) 0%, rgba(44,24,16,0.7) 100%);
}

.rf-hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.rf-hero-title {
    font-family: var(--rf-font-head);
    font-size: 28px;
    font-weight: 800;
    color: var(--rf-white);
    margin: 0 0 12px;
    line-height: 1.3;
}
.rf-hero-title span { display: block; }
@media (min-width: 769px) { .rf-hero-title { font-size: 40px; } }
@media (min-width: 1025px) { .rf-hero-title { font-size: 48px; } }

.rf-hero-subtitle {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    margin: 0 0 28px;
    line-height: 1.6;
}
@media (min-width: 769px) { .rf-hero-subtitle { font-size: 18px; } }

/* Hero Search */
.rf-hero-search { width: 100%; max-width: 640px; margin: 0 auto 20px; }

.rf-hero-search-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    padding: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

@media (min-width: 769px) {
    .rf-hero-search-inner {
        flex-direction: row;
        align-items: center;
        border-radius: 50px;
        padding: 6px 6px 6px 20px;
        gap: 0;
    }
}

.rf-search-field {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.rf-search-field select,
.rf-search-field input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--rf-font-ar);
    font-size: 15px;
    padding: 12px 8px;
    color: var(--rf-text);
    outline: none;
}
.rf-search-field select { cursor: pointer; appearance: none; }

.rf-search-city { border-bottom: 1px solid var(--rf-cream); }
@media (min-width: 769px) {
    .rf-search-city { border-bottom: none; border-left: 1px solid var(--rf-cream); padding-left: 16px; flex: 0 0 180px; }
}

.rf-search-btn {
    background: var(--rf-primary);
    color: var(--rf-white);
    border: none;
    border-radius: var(--rf-radius-sm);
    padding: 12px 28px;
    font-family: var(--rf-font-ar);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    min-height: 44px;
    transition: background var(--rf-transition);
}
.rf-search-btn:hover { background: var(--rf-secondary); }
@media (min-width: 769px) { .rf-search-btn { border-radius: 50px; } }

/* City Tags */
.rf-hero-cities { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.rf-cities-label { font-size: 13px; color: rgba(255,255,255,0.7); width: 100%; text-align: center; margin-bottom: 4px; }
.rf-city-tag {
    padding: 6px 14px;
    border-radius: 20px;
    background: rgba(255,255,255,0.15);
    color: var(--rf-white);
    font-size: 13px;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,0.25);
    transition: all var(--rf-transition);
}
.rf-city-tag:hover { background: rgba(255,255,255,0.3); color: var(--rf-white); }


/* ═══════════════════════════════════
   STATS SECTION
   ═══════════════════════════════════ */
.rf-stats-section {
    background: var(--rf-cream);
    padding: 40px 0;
}

.rf-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
@media (min-width: 769px) { .rf-stats-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }

.rf-stat-card {
    text-align: center;
    padding: 20px 12px;
}
.rf-stat-icon { font-size: 32px; display: block; margin-bottom: 8px; }
.rf-stat-number { display: block; font-size: 28px; font-weight: 800; color: var(--rf-primary); font-family: var(--rf-font-head); }
@media (min-width: 769px) { .rf-stat-number { font-size: 36px; } }
.rf-stat-label { display: block; font-size: 14px; color: var(--rf-text2); margin-top: 4px; }


/* ═══════════════════════════════════
   HOW IT WORKS
   ═══════════════════════════════════ */
.rf-how-section {
    padding: 60px 0;
    background: var(--rf-white);
}

.rf-steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

@media (min-width: 769px) {
    .rf-steps {
        flex-direction: row;
        justify-content: center;
        gap: 0;
    }
}

.rf-step {
    text-align: center;
    max-width: 220px;
    padding: 16px;
}

.rf-step-icon {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rf-cream);
    border-radius: 50%;
}
.rf-step-num {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 28px;
    height: 28px;
    background: var(--rf-primary);
    color: var(--rf-white);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rf-step h3 { font-size: 16px; font-weight: 700; margin: 0 0 6px; color: var(--rf-dark); }
.rf-step p { font-size: 13px; color: var(--rf-text2); margin: 0; line-height: 1.5; }

.rf-step-line {
    width: 2px;
    height: 32px;
    background: var(--rf-cream);
}

@media (min-width: 769px) {
    .rf-step-line {
        width: 48px;
        height: 2px;
        background: linear-gradient(90deg, var(--rf-cream), var(--rf-primary), var(--rf-cream));
    }
}


/* ═══════════════════════════════════
   FEATURES (WHY RIWAJ)
   ═══════════════════════════════════ */
.rf-features-section {
    background: var(--rf-cream);
    padding: 60px 0;
}

.rf-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
@media (min-width: 769px) { .rf-features-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }

.rf-feature-card {
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    padding: 24px 16px;
    text-align: center;
    transition: transform var(--rf-transition);
}
.rf-feature-card:hover { transform: translateY(-4px); }

.rf-feature-icon { margin-bottom: 12px; }
.rf-feature-card h3 { font-size: 15px; font-weight: 700; margin: 0 0 8px; color: var(--rf-dark); }
.rf-feature-card p { font-size: 13px; color: var(--rf-text2); margin: 0; line-height: 1.5; }


/* ═══════════════════════════════════
   CATEGORIES
   ═══════════════════════════════════ */
.rf-categories-section { padding: 60px 0; }

.rf-categories-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media (min-width: 481px) { .rf-categories-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1025px) { .rf-categories-grid { grid-template-columns: repeat(5, 1fr); } }

.rf-category-card {
    display: block;
    text-decoration: none;
    border-radius: var(--rf-radius);
    overflow: hidden;
}

.rf-category-img {
    position: relative;
    aspect-ratio: 1;
    background: var(--rf-cream) center/cover no-repeat;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 12px;
    overflow: hidden;
}
.rf-category-img img { transition: transform var(--rf-transition); }
.rf-category-card:hover .rf-category-img { background-size: 110%; }

.rf-category-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(44,24,16,0.7), transparent);
}

.rf-category-name {
    position: relative;
    z-index: 1;
    color: var(--rf-white);
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}


/* ═══════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════ */
.rf-testimonials-section { padding: 60px 0; }

.rf-testimonials-swiper { padding-bottom: 48px; }

.rf-testimonial-card {
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow);
    padding: 24px;
    text-align: center;
}

.rf-testimonial-stars { margin-bottom: 12px; }
.rf-testimonial-stars .rf-star { font-size: 20px; }

.rf-testimonial-text {
    font-size: 15px;
    color: var(--rf-text);
    line-height: 1.7;
    margin: 0 0 16px;
    font-style: italic;
}

.rf-testimonial-author { font-size: 14px; color: var(--rf-text2); }
.rf-testimonial-name { display: block; font-weight: 600; color: var(--rf-dark); }
.rf-testimonial-city { display: block; margin-top: 2px; }

.rf-testimonials-swiper .swiper-pagination-bullet { background: var(--rf-primary); }


/* ═══════════════════════════════════
   CTA SECTION
   ═══════════════════════════════════ */
.rf-cta-section {
    background: linear-gradient(135deg, var(--rf-primary), var(--rf-secondary));
    padding: 60px 0;
    text-align: center;
}
.rf-cta-content h2 { color: var(--rf-white); font-size: 28px; font-weight: 800; margin: 0 0 12px; }
.rf-cta-content p { color: rgba(255,255,255,0.9); font-size: 16px; margin: 0 0 24px; }
@media (min-width: 769px) { .rf-cta-content h2 { font-size: 36px; } }


/* ═══════════════════════════════════
   HOMEPAGE SECTIONS
   ═══════════════════════════════════ */
.rf-section { padding: 48px 0; }
@media (min-width: 769px) { .rf-section { padding: 60px 0; } }

.rf-dishes-section,
.rf-cooks-section { background: var(--rf-white); }
.rf-followed-section { background: var(--rf-light); }


/* ═══════════════════════════════════
   FOOTER
   ═══════════════════════════════════ */
.rf-footer {
    background: var(--rf-dark);
    color: rgba(255,255,255,0.8);
    padding: 48px 0 24px;
}

.rf-footer-top {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
@media (min-width: 769px) {
    .rf-footer-top {
        flex-direction: row;
        gap: 48px;
    }
}

.rf-footer-brand { max-width: 280px; }
.rf-footer-brand p { font-size: 14px; margin: 8px 0 4px; line-height: 1.6; }
.rf-footer-coop { font-size: 12px; color: rgba(255,255,255,0.5); }

.rf-footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    flex: 1;
}

@media (max-width: 480px) { .rf-footer-links { grid-template-columns: 1fr; } }

.rf-footer-col h4 {
    font-size: 15px;
    font-weight: 700;
    color: var(--rf-white);
    margin: 0 0 12px;
}

.rf-footer-col ul { list-style: none; padding: 0; margin: 0; }
.rf-footer-col li { margin-bottom: 8px; }
.rf-footer-col a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    font-size: 14px;
    transition: color var(--rf-transition);
}
.rf-footer-col a:hover { color: var(--rf-accent); }

.rf-footer-hr {
    border: none;
    border-top: 1px solid rgba(255,255,255,0.1);
    margin: 32px 0;
}

.rf-footer-social {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.rf-footer-social > span { font-size: 14px; }
.rf-footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--rf-primary);
    color: var(--rf-white);
    transition: background var(--rf-transition);
}
.rf-footer-social a:hover { background: var(--rf-secondary); }

.rf-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,0.5);
}
@media (min-width: 769px) {
    .rf-footer-bottom { flex-direction: row; justify-content: space-between; }
}

.rf-footer-lang { display: flex; gap: 8px; align-items: center; }
.rf-footer-lang a {
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    font-size: 13px;
    transition: color var(--rf-transition);
}
.rf-footer-lang a:hover { color: var(--rf-accent); }
.rf-footer-lang a.active { color: var(--rf-white); }
.rf-footer-lang span { color: rgba(255,255,255,0.3); }


/* ═══════════════════════════════════
   EXPLORE PAGE
   ═══════════════════════════════════ */
.rf-explore-page { padding-top: 16px; }

.rf-explore-search-wrap {
    background: var(--rf-light);
    padding: 16px 0;
    border-bottom: 1px solid var(--rf-cream);
}

.rf-explore-search-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    padding: 8px;
    border: 1px solid #E0D5CF;
}
@media (min-width: 769px) {
    .rf-explore-search-inner {
        flex-direction: row;
        align-items: center;
        gap: 0;
        border-radius: 50px;
        padding: 4px 4px 4px 20px;
    }
}

.rf-search-text-explore { flex: 1; }
.rf-search-city-explore { border-top: 1px solid var(--rf-cream); }
@media (min-width: 769px) {
    .rf-search-city-explore { border-top: none; border-right: 1px solid var(--rf-cream); padding-right: 16px; flex: 0 0 200px; }
}

/* Chips */
.rf-explore-chips-wrap { padding: 12px 0; border-bottom: 1px solid var(--rf-cream); }

.rf-explore-chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}
.rf-explore-chips::-webkit-scrollbar { display: none; }

.rf-chip {
    flex-shrink: 0;
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid #E0D5CF;
    background: var(--rf-white);
    color: var(--rf-text2);
    font-family: var(--rf-font-ar);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--rf-transition);
    min-height: 36px;
}
.rf-chip:hover { border-color: var(--rf-primary); color: var(--rf-primary); }
.rf-chip.active {
    background: var(--rf-primary);
    color: var(--rf-white);
    border-color: var(--rf-primary);
}

/* Layout */
.rf-explore-layout {
    display: flex;
    gap: 24px;
    padding: 24px 0;
}

/* Sidebar */
.rf-explore-sidebar {
    display: none;
    width: 240px;
    flex-shrink: 0;
}
@media (min-width: 1025px) { .rf-explore-sidebar { display: block; } }

.rf-filter-section { margin-bottom: 24px; }
.rf-filter-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rf-dark);
    margin: 0 0 12px;
}
.rf-filter-options { display: flex; flex-direction: column; gap: 8px; }

.rf-checkbox,
.rf-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
    color: var(--rf-text2);
}
.rf-checkbox input,
.rf-radio input { accent-color: var(--rf-primary); width: 16px; height: 16px; }

/* Price Range */
.rf-price-range { position: relative; padding: 8px 0; }
.rf-price-range input[type="range"] {
    width: 100%;
    -webkit-appearance: none;
    background: transparent;
    margin: 4px 0;
}
.rf-price-range input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    background: var(--rf-primary);
    border-radius: 50%;
    cursor: pointer;
    margin-top: -8px;
}
.rf-price-range input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;
    background: var(--rf-cream);
    border-radius: 2px;
}
.rf-price-labels { display: flex; justify-content: space-between; font-size: 13px; color: var(--rf-text2); margin-top: 4px; }

/* Main */
.rf-explore-main { flex: 1; min-width: 0; }

/* Toolbar */
.rf-explore-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 12px;
    flex-wrap: wrap;
}

.rf-explore-result-count { font-size: 14px; color: var(--rf-text2); }
.rf-explore-result-count span { font-weight: 700; color: var(--rf-dark); }

.rf-explore-controls { display: flex; align-items: center; gap: 8px; }

.rf-filter-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid #E0D5CF;
    border-radius: var(--rf-radius-sm);
    background: var(--rf-white);
    color: var(--rf-text);
    font-family: var(--rf-font-ar);
    font-size: 13px;
    cursor: pointer;
    min-height: 36px;
}
@media (min-width: 1025px) { .rf-filter-toggle { display: none; } }

.rf-sort-select {
    padding: 8px 12px;
    border: 1px solid #E0D5CF;
    border-radius: var(--rf-radius-sm);
    background: var(--rf-white);
    color: var(--rf-text);
    font-family: var(--rf-font-ar);
    font-size: 13px;
    cursor: pointer;
    min-height: 36px;
}

.rf-view-toggle { display: flex; gap: 4px; }
.rf-view-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E0D5CF;
    border-radius: var(--rf-radius-sm);
    background: var(--rf-white);
    cursor: pointer;
    transition: all var(--rf-transition);
}
.rf-view-btn.active { background: var(--rf-primary); border-color: var(--rf-primary); }
.rf-view-btn.active svg { stroke: var(--rf-white); }

/* Map */
.rf-explore-map {
    width: 100%;
    height: 500px;
    border-radius: var(--rf-radius);
    overflow: hidden;
}
@media (max-width: 768px) { .rf-explore-map { height: 400px; } }

.rf-explore-empty {
    text-align: center;
    padding: 60px 20px;
}
.rf-empty-icon { font-size: 48px; margin-bottom: 12px; }

/* Mobile Filter Sheet */
.rf-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1003;
    opacity: 0;
    visibility: hidden;
    transition: var(--rf-transition);
}
.rf-filter-overlay.open { opacity: 1; visibility: visible; }

.rf-filter-sheet {
    position: fixed;
    bottom: -100%;
    left: 0;
    right: 0;
    max-height: 80vh;
    background: var(--rf-white);
    border-radius: var(--rf-radius) var(--rf-radius) 0 0;
    z-index: 1004;
    transition: bottom var(--rf-transition);
    display: flex;
    flex-direction: column;
}
.rf-filter-sheet.open { bottom: 0; }

.rf-filter-sheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--rf-cream);
}
.rf-filter-sheet-header h3 { margin: 0; font-size: 18px; }
.rf-filter-sheet-close { font-size: 28px; background: none; border: none; cursor: pointer; color: var(--rf-text2); }

.rf-filter-sheet-body {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
}

.rf-filter-sheet-footer {
    display: flex;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid var(--rf-cream);
}
.rf-filter-sheet-footer .rf-btn { flex: 1; }


/* ═══════════════════════════════════
   COOK PROFILE
   ═══════════════════════════════════ */
.rf-cp-header { position: relative; }

.rf-cp-cover {
    height: 200px;
    background: linear-gradient(135deg, var(--rf-primary), var(--rf-secondary)) center/cover no-repeat;
    position: relative;
}
@media (min-width: 769px) { .rf-cp-cover { height: 300px; } }
@media (min-width: 1025px) { .rf-cp-cover { height: 350px; } }

.rf-cp-cover-overlay {
    position: absolute;
    inset: 0;
    background: rgba(44,24,16,0.3);
}

.rf-cp-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: -50px;
    position: relative;
    z-index: 1;
    padding-bottom: 24px;
}

@media (min-width: 769px) {
    .rf-cp-info {
        flex-direction: row;
        text-align: start;
        align-items: flex-end;
        gap: 24px;
        margin-top: -60px;
    }
}

.rf-cp-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid var(--rf-white);
    box-shadow: var(--rf-shadow);
    flex-shrink: 0;
}
@media (min-width: 769px) { .rf-cp-avatar { width: 130px; height: 130px; } }
.rf-cp-avatar img { width: 100%; height: 100%; object-fit: cover; }

.rf-cp-details { margin-top: 12px; }
@media (min-width: 769px) { .rf-cp-details { margin-top: 0; } }

.rf-cp-name { font-size: 24px; font-weight: 800; margin: 0 0 8px; }
@media (min-width: 769px) { .rf-cp-name { font-size: 30px; } }

.rf-cp-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 14px;
    color: var(--rf-text2);
    margin-bottom: 8px;
    justify-content: center;
}
@media (min-width: 769px) { .rf-cp-meta { justify-content: flex-start; } }

.rf-cp-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    justify-content: center;
}
@media (min-width: 769px) { .rf-cp-badges { justify-content: flex-start; } }
.rf-cp-since { font-size: 13px; color: var(--rf-text2); }

.rf-cp-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}
@media (min-width: 769px) { .rf-cp-actions { justify-content: flex-start; } }

.rf-msg-btn { font-size: 13px !important; }

/* Tabs */
.rf-cp-tabs-wrap {
    position: sticky;
    top: var(--rf-header-h);
    background: var(--rf-white);
    border-bottom: 2px solid var(--rf-cream);
    z-index: 50;
}

.rf-cp-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.rf-cp-tabs::-webkit-scrollbar { display: none; }

.rf-cp-tab {
    flex-shrink: 0;
    padding: 14px 20px;
    border: none;
    background: none;
    font-family: var(--rf-font-ar);
    font-size: 14px;
    font-weight: 500;
    color: var(--rf-text2);
    cursor: pointer;
    border-bottom: 3px solid transparent;
    transition: all var(--rf-transition);
    min-height: 44px;
}
.rf-cp-tab:hover { color: var(--rf-primary); }
.rf-cp-tab.active {
    color: var(--rf-primary);
    font-weight: 700;
    border-bottom-color: var(--rf-primary);
}

.rf-cp-tab-content { display: none; padding: 24px 0 48px; }
.rf-cp-tab-content.active { display: block; }

/* About */
.rf-cp-bio { font-size: 15px; line-height: 1.8; margin-bottom: 24px; color: var(--rf-text); }
.rf-cp-about-grid { display: flex; flex-direction: column; gap: 12px; }
.rf-cp-about-item { font-size: 14px; }
.rf-cp-about-item strong { color: var(--rf-dark); margin-left: 8px; }

/* Weekly Menu */
.rf-weekly-menu {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}
.rf-weekly-menu::-webkit-scrollbar { display: none; }

.rf-menu-day {
    flex: 0 0 140px;
    background: var(--rf-white);
    border: 2px solid var(--rf-cream);
    border-radius: var(--rf-radius);
    padding: 16px 12px;
    text-align: center;
    transition: border-color var(--rf-transition);
}
@media (min-width: 769px) { .rf-menu-day { flex: 1; } }

.rf-menu-day.today { border-color: var(--rf-primary); background: var(--rf-light); }
.rf-menu-day.past { opacity: 0.5; }
.rf-menu-day.off { opacity: 0.4; }

.rf-menu-day-name { font-size: 13px; font-weight: 700; color: var(--rf-dark); margin-bottom: 8px; }
.rf-menu-day-dish { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.rf-menu-day-price { font-size: 15px; font-weight: 700; color: var(--rf-primary); margin-bottom: 8px; }
.rf-menu-day-off { font-size: 13px; color: var(--rf-text2); }

/* Reviews */
.rf-reviews-summary {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 32px;
    padding: 24px;
    background: var(--rf-light);
    border-radius: var(--rf-radius);
}
@media (min-width: 769px) { .rf-reviews-summary { flex-direction: row; align-items: center; } }

.rf-reviews-overall { text-align: center; min-width: 120px; }
.rf-reviews-avg { font-size: 36px; font-weight: 800; color: var(--rf-accent); display: block; }
.rf-reviews-total { font-size: 14px; color: var(--rf-text2); }

.rf-reviews-bars { flex: 1; }
.rf-reviews-bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.rf-bar-label { font-size: 12px; color: var(--rf-accent); min-width: 80px; text-align: end; }
.rf-bar-track { flex: 1; height: 8px; background: var(--rf-cream); border-radius: 4px; overflow: hidden; }
.rf-bar-fill { height: 100%; background: var(--rf-accent); border-radius: 4px; transition: width 0.6s ease; }
.rf-bar-count { font-size: 12px; color: var(--rf-text2); min-width: 30px; }

.rf-reviews-list { display: flex; flex-direction: column; gap: 16px; }

.rf-review-card {
    padding: 20px;
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow);
}
.rf-review-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.rf-review-avatar { width: 40px; height: 40px; border-radius: 50%; }
.rf-review-author { display: block; font-weight: 600; font-size: 14px; }
.rf-review-date { display: block; font-size: 12px; color: var(--rf-text2); }
.rf-review-stars { margin-bottom: 8px; }
.rf-review-text { font-size: 14px; line-height: 1.7; margin: 0; }


/* ═══════════════════════════════════
   BECOME A COOK PAGE
   ═══════════════════════════════════ */
.rf-bc-hero {
    background: linear-gradient(135deg, var(--rf-primary), var(--rf-secondary));
    padding: 80px 16px;
    text-align: center;
    color: var(--rf-white);
}
.rf-bc-hero h1 { font-size: 28px; font-weight: 800; margin: 0 0 12px; }
@media (min-width: 769px) { .rf-bc-hero h1 { font-size: 40px; } }
.rf-bc-subtitle { font-size: 16px; color: rgba(255,255,255,0.9); margin: 0 0 24px; }

.rf-bc-benefits { padding: 60px 0; background: var(--rf-white); }
.rf-bc-benefits-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 769px) { .rf-bc-benefits-grid { grid-template-columns: repeat(3, 1fr); } }

.rf-bc-benefit {
    text-align: center;
    padding: 24px;
}
.rf-bc-benefit-icon { margin-bottom: 12px; }
.rf-bc-benefit h3 { font-size: 18px; font-weight: 700; margin: 0 0 8px; }
.rf-bc-benefit p { font-size: 14px; color: var(--rf-text2); margin: 0; }

/* How To Start */
.rf-bc-howto { padding: 60px 0; background: var(--rf-light); }

.rf-bc-steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
@media (min-width: 769px) {
    .rf-bc-steps { flex-direction: row; justify-content: center; gap: 0; }
}

.rf-bc-step {
    text-align: center;
    max-width: 240px;
    padding: 20px;
}
.rf-bc-step-num {
    width: 48px;
    height: 48px;
    background: var(--rf-primary);
    color: var(--rf-white);
    border-radius: 50%;
    font-size: 22px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}
.rf-bc-step h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.rf-bc-step p { font-size: 13px; color: var(--rf-text2); margin: 0; }

.rf-bc-step-arrow {
    display: none;
}
@media (min-width: 769px) {
    .rf-bc-step-arrow {
        display: flex;
        align-items: center;
        padding: 0 8px;
    }
}

/* Testimonials */
.rf-bc-testimonials { padding: 60px 0; background: var(--rf-white); }

.rf-bc-testimonials-swiper { padding-bottom: 48px; }

.rf-bc-testimonial {
    background: var(--rf-light);
    border-radius: var(--rf-radius);
    padding: 32px 24px;
    text-align: center;
}
.rf-bc-testimonial-avatar { font-size: 48px; margin-bottom: 12px; }
.rf-bc-testimonial blockquote {
    font-size: 15px;
    font-style: italic;
    line-height: 1.7;
    margin: 0 0 12px;
    color: var(--rf-text);
}
.rf-bc-testimonial cite { font-size: 14px; color: var(--rf-text2); font-style: normal; }

/* Commission */
.rf-bc-commission { padding: 60px 0; background: var(--rf-cream); }
.rf-bc-commission-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 600px;
    margin: 0 auto;
}
@media (min-width: 769px) { .rf-bc-commission-cards { flex-direction: row; } }

.rf-bc-commission-card {
    flex: 1;
    background: var(--rf-white);
    border-radius: var(--rf-radius);
    padding: 32px 24px;
    text-align: center;
    box-shadow: var(--rf-shadow);
    position: relative;
}
.rf-bc-highlight { border: 2px solid var(--rf-primary); }
.rf-bc-commission-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rf-primary);
    color: var(--rf-white);
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}
.rf-bc-commission-rate { font-size: 40px; font-weight: 800; color: var(--rf-primary); margin: 8px 0; }
.rf-bc-commission-period { font-size: 14px; font-weight: 600; color: var(--rf-dark); margin-bottom: 8px; }
.rf-bc-commission-card p { font-size: 13px; color: var(--rf-text2); margin: 0; }

/* FAQ */
.rf-bc-faq { padding: 60px 0; background: var(--rf-white); }

.rf-faq-list { max-width: 700px; margin: 0 auto; }

.rf-faq-item {
    border-bottom: 1px solid var(--rf-cream);
}

.rf-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    background: none;
    border: none;
    font-family: var(--rf-font-ar);
    font-size: 16px;
    font-weight: 600;
    color: var(--rf-dark);
    cursor: pointer;
    text-align: start;
    min-height: 44px;
}
.rf-faq-icon {
    font-size: 24px;
    color: var(--rf-primary);
    transition: transform var(--rf-transition);
    flex-shrink: 0;
}
.rf-faq-item.open .rf-faq-icon { transform: rotate(45deg); }

.rf-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}
.rf-faq-item.open .rf-faq-answer { max-height: 300px; padding-bottom: 16px; }
.rf-faq-answer p { font-size: 14px; color: var(--rf-text2); line-height: 1.8; margin: 0; }

/* Final CTA */
.rf-bc-final-cta {
    background: linear-gradient(135deg, var(--rf-primary), var(--rf-secondary));
    padding: 60px 0;
    text-align: center;
    color: var(--rf-white);
}
.rf-bc-final-cta h2 { font-size: 28px; font-weight: 800; margin: 0 0 12px; }
@media (min-width: 769px) { .rf-bc-final-cta h2 { font-size: 36px; } }
.rf-bc-final-cta p { font-size: 16px; color: rgba(255,255,255,0.9); margin: 0 0 24px; }


/* ═══════════════════════════════════
   EVENTS
   ═══════════════════════════════════ */
.rf-events-info {
    max-width: 500px;
}
.rf-events-info .rf-cp-about-item { margin-bottom: 16px; }
.rf-event-order-btn { margin-top: 16px; }
