* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; padding: clamp(24px, 6vw, 64px) 20px; background: #2a2626; color: #f6eff2; font: 18px/1.6 "Quicksand", sans-serif; }
main { max-width: 900px; margin: auto; }
a { color: inherit; }
.back { font-size: 16px; text-underline-offset: 5px; }
h1 { font: clamp(40px, 8vw, 72px)/1.15 "Megrim", sans-serif; margin: 32px 0; color: #ddc5d0; }
.country { padding: 28px 0; border-bottom: 1px solid #62515a; }
.country-heading { display: flex; align-items: center; gap: 16px; }
.flag { flex: none; display: grid; place-items: center; width: 76px; height: 76px; background: #fff; border-radius: 50%; font-size: 42px; }
h2 { margin: 0; font-size: clamp(26px, 5vw, 38px); line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
.country p { margin: 20px 0 0; font-size: 18px; }
.order .country-heading { width: fit-content; max-width: 100%; padding: 10px 24px 10px 10px; border-radius: 48px; background: #493e44; }
.platforms { display: flex; flex-wrap: wrap; gap: 18px; margin: 24px 0 0; }
.platform { display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; font-size: 16px; min-width: 90px; }
.app-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--brand); color: #fff; font: 700 19px/1 Arial, sans-serif; }
.platform:hover .app-icon { transform: translateY(-3px); }
a:focus-visible, button:focus-visible { outline: 3px solid #f4bd4f; outline-offset: 5px; }
.copy { font: inherit; color: inherit; border: 1px solid #9b858f; background: transparent; padding: 8px 14px; border-radius: 20px; cursor: pointer; }
#page-note { color: #d9cbd1; font-size: 16px; }
#nearby-status { margin: 24px 0; padding: 18px 20px; border: 1px solid #75656d; border-radius: 18px; color: #e5d8df; font-size: 16px; }
.radius-group { margin: 36px 0; }
.radius-group > h2 { padding-bottom: 12px; border-bottom: 1px solid #75656d; }
.restaurant-search { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 20px 0; border-bottom: 1px solid #493e44; }
.search-country { font-size: clamp(24px, 5vw, 34px); font-weight: 600; flex: 1; min-width: 160px; }
.restaurant-search a { font-size: 18px; text-underline-offset: 5px; }

button.platform { padding: 0; border: 0; color: inherit; background: none; font-family: inherit; cursor: default; }
.restaurant-placeholder { margin: 16px 0; padding: 18px 22px; border-radius: 18px; background: #42383d; }
.restaurant-placeholder h3 { margin: 12px 0 4px; font-size: 22px; font-weight: 500; }
.restaurant-placeholder .country-heading h2 { font-size: 28px; }
.restaurant-placeholder .flag { width: 54px; height: 54px; font-size: 32px; }
.preview-placeholder { color: #d5c5cd; }

.country .cuisine-search-hint { font-size: 15px; color: #d9cbd1; }
.nearby-controls { display: grid; gap: 12px; }
.nearby-controls select { width: 100%; max-width: 480px; padding: 12px; border-radius: 12px; background: #fff; color: #2a2626; font: inherit; }
.nearby-controls button { width: fit-content; }
.nearby-controls p { margin: 0; }
.restaurant-placeholder a { color: #b9d9ff; text-underline-offset: 4px; }
.restaurant-placeholder p { margin: 8px 0; }
.google-attribution { color: #fff; font: 500 18px/1.5 Arial, sans-serif; }
.place-credit { display: block; font-size: 13px; }

.meal-menus { margin: 1.4rem 0 2rem; color: #ddc5d0; }
.meal-menus h3 { font-size: 1.3rem; margin-bottom: 1rem; }
.menu-group h4 { font-size: 1.1rem; margin: 1.2rem 0 .4rem; }
.menu-group h5 { font: inherit; font-weight: 700; margin: .8rem 0 .3rem; }
.menu-group ul { padding-left: 1.4rem; margin-top: .3rem; }
.menu-group li { margin: .35rem 0; }
.menu-group a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.menu-group a:hover, .menu-group a:focus-visible { color: #fff0f6; }
.menu-group a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.menu-note { font-size: .8em; }

/* Reviewed membership layout: flags stay at the right of each country banner. */
.food-view { color:#ddc5d0; }
.food-view .country, .food-view #planetary-results { background:#fbe89c; color:#3c0917; border:0; border-radius:18px; padding:26px; margin:18px 0; }
.food-view .country-heading { justify-content:space-between; }
.food-view .country-heading .flag { order:2; width:auto; height:auto; background:none; border-radius:0; font-size:64px; line-height:1.15; }
.food-view .country-heading h2 { font-size:26px; }
.food-view .meal-menus,.food-view .planetary-foods,.food-view .food-ruler,.food-view .food-key,.food-view .food-category h4,.food-view .food-trigger { color:#3c0917; }
.food-view .food-trigger { border-color:#3c0917; }
.food-view .food-citation { color:#fff; }
.food-view .menu-group a:hover,.food-view .menu-group a:focus-visible {color:#3c0917;}
@media(max-width:480px) { .food-view .country-heading .flag {font-size:52px;} }
.google-attribution { color: #fff; font: 400 14px/1.5 Arial, sans-serif; white-space: nowrap; letter-spacing: normal; }
.nearby-controls button:disabled { opacity: .6; cursor: wait; }
.restaurant-placeholder h3 { margin-top: 0; }
.restaurant-placeholder a { display: inline-block; padding: 8px 0; }

/* Approved Menus and More layout; account and theme controls are unchanged. */
.menus-view .country-heading { padding-bottom:22px; border-bottom:1px solid #3c09172b; }
.menus-view .menu-group ul { padding:0; list-style:none; }
.menus-view .menu-group li { font-size:clamp(22px,4vw,28px); margin:18px 0; font-weight:600; }
.menus-view .menu-group a { text-underline-offset:7px; text-decoration-thickness:1px; }
.menus-view .menu-note { font-size:14px; font-weight:400; }
.menu-actions { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
.menu-action { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-height:155px; padding:26px 14px; border-radius:16px; color:#3c0917; text-decoration:none; }
.menu-action-reserve { background:#c7cfee; }
.menu-action-order { background:#f4dfb7; }
.menu-action-icons { display:flex; align-items:center; justify-content:center; gap:18px; height:46px; }
.menu-action-icons ion-icon,.menu-action-icons .material-symbols-outlined { font-size:44px; width:44px; height:44px; }
.menu-action-label { font-size:clamp(15px,2.8vw,23px); font-weight:600; white-space:nowrap; }
.menu-action:hover { filter:brightness(1.04); }
.menu-action:focus-visible { outline:3px solid #9d365c; outline-offset:5px; }
@media(max-width:500px) {
 .menu-actions { gap:10px; }
 .menu-action { padding:22px 6px; min-height:145px; }
 .menu-action-icons { gap:10px; }
 .menu-action-icons ion-icon,.menu-action-icons .material-symbols-outlined { font-size:36px; width:36px; height:36px; }
 .menus-view .country { padding:22px 16px; }
}

.meal-preparation{font-size:13px;font-weight:400;margin:7px 0 14px}.meal-preparation summary{cursor:pointer}.country .meal-preparation p{font-size:13px;margin:6px 0}

.order-directory .country { background:#fbe89c; color:#3c0917; border:0; border-radius:18px; padding:0; margin:18px 0; }
.order-directory .country-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px; color:#3c0917; text-decoration:none; border-radius:18px; }
.order-directory .country-banner:hover { background:#fff0b8; }
.order-directory .country-banner h2 { font-size:26px; }
.order-directory .flag { order:2; width:auto; height:auto; background:none; font-size:64px; }
.vendor-status { display:block; font-size:16px; font-weight:400; margin-top:8px; }
@media(max-width:480px) { .order-directory .country-banner { padding:22px 16px; } .order-directory .flag {font-size:52px;} }

#nearby-status.automatic-restaurant-status { margin:0; padding:0; border:0; background:none; }
#nearby-status.automatic-restaurant-status p { font-size:14px; }
