/* ════════════ KEYFRAMES ════════════ */
@keyframes bounce {
    0%,100% { transform: translateX(-50%) translateY(0); }
    50%      { transform: translateX(-50%) translateY(8px); }
}
@keyframes shake {
    0%,100% { transform: translateX(0); }
    25%      { transform: translateX(-6px); }
    75%      { transform: translateX(6px); }
}
@keyframes pop {
    0%   { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* ════════════ BREAKPOINT 1024px ════════════ */
@media (max-width: 1024px) {
    .menu-grid        { grid-template-columns: repeat(2, 1fr); }
    .footer-top       { grid-template-columns: 1fr 1fr; gap: 32px; }
}

/* ════════════ BREAKPOINT 900px ════════════ */
@media (max-width: 900px) {
    /* Header */
    .header-nav                  { display: none; }
    .header-right .btn-reserve   { display: none; }
    .header-logo-sub             { display: none; }
    /* Force LTR row on mobile regardless of RTL lang */
    .header-inner                { flex-direction: row !important; }
    .header-right                { margin-left: auto; flex-shrink: 0; }
    [dir="rtl"] .header-inner    { flex-direction: row !important; }
    [dir="rtl"] .header-right    { margin-left: auto; margin-right: 0; }
    [dir="rtl"] .hamburger       { margin-left: 0; margin-right: 12px; }
    .hamburger                   { display: flex; margin-left: 12px; }
    .mobile-nav                  { display: flex; }
    /* Layout */
    .hero-inner                  { grid-template-columns: 1fr; }
    .hero-logo-wrap              { display: none; }
    .about-inner                 { grid-template-columns: 1fr; gap: 40px; }
    .ubic-inner                  { grid-template-columns: 1fr; }
    .testi-grid                  { grid-template-columns: 1fr; }
    .highlights-grid             { grid-template-columns: 1fr; }
    .form-grid                   { grid-template-columns: 1fr; }
    .location-inner { grid-template-columns: 1fr; }
    .location-section { padding: 0 20px 56px; }
    .map-wrap { height: 260px; }
    .form-grid { grid-template-columns: 1fr; }
}

/* ════════════ BREAKPOINT 600px ════════════ */
@media (max-width: 600px) {
    .hero                        { padding: 120px 20px 60px; }
    .section-header              { padding: 56px 20px 32px; }
    .highlights                  { padding: 0 20px 56px; }
    .menu-tabs-wrap              { padding: 0 20px 28px; }
    .menu-grid                   { grid-template-columns: 1fr; padding: 0 20px; }
    .about-section               { padding: 0 20px 56px; }
    .booking-section            { padding: 0 20px 56px; }
    .form-wrap                   { padding: 28px 24px; }
    .testi-section               { padding: 0 20px 56px; }
    .ubic-section                { padding: 0 20px 56px; }
    .footer                      { padding: 40px 20px 24px; }
    .footer-top                  { grid-template-columns: 1fr; gap: 32px; }
    .hero-rating-badges          { display: none; }
    .about-stats                 { flex-wrap: wrap; gap: 20px; }
    .sticky-reserve              { bottom: 16px; right: 14px; }
    [dir="rtl"] .sticky-reserve  { left: 14px; right: auto; }
    .sticky-btn                  { padding: 12px 18px; font-size: 12px; }

    .form-input[type="date"] {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .map-wrap { height: 220px; }

    .form-wrap {
        padding: 28px 16px;
        overflow: hidden;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-input {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
}