/* ==========================================================
   Food place & service pages: same frame and parts as the
   accommodation / attraction pages (2026-11-12).
   ========================================================== */

/* Page frame (mirrors the single accommodation rules) */
body.single-food_place,
body.single-local_service { overflow-x: hidden; overflow-x: clip;
	--header-pos: absolute; --header-bg: linear-gradient(rgba(15,23,42,.7), rgba(15,23,42,0)); --header-shadow: none;
	--header-top: var(--admin-offset); --nav-text: #fff; --nav-current: #fff; }
.single-food_place .site-header .inside-header,
.single-local_service .site-header .inside-header { max-width: var(--se-max) !important; }
.single-food_place #page, .single-food_place #content, .single-food_place .site-content,
.single-local_service #page, .single-local_service #content, .single-local_service .site-content { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
html body.single-food_place, .single-food_place #page, .single-food_place .site-content, .single-food_place .se-page,
html body.single-local_service, .single-local_service #page, .single-local_service .site-content, .single-local_service .se-page { background-color: #f8fafc !important; }
.single-food_place #right-sidebar, .single-food_place #left-sidebar,
.single-local_service #right-sidebar, .single-local_service #left-sidebar { display: none !important; }

/* Shared listing parts (same as accommodations / attractions) */
.cia-se .se-hero { min-height: clamp(440px, 66vh, 660px); display: flex; flex-direction: column; justify-content: flex-end; }
.cia-se .se-hero .se-hero-inner { width: 100%; }
.cia-se .se-badge { background: var(--c); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.cia-se a.se-badge:hover { color: #fff; filter: brightness(1.1); }
.cia-se .se-hero-meta { font-size: 1rem; }
.cia-se .se-hero-meta span + span { margin-left: 18px; }
.cia-se .se-hero--map { background: radial-gradient(900px 520px at 78% 45%, color-mix(in srgb, var(--c) 65%, #1f6f9a) 0%, #154a7a 55%, #0d2f50 100%); min-height: clamp(400px, 56vh, 540px); }
.cia-se .se-hero--map .se-hero-overlay { background: linear-gradient(90deg, rgba(15,23,42,.55) 0%, rgba(15,23,42,.15) 60%, rgba(15,23,42,0) 100%); }
.cia-se .se-hero--map:after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: repeating-radial-gradient(circle at 78% 48%, rgba(255,255,255,.045) 0 2px, transparent 2px 30px); }
.cia-se-lead { font-size: 1.2rem; line-height: 1.7; color: #0f172a; font-weight: 600; margin: 0 0 1.2em; }
.cia-se-sec { margin-top: 2.2em; padding-top: 1.8em; border-top: 1px solid #f1f5f9; }
.cia-se-sec h2 { font-size: 1.35rem; font-weight: 800; color: #0f172a; margin: 0 0 .8em; }
.cia-se-map iframe { display: block; width: 100%; height: 340px; border: 0; border-radius: 14px; background: #e2e8f0; }
.cia-se-note { margin: .6em 0 0; font-size: .82rem; color: var(--portal-text-muted, #64748b); }
.cia-se .se-sidebar .cia-se-note { margin: 12px 0 0; }
.cia-se-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.cia-se-photos button { position: relative; display: block; aspect-ratio: 4/3; padding: 0 !important; border: 0 !important; border-radius: 12px !important; overflow: hidden; cursor: zoom-in; background: #e2e8f0 !important; }
.cia-se-photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.cia-se-photos button:hover img { transform: scale(1.06); }
.cia-se .se-card { border-top-color: var(--c); }
.cia-se .event-card-image { background-color: var(--c); background-size: cover; background-position: center; }
.cia-se .event-card-ph { position: absolute; inset: 0; display: grid; place-items: center; font-size: 3rem; background: linear-gradient(135deg, var(--c), #0d2f50); }
.cia-se .event-card-image .event-badge { z-index: 1; }
.cac-se-am { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.cac-se-am li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: #f8fafc; border: 1px solid #eef2f7; font-weight: 600; color: #334155; margin: 0; }
.cac-se-am li span { font-size: 1.2rem; }

/* Photo viewer */
.cia-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(5,15,28,.96); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.cia-lb.open { opacity: 1; visibility: visible; }
.cia-lb[hidden] { display: none; }
.cia-lb figure { margin: 0; display: flex; flex-direction: column; align-items: center; }
.cia-lb img { max-width: 92vw; max-height: 80vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); user-select: none; }
.cia-lb figcaption { margin-top: 12px; color: rgba(255,255,255,.85); font-size: .9rem; text-align: center; }
.cia-lb button { position: absolute; border: 0 !important; background: rgba(255,255,255,.12) !important; color: #fff !important; width: 50px; height: 50px; border-radius: 50% !important; font-size: 1.6rem; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0 !important; }
.cia-lb button:hover { background: rgba(255,255,255,.25) !important; }
.cia-lb .x { top: 20px; right: 20px; } .cia-lb .pv { left: 20px; top: 50%; transform: translateY(-50%); } .cia-lb .nx { right: 20px; top: 50%; transform: translateY(-50%); }
.cia-lb .ct { position: absolute; top: 32px; left: 50%; transform: translateX(-50%); color: #fff; font-weight: 700; font-size: .9rem; }

/* Food place / service extras */
.icpl-hero-icon {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: max(40px, calc(50% - var(--se-max, 1200px) / 2 + 60px));
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: clamp(150px, 20vw, 240px);
	height: clamp(150px, 20vw, 240px);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.10);
	border: 2px solid rgba(255, 255, 255, 0.25);
	font-size: clamp(64px, 9vw, 110px);
	line-height: 1;
	pointer-events: none;
}
.icpl-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.icpl-chips li { margin: 0; padding: 8px 14px; border-radius: 999px; background: color-mix(in srgb, var(--c) 10%, #fff); border: 1px solid color-mix(in srgb, var(--c) 25%, #fff); color: #0f172a; font-weight: 700; font-size: .95rem; }
.icpl .se-actions .se-btn:not(.se-btn-outline) { background: var(--c); border-color: var(--c); color: #fff; }

@media (max-width: 900px) {
	.cia-se .se-hero { min-height: clamp(420px, 70vh, 560px); }
	.cia-lb .pv, .cia-lb .nx { display: none; }
	.icpl-hero-icon { opacity: .35; right: -20px; top: 38%; }
}