/* OTL Venues — Noir Heritage. Source of truth: the "Old Town Liverpool" design system.
   Tokens are hardcoded hex (HivePress/ListingHive does not resolve CSS variables reliably). */

body.otlv-page { background: #ece3d4 !important; overflow-x: hidden !important; }
.otlv { position: relative !important; width: 100% !important; max-width: none !important; left: auto !important; margin-left: 0 !important; margin-right: 0 !important; background: #ece3d4 !important; color: #1e1910 !important; font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important; font-size: 17px !important; line-height: 1.65 !important; -webkit-font-smoothing: antialiased !important; padding: 0 0 48px !important; box-sizing: border-box !important; }
.otlv *, .otlv *::before, .otlv *::after { box-sizing: border-box !important; }
.otlv a { color: #8d732b !important; text-decoration: none !important; }
.otlv a:hover, .otlv a:focus-visible { color: #977a20 !important; }
.otlv a:focus-visible, .otlv summary:focus-visible { outline: 2px solid #8d732b !important; outline-offset: 3px !important; }
.otlv :where(p) { margin: 0 !important; }
.otlv :where(ul, ol, dl, li) { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.otlv :where(dt, dd) { margin: 0 !important; padding: 0 !important; }
.otlv :where(h1, h2, h3) { color: #1e1910 !important; margin: 0 !important; letter-spacing: 0 !important; text-transform: none !important; }
.otlv :where(img) { max-width: 100% !important; height: auto !important; display: block !important; border: 0 !important; }

.otlv-wrap { max-width: 1200px !important; margin: 0 auto !important; padding: 0 32px !important; }
.otlv-sec { padding-top: 96px !important; padding-bottom: 96px !important; }
.otlv-band { background: #e8decd !important; border-top: 1px solid #e1d4bd !important; border-bottom: 1px solid #e1d4bd !important; }

.otlv-eyebrow { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #8d732b !important; display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; }
.otlv-rule { width: 48px !important; height: 2px !important; background: #8d732b !important; margin: 14px 0 0 !important; }
.otlv-h1 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: clamp(56px, 8vw, 112px) !important; line-height: .92 !important; letter-spacing: -.015em !important; margin: 28px 0 0 !important; }
.otlv-h1-menu { font-size: clamp(48px, 6.5vw, 96px) !important; margin-top: 18px !important; }
.otlv-h2 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: clamp(36px, 4vw, 52px) !important; line-height: 1.08 !important; margin: 18px 0 0 !important; }
.otlv-tagline { font-family: "Cormorant Garamond", Georgia, serif !important; font-style: italic !important; font-size: clamp(24px, 2.6vw, 32px) !important; line-height: 1.25 !important; color: #8d732b !important; margin-top: 22px !important; }
.otlv-lead { font-size: 19px !important; line-height: 30px !important; max-width: 620px !important; margin-top: 24px !important; }
.otlv-muted { color: #736a58 !important; }
.otlv-small { font-size: 13px !important; line-height: 20px !important; color: #736a58 !important; margin-top: 28px !important; }
.otlv-right { text-align: right !important; }
.otlv-ico { display: inline-block !important; vertical-align: -3px !important; }

/* Breadcrumb */
.otlv-crumbs ol { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; padding: 22px 0 0 !important; font-size: 13px !important; color: #736a58 !important; }
.otlv-crumbs li + li::before { content: "/" !important; margin-right: 10px !important; color: #847a67 !important; }
.otlv-crumbs a, .otlv-crumbs span { color: #736a58 !important; }
.otlv-crumbs [aria-current] { color: #1e1910 !important; }

/* Buttons */
.otlv-actions { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; align-items: center !important; margin-top: 30px !important; }
.otlv-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 48px !important; padding: 0 26px !important; border-radius: 4px !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1 !important; border: 1px solid transparent !important; transition: background .15s ease, color .15s ease, border-color .15s ease !important; }
.otlv a.otlv-btn-gold { background: #8d732b !important; color: #ece3d4 !important; }
.otlv a.otlv-btn-gold:hover { background: #977a20 !important; color: #ece3d4 !important; }
.otlv a.otlv-btn-line { border-color: #decfb6 !important; color: #1e1910 !important; }
.otlv a.otlv-btn-line:hover { border-color: #8d732b !important; color: #1e1910 !important; }
.otlv a.otlv-btn-line-gold { border-color: #8d732b !important; color: #8d732b !important; margin-top: 24px !important; }
.otlv a.otlv-btn-text { padding: 0 8px !important; color: #8d732b !important; }
.otlv-block { display: flex !important; width: 100% !important; }
.otlv-meta { margin-top: 18px !important; font-size: 14px !important; color: #736a58 !important; }

/* Hero */
.otlv-hero { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: 72px !important; align-items: center !important; padding-top: 48px !important; padding-bottom: 88px !important; }
.otlv-hero-fig { margin: 0 !important; position: relative !important; }
.otlv-arch { aspect-ratio: 23 / 30 !important; border-radius: 999px 999px 4px 4px !important; overflow: hidden !important; background: #e4d7c2 !important; border: 1px solid #decfb6 !important; }
.otlv-arch img, .otlv-arch svg { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.otlv-stamp { position: absolute !important; right: -14px !important; top: 64px !important; background: #953e22 !important; color: #ece3d4 !important; padding: 12px 16px !important; border-radius: 2px !important; text-align: center !important; }
.otlv-stamp span { display: block !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.otlv-stamp strong { display: block !important; font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 32px !important; line-height: 1.05 !important; font-weight: 600 !important; }
.otlv-hero-fig figcaption { margin-top: 14px !important; font-size: 13px !important; color: #736a58 !important; }

/* Key facts */
.otlv-facts { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important; border-top: 1px solid #e1d4bd !important; border-bottom: 1px solid #e1d4bd !important; }
.otlv-fact { padding: 28px 22px !important; border-right: 1px solid #e1d4bd !important; }
.otlv-fact:last-child { border-right: 0 !important; }
.otlv-fact dt { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #736a58 !important; }
.otlv-fact dd { margin: 10px 0 0 !important; padding: 0 !important; font-size: 16px !important; line-height: 24px !important; color: #1e1910 !important; }
.otlv-fact.is-num dd { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 38px !important; line-height: 1 !important; color: #8d732b !important; }
.otlv-fact.is-brick dd { color: #953e22 !important; }

/* Heritage */
.otlv-heritage { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: 88px !important; }
.otlv-badge { display: inline-block !important; margin-top: 18px !important; padding: 6px 10px !important; border: 1px solid #953e22 !important; color: #953e22 !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; border-radius: 2px !important; }
.otlv-prose { margin-top: 26px !important; max-width: 68ch !important; }
.otlv-prose p { margin: 0 0 18px !important; line-height: 1.72 !important; }
.otlv-heritage-side { padding-top: 64px !important; }
.otlv-quote { margin: 0 !important; padding: 0 0 32px !important; border: 0 !important; border-bottom: 1px solid #e1d4bd !important; font-family: "Cormorant Garamond", Georgia, serif !important; font-style: italic !important; font-size: 30px !important; line-height: 1.35 !important; color: #1e1910 !important; quotes: none !important; background: none !important; }
.otlv-quote::before, .otlv-quote::after { content: none !important; }
.otlv-timeline { margin-top: 36px !important; display: flex !important; flex-direction: column !important; gap: 22px !important; }
.otlv-timeline li { display: grid !important; grid-template-columns: 104px minmax(0, 1fr) !important; gap: 18px !important; align-items: baseline !important; }
.otlv-timeline span { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 32px !important; line-height: 1 !important; color: #953e22 !important; }
.otlv-timeline li:last-child span { color: #8d732b !important; }
.otlv-timeline p { font-size: 15px !important; line-height: 24px !important; color: #736a58 !important; }

/* Gallery */
.otlv-pano { margin: 0 0 24px !important; }
.otlv-pano img { width: 100% !important; max-height: 520px !important; object-fit: cover !important; border-radius: 4px !important; }
.otlv-pano figcaption { margin-top: 10px !important; font-size: 13px !important; color: #736a58 !important; }
.otlv-grid { display: grid !important; gap: 24px !important; }
.otlv-grid-1 { grid-template-columns: 1fr !important; }
.otlv-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.otlv-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.otlv-grid figure { margin: 0 !important; }
.otlv-grid img { width: 100% !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; border-radius: 4px !important; }

/* Section header */
.otlv-sec-head { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; gap: 40px !important; margin-bottom: 48px !important; flex-wrap: wrap !important; }
.otlv-sec-head > p { max-width: 440px !important; font-size: 16px !important; line-height: 26px !important; }

/* Signature dishes */
.otlv-dishes { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; border-top: 1px solid #e1d4bd !important; }
.otlv-dishes li { padding: 30px 30px 30px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
.otlv-dishes li:not(:nth-child(3n)) { border-right: 1px solid #e1d4bd !important; }
.otlv-dishes li:not(:nth-child(3n+1)) { padding-left: 30px !important; }
.otlv-num { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 20px !important; color: #8d732b !important; }
.otlv-dishes h3 { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 30px !important; line-height: 1.12 !important; font-weight: 600 !important; margin-top: 8px !important; }
.otlv-dishes p { margin-top: 8px !important; font-size: 15px !important; line-height: 24px !important; color: #736a58 !important; }

/* Menu block */
.otlv-live { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 4px 10px !important; border: 1px solid #699655 !important; border-radius: 2px !important; color: #5f874a !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.otlv-live i { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: #5f874a !important; display: inline-block !important; }
.otlv-preview { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 32px !important; }
.otlv-preview a { display: flex !important; flex-direction: column !important; gap: 14px !important; color: #1e1910 !important; }
.otlv-preview img, .otlv-ph { width: 100% !important; aspect-ratio: 16 / 11 !important; object-fit: cover !important; border-radius: 4px !important; background: #e4d7c2 !important; border: 1px solid #decfb6 !important; display: block !important; }
.otlv-pv-head { display: flex !important; justify-content: space-between !important; align-items: baseline !important; gap: 16px !important; }
.otlv-pv-head strong { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 28px !important; line-height: 1.1 !important; font-weight: 600 !important; color: #1e1910 !important; }
.otlv-pv-head em { font-family: "Cormorant Garamond", Georgia, serif !important; font-style: normal !important; font-size: 24px !important; color: #8d732b !important; }
.otlv-pv-desc { font-size: 15px !important; line-height: 23px !important; color: #736a58 !important; }
.otlv-soon { display: grid !important; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr) !important; gap: 72px !important; align-items: center !important; padding: 64px !important; background: #e4d7c2 !important; border: 1px solid #decfb6 !important; border-radius: 4px !important; }
.otlv-soon p { margin-top: 20px !important; max-width: 520px !important; }
.otlv-owner { padding-top: 20px !important; border-top: 1px solid #decfb6 !important; font-size: 14px !important; line-height: 22px !important; color: #736a58 !important; }
.otlv-soon-art { display: flex !important; flex-direction: column !important; gap: 20px !important; opacity: .55 !important; }
.otlv-soon-art span { height: 14px !important; width: 40% !important; background: #8d732b !important; opacity: .5 !important; border-radius: 2px !important; }
.otlv-soon-art i { height: 10px !important; width: 70% !important; background: #decfb6 !important; border-radius: 2px !important; }
.otlv-soon-art i:nth-child(odd) { width: 55% !important; }

/* Practical */
.otlv-practical { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.4fr) !important; gap: 48px !important; padding-top: 0 !important; }
.otlv-practical > div > p, .otlv-practical .otlv-list, .otlv-practical .otlv-hours { margin-top: 18px !important; font-size: 16px !important; line-height: 28px !important; }
.otlv-practical > div > a { display: inline-block !important; margin-top: 10px !important; font-size: 15px !important; }
.otlv-hours div { display: flex !important; justify-content: space-between !important; gap: 16px !important; }
.otlv-hours dt, .otlv-hours dd { white-space: nowrap !important; }
.otlv-hours dt { color: #736a58 !important; }
.otlv-hours dd { margin: 0 !important; color: #1e1910 !important; }
.otlv-map { min-height: 260px !important; border: 1px solid #e1d4bd !important; border-radius: 4px !important; overflow: hidden !important; background: #e8decd !important; }
.otlv-map iframe { width: 100% !important; height: 100% !important; min-height: 260px !important; border: 0 !important; display: block !important; filter: grayscale(1) invert(.92) contrast(.9) !important; }

/* FAQ */
.otlv-faq { display: grid !important; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr) !important; gap: 80px !important; border-top: 1px solid #e1d4bd !important; }
.otlv-faq-list details { border-top: 1px solid #e1d4bd !important; padding: 26px 0 !important; }
.otlv-faq-list details:last-child { border-bottom: 1px solid #e1d4bd !important; }
.otlv-faq-list summary { list-style: none !important; cursor: pointer !important; display: flex !important; justify-content: space-between !important; gap: 24px !important; align-items: baseline !important; }
.otlv-faq-list summary::-webkit-details-marker { display: none !important; }
.otlv-faq-list summary::after { content: "+" !important; color: #8d732b !important; font-size: 24px !important; line-height: 1 !important; }
.otlv-faq-list details[open] summary::after { content: "–" !important; }
.otlv-faq-list h3 { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 27px !important; line-height: 1.2 !important; font-weight: 600 !important; }
.otlv-faq-list p { margin-top: 12px !important; font-size: 16px !important; line-height: 27px !important; color: #736a58 !important; max-width: 68ch !important; }

/* Nearby cards */
.otlv-link { font-size: 15px !important; }
.otlv-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 32px !important; }
.otlv-cards a { display: flex !important; flex-direction: column !important; gap: 14px !important; color: #1e1910 !important; }
.otlv-card-img { display: block !important; aspect-ratio: 4 / 3 !important; border-radius: 999px 999px 4px 4px !important; overflow: hidden !important; background: #e4d7c2 !important; border: 1px solid #decfb6 !important; }
.otlv-card-img img, .otlv-card-img svg { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.otlv-card-meta { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #736a58 !important; }
.otlv-card-title { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 30px !important; line-height: 1.1 !important; font-weight: 600 !important; }
.otlv-cards a:hover .otlv-card-title { color: #8d732b !important; }

/* Menu page */
.otlv-menu-head { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; gap: 48px !important; padding-top: 48px !important; padding-bottom: 44px !important; border-bottom: 1px solid #e1d4bd !important; }
.otlv-tabs { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; padding-top: 20px !important; padding-bottom: 20px !important; border-bottom: 1px solid #e1d4bd !important; position: sticky !important; top: 0 !important; z-index: 5 !important; background: #ece3d4 !important; }
.otlv-tabs a { display: inline-flex !important; align-items: center !important; min-height: 44px !important; padding: 0 20px !important; border: 1px solid #e1d4bd !important; border-radius: 2px !important; color: #1e1910 !important; font-size: 14px !important; font-weight: 500 !important; }
.otlv-tabs a.is-on, .otlv-tabs a:hover { background: #8d732b !important; border-color: #8d732b !important; color: #ece3d4 !important; }
.otlv-menu-body { display: grid !important; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr) !important; gap: 80px !important; align-items: start !important; padding-top: 64px !important; }
.otlv-msec { margin-bottom: 64px !important; scroll-margin-top: 96px !important; }
.otlv-msec .otlv-h2 { font-size: 44px !important; margin: 0 0 8px !important; }
.otlv-mi { display: flex !important; gap: 24px !important; padding: 22px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
.otlv-mi-img { width: 120px !important; height: 96px !important; object-fit: cover !important; border-radius: 4px !important; flex: none !important; }
.otlv-mi-body { flex: 1 !important; min-width: 0 !important; }
.otlv-mi-head { display: flex !important; align-items: baseline !important; gap: 12px !important; }
.otlv-mi-name { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 27px !important; line-height: 1.15 !important; font-weight: 600 !important; color: #1e1910 !important; }
.otlv-mi-tag { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #8d732b !important; white-space: nowrap !important; }
.otlv-mi-dots { flex: 1 !important; border-bottom: 1px dotted #decfb6 !important; min-width: 24px !important; transform: translateY(-6px) !important; }
.otlv-mi-price { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 25px !important; color: #8d732b !important; white-space: nowrap !important; }
.otlv-mi-desc { margin-top: 6px !important; font-size: 15px !important; line-height: 23px !important; color: #736a58 !important; }
.otlv-card-side { position: sticky !important; top: 104px !important; padding: 32px !important; background: #e8decd !important; border: 1px solid #decfb6 !important; border-radius: 4px !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
.otlv-side-title { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 30px !important; line-height: 1.1 !important; font-weight: 600 !important; }
.otlv-side-row { display: block !important; padding-top: 16px !important; border-top: 1px solid #e1d4bd !important; font-size: 14px !important; line-height: 22px !important; }
.otlv-side-row p { margin-top: 4px !important; }
.otlv-label { display: block !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #736a58 !important; margin-bottom: 6px !important; }
.otlv-card-side .otlv-hours { font-size: 14px !important; }

/* Attribution */
.otlv-attrib { display: flex !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 56px !important; padding-top: 22px !important; border-top: 1px solid #e1d4bd !important; font-size: 12px !important; color: #736a58 !important; }

/* Tablet */
@media (max-width: 960px) {
	.otlv-hero, .otlv-heritage, .otlv-faq, .otlv-menu-body, .otlv-soon { grid-template-columns: 1fr !important; gap: 40px !important; }
	.otlv-hero-fig { max-width: 460px !important; }
	.otlv-heritage-side { padding-top: 0 !important; }
	.otlv-practical { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.otlv-dishes, .otlv-preview, .otlv-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.otlv-dishes li { padding: 26px 0 !important; border-right: 0 !important; }
	.otlv-dishes li:not(:nth-child(3n)) { border-right: 0 !important; }
	.otlv-dishes li:not(:nth-child(3n+1)) { padding-left: 0 !important; }
	.otlv-dishes { column-gap: 32px !important; }
	.otlv-card-side { position: static !important; }
	.otlv-soon { padding: 40px !important; }
}

/* Phone */
@media (max-width: 600px) {
	.otlv { font-size: 16px !important; }
	.otlv-wrap { padding: 0 16px !important; }
	.otlv-sec { padding-top: 64px !important; padding-bottom: 64px !important; }
	.otlv-hero { padding-top: 24px !important; padding-bottom: 56px !important; }
	.otlv-lead { font-size: 17px !important; line-height: 27px !important; }
	.otlv-actions .otlv-btn { flex: 1 1 100% !important; }
	.otlv-stamp { right: 8px !important; top: 40px !important; }
	.otlv-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.otlv-fact { padding: 20px 12px 20px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
	.otlv-fact:nth-child(2n) { border-right: 0 !important; padding-left: 16px !important; }
	.otlv-dishes, .otlv-preview, .otlv-cards, .otlv-practical, .otlv-grid-2, .otlv-grid-3 { grid-template-columns: 1fr !important; }
	.otlv-soon { padding: 28px 20px !important; }
	.otlv-soon-art { display: none !important; }
	.otlv-menu-head { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
	.otlv-right { text-align: left !important; }
	.otlv-mi { gap: 14px !important; }
	.otlv-mi-img { width: 84px !important; height: 72px !important; }
	.otlv-mi-name { font-size: 23px !important; }
	.otlv-mi-tag { display: none !important; }
	.otlv-timeline li { grid-template-columns: 80px minmax(0, 1fr) !important; }
	.otlv-quote { font-size: 25px !important; }
}

.otlv .otlv-credit{display:block!important;margin-top:4px!important;font-size:11px!important;letter-spacing:.02em!important;color:#817969!important;}
.otlv .otlv-credit a{color:#817969!important;text-decoration:underline!important;text-underline-offset:2px!important;}
.otlv .otlv-grid figcaption{margin-top:6px!important;}
