/* Revision 2: deliberate language direction, live cinema and café identity. */
/* Booking times are arrival times; every study session ends at 14:00. */
.booking-panel select {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 49px;
  padding: 12px 13px;
  border: 1px solid #c9bcae;
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
  font-size: 16px;
}
.time-note { font-size: 13px; line-height: 1.8; margin-block: 10px 20px; }
.guest-field { margin-top: 18px; }
html[dir="ltr"] body { text-align: left; }
html[dir="rtl"] body { text-align: right; }
h1, h2, h3, .section-heading, .page-intro, .intro-copy,
.about-copy, .booking-explanation, .booking-panel, .menu-card-body {
  text-align: start;
}
.section-heading > div { margin-inline-end: auto; }
.language-switch { gap: 4px; }
.language-switch button { min-width: auto; padding: 8px 10px; font-size: 12px; }
.language-switch button[aria-pressed="true"] { text-decoration: none; background: var(--sand); }
.header-inner { gap: 24px; }
.main-nav { margin-inline-end: 22px; }
.brand { align-items: flex-start; }
.wordmark { letter-spacing: -.05em; }
html[dir="rtl"] .wordmark {
  font-family: "Noto Kufi Arabic", sans-serif;
  letter-spacing: 0;
  font-size: 29px;
  font-weight: 500;
  line-height: 1.8;
}
html[dir="rtl"] body { font-family: "Noto Sans Arabic", sans-serif; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3 {
  font-family: "Noto Kufi Arabic", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.75;
}
html[dir="rtl"] .eyebrow { font-family: "Noto Sans Arabic", sans-serif; }
.home-intro { display: grid; grid-template-columns: .83fr 1.3fr; align-items: center; gap: 48px; padding-block: 50px 48px; }
.intro-copy h1 { font-size: clamp(37px, 3.8vw, 56px); line-height: 1.23; margin-top: 22px; }
.intro-copy .lead { font-size: 16px; margin-top: 23px; }
.intro-copy .brand-note { margin-top: 23px; font-size: 12px; }
.intro-copy .button-row { gap: 22px; }
.cinema { min-width: 0; }
.cinema-screen { position: relative; background: #271a17; overflow: hidden; aspect-ratio: 16 / 11; }
.cinema-screen video { width: 100%; height: 100%; object-fit: cover; display: block; }
.cinema-caption { position: absolute; inset: auto 0 0; padding: 50px 25px 22px; color: white; background: linear-gradient(transparent, #241411b8); pointer-events: none; display: flex; flex-direction: column; gap: 7px; }
.cinema-caption .eyebrow { color: #f0daca; font-size: 10px; }
.cinema-caption > span:last-child { font-family: var(--serif); font-size: 25px; }
.cinema-progress { position: absolute; bottom: 0; inset-inline: 0; height: 3px; background: #ffffff25; direction: ltr; }
.cinema-progress span { display: block; height: 100%; width: 0; background: #edcbae; }
.cinema-controls { padding-top: 13px; }
.film-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); }
.film-tabs button { flex: 1; padding: 10px 5px; background: none; font-size: 12px; min-height: 45px; line-height: 1.5; border-bottom: 2px solid transparent; }
.film-tabs button[aria-pressed="true"] { color: var(--brand); border-color: var(--brand); font-weight: 600; }
.playback-actions { display: flex; gap: 22px; margin-top: 5px; }
.playback-actions button { background: none; padding: 8px 0; min-height: 44px; font-size: 11px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; }
#video-status { font-size: 12px; }
#video-status:empty { display: none; }
.cinema-screen video::-webkit-media-controls-start-playback-button { display: none !important; }
.about-cafe { display: grid; grid-template-columns: .8fr 1.25fr; align-items: center; gap: 8%; padding-block: 55px 25px; }
.about-photo { height: 260px; overflow: hidden; }
.about-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.about-copy h2 { white-space: pre-line; margin-block: 14px 19px; font-size: 36px; }
.about-copy > p:not(.eyebrow) { font-size: 15px; max-width: 580px; line-height: 1.9; }
.about-address { display: inline-block; font-size: 12px; margin-top: 18px; color: var(--brand); }
.student-banner { grid-template-columns: 215px 1fr auto; }
.student-banner h2 { text-align: start; }
.student-banner .button { grid-column: auto; }
.student-banner-label { grid-row: auto; }
.student-banner p:not(.eyebrow):not(.time-range) { font-size: 14px; }
.selection { padding-top: 53px; }
.visit-section { border-top: 1px solid var(--line); }
.visit-section .section-heading { align-items: start; }
.address, .phone, .hours, .footer-phone { unicode-bidi: isolate; }
.review-card { text-align: start; }
.rating { justify-content: flex-start; }
html[dir="rtl"] .rating { justify-content: flex-end; }
.review-card .fine-print { margin-inline: 0; }
.request-destination { padding: 16px; margin-bottom: 22px; background: var(--sand); border-inline-start: 3px solid var(--brand); }
.request-destination strong { display: block; font-size: 12px; font-weight: 600; color: var(--brand); }
.request-destination p { font-size: 13px; line-height: 1.9; margin-top: 7px; }
.site-footer { background: #42272a; color: #fff8ef; border: 0; padding-block: 45px 22px; }
.footer-main { display: grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap: 55px; align-items: start; }
.footer-main .brand { color: #fff8ef; }
.footer-brand > p { max-width: 250px; color: #e4cfc3; font-size: 14px; line-height: 1.9; margin-top: 16px; }
.footer-main h2 { font-family: var(--sans); font-size: 14px; letter-spacing: 0; line-height: 1.6; font-weight: 500; margin-bottom: 17px; }
.footer-main .address { font-size: 14px; color: #ead9ce; }
.footer-main .plain-link { color: #f3dfce; font-size: 12px; text-decoration: underline; text-underline-offset: 5px; margin-top: 8px; }
.footer-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-actions .button { min-height: 44px; font-size: 12px; padding: 9px 19px; }
.footer-contact > p { font-size: 12px; margin-top: 12px; color: #e4cfc3; }
.footer-phone { color: #e4cfc3; font-size: 13px; display: inline-block; margin-top: 6px; }
.footer-bottom { border-color: #876565; color: #e2cabe; margin-top: 34px; font-size: 11px; }
.footer-bottom nav { display: flex; gap: 25px; }
.footer-bottom nav .plain-link { font-size: 12px; }
html[dir="rtl"] .intro-copy h1 { font-size: clamp(30px, 3.2vw, 45px); line-height: 1.8; }
html[dir="rtl"] .cinema-caption > span:last-child { font-family: "Noto Kufi Arabic", sans-serif; font-size: 22px; }
html[dir="rtl"] .about-copy h2, html[dir="rtl"] .section-heading h2 { font-size: 30px; }
html[dir="rtl"] .student-banner h2 { font-size: 23px; }
html[dir="rtl"] .footer-main h2 { font-size: 14px; line-height: 1.7; }
@media (min-width: 761px) and (max-width: 1100px) {
 .home-intro { grid-template-columns: 1fr 1.15fr; gap: 30px; }
 .main-nav { gap: 20px; margin-inline-end: 6px; }
 .header-inner { gap: 20px; }
 .language-switch button { padding-inline: 7px; font-size: 11px; }
 .student-banner { grid-template-columns: 160px 1fr; }
 .student-banner .button { grid-column: 2; }
 .student-banner-label { grid-row: span 2; }
 .footer-main { gap: 30px; }
}
@media (max-width: 760px) {
 .header-inner { height: 88px; gap: 12px; }
 .header-tools { gap: 8px; }
 .language-switch { gap: 0; }
 .language-switch button { min-width: 0; padding: 8px 6px; font-size: 11px; }
 .wordmark { font-size: 28px; }
 .brand-sub { font-size: 8px; }
 .menu-toggle { padding-inline-start: 10px; font-size: 12px; }
 .main-nav { top: 88px; }
 .home-intro { grid-template-columns: 1fr; gap: 25px; padding-block: 32px 28px; }
 .intro-copy h1 { font-size: clamp(35px, 8.8vw, 48px); margin-top: 15px; line-height: 1.25; }
 .intro-copy .lead { font-size: 15px; margin-top: 18px; }
 .intro-copy .eyebrow { font-size: 11px; letter-spacing: .1em; }
 .intro-copy .brand-note { font-size: 11px; margin-top: 17px; }
 .cinema-screen { aspect-ratio: 4/3; }
 .cinema-caption { padding: 38px 18px 17px; }
 .cinema-caption > span:last-child { font-size: 23px; }
 .film-tabs { gap: 0; }
 .film-tabs button { font-size: 11px; padding-inline: 5px; }
 .playback-actions button { font-size: 11px; }
 .student-banner { grid-template-columns: 1fr; gap: 15px; }
 .student-banner .button { grid-column: 1; }
 .student-banner-label { grid-row: auto; }
 .about-cafe { grid-template-columns: 1fr; gap: 23px; padding-block: 36px 15px; }
 .about-photo { height: 210px; }
 .about-copy h2 { font-size: 30px; line-height: 1.3; margin-block: 11px 16px; }
 .about-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; }
 .about-address { font-size: 11px; margin-top: 12px; }
 .selection { padding-top: 30px; }
 .section-heading { flex-wrap: wrap; }
 .section-heading > .text-link { max-width: none; margin-top: 0; text-align: start; }
 .section-heading h2 { font-size: 29px; }
 .footer-main { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
 .footer-brand { grid-column: 1/-1; }
 .footer-brand > p { max-width: none; font-size: 13px; margin-top: 10px; }
 .footer-main h2 { font-size: 13px; margin-bottom: 12px; }
 .footer-main .address { font-size: 12px; }
 .footer-actions { gap: 8px; }
 .footer-actions .button { padding: 8px 12px; font-size: 11px; }
 .footer-contact > p { font-size: 11px; }
 .footer-phone { font-size: 12px; }
 .footer-bottom { margin-top: 24px; gap: 10px; }
 .footer-bottom nav { gap: 16px; }
 .footer-bottom nav .plain-link { font-size: 11px; }
 .footer-bottom > span:last-child { display: inline; }
 html[dir="rtl"] .wordmark { font-size: 23px; }
 html[dir="rtl"] .intro-copy h1 { font-size: clamp(29px, 7vw, 36px); line-height: 1.85; }
 html[dir="rtl"] .about-copy h2, html[dir="rtl"] .section-heading h2 { font-size: 25px; line-height: 1.85; }
 html[dir="rtl"] .student-banner h2 { font-size: 22px; }
 html[dir="rtl"] .cinema-caption > span:last-child { font-size: 19px; }
 html[dir="rtl"] .film-tabs button { font-size: 11px; }
 html[dir="rtl"] .footer-main h2 { font-size: 13px; }
}
@media (max-width: 360px) {
 .language-switch button { font-size: 10px; padding-inline: 5px; }
 .wordmark { font-size: 25px; }
 .header-inner { gap: 8px; }
 .menu-toggle { font-size: 11px; padding-inline-start: 8px; }
 .footer-main { grid-template-columns: 1fr; }
 .footer-brand { grid-column: auto; }
}
@media (prefers-reduced-motion: no-preference) {
 .intro-copy { animation: arrive .7s ease-out both; }
 .cinema { animation: arrive .9s ease-out both; }
 .selection-card img { transition: transform .5s ease, filter .3s ease; }
 .selection-card:hover img { transform: translateY(-5px); }
 @keyframes arrive { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
}

/* Readable controls and labels across all three languages. */
.main-nav a, .language-switch button, .film-tabs button,
.playback-actions button, .menu-filter button, .booking-panel label,
.footer-actions .button, .footer-bottom nav .plain-link { font-size: 14px; }
.brand-sub, .site-footer .brand-sub { font-size: 12px; letter-spacing: .07em; }
.eyebrow, .selection-card .eyebrow, .section-heading .eyebrow,
.menu-card-body .eyebrow, .address-grid .eyebrow, .student-banner-label .eyebrow,
.review-card .fine-print, .brand-note { font-size: 12px; }
.menu-card-body p, .about-copy > p:not(.eyebrow), .booking-steps p,
.student-benefits p, .form-intro, .intro-copy .lead { font-size: 16px; }
.footer-main .plain-link, .footer-contact > p, .request-destination p { font-size: 14px; }
.footer-bottom, .footer-phone, .about-address, .allergen-note, .menu-note { font-size: 12px; }
@media (max-width:760px) {
 .header-inner { display:grid; grid-template-columns:1fr auto; height:auto; gap:8px 14px; padding-block:12px 8px; }
 .brand { grid-column:1; grid-row:1; justify-self:start; }
 .header-tools { display:contents; }
 .menu-toggle { grid-column:2; grid-row:1; padding-inline:14px; font-size:14px; }
 .language-switch { grid-column:1 / -1; grid-row:2; justify-content:center; }
 .language-switch button { font-size:14px; padding:7px 18px; }
 .main-nav { top:100%; }
 .brand-sub, .site-footer .brand-sub { font-size:12px; }
 .film-tabs button, html[dir="rtl"] .film-tabs button { font-size:12px; }
 .intro-copy .eyebrow, .about-address, .intro-copy .brand-note { font-size:12px; }
 .footer-actions .button, .menu-filter button, .booking-panel label { font-size:14px; }
 .footer-brand > p, .footer-main .address, .footer-contact > p { font-size:14px; }
 .footer-bottom nav { flex-wrap:wrap; gap:16px; }
 .menu-card-body p { font-size:14px; }
}

@media (max-width: 760px) { html { scroll-padding-top: 160px; } }

/* Club gatherings: real photographs, generous captions, one clear invitation. */
.main-nav { gap: 23px; margin-inline-end: 12px; }
.main-nav a { white-space: nowrap; }
.clubs-hero { display: grid; grid-template-columns: 1fr 1.05fr; gap: 7%; align-items: center; padding-block: 44px 32px; }
.clubs-hero h1 { font-size: clamp(38px, 4vw, 54px); line-height: 1.2; margin-top: 20px; }
.clubs-hero .lead { max-width: 460px; font-size: 16px; }
.clubs-hero .button-row { align-items: flex-start; gap: 12px 25px; }
.clubs-hero figure, .club-gallery figure { margin: 0; min-width: 0; }
.clubs-hero-photo { position: relative; }
.clubs-hero-photo img { width: 100%; height: auto; }
.clubs-hero-photo figcaption { position: absolute; inset-inline: 20px; bottom: 20px; width: fit-content; max-width: calc(100% - 40px); padding: 10px 16px; background: var(--paper); font-size: 14px; }
.club-visit { padding-block: 38px 56px; }
.club-description { max-width: 430px; font-size: 16px; line-height: 1.8; }
.club-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.club-gallery img { width: 100%; height: auto; }
.club-gallery figcaption { display: flex; align-items: baseline; gap: 14px; padding-block: 14px; border-bottom: 1px solid var(--line); font-size: 14px; }
.club-photo-number { font-size: 11px; color: var(--brand); font-variant-numeric: tabular-nums; }
.club-invitation { background: var(--brand); color: var(--paper); padding: 42px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 9%; margin-bottom: 64px; }
.club-invitation .eyebrow { color: #ebcdb7; }
.club-invitation h2 { font-size: 36px; line-height: 1.2; margin-block: 15px 19px; }
.club-invitation p { color: #f0dfd4; font-size: 15px; line-height: 1.9; }
.club-interests { display: flex; flex-wrap: wrap; gap: 9px; list-style: none; padding: 0; margin: 24px 0 0; }
.club-interests li { border: 1px solid #b78a83; padding: 5px 13px; font-size: 13px; }
.club-contact { padding-inline-start: 30px; border-inline-start: 1px solid #b78a83; }
.club-contact h3 { font-family: var(--serif); font-size: 25px; margin-bottom: 15px; }
.club-contact .button { margin-block: 20px 14px; min-width: 140px; }
.club-contact .fine-print { font-size: 12px; }
.club-contact :focus-visible { outline-color: var(--paper); }
.clubs-preview { display: grid; grid-template-columns: .68fr 1fr; align-items: center; background: var(--sand); margin-block: 0 55px; }
.clubs-preview-image { display: block; }
.clubs-preview-image img { width: 100%; height: 295px; object-fit: cover; object-position: 50% 40%; }
.clubs-preview-copy { padding: 30px 40px; }
.clubs-preview h2 { font-size: 34px; margin-block: 13px 15px; }
.clubs-preview-copy > p:not(.eyebrow) { max-width: 440px; font-size: 15px; line-height: 1.9; }
.clubs-preview .text-link { margin-top: 14px; }
.booking-panel input[type="tel"] { text-align: left; }
.booking-panel label[for="guest-phone"] { margin-block-start: 18px; }
.footer-bottom nav { flex-wrap: wrap; }
html[dir="rtl"] .clubs-hero h1 { font-size: clamp(29px, 3vw, 40px); line-height: 1.9; }
html[dir="rtl"] .club-invitation h2, html[dir="rtl"] .clubs-preview h2 { font-size: 28px; line-height: 1.8; }
html[dir="rtl"] .club-contact h3 { font-size: 21px; }
@media (min-width: 761px) and (max-width: 1100px) {
 .header-inner { display: grid; grid-template-columns: auto 1fr; height: auto; padding-block: 12px 5px; gap: 8px 24px; }
 .header-inner > .brand { grid-column: 1; grid-row: 1; }
 .header-tools { grid-column: 2; grid-row: 1; justify-self: end; }
 .main-nav { grid-column: 1 / -1; grid-row: 2; margin: 0; gap: 28px; }
 .clubs-hero { gap: 35px; }
 .club-invitation { padding: 30px; gap: 30px; }
 .club-gallery { gap: 16px; }
 .clubs-preview-copy { padding: 24px; }
}
@media (max-width: 760px) {
 .main-nav { gap: 5px; margin-inline: 0; }
 .clubs-hero { grid-template-columns: 1fr; gap: 26px; padding-block: 30px 22px; }
 .clubs-hero h1 { font-size: clamp(34px, 8vw, 43px); margin-top: 14px; }
 .clubs-hero .lead { margin-top: 18px; font-size: 15px; }
 .clubs-hero .button-row { margin-top: 20px; }
 .clubs-hero-photo figcaption { inset-inline: 14px; bottom: 14px; padding: 8px 12px; font-size: 13px; }
 .club-visit { padding-block: 28px 36px; }
 .club-description { font-size: 15px; }
 .club-gallery { grid-template-columns: 1fr; gap: 23px; }
 .club-gallery figcaption { padding-block: 12px; }
 .club-invitation { grid-template-columns: 1fr; gap: 26px; padding: 26px 22px; margin-bottom: 36px; }
 .club-invitation h2 { font-size: 31px; }
 .club-contact { border-inline-start: 0; padding-inline-start: 0; border-top: 1px solid #b78a83; padding-top: 23px; }
 .club-contact h3 { font-size: 24px; }
 .clubs-preview { grid-template-columns: 1fr; margin-bottom: 36px; }
 .clubs-preview-image img { height: 245px; }
 .clubs-preview-copy { padding: 25px 23px; }
 .clubs-preview h2 { font-size: 29px; }
 html[dir="rtl"] .clubs-hero h1 { font-size: 28px; }
 html[dir="rtl"] .club-invitation h2, html[dir="rtl"] .clubs-preview h2 { font-size: 25px; }
 .footer-bottom nav { gap: 9px 16px; }
}

/* Version 5: email requests, an editorial study image and gatherings for all clubs. */
.study-visual { margin:0; padding:0; border:1px solid var(--line); background:var(--white); }
.study-visual img { width:100%; height:390px; object-fit:cover; object-position:50% 50%; }
.study-visual figcaption { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 22px; font-size:14px; color:var(--brand); }
.study-visual figcaption > span:last-child { font-size:11px; letter-spacing:.12em; }
.booking-panel .field { min-width:0; margin-block:0 18px; }
.booking-panel label[for="guest-phone"] { margin-block-start:0; }
.booking-panel .form-columns .field { margin-bottom:0; }
.booking-panel .form-columns { margin-bottom:18px; }
.booking-panel input, .booking-panel select { min-width:0; width:100%; min-height:50px; }
.booking-panel .field-hint { margin-block:-6px 20px; font-size:13px; }
.booking-panel .privacy-note { font-size:13px; margin-block:20px; }
.booking-panel button:disabled { opacity:.65; cursor:wait; }
.form-honey { display:none!important; }
#booking-status { padding:14px; margin-block:16px; border-inline-start:3px solid var(--brand); background:var(--sand); font-size:14px; }
#booking-success > p { margin-block:18px 25px; }
.guest-hero img { height:500px; object-fit:cover; object-position:50% 54%; }
.guest-story { display:grid; grid-template-columns:1fr 1fr; gap:60px; border-bottom:1px solid var(--line); padding-block:10px 38px; }
.guest-story h2 { font-size:30px; margin-bottom:15px; }
.guest-story p { font-size:15px; line-height:1.9; }
.guest-welcome { align-self:center; }
.chess-feature { display:grid; grid-template-columns:1fr .75fr; align-items:center; background:var(--sand); }
.chess-feature img { height:370px; object-fit:cover; object-position:center; }
.chess-feature > div { padding:35px; }
.chess-feature h3 { font-family:var(--serif); font-size:30px; margin-bottom:18px; }
.chess-feature p { line-height:1.9; }
.club-more { margin-top:24px; border-block:1px solid var(--line); }
.club-more summary { cursor:pointer; padding:20px 5px; color:var(--brand); font-size:15px; }
.expanded-gallery { padding-block:5px 25px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.expanded-gallery img { width:100%; height:100%; object-fit:contain; }
.expanded-gallery figure { background:var(--sand); }
.club-booking { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; padding-top:15px; }
.club-welcome { padding:32px; background:var(--brand); color:var(--paper); }
.club-welcome .eyebrow { color:#e8cdb6; }
.club-welcome h2 { margin-block:16px 22px; font-size:34px; }
.club-welcome h3 { font-size:22px; margin-block:28px 16px; }
.club-welcome p { color:#f0dfd4; line-height:1.9; font-size:15px; }
.club-welcome .fine-print { font-size:13px; margin-top:22px; }
html[dir=rtl] .guest-story h2,html[dir=rtl] .club-welcome h2 { font-size:27px; }
html[dir=rtl] .chess-feature h3 { font-family:'Noto Kufi Arabic',sans-serif; font-size:25px; }
@media(max-width:760px) {
 .study-visual img { height:290px; }
 .study-visual figcaption { padding:15px; font-size:13px; }
 .guest-hero img { height:385px; }
 .guest-story,.club-booking { grid-template-columns:1fr; gap:24px; }
 .guest-story { padding-block:5px 28px; }
 .guest-story h2 { font-size:27px; }
 .chess-feature { grid-template-columns:1fr; }
 .chess-feature img { height:260px; }
 .chess-feature > div { padding:23px; }
 .chess-feature h3 { font-size:27px; }
 .expanded-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .club-welcome { padding:25px; }
 .club-welcome h2 { font-size:29px; }
 .booking-panel .form-columns:has(#guest-phone) { grid-template-columns:1fr; gap:18px; }
 html[dir=rtl] .guest-story h2,html[dir=rtl] .club-welcome h2 { font-size:24px; }
}
.club-more summary { list-style:none; text-decoration:underline; text-underline-offset:6px; }
.club-more summary::-webkit-details-marker { display:none; }

/* Version 6: a readable café menu, more guest stories and live review states. */
.menu-intro { padding-block:38px 24px; }
.menu-intro h1 { font-size:clamp(32px,4vw,46px); margin-block:12px; }
.menu-intro .lead { margin-top:10px; max-width:650px; font-size:16px; }
.menu-tools { border-block:1px solid var(--line); padding-block:20px 12px; }
.menu-search { max-width:560px; margin-bottom:18px; }
.menu-search label { display:block; font-size:14px; margin-bottom:8px; }
.search-input-wrap { position:relative; display:flex; align-items:center; gap:10px; }
#menu-search { width:100%; min-width:0; min-height:48px; border:1px solid #b9a496; border-radius:0; background:#fffdfa; padding:12px; font:inherit; font-size:16px; color:var(--ink); }
#clear-menu-search { background:none; flex-shrink:0; min-height:44px; font-size:14px; padding:6px; color:var(--brand); text-decoration:underline; }
.menu-filter { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 6px; border:0; margin:0; }
.menu-filter button { flex-shrink:0; min-height:44px; border:1px solid var(--line); background:transparent; padding:9px 16px; font-size:14px; }
.menu-filter button[aria-pressed=true] { background:var(--brand); border-color:var(--brand); color:var(--paper); }
.menu-meta { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-block:14px 4px; }
.menu-meta p { margin:0; font-size:13px; }
.menu-group { margin-block:30px 45px; }
.menu-group-heading { padding-block:0 18px; border-bottom:2px solid var(--brand); }
.menu-group-heading h2 { font-size:29px; line-height:1.4; }
.menu-group-heading p { margin-top:9px; color:var(--muted); font-size:14px; }
.menu-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 42px; }
.menu-item { display:flex; align-items:start; gap:15px; padding-block:24px; border-bottom:1px solid var(--line); min-width:0; }
.menu-item-copy { flex:1; min-width:0; }
.menu-item-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.menu-item h3 { font:600 18px/1.5 var(--sans); margin:0; }
.menu-item p { font-size:15px; line-height:1.75; color:var(--muted); margin:8px 0 0; }
.menu-item .price { white-space:nowrap; font-size:16px; color:var(--brand); font-weight:600; margin:0; font-variant-numeric:tabular-nums; }
.menu-thumb { width:76px; height:92px; object-fit:cover; flex-shrink:0; border-radius:3px; }
.menu-group[data-menu-group=extras] .menu-item { padding-block:17px; }
.menu-no-results { padding:35px 0; max-width:500px; }
.menu-no-results .button { margin-top:20px; }
.allergen-note { font-size:14px; padding:20px; background:var(--sand); margin-block:20px 40px; line-height:1.8; }
.guest-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.guest-gallery figure { margin:0; min-width:0; }
.guest-gallery img { width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; }
.guest-gallery figcaption { padding-block:15px; font-size:14px; border-bottom:1px solid var(--line); }
.guest-collection { padding-block:30px 40px; }
.review-card .rating { width:fit-content; text-decoration:none; }
html[dir=rtl] .review-card .rating { margin-inline-start:auto; }
.review-attribution { margin-block:12px; font:500 14px/1.5 Arial,sans-serif; letter-spacing:normal; color:var(--muted); }
.review-refresh { display:block; background:none; color:var(--brand); text-decoration:underline; min-height:44px; padding:12px 0 0; margin-top:8px; font-size:14px; }
#review-fallback { font-size:16px; line-height:1.8; margin-block:15px 20px; }
#review-status:empty { display:none; }
#review-attributions a { font-size:12px; display:block; text-decoration:underline; }
html[dir=rtl] .menu-intro h1 { font-size:clamp(28px,3.3vw,38px); }
html[dir=rtl] .menu-group h2 { font-size:25px; }
html[dir=rtl] .menu-item h3 { font-family:'Noto Kufi Arabic',sans-serif; font-size:17px; font-weight:500; line-height:1.8; }
@media(max-width:760px) {
 .menu-intro { padding-block:28px 18px; }
 .menu-intro h1 { font-size:34px; }
 .menu-list { grid-template-columns:1fr; }
 .menu-filter { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; padding-bottom:12px; }
 .menu-filter button { font-size:14px; }
 .menu-meta { flex-direction:column; gap:5px; }
 .menu-group { margin-block:25px 34px; }
 .menu-group-heading h2 { font-size:26px; }
 .menu-group-heading p { font-size:14px; }
 .menu-item { padding-block:19px; gap:12px; }
 .menu-item h3 { font-size:17px; }
 .menu-item-heading { gap:10px; }
 .menu-item p { font-size:15px; }
 .menu-thumb { width:60px; height:78px; }
 .guest-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
 .guest-gallery figure:first-child { grid-column:1/-1; }
 .guest-gallery figure:first-child img { aspect-ratio:4/3; object-position:50% 52%; }
 .guest-gallery figcaption { font-size:13px; line-height:1.8; }
 .guest-collection { padding-block:20px 26px; }
 html[dir=rtl] .menu-item h3 { font-size:16px; }
 html[dir=rtl] .menu-group h2 { font-size:23px; }
}
@media(max-width:390px) {
 .menu-item-heading { flex-wrap:wrap; gap:3px 12px; }
 .menu-item .price { margin-inline-start:auto; }
 .menu-thumb { width:52px; height:68px; }
}
.review-attribution { color:#5e5e5e; font-weight:400; font-style:normal; white-space:nowrap; }

/* v7: a café menu with a clear reading order and dependable form layouts. */
.phone-fields{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:start;direction:ltr}
.phone-fields .field{min-width:0;margin:0}
.phone-fields label{display:block;white-space:normal;min-height:30px}
html[dir=rtl] .phone-fields label{direction:rtl;text-align:right}
.phone-fields input{width:100%;min-width:0}
.country-code-field input{font-variant-numeric:tabular-nums}
#phone-note{margin-block:10px 25px;font-size:14px;line-height:1.8}
.booking-panel input,.booking-panel select,.booking-panel textarea{scroll-margin-top:180px}
.booking-panel label{font-size:15px}
.booking-panel .field{min-width:0}
.booking-panel select{min-height:50px;font:inherit;border:1px solid #cbb9a9;background:var(--paper);color:var(--ink);padding:10px 12px;width:100%}
#booking-status{font-size:16px;line-height:1.8}
.chess-feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;overflow:hidden}
.chess-feature>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.chess-feature>div{padding:clamp(24px,4vw,60px)}
.expanded-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.expanded-gallery figure{margin:0;overflow:hidden;background:transparent}
.expanded-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center}
.menu-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-block:38px 30px}
.menu-intro h1{font-size:clamp(34px,4vw,54px);margin-block:12px}
.menu-intro .lead{font-size:16px;max-width:530px;line-height:1.8;margin:0}
.menu-intro .menu-search{width:330px;max-width:100%;flex-shrink:0;margin:0}
#menu-search{border:0;border-bottom:1px solid var(--brand);padding:12px 0;background:transparent;min-height:48px;border-radius:0}
.menu-search label{font-size:14px}
.search-input-wrap{gap:16px}
#clear-menu-search{font-size:14px;max-width:80px}
.menu-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:38px;align-items:start;padding-block:16px 55px;border-top:1px solid var(--line)}
.menu-navigation{position:sticky;top:130px;padding-top:15px}
.menu-navigation>.eyebrow{font-size:13px;margin:0 0 18px}
.menu-filter{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;overflow:visible;margin:0;padding:0;border:0}
.menu-filter button{width:100%;text-align:start;min-height:48px;padding:12px 15px;border:0;border-radius:2px;background:none;font-size:15px;line-height:1.6}
.menu-filter button:hover{background:var(--sand)}
.menu-filter button[aria-pressed=true]{background:var(--brand);color:var(--paper)}
.menu-filter button[data-menu-filter=all]{border-top:1px solid var(--line);margin-top:10px;border-radius:0}
.menu-board{min-width:0;scroll-margin-top:130px}
.menu-meta{padding-block:0 15px;align-items:center}
.menu-meta p{font-size:14px}
.menu-group{display:grid;grid-template-columns:minmax(0,1fr);background:var(--white);border:1px solid var(--line);margin:0 0 25px;overflow:hidden}
.menu-group.has-cover{grid-template-columns:minmax(160px,.6fr) minmax(0,1.4fr)}
.menu-category-cover{margin:0;position:relative;min-width:0;align-self:stretch;background:var(--sand)}
.menu-category-cover>img{width:100%;height:100%;max-height:760px;min-height:420px;object-fit:cover;object-position:center}
.menu-category-cover figcaption{position:absolute;inset: auto 0 0;padding:45px 20px 22px;background:linear-gradient(transparent,#301d18bd);color:white;display:flex;flex-direction:column;gap:8px;line-height:1.7;font-size:16px}
.menu-category-cover figcaption>span:first-child{font:500 12px/1.5 var(--sans);letter-spacing:.22em}
.menu-category-content{min-width:0;padding:30px 28px 20px}
.menu-group-heading{border-bottom:1px solid var(--brand);padding:0 0 20px}
.menu-group-heading h2{font-size:32px;line-height:1.4}
.menu-group-heading p{font-size:14px;line-height:1.8;max-width:500px}
.menu-list{display:block}
.menu-item,.menu-group[data-menu-group=extras] .menu-item{padding:19px 0;display:block;border-bottom:1px solid var(--line)}
.menu-item:last-child{border-bottom:0}
.menu-item-heading{display:flex;align-items:baseline;flex-wrap:nowrap;gap:12px}
.menu-item h3{font:600 17px/1.55 var(--sans);overflow-wrap:anywhere}
.menu-leader{flex:1;min-width:10px;border-bottom:1px dotted #c7b5a7;align-self:baseline}
.menu-item .price{font-size:17px;font-weight:600;flex-shrink:0;white-space:nowrap}
.menu-item p{font-size:15px;line-height:1.7;margin-top:5px;max-width:520px}
.menu-catalog.searching .menu-category-cover{display:none}
.menu-catalog.searching .menu-group.has-cover{grid-template-columns:1fr}
.allergen-note{padding:16px 0 0;border-top:1px solid var(--line);background:none;font-size:14px;line-height:1.8;margin:16px 0 0}
html[dir=rtl] .menu-intro h1{font-size:clamp(28px,3vw,39px);line-height:1.6}
html[dir=rtl] .menu-group-heading h2{font-size:25px}
html[dir=rtl] .menu-item h3{font:500 16px/1.9 'Noto Kufi Arabic',sans-serif;letter-spacing:0}
@media(max-width:1100px){
 .menu-layout{grid-template-columns:165px minmax(0,1fr);gap:22px}
 .menu-group.has-cover{grid-template-columns:1fr}
 .menu-category-cover>img{height:210px;min-height:0;max-height:none;object-position:center 48%}
 .menu-category-cover figcaption{padding:35px 24px 18px}
 .menu-category-cover figcaption>span:first-child{display:none}
}
@media(max-width:760px){
 .phone-fields{grid-template-columns:105px minmax(0,1fr);gap:12px}
 .phone-fields input{font-size:16px;padding-inline:12px}
 .phone-fields label{font-size:14px}
 .booking-panel{padding:24px 19px}
 .booking-panel .form-columns{grid-template-columns:1fr;gap:16px}
 .chess-feature{grid-template-columns:1fr}
 .chess-feature>img{aspect-ratio:4/3;object-position:center}
 .chess-feature>div{padding:25px}
 .expanded-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .menu-intro{display:block;padding-block:25px 22px}
 .menu-intro h1{font-size:38px;line-height:1.3}
 .menu-intro .lead{font-size:16px}
 .menu-intro .menu-search{width:100%;margin-top:24px}
 .menu-layout{display:block;border:0;padding-top:0}
 .menu-navigation{position:sticky;top:104px;z-index:12;background:var(--paper);padding:10px 0;border-block:1px solid var(--line);margin-bottom:18px}
 .menu-navigation>.eyebrow{display:none}
 .menu-filter{flex-direction:row;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:0 0 5px;overscroll-behavior-inline:contain}
 .menu-filter button{width:auto;white-space:nowrap;padding:9px 14px;min-height:46px;font-size:14px}
 .menu-filter button[data-menu-filter=all]{border:0;margin:0}
 .menu-board{scroll-margin-top:185px}
 .menu-meta{flex-direction:row;padding:0 0 12px}
 .menu-meta p{font-size:13px}
 .menu-category-cover>img{height:200px;object-position:center 50%}
 .menu-category-content{padding:24px 19px 12px}
 .menu-group-heading h2{font-size:29px}
 .menu-item-heading{gap:9px}
 .menu-leader{display:none}
 .menu-item h3{flex:1;font-size:17px}
 .menu-item .price{margin-inline-start:auto;font-size:16px}
 .menu-item p{font-size:15px}
 .menu-group{margin-bottom:20px}
 html[dir=rtl] .menu-intro h1{font-size:29px}
 html[dir=rtl] .menu-group-heading h2{font-size:24px}
 html[dir=rtl] .menu-item h3{font-size:16px;line-height:1.9}
}

.menu-navigation{top:calc(var(--header-height,100px) + 20px)}
.menu-category-cover>img{max-height:none}
.menu-board{scroll-margin-top:calc(var(--header-height,100px) + 30px)}
@media(max-width:760px){.menu-navigation{top:var(--header-height,120px)}.menu-board{scroll-margin-top:calc(var(--header-height,120px) + 85px)}}
