/*!
Theme Name: bcni1
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: bcni1
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

bcni1 is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #343434;
	font-family: var(--bcni-font-body);
	font-size: 17px;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #FFFFFF;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #3B3B3B;
}

a:visited {
	color: #3B3B3B;
}

a:hover,
a:focus,
a:active {
	color: #B80111;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: var(--bcni-radius-button);
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: var(--bcni-radius-input);
	padding: var(--bcni-space-12);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
:root {
	/* Keep the legacy theme variables connected to WordPress Global Styles. */
	--bcni-red: var(--wp--preset--color--bcn-red, #B80111);
	--bcni-red-dark: var(--wp--preset--color--bcn-red-dark, #93000E);
	--bcni-charcoal: var(--wp--preset--color--bcn-charcoal, #343434);
	--bcni-black: var(--wp--preset--color--bcn-black, #1B1B1B);
	--bcni-white: var(--wp--preset--color--bcn-white, #FFFFFF);
	--bcni-ivory: var(--wp--preset--color--bcn-ivory, #FAF8F4);
	--bcni-grey-light: var(--wp--preset--color--bcn-grey-light, #F2F2F2);
	--bcni-grey-medium: var(--wp--preset--color--bcn-grey-medium, #8E8E8E);
	/* Referenced across the stylesheet but previously never defined, so those
	   `color:` rules silently fell back to the inherited colour. */
	--bcni-grey-dark: #595959;
	--bcni-muted: #727272;
	--bcni-link: var(--wp--preset--color--bcn-charcoal, #3B3B3B);
	--bcni-hover: var(--wp--preset--color--bcn-red, #B80111);
	--bcni-site-width: 1600px;
	--bcni-container: 1320px;
	--bcni-space-4: var(--wp--preset--spacing--10, 4px);
	--bcni-space-8: var(--wp--preset--spacing--20, 8px);
	--bcni-space-12: 12px;
	--bcni-space-16: var(--wp--preset--spacing--30, 16px);
	--bcni-space-20: 20px;
	--bcni-space-24: var(--wp--preset--spacing--40, 24px);
	--bcni-space-32: 32px;
	--bcni-space-48: var(--wp--preset--spacing--50, 48px);
	--bcni-space-64: var(--wp--preset--spacing--60, 64px);
	--bcni-space-96: var(--wp--preset--spacing--70, 96px);
	--bcni-space-120: 120px;
	--bcni-space-160: 160px;
	/* Scale steps referenced across the stylesheet but previously undefined, so
	   any such reference without a fallback collapsed that margin/padding to 0
	   (the gap-below-subtext bug was one of these). */
	--bcni-space-6: 6px;
	--bcni-space-10: 10px;
	--bcni-space-14: 14px;
	--bcni-space-18: 18px;
	--bcni-space-28: 28px;
	--bcni-space-40: 40px;
	--bcni-space-72: 72px;
	--bcni-grid-gap: var(--bcni-space-24);
	--bcni-desktop-margin: 140px;
	--bcni-section-space: clamp(var(--bcni-space-64), 7.5vw, var(--bcni-space-120));
	--bcni-page-gutter: clamp(1.25rem, 5vw, var(--bcni-desktop-margin));
	--bcni-radius-card: 18px;
	--bcni-radius-button: 999px;
	--bcni-radius-input: 14px;
	--bcni-radius-hero: 0;
	--bcni-border-soft: #e8e3dd;
	--bcni-surface-soft: #fbfaf7;
	--bcni-shadow-soft: 0 10px 28px rgba(27, 27, 27, 0.055);
	--bcni-shadow-hover: 0 18px 44px rgba(27, 27, 27, 0.095);
	--bcni-font-body: var(--wp--preset--font-family--body, "Inter", sans-serif);
	--bcni-font-navigation: var(--wp--preset--font-family--navigation, "League Spartan", sans-serif);
	--bcni-font-display: var(--wp--preset--font-family--display, "Playfair Display", Georgia, serif);
	--header-height: 88px;
	--header-background: var(--bcni-white);
	--header-shadow: rgba(0, 0, 0, 0.05);
}

.bcni-container {
	width: min(var(--bcni-container), 100%);
	margin-right: auto;
	margin-left: auto;
}

.bcni-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--bcni-grid-gap);
}

.site-header {
	display: flex;
	align-items: center;
	gap: var(--bcni-space-16);
	width: min(var(--bcni-site-width), 100%);
	height: var(--header-height);
	margin: 0 auto;
	padding: 0 var(--bcni-page-gutter);
	background: var(--header-background);
	box-shadow: 0 2px 8px var(--header-shadow);
}

.site-info-bar {
	width: min(var(--bcni-site-width), 100%);
	margin: 0 auto;
	padding: 0 var(--bcni-page-gutter);
	border-top: 1px solid var(--bcni-grey-light);
	border-bottom: 1px solid var(--bcni-grey-light);
	background: var(--bcni-white);
}

.site-info-bar-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--bcni-space-16) var(--bcni-space-24);
	min-height: 48px;
	padding: var(--bcni-space-8) 0;
	color: var(--bcni-charcoal);
	font-size: 0.88rem;
}

.info-bar-weather,
.info-bar-main,
.info-bar-social {
	display: flex;
	align-items: center;
	gap: var(--bcni-space-12);
}

.info-bar-main {
	justify-content: center;
	gap: var(--bcni-space-32);
}

.info-bar-language-select {
	display: flex;
	justify-content: flex-end;
}

.info-bar-label,
.info-bar-events {
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.info-bar-value {
	color: #707070;
	font-weight: 600;
}

.info-bar-events,
.info-bar-social a {
	color: var(--bcni-link);
	text-decoration: none;
}

.info-bar-events:hover,
.info-bar-events:focus,
.info-bar-social a:hover,
.info-bar-social a:focus {
	color: var(--bcni-hover);
}

.info-bar-social a {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid var(--bcni-black);
	border-radius: 50%;
	background: var(--bcni-white);
	color: var(--bcni-black);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.info-bar-social svg {
	display: block;
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.info-bar-social a:hover,
.info-bar-social a:focus {
	border-color: var(--bcni-black);
	background: var(--bcni-black);
	color: var(--bcni-white);
}

.info-bar-language-select select {
	min-height: 32px;
	padding: var(--bcni-space-4) var(--bcni-space-32) var(--bcni-space-4) var(--bcni-space-12);
	border: 1px solid var(--bcni-grey-light);
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

#google_translate_element,
.goog-te-banner-frame,
.skiptranslate iframe {
	display: none !important;
}

body {
	top: 0 !important;
}

.site-branding {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.site-branding .custom-logo {
	display: block;
	width: 270px;
	max-width: min(55vw, 270px);
	height: auto;
	max-height: 66px;
	object-fit: contain;
}

.site-branding .site-title,
.site-branding .site-description {
	display: none;
}

.main-navigation {
	display: block;
	margin-left: auto;
	min-width: 0;
	width: auto;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
	color: var(--bcni-link);
	font-family: var(--bcni-font-navigation);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul,
.main-navigation ul li:focus-within > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--bcni-hover);
}

.main-navigation > div > ul > .current-menu-item > a,
.main-navigation > div > ul > .current-menu-ancestor > a {
	color: var(--bcni-hover);
	border-bottom: 2px solid var(--bcni-hover);
}

.main-navigation .app-download-button {
	display: block;
	padding: var(--bcni-space-12) var(--bcni-space-16);
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: not-allowed;
}

/* Small-screen menu. */
.menu-toggle {
	display: flex;
	align-items: center;
	gap: var(--bcni-space-8);
	min-width: 48px;
	min-height: 48px;
	padding: var(--bcni-space-12) var(--bcni-space-16);
	border: 1px solid #d7d7d7;
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}

.menu-toggle-icon {
	display: grid;
	gap: 4px;
	width: 22px;
}

.menu-toggle-icon span {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:first-child {
	transform: translateY(6px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
	opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:last-child {
	transform: translateY(-6px) rotate(-45deg);
}

.main-navigation > div {
	display: none;
	position: absolute;
	top: var(--header-height);
	right: 0;
	left: 0;
	z-index: 1000;
	max-height: calc(100dvh - var(--header-height));
	padding: var(--bcni-space-8) var(--bcni-page-gutter) var(--bcni-space-16);
	overflow-y: auto;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.main-navigation.toggled > div,
.main-navigation.toggled > div > ul {
	display: block;
}

.main-navigation > div > ul > li {
	border-bottom: 1px solid #ededed;
}

.main-navigation a,
.main-navigation .app-download-button {
	min-height: 48px;
	padding: var(--bcni-space-16) var(--bcni-space-12);
	line-height: 1.2;
}

.main-navigation .menu-item-has-children > a,
.main-navigation .page_item_has_children > a {
	padding-right: var(--bcni-space-64);
}

.submenu-toggle {
	position: absolute;
	top: 2px;
	right: 0;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bcni-charcoal);
	font-size: 1.4rem;
	cursor: pointer;
}

.submenu-toggle::before {
	content: "+";
}

.submenu-toggle[aria-expanded="true"]::before {
	content: "−";
}

.main-navigation ul ul {
	display: none;
	float: none;
	position: static;
	width: auto;
	padding: 0 0 var(--bcni-space-8) var(--bcni-space-16);
	box-shadow: none;
}

.main-navigation li.submenu-open > ul {
	display: block;
}

.main-navigation ul ul a {
	width: auto;
	min-height: 48px;
}

.hero-slider {
	position: relative;
	width: min(var(--bcni-site-width), 100%);
	height: clamp(320px, 46.875vw, 600px);
	margin: 0 auto;
	border-radius: var(--bcni-radius-hero);
	overflow: hidden;
	background: var(--bcni-black);
	touch-action: pan-y;
}

.hero-slider::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	background: linear-gradient(90deg, rgba(250, 248, 244, 0.92) 0%, rgba(250, 248, 244, 0.72) 31%, rgba(250, 248, 244, 0.12) 58%, rgba(250, 248, 244, 0) 100%);
	content: "";
	pointer-events: none;
}

.hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.7s ease;
}

.hero-slide.is-active {
	opacity: 1;
	z-index: 1;
}

.hero-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero-slider-copy {
	position: absolute;
	top: 50%;
	left: max(var(--bcni-space-32), calc((100% - var(--bcni-container)) / 2));
	z-index: 2;
	width: min(520px, calc(100% - var(--bcni-space-64)));
	transform: translateY(-50%);
}

.hero-slider-kicker {
	margin: 0 0 var(--bcni-space-12);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.hero-slider-copy h1 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.2rem, 4vw, 4.05rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
}

.hero-slider-copy p:not(.hero-slider-kicker) {
	max-width: 410px;
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.45;
}

.hero-slider-search {
	display: flex;
	width: min(460px, 100%);
	margin-bottom: var(--bcni-space-8);
	border: 1px solid rgba(27, 27, 27, 0.12);
	border-radius: 10px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
	overflow: hidden;
}

.hero-slider-search input {
	flex: 1;
	min-width: 0;
	height: 50px;
	padding: 0 var(--bcni-space-16);
	border: 0;
	background: var(--bcni-white);
	color: var(--bcni-black);
	font-size: 0.92rem;
}

.hero-slider-search input::placeholder {
	color: var(--bcni-grey-medium);
}

.hero-slider-search button {
	min-width: 104px;
	padding: 0 var(--bcni-space-16);
	border: 0;
	border-radius: 0;
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
}

.hero-slider-search button:hover,
.hero-slider-search button:focus {
	background: var(--bcni-red-dark);
}

.hero-trending-searches {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bcni-space-8);
	max-width: 520px;
	margin-bottom: var(--bcni-space-16);
}

.hero-trending-searches > span {
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hero-trending-searches a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 4px var(--bcni-space-12);
	border: 1px solid rgba(27, 27, 27, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	color: var(--bcni-link);
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.hero-trending-searches a:hover,
.hero-trending-searches a:focus {
	border-color: var(--bcni-red);
	background: var(--bcni-white);
	color: var(--bcni-red);
}

.hero-slider-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-16) var(--bcni-space-24);
}

.hero-slider-links a {
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.86rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.hero-slider-links a:hover,
.hero-slider-links a:focus {
	color: var(--bcni-red);
}

.hero-slider-control {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.45);
	color: var(--bcni-white);
	font-size: 36px;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}

.hero-slider-prev {
	left: var(--bcni-space-32);
}

.hero-slider-next {
	right: var(--bcni-space-32);
}

.hero-slider-dots {
	position: absolute;
	bottom: var(--bcni-space-24);
	left: 50%;
	z-index: 2;
	display: flex;
	gap: var(--bcni-space-8);
	transform: translateX(-50%);
}

.hero-slider-dots button {
	width: 11px;
	height: 11px;
	padding: 0;
	border: 2px solid var(--bcni-white);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.hero-slider-dots button.is-active {
	background: var(--bcni-red);
}

@media (max-width: 52em) {

	.hero-slider {
		height: clamp(560px, 148vw, 680px);
	}

	.hero-slider::after {
		background: linear-gradient(180deg, rgba(250, 248, 244, 0.96) 0%, rgba(250, 248, 244, 0.82) 50%, rgba(250, 248, 244, 0.08) 100%);
	}

	.hero-slider-copy {
		top: var(--bcni-space-32);
		left: var(--bcni-space-16);
		width: calc(100% - var(--bcni-space-32));
		transform: none;
	}

	.hero-slider-copy h1 {
		margin-bottom: var(--bcni-space-12);
		font-size: clamp(1.95rem, 8vw, 2.65rem);
		line-height: 1;
	}

	.hero-slider-copy p:not(.hero-slider-kicker) {
		margin-bottom: var(--bcni-space-12);
		font-size: 0.92rem;
		line-height: 1.5;
	}

	.hero-slider-search {
		flex-direction: column;
		margin-bottom: var(--bcni-space-12);
		box-shadow: var(--bcni-shadow-soft);
	}

	.hero-slider-search input,
	.hero-slider-search button {
		width: 100%;
		height: 44px;
	}

	.hero-slider-search input {
		padding: 0 var(--bcni-space-16);
		font-size: 0.88rem;
	}

	.hero-slider-search button {
		font-size: 0.78rem;
	}

	.hero-slider-links {
		gap: var(--bcni-space-8) var(--bcni-space-16);
	}

	.hero-trending-searches {
		position: relative;
		flex-wrap: nowrap;
		gap: var(--bcni-space-8);
		width: calc(100% + var(--bcni-space-24));
		max-width: none;
		margin-right: calc(var(--bcni-space-24) * -1);
		margin-bottom: var(--bcni-space-16);
		padding-right: var(--bcni-space-24);
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 36px), transparent);
		mask-image: linear-gradient(90deg, #000 calc(100% - 36px), transparent);
	}

	.hero-trending-searches::-webkit-scrollbar {
		display: none;
	}

	.hero-trending-searches > span,
	.hero-trending-searches a {
		flex: 0 0 auto;
	}

	.hero-slider-links a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
		font-size: 0.8rem;
	}

	.hero-slider-control {
		display: none;
	}

	.hero-slider-dots {
		bottom: var(--bcni-space-16);
	}
}

@media (prefers-reduced-motion: reduce) {

	.hero-slide {
		transition: none;
	}
}

@media screen and (min-width: 60em) {

	.site-header {
		gap: var(--bcni-space-32);
		padding: 0 var(--bcni-page-gutter);
	}

	.site-branding .custom-logo {
		max-width: min(36vw, 270px);
	}

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		gap: var(--bcni-space-24);
	}

	.main-navigation > div {
		display: block;
		position: static;
		max-height: none;
		padding: 0;
		overflow: visible;
		box-shadow: none;
	}

	.main-navigation > div > ul {
		align-items: center;
		justify-content: flex-end;
	}

	.main-navigation > div > ul > li {
		border: 0;
	}

	.main-navigation a,
	.main-navigation .app-download-button {
		min-height: 0;
		padding: 0;
	}

	.main-navigation .app-download-button {
		padding: var(--bcni-space-12) var(--bcni-space-16);
	}

	.main-navigation .menu-item-has-children > a {
		display: flex;
		align-items: center;
		gap: var(--bcni-space-8);
		padding-right: 0;
	}

	.main-navigation .menu-item-has-children > a::after {
		content: "";
		width: 7px;
		height: 7px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transition: transform 0.2s ease;
	}

	.main-navigation .menu-item-has-children:hover > a::after,
	.main-navigation .menu-item-has-children:focus-within > a::after {
		transform: translateY(2px) rotate(225deg);
	}

	.submenu-toggle {
		display: none;
	}

	.main-navigation ul ul {
		display: block;
		float: left;
		position: absolute;
		top: calc(100% + 0.85rem);
		right: auto;
		left: -999em;
		width: 280px;
		min-width: 0;
		padding: var(--bcni-space-12);
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 8px;
		background: var(--bcni-white);
		box-shadow: var(--bcni-shadow-soft);
		transform: translateX(-50%);
	}

	.main-navigation .menu-item-has-children > ul {
		display: flex;
		flex-direction: column;
		gap: var(--bcni-space-8);
	}

	.main-navigation ul li.menu-item-has-children:hover > ul,
	.main-navigation ul li.menu-item-has-children:focus-within > ul {
		left: 50%;
	}

	.main-navigation > div > ul > .menu-item-has-children::before {
		content: "";
		position: absolute;
		top: 100%;
		right: 0;
		width: 100%;
		height: var(--bcni-space-16);
	}

	.main-navigation ul ul::before {
		content: "";
		position: absolute;
		top: -7px;
		left: 50%;
		width: 12px;
		height: 12px;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		border-left: 1px solid rgba(0, 0, 0, 0.08);
		background: var(--bcni-white);
		transform: translateX(-50%) rotate(45deg);
	}

	.main-navigation ul ul a {
		width: 100%;
		min-height: 0;
		padding: var(--bcni-space-12) var(--bcni-space-16);
		border-radius: var(--bcni-radius-button);
		background: var(--bcni-white);
		line-height: 1.35;
	}

	.main-navigation ul ul a:hover,
	.main-navigation ul ul a:focus {
		background: var(--bcni-grey-light);
		outline: none;
	}

	.main-navigation li.submenu-dismissed > ul {
		left: -999em;
		transform: none;
	}

	.main-navigation li.submenu-dismissed > a::after {
		transform: translateY(-2px) rotate(45deg);
	}
}

@media screen and (max-width: 25em) {

	.site-branding .custom-logo {
		max-width: 58vw;
	}

	.menu-toggle-label {
		display: none;
	}

	.info-bar-language-select select {
		max-width: 132px;
	}

	.hero-slider {
		height: 560px;
	}

	.hero-slider-copy h1 {
		font-size: 2.35rem;
	}

	.hero-slider-copy p:not(.hero-slider-kicker) {
		font-size: 0.94rem;
	}

	.hero-slider-links a {
		min-height: 36px;
		font-size: 0.76rem;
	}

	.home-missed-item a {
		grid-template-columns: 1fr;
	}

	.home-missed-item img {
		display: none;
	}
}

@media screen and (max-width: 48em) {

	:root {
		--header-height: 72px;
		--bcni-page-gutter: var(--bcni-space-16);
		--bcni-section-space: var(--bcni-space-64);
	}

	.site-header {
		gap: var(--bcni-space-12);
		padding: 0 var(--bcni-space-16);
	}

	.site-branding .custom-logo {
		width: 210px;
		max-width: min(50vw, 210px);
		max-height: 52px;
	}

	.menu-toggle {
		min-width: 48px;
		min-height: 48px;
		padding: var(--bcni-space-12);
	}

	.main-navigation > div {
		padding: var(--bcni-space-8) var(--bcni-space-16) var(--bcni-space-24);
	}

	.site-info-bar-inner {
		grid-template-columns: 1fr auto;
		gap: var(--bcni-space-12);
		min-height: 0;
		padding: var(--bcni-space-12) 0;
		font-size: 0.82rem;
	}

	.info-bar-weather {
		flex-wrap: wrap;
		gap: var(--bcni-space-4) var(--bcni-space-8);
	}

	.info-bar-main,
	.info-bar-social {
		width: 100%;
		justify-content: flex-start;
	}

	.info-bar-main {
		grid-column: 1 / -1;
		order: 3;
		flex-wrap: wrap;
		gap: var(--bcni-space-12);
	}

	.info-bar-language-select {
		justify-content: flex-end;
	}

	.info-bar-language-select select {
		min-height: 40px;
		max-width: 150px;
		padding-top: var(--bcni-space-8);
		padding-bottom: var(--bcni-space-8);
		font-size: 0.76rem;
	}

	.info-bar-social {
		grid-column: 1 / -1;
		order: 2;
		gap: var(--bcni-space-8);
		overflow-x: auto;
		padding-bottom: var(--bcni-space-4);
		scrollbar-width: none;
	}

	.info-bar-social::-webkit-scrollbar {
		display: none;
	}

	.info-bar-social a {
		flex: 0 0 auto;
		width: 36px;
		height: 36px;
	}

	.info-bar-social svg {
		width: 15px;
		height: 15px;
	}
}

.home-latest {
	padding: var(--bcni-section-space) var(--bcni-page-gutter);
	background: var(--bcni-white);
}

.home-discover-inner {
	width: min(var(--bcni-container), 100%);
	margin: 0 auto;
}

.home-trust {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: var(--bcni-space-32);
	align-items: start;
	margin-bottom: var(--bcni-space-64);
	padding: var(--bcni-space-32) 0;
	border-top: 1px solid rgba(27, 27, 27, 0.1);
	border-bottom: 1px solid rgba(27, 27, 27, 0.1);
}

.home-trust-intro h2 {
	margin: 0;
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 1;
}

.home-trust-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.home-trust-grid div {
	display: grid;
	gap: var(--bcni-space-8);
}

.home-trust-grid strong {
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.86rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.home-trust-grid span {
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.55;
}

.home-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bcni-space-24);
	margin-bottom: var(--bcni-space-32);
}

.home-section-header h2 {
	margin: 0;
	color: var(--bcni-black);
	font-family: var(--bcni-font-body);
	font-size: clamp(1.65rem, 2.5vw, 2.25rem);
	font-weight: 700;
	letter-spacing: 0;
}

.home-section-header p {
	max-width: 760px;
	margin: var(--bcni-space-12) 0 0;
	color: var(--bcni-charcoal);
	font-size: 1rem;
	line-height: 1.55;
}

.home-section-header a {
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.home-section-header a:hover,
.home-section-header a:focus {
	color: var(--bcni-red-dark);
}

.home-discover-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.home-discover-card {
	position: relative;
	display: block;
	min-height: 210px;
	overflow: hidden;
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-black);
	color: var(--bcni-white);
	text-decoration: none;
	box-shadow: var(--bcni-shadow-soft);
}

.home-discover-card img,
.home-missed-feature img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.86) contrast(1.04) brightness(0.9);
	transition: transform 0.35s ease, filter 0.35s ease;
}

.home-discover-card-overlay,
.home-missed-feature-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.08) 68%),
		linear-gradient(135deg, rgba(184, 1, 17, 0.18), transparent 58%);
}

.home-discover-card-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border: 2px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	color: var(--bcni-white);
	transform: translate(-50%, -58%);
}

.home-discover-card-icon svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

.home-discover-card-title {
	position: absolute;
	right: var(--bcni-space-16);
	bottom: var(--bcni-space-24);
	left: var(--bcni-space-16);
	color: var(--bcni-white);
	font-size: clamp(1rem, 1.4vw, 1.22rem);
	font-weight: 700;
	line-height: 1.22;
	text-align: center;
}

.home-missed {
	margin-top: var(--bcni-space-96);
}

.home-explore-topics {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-8);
	margin: calc(-1 * var(--bcni-space-16)) 0 var(--bcni-space-32);
}

.home-explore-topics a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 var(--bcni-space-12);
	border: 1px solid rgba(27, 27, 27, 0.12);
	border-radius: 999px;
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.home-explore-topics a:hover,
.home-explore-topics a:focus {
	border-color: var(--bcni-red);
	color: var(--bcni-red);
}

.home-missed-layout {
	display: grid;
	gap: var(--bcni-space-32);
}

.home-missed-feature {
	margin: 0;
}

.home-missed-feature a {
	position: relative;
	display: block;
	min-height: 430px;
	overflow: hidden;
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.home-missed-feature-content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: grid;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-32);
	color: var(--bcni-white);
}

.home-missed-badge {
	width: max-content;
	padding: 6px var(--bcni-space-12);
	border-radius: 999px;
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
}

.home-missed-feature-title {
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: 700;
	line-height: 1;
}

.home-article-context {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-8);
}

.home-article-context span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 var(--bcni-space-8);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.22);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.home-missed-feature-excerpt {
	max-width: 620px;
	font-size: 1rem;
	line-height: 1.55;
}

.home-missed-list {
	display: grid;
	gap: var(--bcni-space-16);
}

.home-missed-item {
	margin: 0;
}

.home-missed-item a {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	align-items: center;
	gap: var(--bcni-space-16);
	padding-bottom: var(--bcni-space-16);
	border-bottom: 1px solid rgba(27, 27, 27, 0.12);
	color: var(--bcni-black);
	text-decoration: none;
}

.home-missed-item img {
	display: block;
	width: 96px;
	height: 76px;
	border-radius: 8px;
	object-fit: cover;
	filter: saturate(0.9) contrast(1.03);
}

.home-missed-item strong {
	display: block;
	margin-bottom: var(--bcni-space-4);
	color: var(--bcni-black);
	font-size: 1.02rem;
	line-height: 1.2;
}

.home-article-context-small {
	margin: 0 0 var(--bcni-space-4);
}

.home-article-context-small span {
	min-height: 22px;
	border-color: rgba(27, 27, 27, 0.12);
	background: var(--bcni-grey-light);
	color: var(--bcni-charcoal);
	font-size: 0.68rem;
}

.home-missed-item em {
	display: block;
	color: var(--bcni-charcoal);
	font-size: 0.9rem;
	font-style: normal;
	line-height: 1.35;
}

.home-missed-arrow {
	color: var(--bcni-grey-medium);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
}

.home-missed-item a:hover strong,
.home-missed-item a:focus strong {
	color: var(--bcni-red);
}

.home-ticket-partner {
	margin-top: var(--bcni-space-96);
}

.home-ticket-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.home-ticket-card {
	position: relative;
	display: block;
	min-height: 320px;
	overflow: hidden;
	border: 0;
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-black);
	color: var(--bcni-white);
	text-decoration: none;
	box-shadow: var(--bcni-shadow-soft);
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.home-ticket-card img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.9) contrast(1.04) brightness(0.92);
	transition: filter 260ms ease, transform 260ms ease;
}

.home-ticket-card-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.22) 45%, rgba(0, 0, 0, 0.78)),
		linear-gradient(135deg, rgba(184, 1, 17, 0.22), transparent 55%);
}

.home-ticket-card-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 320px;
	padding: var(--bcni-space-24);
}

.home-ticket-provider,
.home-ticket-action {
	width: max-content;
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.home-ticket-provider {
	margin-bottom: auto;
	padding: 6px var(--bcni-space-12);
	border-radius: 999px;
	background: var(--bcni-red);
}

.home-ticket-card strong {
	max-width: 14ch;
	margin-top: var(--bcni-space-48);
	color: var(--bcni-white);
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.05;
}

.home-ticket-fit,
.home-ticket-check {
	display: block;
	max-width: 32ch;
	margin-top: var(--bcni-space-8);
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.9rem;
	line-height: 1.35;
}

.home-ticket-check {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.82rem;
}

.home-ticket-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: var(--bcni-space-16);
	padding: 0 var(--bcni-space-16);
	border-radius: 999px;
	background: var(--bcni-white);
	color: var(--bcni-red);
}

.home-ticket-card:hover,
.home-ticket-card:focus {
	box-shadow: var(--bcni-shadow-hover);
	transform: translateY(-2px);
}

.home-ticket-card:hover img,
.home-ticket-card:focus img {
	filter: saturate(1) contrast(1.04) brightness(0.98);
	transform: scale(1.035);
}

.home-discover-card:hover img,
.home-discover-card:focus img,
.home-missed-feature a:hover img,
.home-missed-feature a:focus img {
	transform: scale(1.035);
	filter: saturate(0.96) contrast(1.04) brightness(0.95);
}

@media screen and (min-width: 48em) {

	.home-discover-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 75em) {

	.home-discover-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: var(--bcni-grid-gap);
	}

	.home-missed-layout {
		grid-template-columns: minmax(0, 7fr) minmax(320px, 4fr);
		align-items: stretch;
	}

	.home-ticket-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media screen and (max-width: 42em) {

	.home-latest {
		padding-top: var(--bcni-space-64);
		padding-bottom: var(--bcni-space-64);
	}

	.home-section-header {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--bcni-space-12);
		margin-bottom: var(--bcni-space-24);
	}

	.home-section-header h2 {
		font-size: 1.55rem;
		line-height: 1.15;
	}

	.home-section-header a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}

	.home-discover-grid {
		grid-template-columns: 1fr;
		gap: var(--bcni-space-16);
	}

	.home-discover-card {
		min-height: 180px;
	}

	.home-discover-card-icon {
		width: 50px;
		height: 50px;
	}

	.home-discover-card-icon svg {
		width: 24px;
		height: 24px;
	}

	.home-discover-card-title {
		bottom: var(--bcni-space-16);
		font-size: 1.05rem;
	}

	.home-missed {
		margin-top: var(--bcni-space-64);
	}

	.home-ticket-partner {
		margin-top: var(--bcni-space-64);
	}

	.home-ticket-grid {
		grid-template-columns: 1fr;
	}

	.home-ticket-card {
		min-height: 260px;
	}

	.home-ticket-card-content {
		min-height: 260px;
	}

	.home-missed-feature a {
		min-height: 320px;
	}

	.home-missed-feature-content {
		padding: var(--bcni-space-24);
	}

	.home-missed-feature-title {
		font-size: clamp(1.75rem, 9vw, 2.4rem);
		line-height: 1.05;
	}

	.home-missed-feature-excerpt {
		font-size: 0.95rem;
		line-height: 1.45;
	}

	.home-missed-list {
		gap: var(--bcni-space-12);
	}

	.home-missed-item a {
		grid-template-columns: 76px 1fr;
		gap: var(--bcni-space-12);
		min-height: 76px;
		padding-bottom: var(--bcni-space-12);
	}

	.home-missed-item img {
		width: 76px;
		height: 68px;
	}

	.home-missed-item strong {
		font-size: 0.96rem;
		line-height: 1.25;
	}

	.home-missed-item em {
		font-size: 0.84rem;
	}

	.home-missed-arrow {
		display: none;
	}

	.collaborators {
		margin-top: var(--bcni-space-64);
		padding-top: var(--bcni-space-64);
	}

	.collaborators-heading {
		margin-bottom: var(--bcni-space-24);
		font-size: 1.45rem;
	}

	.collaborators-grid {
		gap: var(--bcni-space-16);
	}

	.collaborator-logo {
		min-height: 96px;
		padding: var(--bcni-space-16);
	}
}

@media (prefers-reduced-motion: reduce) {

	.home-discover-card img,
	.home-missed-feature img {
		transition: none;
	}
}

.collaborators {
	margin: var(--bcni-section-space) calc(var(--bcni-page-gutter) * -1) calc(var(--bcni-section-space) * -1);
	padding: var(--bcni-section-space) var(--bcni-page-gutter);
	background: var(--bcni-white);
}

.collaborators-inner {
	width: min(var(--bcni-container), 100%);
	margin: 0 auto;
}

.collaborators-heading {
	margin: 0 0 var(--bcni-space-12);
	color: var(--bcni-black);
	font-family: var(--bcni-font-body);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
}

.collaborators-header {
	max-width: 760px;
	margin-bottom: var(--bcni-space-32);
}

.collaborators-header p:not(.section-kicker) {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.96rem;
	line-height: 1.65;
}

.collaborators-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-grid-gap);
}

.collaborator-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--bcni-space-12);
	min-height: 110px;
	padding: var(--bcni-space-16);
	border: 0;
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-ivory);
	color: var(--bcni-black);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.1;
}

a.collaborator-logo {
	text-decoration: none;
}

a.collaborator-logo:hover,
a.collaborator-logo:focus {
	color: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.collaborator-logo img {
	display: block;
	width: 100%;
	max-width: 210px;
	height: auto;
	object-fit: contain;
}

.collaborator-mark {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-size: 0.8rem;
}

.collaborator-pedrera > span {
	padding: var(--bcni-space-8) 0;
	border-top: 2px solid #222;
	border-bottom: 2px solid #222;
	letter-spacing: 0.08em;
}

.collaborator-fever > span {
	font-size: 2rem;
	letter-spacing: -0.08em;
}

.collaborator-fcb .collaborator-mark {
	border-radius: 50%;
	background: linear-gradient(90deg, #a50044 50%, #004d98 50%);
	font-size: 0.68rem;
}

.collaborator-sony > span {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.7rem;
	letter-spacing: 0.08em;
}

.todays-events-page {
	padding: var(--bcni-section-space) var(--bcni-page-gutter);
	background: var(--bcni-white);
}

.todays-events-hero,
.todays-events-sources {
	width: min(var(--bcni-container), 100%);
	margin: 0 auto;
}

.todays-events-hero {
	padding-bottom: var(--bcni-space-64);
}

.todays-events-hero-inner {
	max-width: 760px;
}

.todays-events-kicker {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.todays-events-hero h1 {
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(3rem, 8vw, 6rem);
	font-weight: 700;
	line-height: 0.98;
}

.todays-events-hero p:last-child {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 1.15rem;
	line-height: 1.7;
}

.todays-events-sources h2 {
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-black);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.todays-events-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bcni-space-32);
}

.todays-events-category {
	margin: 0;
}

.todays-events-category > h3 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-size: 1.15rem;
}

.todays-events-category-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bcni-space-16);
}

.todays-events-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	padding: 0;
	border: 1px solid #e3e0dc;
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-ivory);
	box-shadow: var(--bcni-shadow-soft);
}

.todays-events-card-image-link {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--bcni-black);
}

.todays-events-card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease, filter 0.35s ease;
}

.todays-events-card-image-link:hover .todays-events-card-image,
.todays-events-card-image-link:focus .todays-events-card-image {
	transform: scale(1.035);
	filter: saturate(1.05) contrast(1.04);
}

.todays-events-card h4 {
	margin: var(--bcni-space-16) var(--bcni-space-16) var(--bcni-space-8);
	color: var(--bcni-black);
	font-size: 1rem;
	line-height: 1.25;
}

.todays-events-card h4 a {
	color: var(--bcni-black);
	text-decoration: none;
}

.todays-events-card h4 a:hover,
.todays-events-card h4 a:focus {
	color: var(--bcni-hover);
}

.todays-events-card > p {
	margin: 0 var(--bcni-space-16) var(--bcni-space-16);
	color: var(--bcni-charcoal);
	font-size: 0.92rem;
	line-height: 1.45;
}

.todays-events-details {
	display: grid;
	gap: var(--bcni-space-8);
	margin: auto var(--bcni-space-16) var(--bcni-space-16);
	padding-top: var(--bcni-space-12);
	border-top: 1px solid #e3e0dc;
}

.todays-events-details div {
	display: grid;
	gap: var(--bcni-space-4);
}

.todays-events-details dt {
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.todays-events-details dd {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.9rem;
	line-height: 1.35;
}

.todays-events-details a {
	color: var(--bcni-link);
	font-weight: 600;
	text-decoration: none;
}

.todays-events-details a:hover,
.todays-events-details a:focus {
	color: var(--bcni-hover);
}

@media screen and (min-width: 48em) {

	.todays-events-category-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 75em) {

	.todays-events-category-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width: 40em) {

	.collaborators-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width: 64em) {

	.collaborators-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

/* WordPress-native restaurant guide modules. */
.entry-content:has(.bcni1-guide-hero) {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-64) 0 var(--bcni-space-96);
	color: var(--bcni-charcoal);
}

.entry-content:has(.bcni1-guide-hero) > * {
	max-width: 920px;
	margin-right: auto;
	margin-left: auto;
}

.entry-content:has(.bcni1-guide-hero) .bcni1-guide-hero {
	max-width: 1120px;
	margin-bottom: var(--bcni-space-64);
	padding: clamp(var(--bcni-space-32), 6vw, var(--bcni-space-96));
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-ivory);
}

.entry-content:has(.bcni1-guide-hero) .bcni1-guide-hero h1,
.entry-content:has(.bcni1-guide-hero) .bcni1-guide-hero h2,
.entry-content:has(.bcni1-guide-hero) .bcni1-guide-hero h3 {
	font-family: var(--bcni-font-display);
}

.entry-content:has(.bcni1-guide-hero) .bcni1-guide-planner,
.entry-content:has(.bcni1-guide-hero) .bcni1-guide-advice,
.entry-content:has(.bcni1-guide-hero) .bcni1-guide-phrases,
.entry-content:has(.bcni1-guide-hero) .bcni1-guide-faq {
	margin-bottom: var(--bcni-space-48);
	padding: clamp(var(--bcni-space-24), 4vw, var(--bcni-space-48));
	border-top: 4px solid var(--bcni-red);
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.entry-content:has(.bcni1-guide-hero) .bcni1-guide-planner {
	background: var(--bcni-grey-light);
}

.entry-content:has(.bcni1-guide-hero) .bcni1-guide-planner ul,
.entry-content:has(.bcni1-guide-hero) .bcni1-guide-phrases ul {
	display: grid;
	gap: var(--bcni-space-24);
	margin-bottom: 0;
}

.entry-content:has(.bcni1-guide-hero) .bcni1-guide-faq {
	background: var(--bcni-ivory);
}

@media screen and (min-width: 48em) {
	.entry-content:has(.bcni1-guide-hero) .bcni1-guide-planner ul,
	.entry-content:has(.bcni1-guide-hero) .bcni1-guide-phrases ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

.article-index {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-64) 0;
}

.article-index-header {
	max-width: 780px;
	margin: 0 0 var(--bcni-space-48);
}

.article-index-header .page-title {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	line-height: 0.95;
}

.article-index-header p,
.archive-description {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.8vw, 1.18rem);
	line-height: 1.65;
}

.article-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.article-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.article-card-image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, #f3efe8, #d9edf3);
}

.article-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.article-card:hover .article-card-image img,
.article-card:focus-within .article-card-image img {
	transform: scale(1.04);
}

.article-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--bcni-space-24);
}

.article-card-title {
	margin: 0;
	font-family: var(--bcni-font-display);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.08;
}

.article-card-title a {
	color: var(--bcni-black);
	text-decoration: none;
}

.article-card-title a:hover,
.article-card-title a:focus {
	color: var(--bcni-hover);
}

.article-card-meta {
	margin-top: var(--bcni-space-12);
	color: var(--bcni-muted);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.article-card-meta a {
	color: inherit;
	text-decoration: none;
}

.article-card-summary {
	margin: var(--bcni-space-16) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.96rem;
	line-height: 1.6;
}

.article-card-summary p {
	margin: 0;
}

.article-card-footer {
	margin-top: auto;
	padding-top: var(--bcni-space-24);
}

.article-card-link {
	color: var(--bcni-link);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.article-card-link:hover,
.article-card-link:focus {
	color: var(--bcni-hover);
}

.entry-content .articles-editorial-page {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-40) 0 var(--bcni-space-72);
	background: var(--bcni-white);
}

.entry-content .articles-editorial-page > * {
	width: 100%;
	max-width: none;
}

.entry-content .articles-editorial-hero {
	margin-bottom: var(--bcni-space-32);
}

.entry-content .articles-editorial-hero h2 {
	max-width: 860px;
	margin: var(--bcni-space-8) 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.4rem, 5vw, 4.9rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.entry-content .articles-editorial-hero p:not(.section-kicker) {
	max-width: 840px;
	color: var(--bcni-charcoal);
	font-size: clamp(1.05rem, 1.7vw, 1.25rem);
	line-height: 1.65;
}

.entry-content .articles-editorial-image {
	margin: var(--bcni-space-24) 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.entry-content .articles-editorial-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
}

.entry-content .articles-editorial-image-hero img {
	aspect-ratio: 16 / 6;
	max-height: 420px;
}

.entry-content .articles-editorial-image figcaption {
	margin: 0;
	padding: 0.85rem 1rem 1rem;
	color: var(--bcni-grey-dark);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	line-height: 1.45;
}

.entry-content .articles-editorial-strip,
.entry-content .articles-editorial-section,
.entry-content .articles-editorial-feature,
.entry-content .articles-editorial-comparison,
.entry-content .articles-editorial-video-section,
.entry-content .articles-editorial-planning,
.entry-content .articles-editorial-faq {
	margin-top: var(--bcni-space-28);
	padding: var(--bcni-space-28);
	border: 1px solid #e3e0dc;
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.entry-content .articles-editorial-strip {
	border-color: rgba(184, 1, 17, 0.22);
}

.entry-content .articles-editorial-strip p,
.entry-content .articles-editorial-section p,
.entry-content .articles-editorial-feature p,
.entry-content .articles-editorial-comparison p,
.entry-content .articles-editorial-video-section p,
.entry-content .articles-editorial-planning li,
.entry-content .articles-editorial-faq p {
	color: var(--bcni-charcoal);
	font-size: 1rem;
	line-height: 1.65;
}

.entry-content .articles-editorial-section h2,
.entry-content .articles-editorial-feature h2,
.entry-content .articles-editorial-comparison h2,
.entry-content .articles-editorial-video-section h2,
.entry-content .articles-editorial-planning h2,
.entry-content .articles-editorial-faq h2 {
	max-width: 760px;
	margin: var(--bcni-space-8) 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 1.05;
	letter-spacing: 0;
}

.entry-content .articles-editorial-feature {
	display: grid;
	grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
	gap: var(--bcni-space-28);
	align-items: center;
}

.entry-content .articles-editorial-feature:nth-of-type(even) .articles-editorial-image {
	order: 2;
}

.entry-content .articles-editorial-feature .articles-editorial-image {
	margin: 0;
	box-shadow: none;
}

.entry-content .articles-editorial-feature .articles-editorial-image img {
	aspect-ratio: 4 / 3;
	max-height: 360px;
}

.entry-content .articles-editorial-feature-copy {
	min-width: 0;
}

.entry-content .articles-editorial-mini-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-10);
	margin: var(--bcni-space-18) 0 0;
	padding: 0;
	list-style: none;
}

.entry-content .articles-editorial-mini-list li,
.entry-content .articles-editorial-compare-card {
	padding: var(--bcni-space-14);
	border: 1px solid #e3e0dc;
	border-radius: 14px;
	background: #fff;
	color: var(--bcni-charcoal);
	font-size: 0.92rem;
	line-height: 1.45;
}

.entry-content .articles-editorial-section .articles-editorial-note {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	margin-top: var(--bcni-space-12);
	padding: 0.75rem 0.95rem;
	border: 1px solid rgba(184, 1, 17, 0.18);
	border-radius: 999px;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.35;
}

.entry-content .articles-editorial-feature .articles-editorial-note {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	margin-top: var(--bcni-space-12);
	padding: 0.75rem 0.95rem;
	border: 1px solid rgba(184, 1, 17, 0.18);
	border-radius: 999px;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.35;
}

.entry-content .articles-editorial-section .articles-editorial-practical {
	max-width: 760px;
	margin-top: var(--bcni-space-12);
	padding-left: var(--bcni-space-16);
	border-left: 3px solid rgba(184, 1, 17, 0.32);
	color: var(--bcni-grey-dark);
	font-style: italic;
}

.entry-content .articles-editorial-feature .articles-editorial-practical {
	max-width: 760px;
	margin-top: var(--bcni-space-14);
	padding-left: var(--bcni-space-16);
	border-left: 3px solid rgba(184, 1, 17, 0.32);
	color: var(--bcni-grey-dark);
	font-style: italic;
}

.entry-content .articles-editorial-compare-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bcni-space-12);
}

.entry-content .articles-editorial-compare-card {
	display: grid;
	gap: var(--bcni-space-8);
}

.entry-content .articles-editorial-compare-card strong {
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-content .articles-editorial-compare-card span {
	color: var(--bcni-charcoal);
}

.entry-content .articles-editorial-video-section .wp-block-embed {
	margin: var(--bcni-space-12) 0 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--bcni-black);
}

.entry-content .articles-editorial-video-section {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.entry-content .articles-editorial-video-section h2,
.entry-content .articles-editorial-video-section > p {
	grid-column: 1 / -1;
}

.entry-content .articles-editorial-video-section .wp-block-embed__wrapper {
	aspect-ratio: 16 / 9;
}

.entry-content .articles-editorial-planning ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-12);
	margin: var(--bcni-space-20) 0 0;
	padding: 0;
	list-style: none;
}

.entry-content .articles-editorial-planning li {
	padding: var(--bcni-space-16);
	border: 1px solid #e3e0dc;
	border-radius: 14px;
}

.entry-content .articles-editorial-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-10);
	margin: var(--bcni-space-24) 0 0;
}

.entry-content .articles-editorial-links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.78rem 1rem;
	border: 1px solid rgba(184, 1, 17, 0.2);
	border-radius: 999px;
	background: rgba(184, 1, 17, 0.06);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.entry-content .articles-editorial-links a:hover {
	background: var(--bcni-red);
	color: var(--bcni-white);
}

@media (max-width: 720px) {
	.entry-content .articles-editorial-page {
		width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-space-16))));
		padding-top: var(--bcni-space-24);
		padding-bottom: var(--bcni-space-48);
}

.entry-content .articles-editorial-faq details {
	border-top: 1px solid #e3e0dc;
	padding: var(--bcni-space-16) 0;
}

.entry-content .articles-editorial-faq details:last-child {
	border-bottom: 1px solid #e3e0dc;
}

.entry-content .articles-editorial-faq summary {
	cursor: pointer;
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 800;
}

.entry-content .articles-editorial-faq summary::marker {
	color: var(--bcni-red);
}

.entry-content .articles-clean-hub {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-40) 0 var(--bcni-space-72);
	background: var(--bcni-white);
}

.entry-content .articles-clean-hero {
	max-width: 920px;
	margin-bottom: var(--bcni-space-32);
}

.entry-content .articles-clean-hero h1 {
	max-width: 760px;
	margin: var(--bcni-space-8) 0 var(--bcni-space-14);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.35rem, 5vw, 4.5rem);
	line-height: 1;
	letter-spacing: 0;
}

.entry-content .articles-clean-hero p:not(.section-kicker),
.entry-content .articles-clean-section > p {
	max-width: 720px;
	color: var(--bcni-charcoal);
	font-size: 1.05rem;
	line-height: 1.65;
}

.entry-content .articles-clean-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-18);
}

.entry-content .articles-clean-card,
.entry-content .articles-clean-section {
	border: 1px solid #e3e0dc;
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.entry-content .articles-clean-card {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	overflow: hidden;
	min-height: 260px;
}

.entry-content .articles-clean-card figure {
	margin: 0;
	background: #f7f5f2;
}

.entry-content .articles-clean-card img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
}

.entry-content .articles-clean-card figcaption {
	padding: 0.75rem;
	color: var(--bcni-grey-dark);
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem;
	line-height: 1.35;
}

.entry-content .articles-clean-card-copy {
	padding: var(--bcni-space-20);
}

.entry-content .articles-clean-card h2,
.entry-content .articles-clean-section h2 {
	margin: var(--bcni-space-6) 0 var(--bcni-space-10);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.55rem, 2.4vw, 2.25rem);
	line-height: 1.05;
	letter-spacing: 0;
}

.entry-content .articles-clean-card p,
.entry-content .articles-clean-card dd,
.entry-content .articles-future-grid span {
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.55;
}

.entry-content .articles-clean-card dl {
	display: grid;
	gap: var(--bcni-space-8);
	margin: var(--bcni-space-14) 0;
}

.entry-content .articles-clean-card dl div {
	display: grid;
	grid-template-columns: 74px 1fr;
	gap: var(--bcni-space-10);
	padding-top: var(--bcni-space-8);
	border-top: 1px solid #eee9e4;
}

.entry-content .articles-clean-card dt {
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-content .articles-clean-card dd {
	margin: 0;
}

.entry-content .articles-clean-tip {
	margin-top: var(--bcni-space-12);
	padding-left: var(--bcni-space-12);
	border-left: 3px solid rgba(184, 1, 17, 0.3);
	color: var(--bcni-grey-dark);
	font-style: italic;
}

.entry-content .articles-clean-section {
	margin-top: var(--bcni-space-24);
	padding: var(--bcni-space-28);
}

.entry-content .articles-clean-social {
	display: grid;
	grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
	gap: var(--bcni-space-24);
	align-items: start;
}

.entry-content .articles-instagram-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.entry-content .articles-instagram-grid .instagram-media {
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

.entry-content .articles-future-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-12);
	margin-top: var(--bcni-space-18);
}

.entry-content .articles-future-grid article {
	display: grid;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-18);
	border: 1px solid #e3e0dc;
	border-radius: 14px;
}

.entry-content .articles-future-grid strong {
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 800;
}

.entry-content .articles-clean-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-10);
	margin-top: var(--bcni-space-20);
}

.entry-content .articles-clean-links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.72rem 0.95rem;
	border: 1px solid rgba(184, 1, 17, 0.2);
	border-radius: 999px;
	background: rgba(184, 1, 17, 0.06);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.entry-content .articles-clean-links a:hover {
	background: var(--bcni-red);
	color: var(--bcni-white);
}

.entry-content .articles-studio {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-40) 0 var(--bcni-space-72);
	background: var(--bcni-white);
}

.entry-content .articles-studio-hero {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.42fr);
	gap: var(--bcni-space-32);
	align-items: end;
	margin-bottom: var(--bcni-space-32);
	padding-bottom: var(--bcni-space-28);
	border-bottom: 1px solid #e3e0dc;
}

.entry-content .articles-studio-hero h1 {
	max-width: 820px;
	margin: var(--bcni-space-8) 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.35rem, 5vw, 4.8rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.entry-content .articles-studio-lede {
	max-width: 760px;
	color: var(--bcni-charcoal);
	font-size: clamp(1.02rem, 1.6vw, 1.2rem);
	line-height: 1.65;
}

.entry-content .articles-studio-hero-notes {
	display: grid;
	gap: var(--bcni-space-10);
}

.entry-content .articles-studio-hero-notes span {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 0.75rem 0.95rem;
	border: 1px solid #e3e0dc;
	border-radius: 999px;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-content .articles-studio-section {
	margin-top: var(--bcni-space-28);
	padding: var(--bcni-space-28);
	border: 1px solid #e3e0dc;
	border-radius: 18px;
	background: var(--bcni-white);
}

.entry-content .articles-studio-section-head {
	display: grid;
	grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
	gap: var(--bcni-space-20);
	align-items: end;
	margin-bottom: var(--bcni-space-20);
}

.entry-content .articles-studio-section-head .section-kicker {
	grid-column: 1 / -1;
}

.entry-content .articles-studio-section h2,
.entry-content .articles-studio-card h2 {
	margin: 0;
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.45rem, 2.5vw, 2.35rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.entry-content .articles-studio-section-head p:not(.section-kicker),
.entry-content .articles-studio-card p,
.entry-content .articles-studio-desk-card p,
.entry-content .articles-studio-planning p {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.98rem;
	line-height: 1.6;
}

.entry-content .articles-studio-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bcni-space-14);
}

.entry-content .articles-studio-card,
.entry-content .articles-studio-desk-card {
	padding: var(--bcni-space-18);
	border: 1px solid #e3e0dc;
	border-radius: 14px;
	background: #fff;
}

.entry-content .articles-studio-card {
	display: grid;
	align-content: start;
	gap: var(--bcni-space-12);
	min-height: 100%;
}

.entry-content .articles-studio-card h2 {
	font-size: clamp(1.3rem, 1.9vw, 1.85rem);
}

.entry-content .articles-studio-card dl {
	display: grid;
	gap: var(--bcni-space-10);
	margin: var(--bcni-space-8) 0 0;
}

.entry-content .articles-studio-card dl div {
	padding-top: var(--bcni-space-8);
	border-top: 1px solid #eee9e4;
}

.entry-content .articles-studio-card dt {
	margin-bottom: var(--bcni-space-4);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-content .articles-studio-card dd {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.9rem;
	line-height: 1.45;
}

.entry-content .articles-studio-reels {
	display: grid;
	grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
	gap: var(--bcni-space-24);
	align-items: start;
}

.entry-content .articles-studio-reels .articles-studio-section-head {
	display: block;
	margin: 0;
}

.entry-content .articles-studio-instagram {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-14);
}

.entry-content .articles-studio-instagram .instagram-media {
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

.entry-content .articles-studio-desk-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-14);
}

.entry-content .articles-studio-desk-card {
	display: grid;
	gap: var(--bcni-space-10);
}

.entry-content .articles-studio-desk-card h3 {
	margin: 0;
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 1rem;
	font-weight: 900;
}

.entry-content .articles-studio-desk-card ul {
	display: grid;
	gap: var(--bcni-space-8);
	margin: var(--bcni-space-6) 0 0;
	padding-left: 1.1rem;
	color: var(--bcni-charcoal);
	font-size: 0.92rem;
	line-height: 1.45;
}

.entry-content .articles-studio-planning {
	display: grid;
	grid-template-columns: minmax(260px, 0.52fr) minmax(0, 1fr);
	gap: var(--bcni-space-24);
	align-items: center;
}

.entry-content .articles-studio-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-10);
}

.entry-content .articles-studio-links a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0.68rem 0.9rem;
	border: 1px solid rgba(184, 1, 17, 0.2);
	border-radius: 999px;
	background: rgba(184, 1, 17, 0.05);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.entry-content .articles-studio-links a:hover {
	background: var(--bcni-red);
	color: var(--bcni-white);
}

	.entry-content .articles-editorial-strip,
	.entry-content .articles-editorial-section,
	.entry-content .articles-editorial-feature,
	.entry-content .articles-editorial-comparison,
	.entry-content .articles-editorial-video-section,
	.entry-content .articles-editorial-planning,
	.entry-content .articles-editorial-faq {
		margin-top: var(--bcni-space-20);
		padding: var(--bcni-space-18);
		border-radius: 16px;
	}

	.entry-content .articles-editorial-hero {
		margin-bottom: var(--bcni-space-24);
	}

	.entry-content .articles-editorial-hero h2,
	.entry-content .articles-editorial-section h2,
	.entry-content .articles-editorial-video-section h2,
	.entry-content .articles-editorial-planning h2 {
		line-height: 1.08;
	}

	.entry-content .articles-editorial-image {
		margin: var(--bcni-space-18) 0;
		border-radius: 16px;
	}

	.entry-content .articles-editorial-image img {
		aspect-ratio: 4 / 3;
	}

	.entry-content .articles-editorial-image-hero img {
		aspect-ratio: 4 / 3;
		max-height: 300px;
	}

	.entry-content .articles-editorial-video-section {
		grid-template-columns: 1fr;
		gap: var(--bcni-space-12);
	}

	.entry-content .articles-editorial-feature {
		grid-template-columns: 1fr;
		gap: var(--bcni-space-18);
	}

	.entry-content .articles-editorial-feature:nth-of-type(even) .articles-editorial-image {
		order: 0;
	}

	.entry-content .articles-editorial-feature .articles-editorial-image img {
		aspect-ratio: 16 / 10;
		max-height: 260px;
	}

	.entry-content .articles-editorial-mini-list,
	.entry-content .articles-editorial-compare-grid {
		grid-template-columns: 1fr;
	}

	.entry-content .articles-editorial-planning ul {
		grid-template-columns: 1fr;
	}

	.entry-content .articles-editorial-links a {
		width: 100%;
		justify-content: center;
		padding-inline: 0.85rem;
	}

	.entry-content .articles-clean-hub {
		width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-space-16))));
		padding: var(--bcni-space-24) 0 var(--bcni-space-48);
	}

	.entry-content .articles-clean-grid,
	.entry-content .articles-clean-social,
	.entry-content .articles-instagram-grid,
	.entry-content .articles-future-grid {
		grid-template-columns: 1fr;
	}

	.entry-content .articles-clean-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.entry-content .articles-clean-card img {
		aspect-ratio: 16 / 9;
		min-height: 0;
		height: auto;
		max-height: 230px;
	}

	.entry-content .articles-clean-card-copy,
	.entry-content .articles-clean-section {
		padding: var(--bcni-space-18);
	}

	.entry-content .articles-clean-card dl div {
		grid-template-columns: 1fr;
		gap: var(--bcni-space-4);
	}

	.entry-content .articles-clean-links a {
		width: 100%;
		justify-content: center;
	}

	.entry-content .articles-studio {
		width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-space-16))));
		padding: var(--bcni-space-24) 0 var(--bcni-space-48);
	}

	.entry-content .articles-studio-hero,
	.entry-content .articles-studio-section-head,
	.entry-content .articles-studio-grid,
	.entry-content .articles-studio-reels,
	.entry-content .articles-studio-instagram,
	.entry-content .articles-studio-desk-grid,
	.entry-content .articles-studio-planning {
		grid-template-columns: 1fr;
	}

	.entry-content .articles-studio-hero {
		gap: var(--bcni-space-18);
		margin-bottom: var(--bcni-space-20);
		padding-bottom: var(--bcni-space-20);
	}

	.entry-content .articles-studio-section {
		margin-top: var(--bcni-space-18);
		padding: var(--bcni-space-18);
		border-radius: 16px;
	}

	.entry-content .articles-studio-section-head {
		gap: var(--bcni-space-12);
		margin-bottom: var(--bcni-space-14);
	}

	.entry-content .articles-studio-links a {
		width: 100%;
		justify-content: center;
	}
}

.article-single-page {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-48) 0 var(--bcni-space-96);
}

.article-single {
	margin: 0;
}

.article-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-8);
	margin-bottom: var(--bcni-space-32);
	color: var(--bcni-muted);
	font-size: 0.9rem;
}

.article-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.article-breadcrumb a:hover,
.article-breadcrumb a:focus {
	color: var(--bcni-hover);
}

.article-single-header {
	max-width: 920px;
	margin-bottom: var(--bcni-space-32);
}

.article-single-category {
	display: inline-flex;
	margin-bottom: var(--bcni-space-16);
	color: var(--bcni-link);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.article-single-title {
	margin: 0;
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.5rem, 6vw, 5.6rem);
	line-height: 0.95;
}

.article-single-meta {
	margin-top: var(--bcni-space-24);
	color: var(--bcni-muted);
	font-family: var(--bcni-font-navigation);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.article-single-meta a {
	color: inherit;
	text-decoration: none;
}

.article-single-image {
	margin: 0 0 var(--bcni-space-48);
}

.article-single-image img {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
	border-radius: 8px;
}

.article-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 760px) minmax(220px, 1fr);
	gap: var(--bcni-space-64);
	align-items: start;
}

.article-single-content {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 1.08rem;
	line-height: 1.82;
}

.article-single-content > *:first-child {
	margin-top: 0;
}

.article-single-content h2,
.article-single-content h3 {
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	line-height: 1.08;
}

.article-single-content a {
	color: var(--bcni-link);
	font-weight: 600;
}

.article-single-aside {
	position: sticky;
	top: calc(var(--header-height) + var(--bcni-space-24));
}

.article-aside-box {
	display: grid;
	gap: var(--bcni-space-12);
	padding: var(--bcni-space-24);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-grey-light);
}

.article-aside-box + .article-aside-box {
	margin-top: var(--bcni-space-24);
}

.article-aside-box h2 {
	margin: 0 0 var(--bcni-space-8);
	font-family: var(--bcni-font-navigation);
	font-size: 0.9rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.article-aside-box p {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.94rem;
	line-height: 1.55;
}

.article-aside-box a {
	color: var(--bcni-link);
	font-weight: 700;
	text-decoration: none;
}

.article-aside-box a:hover,
.article-aside-box a:focus {
	color: var(--bcni-hover);
}

.article-aside-cta {
	background: var(--bcni-white);
}

.article-single-footer {
	max-width: 760px;
	margin-top: var(--bcni-space-48);
	padding-top: var(--bcni-space-24);
	border-top: 1px solid #e3e0dc;
	color: var(--bcni-muted);
	font-size: 0.92rem;
}

.article-single-footer a {
	color: var(--bcni-link);
}

.related-articles {
	margin-top: var(--bcni-space-64);
	padding-top: var(--bcni-space-48);
	border-top: 1px solid #e3e0dc;
}

.related-articles h2 {
	margin: 0 0 var(--bcni-space-24);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.related-articles-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.related-article-card a {
	display: grid;
	gap: var(--bcni-space-12);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: 1.2rem;
	line-height: 1.18;
	text-decoration: none;
}

.related-article-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 8px;
}

.related-article-card a:hover,
.related-article-card a:focus {
	color: var(--bcni-hover);
}

.discover-section-page {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-64) 0 var(--bcni-space-96);
}

.discover-section-header {
	max-width: 820px;
	margin-bottom: var(--bcni-space-48);
}

.discover-section-header h1 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.6rem, 6vw, 5.6rem);
	line-height: 0.95;
}

.discover-section-header p {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	line-height: 1.65;
}

.discover-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.discover-category-card {
	position: relative;
	display: block;
	min-height: 340px;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: var(--bcni-white);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	text-decoration: none;
	box-shadow: var(--bcni-shadow-soft);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.discover-category-card-no-image {
	background: linear-gradient(135deg, var(--bcni-charcoal) 0%, var(--bcni-black) 100%);
}

.discover-category-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 260ms ease;
}

.discover-category-card-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(0, 0, 0, 0.74) 100%);
}

.default-architecture-page .discover-category-card small {
	color: var(--bcni-white);
	opacity: 1;
}

/* Keep white card text readable even over the brightest photograph. */
.default-architecture-page .discover-category-card-overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.65) 46%, rgba(0, 0, 0, 0.78) 100%);
}


.discover-category-card-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 340px;
	padding: var(--bcni-space-24);
	color: var(--bcni-white);
}

.discover-category-card strong {
	max-width: 15ch;
	font-size: clamp(1.55rem, 2.6vw, 2.3rem);
	font-weight: 700;
	line-height: 1;
}

.discover-category-card small {
	max-width: 30ch;
	margin-top: var(--bcni-space-12);
	color: rgba(255, 255, 255, 0.84);
	font-family: var(--bcni-font-body);
	font-size: 0.94rem;
	line-height: 1.45;
}

.discover-category-card em {
	margin-top: var(--bcni-space-16);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.88rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.discover-category-card:hover,
.discover-category-card:focus {
	box-shadow: var(--bcni-shadow-hover);
	transform: translateY(-2px);
}

.discover-category-card:hover img,
.discover-category-card:focus img {
	transform: scale(1.04);
}

.visit-section-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.visit-section-card {
	display: flex;
	justify-content: space-between;
	gap: var(--bcni-space-16);
	min-height: 180px;
	padding: var(--bcni-space-24);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(184, 1, 17, 0.08), transparent 48%),
		var(--bcni-white);
	color: var(--bcni-black);
	text-decoration: none;
	box-shadow: var(--bcni-shadow-soft);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.visit-section-card span {
	display: grid;
	align-content: start;
	gap: var(--bcni-space-12);
}

.visit-section-card strong {
	font-family: var(--bcni-font-display);
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	line-height: 1.05;
}

.visit-section-card small {
	color: var(--bcni-charcoal);
	font-size: 0.94rem;
	line-height: 1.45;
}

.visit-section-card-neighbourhoods {
	color: var(--bcni-charcoal);
	font-size: 0.82rem;
	line-height: 1.45;
}

.visit-section-card em {
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-style: normal;
	font-weight: 700;
}

.visit-section-card:hover,
.visit-section-card:focus {
	border-color: var(--bcni-red);
	box-shadow: var(--bcni-shadow-hover);
	transform: translateY(-2px);
}

.placeholder-page,
.search-guide-page,
.article-directory,
.about-page {
	padding: var(--bcni-section-space) var(--bcni-page-gutter);
	background: var(--bcni-ivory);
}

.placeholder-panel,
.search-empty-panel,
.article-category-section,
.about-content {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
}

.about-content {
	max-width: 880px;
	padding: var(--bcni-space-40);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.about-content p {
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-charcoal);
	font-size: clamp(1.02rem, 1.6vw, 1.16rem);
	line-height: 1.75;
}

.about-content p:last-child {
	margin-bottom: 0;
}

.about-proof {
	margin-top: var(--bcni-space-40);
	padding-top: var(--bcni-space-32);
	border-top: 1px solid #e3e0dc;
}

.about-proof h2 {
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.05;
}

.about-proof-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.about-proof-grid div {
	padding: var(--bcni-space-24);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-ivory);
}

.about-proof-grid strong {
	display: block;
	margin-bottom: var(--bcni-space-8);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.about-proof-grid p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.65;
}

.placeholder-panel,
.search-empty-panel {
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.placeholder-panel h2,
.search-empty-panel h2 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.search-empty-panel p {
	max-width: 680px;
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-charcoal);
	line-height: 1.65;
}

.placeholder-link-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-12);
}

.placeholder-link-grid a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bcni-space-16);
	min-height: 58px;
	padding: var(--bcni-space-16);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-ivory);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-decoration: none;
}

.placeholder-link-grid a:hover,
.placeholder-link-grid a:focus {
	border-color: var(--bcni-red);
	color: var(--bcni-red);
}

.search-guide-header {
	display: grid;
	gap: var(--bcni-space-16);
}

.section-kicker {
	margin: 0;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.search-guide-form {
	display: flex;
	width: min(640px, 100%);
	border: 1px solid #d6d1ca;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.search-guide-form input {
	flex: 1;
	min-width: 0;
	height: 52px;
	padding: 0 var(--bcni-space-16);
	border: 0;
	background: transparent;
	color: var(--bcni-black);
}

.search-guide-form button {
	min-width: 112px;
	border: 0;
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-transform: uppercase;
}

.search-guide-form button:hover,
.search-guide-form button:focus {
	background: var(--bcni-red-dark);
}

.article-category-section .section-heading {
	margin-bottom: var(--bcni-space-24);
}

.article-category-section .section-heading h2 {
	margin: 0;
	color: var(--bcni-black);
	font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.article-card-grid-compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-page,
.airport-page,
.photo-gallery-page,
.commercial-page {
	padding: var(--bcni-section-space) var(--bcni-page-gutter);
	background: var(--bcni-ivory);
}

.airport-page {
	display: flex;
	flex-direction: column;
}

.airport-page > * {
	order: 10;
}

.contact-layout,
.photo-gallery-grid,
.neighbourhood-map-panel,
.commercial-grid,
.commercial-cta {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
}

.commercial-header {
	width: min(var(--bcni-container), 100%);
	margin-right: auto;
	margin-left: auto;
}

.commercial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.commercial-grid article,
.commercial-cta {
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.commercial-grid h2,
.commercial-cta h2 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	line-height: 1.1;
}

.commercial-grid p,
.commercial-grid li,
.commercial-cta p {
	color: var(--bcni-charcoal);
	line-height: 1.65;
}

.commercial-grid p,
.commercial-cta p {
	margin: 0;
}

.commercial-grid ul {
	margin: 0;
	padding-left: var(--bcni-space-20);
}

.commercial-cta {
	display: grid;
	gap: var(--bcni-space-16);
	max-width: 860px;
}

.commercial-cta a {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 var(--bcni-space-24);
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.commercial-cta a:hover,
.commercial-cta a:focus {
	background: var(--bcni-red-dark);
	color: var(--bcni-white);
}

.restaurant-guide-page {
	background: var(--bcni-white);
}

.restaurant-editorial-page .discover-section-header,
.restaurant-editorial-hero,
.restaurant-editorial-nav,
.restaurant-editorial-content,
.restaurant-editorial-featured,
.restaurant-editorial-related,
.restaurant-editorial-back {
	width: min(calc(100% - clamp(2rem, 6vw, 7rem)), 1500px);
	max-width: 1500px;
	margin-right: auto;
	margin-left: auto;
}

.restaurant-editorial-page .discover-section-header h1,
.restaurant-editorial-section-head h2,
.restaurant-editorial-card strong {
	font-family: var(--bcni-font-display);
	letter-spacing: 0;
}

.restaurant-editorial-page .discover-section-header h1 {
	max-width: 1180px;
	font-size: clamp(2.25rem, 4.2vw, 4.8rem);
	line-height: 0.98;
}

.restaurant-editorial-page .discover-section-header p {
	max-width: 820px;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.62;
}

.restaurant-editorial-hero {
	margin-top: clamp(1.75rem, 4vw, 3.5rem);
}

.restaurant-editorial-hero figure {
	height: clamp(340px, 40vw, 600px);
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--bcni-black);
}

.restaurant-editorial-hero img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.96) contrast(1.04);
}

.restaurant-editorial-nav {
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	padding: var(--bcni-space-18, 18px) 0;
	border-top: 1px solid rgba(27, 27, 27, 0.1);
	border-bottom: 1px solid rgba(27, 27, 27, 0.1);
}

.restaurant-editorial-nav strong {
	display: block;
	margin-bottom: var(--bcni-space-12);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.restaurant-editorial-nav div {
	display: flex;
	gap: var(--bcni-space-8);
	overflow-x: auto;
	padding-bottom: 2px;
	scrollbar-width: thin;
}

.restaurant-editorial-nav a {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	min-height: 36px;
	padding: 0 var(--bcni-space-12);
	border: 1px solid rgba(27, 27, 27, 0.12);
	border-radius: 999px;
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.restaurant-editorial-nav a:hover,
.restaurant-editorial-nav a:focus,
.restaurant-editorial-nav a.is-current {
	border-color: var(--bcni-red);
	background: var(--bcni-red);
	color: var(--bcni-white);
}

.restaurant-editorial-content,
.restaurant-editorial-featured,
.restaurant-editorial-related {
	margin-top: clamp(2rem, 5vw, 4.5rem);
}

.restaurant-editorial-section-head {
	max-width: 780px;
	margin-bottom: var(--bcni-space-24);
}

.restaurant-editorial-section-head h2 {
	margin: 0.35rem 0 0;
	color: var(--bcni-black);
	font-size: clamp(1.7rem, 2.7vw, 2.7rem);
	line-height: 1.08;
}

.restaurant-editorial-content > .entry-content,
.restaurant-editorial-empty {
	max-width: 900px;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.15vw, 1.06rem);
	line-height: 1.72;
}

.restaurant-editorial-empty {
	padding: var(--bcni-space-24);
	border: 1px solid rgba(27, 27, 27, 0.1);
	border-radius: 8px;
	background: #fbfaf7;
}

.restaurant-editorial-empty p {
	margin: 0;
}

.restaurant-editorial-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}

.restaurant-editorial-card {
	position: relative;
	display: grid;
	min-height: 320px;
	overflow: hidden;
	border-radius: 8px;
	background: var(--bcni-black);
	color: var(--bcni-white);
	text-decoration: none;
}

.restaurant-editorial-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.restaurant-editorial-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.68));
}

.restaurant-editorial-card span:not(.restaurant-editorial-card-overlay) {
	position: relative;
	z-index: 1;
	display: grid;
	align-self: end;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-20);
}

.restaurant-editorial-card strong {
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	line-height: 1.05;
}

.restaurant-editorial-card small {
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.92rem;
	line-height: 1.45;
}

.restaurant-editorial-card em {
	width: max-content;
	max-width: 100%;
	margin-top: var(--bcni-space-4);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.restaurant-editorial-card:hover img,
.restaurant-editorial-card:focus img {
	transform: scale(1.035);
}

.restaurant-editorial-back {
	margin-top: clamp(2rem, 4vw, 3.5rem);
}

.restaurant-editorial-back a {
	display: inline-flex;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.restaurant-editorial-back a:hover,
.restaurant-editorial-back a:focus {
	color: var(--bcni-red-dark);
}

.editorial-guide-page:has(.restaurant-guide-hero) {
	background: var(--bcni-ivory);
}

.editorial-guide-page {
	width: min(var(--bcni-container), calc(100% - (2 * var(--bcni-page-gutter))));
	margin: 0 auto;
	padding: var(--bcni-space-64) 0 var(--bcni-space-96);
}

.editorial-guide-content:has(.restaurant-guide-hero) {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Gutenberg Group blocks use divs where the legacy guide used articles. */
.restaurant-guide-planner-grid > .wp-block-group,
.restaurant-guide-best-for > .wp-block-group,
.restaurant-guide-advice,
.restaurant-guide-related,
.restaurant-guide-trust,
.restaurant-guide-neighbourhood-grid > .wp-block-group,
.restaurant-guide-table-section,
.restaurant-guide-extra-modules > .wp-block-group {
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
}

.restaurant-guide-planner-grid > .wp-block-group {
	padding: var(--bcni-space-20);
	background: #fbfaf7;
}

.restaurant-guide-best-for > .wp-block-group,
.restaurant-guide-neighbourhood-grid > .wp-block-group,
.restaurant-guide-extra-modules > .wp-block-group {
	padding: var(--bcni-space-20);
	background: #fbfaf7;
}

.restaurant-guide-best-for > .wp-block-group {
	padding: var(--bcni-space-24);
	box-shadow: var(--bcni-shadow-soft);
}

.restaurant-guide-best-for > .wp-block-group strong {
	display: block;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.restaurant-guide-advice-list > .wp-block-group {
	padding: 0 0 var(--bcni-space-16);
	border-bottom: 1px solid #e3e0dc;
}

.restaurant-guide-advice-list > .wp-block-group:last-child,
.airport-faq-list > .wp-block-group:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.airport-faq-list > .wp-block-group {
	padding-bottom: var(--bcni-space-16);
	border-bottom: 1px solid #e3e0dc;
}

.airport-faq-list > .wp-block-group h3 {
	margin: 0 0 var(--bcni-space-8);
	color: var(--bcni-black);
	font-size: 1.08rem;
}

.airport-faq-list > .wp-block-group p {
	margin: 0;
}

.restaurant-guide-hero {
	gap: var(--bcni-space-32);
	margin-top: var(--bcni-space-48);
}

.restaurant-guide-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-12);
	margin-top: var(--bcni-space-24);
}

.restaurant-guide-actions a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--bcni-space-20);
	border: 1px solid rgba(255, 255, 255, 0.55);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.restaurant-guide-actions a:hover,
.restaurant-guide-actions a:focus {
	border-color: var(--bcni-white);
	background: var(--bcni-white);
	color: var(--bcni-black);
}

.restaurant-guide-planner,
.restaurant-guide-best-for,
.restaurant-guide-detail-layout,
.restaurant-guide-trust,
.restaurant-guide-neighbourhoods,
.restaurant-guide-table-section,
.restaurant-guide-extra-modules {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
}

.restaurant-guide-planner {
	display: grid;
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	gap: var(--bcni-space-32);
	align-items: start;
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.restaurant-guide-planner h2,
.restaurant-guide-related h2,
.restaurant-guide-trust h2,
.restaurant-guide-neighbourhoods h2,
.restaurant-guide-table-section h2,
.restaurant-guide-extra-modules h2 {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-black);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.08;
}

.restaurant-guide-planner-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.restaurant-guide-planner-grid article,
.restaurant-guide-best-for article,
.restaurant-guide-advice,
.restaurant-guide-related,
.restaurant-guide-trust,
.restaurant-guide-neighbourhoods,
.restaurant-guide-table-section,
.restaurant-guide-extra-modules article {
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
}

.restaurant-guide-planner-grid article {
	padding: var(--bcni-space-20);
	background: #fbfaf7;
}

.restaurant-guide-planner-grid strong,
.restaurant-guide-best-for span {
	display: block;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.restaurant-guide-planner-grid p,
.restaurant-guide-best-for p,
.restaurant-guide-related p,
.restaurant-guide-trust p,
.restaurant-guide-neighbourhood-grid p,
.restaurant-guide-neighbourhood-grid small,
.restaurant-guide-extra-modules p,
.restaurant-guide-extra-modules li,
.restaurant-guide-extra-modules dd {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.96rem;
	line-height: 1.6;
}

.restaurant-guide-trust,
.restaurant-guide-neighbourhoods,
.restaurant-guide-table-section {
	padding: var(--bcni-space-32);
	box-shadow: var(--bcni-shadow-soft);
}

.restaurant-guide-trust {
	background: #fbfaf7;
}

.restaurant-guide-trust a {
	display: inline-flex;
	margin-top: var(--bcni-space-16);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-decoration: none;
}

.restaurant-guide-neighbourhood-grid,
.restaurant-guide-extra-modules {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
	margin-top: var(--bcni-space-24);
}

.restaurant-guide-neighbourhood-grid article,
.restaurant-guide-extra-modules article {
	padding: var(--bcni-space-20);
	background: #fbfaf7;
}

.restaurant-guide-neighbourhood-grid h3,
.restaurant-guide-extra-modules h2 {
	margin: 0 0 var(--bcni-space-8);
	color: var(--bcni-black);
	font-size: clamp(1.12rem, 2vw, 1.45rem);
	line-height: 1.2;
}

.restaurant-guide-extra-modules dl,
.restaurant-guide-extra-modules ul {
	margin: var(--bcni-space-16) 0 0;
	padding: 0;
}

.restaurant-guide-extra-modules ul {
	padding-left: 1.1rem;
}

.restaurant-guide-extra-modules dt {
	margin-top: var(--bcni-space-12);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
}

.restaurant-guide-extra-modules dt:first-child {
	margin-top: 0;
}

.restaurant-guide-best-for {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.restaurant-guide-best-for article {
	padding: var(--bcni-space-24);
	box-shadow: var(--bcni-shadow-soft);
}

.restaurant-guide-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.7fr);
	gap: var(--bcni-space-32);
	align-items: start;
}

.restaurant-guide-advice,
.restaurant-guide-related {
	padding: var(--bcni-space-32);
	box-shadow: var(--bcni-shadow-soft);
}

.restaurant-guide-advice h2 {
	margin: var(--bcni-space-8) 0 var(--bcni-space-24);
	color: var(--bcni-black);
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	line-height: 1.05;
}

.restaurant-guide-advice-list {
	display: grid;
	gap: var(--bcni-space-16);
}

.restaurant-guide-advice-list section {
	padding: 0 0 var(--bcni-space-16);
	border-bottom: 1px solid #e3e0dc;
}

.restaurant-guide-advice-list section:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.restaurant-guide-advice-list h3 {
	margin: 0 0 var(--bcni-space-8);
	color: var(--bcni-black);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.2;
}

.restaurant-guide-advice-list p {
	margin: 0;
	color: var(--bcni-charcoal);
	line-height: 1.7;
}

.restaurant-guide-related {
	position: sticky;
	top: var(--bcni-space-24);
}

.restaurant-guide-related ol {
	display: grid;
	gap: var(--bcni-space-12);
	margin: var(--bcni-space-20) 0;
	padding: 0;
	list-style: none;
	counter-reset: restaurant-links;
}

.restaurant-guide-related li {
	counter-increment: restaurant-links;
}

.restaurant-guide-related a {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: var(--bcni-space-12);
	align-items: center;
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-decoration: none;
}

.restaurant-guide-related a::before {
	content: counter(restaurant-links, decimal-leading-zero);
	color: var(--bcni-red);
	font-size: 0.78rem;
}

.restaurant-guide-related a:hover,
.restaurant-guide-related a:focus {
	color: var(--bcni-hover);
}

.traveller-guide-header {
	max-width: 1040px;
	margin-bottom: var(--bcni-space-24);
}

.traveller-guide-header h1 {
	font-size: clamp(1.85rem, 3.15vw, 3.15rem);
	letter-spacing: 0;
	white-space: nowrap;
}

.traveller-guide-page .discover-section-header {
	max-width: 1180px;
}

.traveller-guide-page .discover-section-header h1 {
	max-width: 1120px;
	font-size: clamp(2.05rem, 3.55vw, 3.75rem);
	line-height: 1.02;
	white-space: normal;
}

.traveller-guide-page .discover-section-header p {
	max-width: 820px;
}

.traveller-guide-header p {
	color: var(--bcni-grey-dark);
	font-family: var(--bcni-font-navigation);
	font-size: 0.92rem;
	line-height: 1.55;
}

.traveller-guide-banner,
.traveller-guide-intro-summary,
.traveller-guide-best-for,
.traveller-guide-intro,
.traveller-guide-summary,
.traveller-guide-qa,
.traveller-guide-video-section,
.traveller-guide-story,
.traveller-guide-link-cards,
.traveller-guide-plan-days,
.traveller-guide-decision-cards,
.traveller-guide-image-pair,
.traveller-guide-feature-image,
.traveller-guide-visual-cards,
.traveller-guide-book-ahead,
.traveller-guide-mistakes,
.traveller-guide-route {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-32) auto 0;
}

.traveller-guide-intro-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.68fr);
	gap: var(--bcni-space-32);
	align-items: start;
	margin-top: var(--bcni-space-24);
}

.traveller-guide-page {
	background: var(--bcni-white);
}

.traveller-guide-banner figure {
	height: clamp(280px, 36vw, 460px);
	margin: 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.traveller-guide-banner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.traveller-guide-banner--things-to-do {
	width: calc(100% - 48px);
	max-width: 980px;
	margin-top: var(--bcni-space-48);
}

.traveller-guide-banner--things-to-do figure {
	height: clamp(240px, 30vw, 360px);
	border-radius: 8px;
}

.traveller-guide-banner--things-to-do img {
	filter: saturate(0.95) contrast(1.04);
}

.traveller-guide-summary,
.traveller-guide-video-section,
.traveller-guide-plan-days,
.traveller-guide-decision-cards,
.traveller-guide-book-ahead,
.traveller-guide-mistakes,
.traveller-guide-route {
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.traveller-guide-intro {
	width: 100%;
	max-width: none;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
}

.traveller-guide-summary {
	border-color: rgba(184, 1, 17, 0.22);
	margin: 0;
	padding: var(--bcni-space-24);
}

.traveller-guide-summary p:not(.section-kicker) {
	max-width: 820px;
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-black);
	font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	font-weight: 700;
	line-height: 1.5;
}

.traveller-guide-intro p:not(.section-kicker) {
	max-width: 860px;
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.25vw, 1.08rem);
	line-height: 1.68;
}

.traveller-guide-best-for {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin-top: var(--bcni-space-20);
}

.traveller-guide-best-for strong,
.traveller-guide-best-for span {
	border: 1px solid rgba(184, 1, 17, 0.18);
	border-radius: 999px;
	background: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.traveller-guide-best-for strong {
	padding: 0.7rem 0.85rem;
	background: var(--bcni-red);
	color: var(--bcni-white);
}

.traveller-guide-best-for span {
	padding: 0.68rem 0.82rem;
	color: var(--bcni-charcoal);
}

.traveller-guide-qa,
.traveller-guide-link-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.traveller-guide-link-cards {
	gap: var(--bcni-space-20);
}

.traveller-guide-visual-cards > div,
.traveller-guide-book-ahead > div {
	display: grid;
	gap: var(--bcni-space-16);
	margin-top: var(--bcni-space-20);
}

.traveller-guide-visual-cards > div {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.traveller-guide-book-ahead > div {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.traveller-guide-section-header {
	grid-column: 1 / -1;
	max-width: 760px;
}

.traveller-guide-visual-cards a,
.traveller-guide-book-ahead a {
	position: relative;
	display: grid;
	min-height: 220px;
	overflow: hidden;
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
	text-decoration: none;
}

.traveller-guide-visual-cards img,
.traveller-guide-book-ahead img,
.traveller-guide-link-cards img,
.traveller-guide-mistakes img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.94) contrast(1.02);
}

.traveller-guide-visual-cards a::after,
.traveller-guide-book-ahead a::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.52));
}

.traveller-guide-book-ahead a::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.48));
}

.traveller-guide-affiliate-note,
.traveller-guide-suggested-order {
	max-width: 680px;
	margin: var(--bcni-space-10, 10px) 0 0;
	color: var(--bcni-grey-dark);
	font-family: var(--bcni-font-navigation);
	font-size: 0.86rem;
	line-height: 1.5;
}

.traveller-guide-suggested-order {
	color: var(--bcni-red);
	font-weight: 700;
}

.traveller-guide-visual-cards span,
.traveller-guide-book-ahead span {
	position: relative;
	z-index: 1;
	align-self: end;
	padding: var(--bcni-space-20);
	color: var(--bcni-white);
}

.traveller-guide-visual-cards strong,
.traveller-guide-visual-cards small,
.traveller-guide-visual-cards em,
.traveller-guide-book-ahead strong,
.traveller-guide-book-ahead small,
.traveller-guide-book-ahead em,
.traveller-guide-book-ahead b {
	display: block;
}

.traveller-guide-visual-cards em {
	width: max-content;
	max-width: 100%;
	margin-bottom: var(--bcni-space-8);
	padding: 0.44rem 0.64rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.traveller-guide-visual-cards strong,
.traveller-guide-book-ahead strong {
	font-size: 1.05rem;
	line-height: 1.2;
}

.traveller-guide-visual-cards small,
.traveller-guide-book-ahead small {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.86rem;
	line-height: 1.42;
}

.traveller-guide-book-ahead em {
	margin-top: var(--bcni-space-10, 10px);
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.78rem;
	font-style: normal;
	line-height: 1.35;
}

.traveller-guide-book-ahead b {
	width: max-content;
	max-width: 100%;
	margin-top: var(--bcni-space-12);
	padding: 0.52rem 0.76rem;
	border-radius: 999px;
	background: var(--bcni-white);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.traveller-guide-booking-choices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-12);
	margin-top: var(--bcni-space-20);
}

.traveller-guide-booking-choices article {
	padding: var(--bcni-space-18, 18px);
	border: 1px solid var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
}

.traveller-guide-booking-choices strong {
	display: block;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.traveller-guide-booking-choices p {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.92rem;
	line-height: 1.45;
}

.traveller-guide-image-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-20);
}

.traveller-guide-image-pair figure,
.traveller-guide-feature-image figure,
.traveller-guide-route-visual {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.traveller-guide-image-pair img,
.traveller-guide-feature-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	filter: saturate(0.94) contrast(1.02);
}

.traveller-guide-feature-image {
	max-width: 1040px;
}

.traveller-guide-feature-image-narrow {
	max-width: 920px;
}

.traveller-guide-route-visual {
	margin-top: var(--bcni-space-24);
}

.traveller-guide-route-summary {
	max-width: 720px;
	margin: var(--bcni-space-20) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.96rem;
	line-height: 1.6;
}

.traveller-guide-route-visual img {
	display: block;
	width: 100%;
	object-fit: cover;
	filter: saturate(0.96) contrast(1.03);
}

.traveller-guide-image-pair figcaption,
.traveller-guide-feature-image figcaption,
.traveller-guide-route-visual figcaption {
	padding: var(--bcni-space-12) var(--bcni-space-16);
	color: var(--bcni-charcoal);
	font-size: 0.9rem;
	line-height: 1.45;
}

.traveller-guide-qa article,
.traveller-guide-link-cards a {
	padding: var(--bcni-space-24);
	border: 1px solid #e3e0dc;
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.traveller-guide-card-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: var(--bcni-space-8);
	border-radius: 50%;
	background: rgba(184, 1, 17, 0.08);
	color: var(--bcni-red);
}

.traveller-guide-card-icon svg {
	display: block;
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.traveller-guide-qa h2,
.traveller-guide-video-section h2,
.traveller-guide-story h2,
.traveller-guide-route h2 {
	margin: var(--bcni-space-8) 0 var(--bcni-space-12);
	color: var(--bcni-black);
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	line-height: 1.1;
}

.traveller-guide-plan-days h2,
.traveller-guide-decision-cards h2,
.traveller-guide-section-header h2 {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-black);
	font-size: clamp(1.55rem, 2.6vw, 2.2rem);
	line-height: 1.1;
}

.traveller-guide-qa p,
.traveller-guide-story p,
.traveller-guide-route p {
	margin: 0;
	color: var(--bcni-charcoal);
	line-height: 1.68;
}

.traveller-guide-plan-days > div,
.traveller-guide-decision-cards > div {
	display: grid;
	gap: var(--bcni-space-16);
	margin-top: var(--bcni-space-24);
}

.traveller-guide-plan-days > div {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.traveller-guide-decision-cards > div {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.traveller-guide-plan-days article,
.traveller-guide-decision-cards article {
	display: grid;
	align-content: start;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-20);
	border: 1px solid var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
}

.traveller-guide-plan-days article {
	border-color: var(--bcni-red);
	background: var(--bcni-red);
	color: var(--bcni-white);
}

.traveller-guide-decision-cards .traveller-guide-card-icon {
	width: 38px;
	height: 38px;
}

.traveller-guide-plan-days h3,
.traveller-guide-decision-cards h3 {
	margin: 0;
	color: var(--bcni-black);
	font-size: clamp(1.08rem, 1.6vw, 1.3rem);
	line-height: 1.18;
}

.traveller-guide-plan-days h3 {
	color: inherit;
}

.traveller-guide-plan-days p,
.traveller-guide-decision-cards p {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.94rem;
	line-height: 1.55;
}

.traveller-guide-plan-days p {
	color: rgba(255, 255, 255, 0.88);
}

.traveller-guide-decision-cards a {
	align-self: end;
	margin-top: var(--bcni-space-8);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.traveller-guide-decision-cards a:hover,
.traveller-guide-decision-cards a:focus {
	color: var(--bcni-red-dark);
}

.traveller-guide-route ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bcni-space-16);
	margin: var(--bcni-space-24) 0;
	padding: 0;
	list-style: none;
	counter-reset: route-stops;
}

.traveller-guide-route li {
	position: relative;
	display: grid;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-20);
	border: 1px solid var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
}

.traveller-guide-route li::before {
	counter-increment: route-stops;
	content: counter(route-stops, decimal-leading-zero);
	width: max-content;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.traveller-guide-route span,
.traveller-guide-route strong {
	display: block;
}

.traveller-guide-route span {
	color: var(--bcni-grey-medium);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.traveller-guide-route strong {
	color: var(--bcni-black);
	font-size: 1.08rem;
	line-height: 1.2;
}

.traveller-guide-route small {
	color: var(--bcni-charcoal);
	font-size: 0.92rem;
	line-height: 1.5;
}

.traveller-guide-route em {
	width: max-content;
	max-width: 100%;
	padding: 0.36rem 0.58rem;
	border-radius: 999px;
	background: rgba(184, 1, 17, 0.08);
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.traveller-guide-mistakes {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(320px, 1fr);
	gap: var(--bcni-space-28);
	align-items: center;
}

.traveller-guide-mistakes figure {
	height: 100%;
	min-height: 320px;
	margin: 0;
	overflow: hidden;
	border-radius: var(--bcni-radius-card);
}

.traveller-guide-mistakes h2 {
	margin: var(--bcni-space-8) 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	line-height: 1.12;
}

.traveller-guide-mistakes ul {
	display: grid;
	gap: var(--bcni-space-12);
	margin: 0;
	padding: 0;
	list-style: none;
}

.traveller-guide-mistakes li {
	padding-left: var(--bcni-space-20);
	border-left: 3px solid var(--bcni-red);
	color: var(--bcni-charcoal);
	font-size: 0.96rem;
	line-height: 1.55;
}

.traveller-guide-video-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
	margin-top: var(--bcni-space-24);
}

.traveller-guide-video-grid figure {
	margin: 0;
}

.traveller-guide-video-grid iframe {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	border: 0;
	border-radius: 18px;
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.traveller-guide-video-grid figcaption {
	margin-top: var(--bcni-space-10, 10px);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.traveller-guide-story {
	max-width: 1040px;
}

.traveller-guide-story article {
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.traveller-guide-story figure {
	float: left;
	width: min(42%, 360px);
	margin: 0 var(--bcni-space-24) var(--bcni-space-16) 0;
	overflow: hidden;
	border-radius: 18px;
}

.traveller-guide-story img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: left center;
}

.traveller-guide-link-cards a {
	display: grid;
	gap: var(--bcni-space-12);
	overflow: hidden;
	border-color: var(--bcni-red);
	background: var(--bcni-red);
	color: var(--bcni-white);
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.traveller-guide-link-cards img {
	width: calc(100% + (var(--bcni-space-24) * 2));
	height: auto;
	min-height: 150px;
	aspect-ratio: 16 / 10;
	margin: calc(var(--bcni-space-24) * -1) calc(var(--bcni-space-24) * -1) var(--bcni-space-12);
	object-fit: cover;
}

.traveller-guide-link-cards strong {
	font-family: var(--bcni-font-display);
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
	line-height: 1.08;
}

.traveller-guide-link-cards small {
	color: rgba(255, 255, 255, 0.84);
	font-size: 0.96rem;
	line-height: 1.55;
}

.traveller-guide-link-cards em {
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.traveller-guide-link-cards a:hover,
.traveller-guide-link-cards a:focus {
	border-color: var(--bcni-red-dark);
	background: var(--bcni-red-dark);
	box-shadow: var(--bcni-shadow-hover);
	transform: translateY(-2px);
}

.airport-faq-list details {
	padding: var(--bcni-space-20);
	border: 1px solid var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
}

.airport-faq-list summary {
	cursor: pointer;
	color: var(--bcni-black);
	font-weight: 700;
	line-height: 1.35;
}

.airport-faq-list details p {
	margin-top: var(--bcni-space-12);
}

/* Brand alignment polish
--------------------------------------------- */
body {
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-size: 16px;
	line-height: 1.62;
}

.site-main {
	background: var(--bcni-white);
}

.discover-section-header {
	max-width: 960px;
	/* --bcni-space-40 is undefined (scale skips 40), which made this invalid and
	   collapsed the gap to 0, pushing the cards/featured image against the intro.
	   Use a defined token for a ~20px gap below the header subtext. */
	margin-bottom: var(--bcni-space-20);
}

.discover-section-header h1 {
	max-width: 16ch;
	font-size: clamp(2.25rem, 4.8vw, 4.4rem);
	line-height: 1.02;
	letter-spacing: 0;
}

.discover-section-header p {
	max-width: 760px;
	color: var(--bcni-charcoal);
	font-size: clamp(0.98rem, 1.35vw, 1.08rem);
	line-height: 1.65;
}

.section-kicker {
	color: var(--bcni-red);
	font-size: 0.74rem;
	letter-spacing: 0.1em;
}

.placeholder-page,
.search-guide-page,
.article-directory,
.about-page,
.contact-page,
.airport-page,
.photo-gallery-page,
.commercial-page,
.planning-page,
.editorial-guide-page:has(.restaurant-guide-hero) {
	background: var(--bcni-white);
}

.discover-category-card,
.visit-section-card,
.placeholder-panel,
.search-empty-panel,
.about-content,
.about-proof-grid div,
.commercial-grid article,
.commercial-cta,
.restaurant-guide-planner,
.restaurant-guide-planner-grid article,
.restaurant-guide-best-for article,
.restaurant-guide-advice,
.restaurant-guide-related,
.restaurant-guide-trust,
.restaurant-guide-neighbourhoods,
.restaurant-guide-table-section,
.restaurant-guide-extra-modules article,
.planning-hero > div,
.planning-tip-grid article,
.route-card,
.contact-panel,
.contact-aside {
	border-color: var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.restaurant-guide-planner-grid > .wp-block-group,
.restaurant-guide-best-for > .wp-block-group,
.restaurant-guide-neighbourhood-grid > .wp-block-group,
.restaurant-guide-extra-modules > .wp-block-group {
	border-color: var(--bcni-border-soft);
	border-radius: var(--bcni-radius-card);
	background: var(--bcni-white);
}

.restaurant-guide-planner-grid article,
.restaurant-guide-trust,
.restaurant-guide-neighbourhood-grid article,
.restaurant-guide-extra-modules article,
.restaurant-guide-planner-grid > .wp-block-group,
.restaurant-guide-best-for > .wp-block-group,
.restaurant-guide-neighbourhood-grid > .wp-block-group,
.restaurant-guide-extra-modules > .wp-block-group,
.about-proof-grid div,
.placeholder-link-grid a {
	background: var(--bcni-white);
}

.discover-category-card,
.home-discover-card,
.home-missed-feature a,
.home-ticket-card {
	border-radius: var(--bcni-radius-card);
}

.discover-category-card strong,
.visit-section-card strong,
.traveller-guide-link-cards strong,
.route-card h2,
.commercial-grid h2,
.commercial-cta h2,
.restaurant-guide-advice h2,
.restaurant-guide-planner h2,
.restaurant-guide-related h2,
.restaurant-guide-trust h2,
.restaurant-guide-neighbourhoods h2,
.restaurant-guide-table-section h2,
.restaurant-guide-extra-modules h2,
.planning-hero h2 {
	font-family: var(--bcni-font-display);
	letter-spacing: 0;
}

.visit-section-card small,
.discover-category-card small,
.traveller-guide-link-cards small,
.restaurant-guide-planner-grid p,
.restaurant-guide-best-for p,
.restaurant-guide-related p,
.restaurant-guide-trust p,
.restaurant-guide-neighbourhood-grid p,
.restaurant-guide-neighbourhood-grid small,
.restaurant-guide-extra-modules p,
.restaurant-guide-extra-modules li,
.restaurant-guide-extra-modules dd,
.planning-tip-grid p,
.route-card p {
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.58;
}

.discover-category-card img,
.home-discover-card img,
.home-missed-feature img,
.home-ticket-card img,
.related-article-card img,
.planning-hero img,
.traveller-guide-banner img,
.traveller-guide-story img {
	filter: saturate(0.94) contrast(1.02);
}

.discover-category-card-overlay,
.home-discover-card-overlay,
.home-missed-feature-overlay,
.home-ticket-card-overlay {
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.24) 46%, rgba(0, 0, 0, 0.72) 100%);
}

.search-guide-form,
.contact-form input,
.contact-form textarea {
	border-color: var(--bcni-border-soft);
	border-radius: var(--bcni-radius-input);
}

.search-guide-form {
	overflow: hidden;
}

.search-guide-form button,
.commercial-cta a,
.restaurant-guide-actions a,
.route-card a,
.traveller-guide-link-cards em {
	letter-spacing: 0.08em;
}

.traveller-guide-link-cards small {
	color: rgba(255, 255, 255, 0.84);
}

.planning-page {
	background: var(--bcni-white);
}

.planning-hero,
.planning-tip-grid,
.route-card-grid {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
}

.planning-hero {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: var(--bcni-space-32);
	align-items: stretch;
}

.planning-hero > div {
	display: grid;
	align-content: center;
	padding: var(--bcni-space-40);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.planning-hero h2 {
	margin: var(--bcni-space-8) 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1;
}

.planning-hero p:not(.section-kicker) {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 1.05rem;
	line-height: 1.7;
}

.planning-hero figure {
	position: relative;
	min-height: 360px;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.planning-hero img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	filter: saturate(0.95) contrast(1.04);
}

.planning-hero figcaption {
	position: absolute;
	right: var(--bcni-space-16);
	bottom: var(--bcni-space-16);
	left: var(--bcni-space-16);
	padding: var(--bcni-space-8) var(--bcni-space-12);
	background: rgba(27, 27, 27, 0.72);
	color: var(--bcni-white);
	font-size: 0.82rem;
	line-height: 1.35;
}

.planning-tip-grid,
.route-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.planning-tip-grid article,
.route-card {
	padding: var(--bcni-space-24);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.planning-tip-grid strong,
.route-card span {
	display: block;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.planning-tip-grid p,
.route-card p {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-charcoal);
	line-height: 1.65;
}

.route-card {
	display: grid;
	align-content: start;
	gap: var(--bcni-space-12);
}

.route-card h2 {
	margin: 0;
	color: var(--bcni-black);
	font-size: clamp(1.35rem, 2.4vw, 1.9rem);
	line-height: 1.1;
}

.route-card a {
	margin-top: var(--bcni-space-8);
	color: var(--bcni-link);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.route-card a:hover,
.route-card a:focus {
	color: var(--bcni-hover);
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.7fr);
	gap: var(--bcni-space-32);
	align-items: start;
}

.contact-panel,
.contact-aside {
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.contact-panel h2,
.contact-aside h2,
.neighbourhood-map-panel h2 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-black);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.contact-form {
	display: grid;
	gap: var(--bcni-space-16);
}

.contact-form label {
	display: grid;
	gap: var(--bcni-space-8);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	border: 1px solid #d6d1ca;
	border-radius: 0;
	background: var(--bcni-white);
	color: var(--bcni-black);
	font-family: var(--bcni-font-body);
	font-size: 1rem;
}

.contact-form input {
	height: 48px;
	padding: 0 var(--bcni-space-16);
}

.contact-form textarea {
	padding: var(--bcni-space-16);
	resize: vertical;
}

.contact-form button {
	justify-self: start;
	min-height: 48px;
	padding: 0 var(--bcni-space-24);
	border: 0;
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-transform: uppercase;
}

.contact-form button:hover,
.contact-form button:focus {
	background: var(--bcni-red-dark);
}

.contact-notice {
	margin: 0 0 var(--bcni-space-24);
	padding: var(--bcni-space-12) var(--bcni-space-16);
	border-left: 4px solid var(--bcni-red);
	background: var(--bcni-ivory);
	color: var(--bcni-charcoal);
}

.contact-notice-success {
	border-left-color: #227a45;
}

.contact-aside {
	display: grid;
	gap: var(--bcni-space-12);
}

.contact-aside a {
	color: var(--bcni-link);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-decoration: none;
}

.airport-hero,
.airport-detail-layout {
	width: min(var(--bcni-container), 100%);
	margin: 0 auto;
}

.airport-hero {
	position: relative;
	order: 1;
	display: block;
	width: min(var(--bcni-site-width), 100%);
	height: clamp(320px, 46.875vw, 600px);
	min-height: 0;
	overflow: hidden;
	border-radius: var(--bcni-radius-hero);
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.airport-hero-copy {
	position: absolute;
	right: auto;
	top: 50%;
	bottom: auto;
	left: max(var(--bcni-space-32), calc((100% - var(--bcni-container)) / 2));
	z-index: 2;
	display: grid;
	align-content: center;
	width: min(560px, calc(100% - var(--bcni-space-64)));
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: translateY(-50%);
}

.airport-hero-copy h1 {
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(2.2rem, 4vw, 4.05rem);
	line-height: 1;
}

.airport-hero-copy > p:last-child {
	margin: 0;
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.45;
}

.airport-hero-media {
	position: relative;
	margin: 0;
	overflow: hidden;
	min-height: inherit;
	border-radius: 0;
}

.airport-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.9) contrast(1.03);
}

.airport-hero-media::after {
	position: absolute;
	inset: 0;
	display: block;
	background: linear-gradient(90deg, rgba(250, 248, 244, 0.92) 0%, rgba(250, 248, 244, 0.72) 31%, rgba(250, 248, 244, 0.12) 58%, rgba(250, 248, 244, 0) 100%);
	content: "";
	pointer-events: none;
}

.airport-visual-grid figcaption {
	position: absolute;
	right: var(--bcni-space-16);
	bottom: var(--bcni-space-16);
	left: var(--bcni-space-16);
	padding: var(--bcni-space-8) var(--bcni-space-12);
	background: rgba(27, 27, 27, 0.72);
	color: var(--bcni-white);
	font-size: 0.82rem;
	line-height: 1.35;
}

.airport-facts-strip,
.airport-name-story,
.airport-transfer-table-section,
.airport-accessibility-panel,
.airport-faq-section,
.airport-visual-grid {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
}

.aerobus-route-section,
.aerobus-airport-boarding,
.metro-l9-route-section,
.taxi-cost-sync-card {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.aerobus-route-section-top {
	order: 2;
	margin-top: var(--bcni-space-48);
	margin-bottom: 0;
}

.aerobus-route-section h2,
.aerobus-airport-boarding h2,
.metro-l9-route-section h2,
.taxi-cost-sync-card h2 {
	margin: 0 0 var(--bcni-space-24);
	color: var(--bcni-black);
	font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.aerobus-airport-boarding,
.taxi-cost-sync-card {
	display: grid;
	grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
	gap: var(--bcni-space-32);
}

.aerobus-airport-boarding ul {
	display: grid;
	gap: var(--bcni-space-12);
	margin: 0;
	padding-left: var(--bcni-space-24);
	color: var(--bcni-charcoal);
	line-height: 1.65;
}

.aerobus-airport-boarding li::marker {
	color: var(--bcni-red);
	font-weight: 700;
}

.aerobus-airport-boarding-image {
	grid-column: 1 / -1;
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--bcni-black);
}

.aerobus-airport-boarding-image img {
	display: block;
	width: 100%;
	height: clamp(260px, 31.25vw, 400px);
	object-fit: cover;
	filter: saturate(0.9) contrast(1.03);
}

.aerobus-airport-boarding-image figcaption {
	position: absolute;
	right: var(--bcni-space-16);
	bottom: var(--bcni-space-16);
	left: var(--bcni-space-16);
	padding: var(--bcni-space-8) var(--bcni-space-12);
	background: rgba(27, 27, 27, 0.72);
	color: var(--bcni-white);
	font-size: 0.82rem;
	line-height: 1.35;
}

.taxi-cost-sync-card {
	display: block;
}

.taxi-cost-sync-card h2 {
	margin-bottom: var(--bcni-space-32);
	font-size: clamp(2rem, 4vw, 3.4rem);
}

.taxi-cost-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.taxi-cost-form label {
	display: grid;
	gap: var(--bcni-space-8);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 1.05rem;
	font-weight: 700;
}

.taxi-cost-form input {
	width: 100%;
	min-height: 70px;
	padding: 0 var(--bcni-space-16);
	border: 1px solid #d6d1ca;
	border-radius: 6px;
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-body);
	font-size: 1.08rem;
}

.taxi-cost-form-wide,
.taxi-cost-form button {
	grid-column: 1 / -1;
}

.taxi-cost-sync-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70px;
	padding: var(--bcni-space-16) var(--bcni-space-24);
	border: 0;
	border-radius: 8px;
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 1.1rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.taxi-cost-sync-link:hover,
.taxi-cost-sync-link:focus {
	background: var(--bcni-red-dark);
	color: var(--bcni-white);
}

.taxi-cost-sync-status {
	display: block;
	margin-top: var(--bcni-space-12);
	color: var(--bcni-grey-medium);
	font-size: 0.86rem;
}

.airport-inline-photo {
	position: relative;
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--bcni-black);
	box-shadow: var(--bcni-shadow-soft);
}

.airport-inline-photo img {
	display: block;
	width: 100%;
	height: clamp(260px, 31.25vw, 400px);
	object-fit: cover;
	filter: saturate(0.9) contrast(1.03);
}

.airport-inline-photo figcaption {
	position: absolute;
	right: var(--bcni-space-16);
	bottom: var(--bcni-space-16);
	left: var(--bcni-space-16);
	padding: var(--bcni-space-8) var(--bcni-space-12);
	background: rgba(27, 27, 27, 0.72);
	color: var(--bcni-white);
	font-size: 0.82rem;
	line-height: 1.35;
}

.aerobus-route-map {
	display: grid;
	gap: var(--bcni-space-64);
}

.aerobus-route-row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: var(--bcni-space-24);
	align-items: center;
}

.aerobus-route-row strong {
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: clamp(1.08rem, 2vw, 1.45rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.aerobus-route-row ol {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--route-stops, 5), minmax(96px, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aerobus-route-row ol::before {
	position: absolute;
	top: 15px;
	right: 42px;
	left: 42px;
	height: 8px;
	border-radius: 999px;
	background: #11aabe;
	content: "";
}

.aerobus-route-row li {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: var(--bcni-space-8);
	color: #067982;
	font-family: var(--bcni-font-navigation);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
}

.aerobus-route-row li b,
.aerobus-route-row li small {
	display: block;
}

.aerobus-route-row li b {
	min-height: 2.2em;
	color: inherit;
	font-size: 0.9rem;
}

.aerobus-route-row li small {
	padding: var(--bcni-space-4) var(--bcni-space-8);
	border: 1px solid #d7edf0;
	background: #f4fcfd;
	color: var(--bcni-charcoal);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
}

.aerobus-route-row li span {
	display: block;
	width: 34px;
	height: 34px;
	border: 7px solid #11aabe;
	border-radius: 999px;
	background: var(--bcni-white);
	box-shadow: 0 0 0 4px var(--bcni-white);
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.aerobus-route-row li:hover span,
.aerobus-route-row li:focus-within span {
	border-color: #e94672;
	background: #ffd8e2;
	transform: scale(1.08);
}

.aerobus-route-row li:hover,
.aerobus-route-row li:focus-within {
	color: var(--bcni-red);
}

.aerobus-route-row li:first-child span,
.aerobus-route-row li:last-child span {
	border-color: var(--bcni-red);
}

.aerobus-route-row:nth-child(3) ol {
	--route-stops: 4;
}

.aerobus-route-row:nth-child(4) ol {
	--route-stops: 6;
}

.aerobus-route-note {
	margin: var(--bcni-space-24) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.55;
}

.metro-l9-map {
	overflow-x: auto;
	padding: var(--bcni-space-24) 0 var(--bcni-space-8);
}

.metro-l9-map ol {
	position: relative;
	display: grid;
	grid-template-columns: repeat(15, minmax(88px, 1fr));
	min-width: 1320px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.metro-l9-map ol::before {
	position: absolute;
	top: 17px;
	right: 44px;
	left: 44px;
	height: 8px;
	border-radius: 999px;
	background: #f58200;
	content: "";
}

.metro-l9-map li {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: var(--bcni-space-8);
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-align: center;
}

.metro-l9-map li span {
	display: block;
	width: 36px;
	height: 36px;
	border: 8px solid #f58200;
	border-radius: 999px;
	background: var(--bcni-white);
	box-shadow: 0 0 0 4px var(--bcni-white);
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.metro-l9-map li:hover span,
.metro-l9-map li:focus-within span {
	border-color: var(--bcni-red);
	background: #ffe3e6;
	transform: scale(1.08);
}

.metro-l9-map li b,
.metro-l9-map li small {
	display: block;
}

.metro-l9-map li b {
	min-height: 2.4em;
	font-size: 0.82rem;
	line-height: 1.1;
}

.metro-l9-map li small {
	min-height: 1.5em;
	padding: var(--bcni-space-4) var(--bcni-space-8);
	border: 1px solid #f2d7b8;
	background: #fff8f0;
	color: var(--bcni-charcoal);
	font-size: 0.72rem;
	line-height: 1.2;
	white-space: nowrap;
}

.metro-l9-map li.is-airport span,
.metro-l9-map li.is-transfer span {
	border-color: var(--bcni-red);
}

.metro-l9-note {
	margin: var(--bcni-space-24) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.55;
}

.airport-facts-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.airport-facts-strip div {
	display: grid;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-24);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.airport-facts-strip strong {
	color: var(--bcni-red);
	font-family: var(--bcni-font-display);
	font-size: clamp(2rem, 4vw, 3.6rem);
	line-height: 0.9;
}

.airport-facts-strip span {
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.airport-facts-strip p,
.airport-name-story p,
.airport-accessibility-grid p {
	margin: 0;
	color: var(--bcni-charcoal);
	line-height: 1.6;
}

.airport-name-story,
.airport-transfer-table-section,
.airport-accessibility-panel,
.airport-faq-section {
	display: grid;
	grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
	gap: var(--bcni-space-32);
	align-items: start;
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.airport-name-story h2,
.airport-transfer-table-section h2,
.airport-accessibility-panel h2,
.airport-faq-section h2 {
	margin: 0;
	color: var(--bcni-black);
	font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.airport-transfer-table-wrap {
	overflow-x: auto;
}

.airport-transfer-table {
	min-width: 820px;
	margin: 0;
	border-collapse: collapse;
	color: var(--bcni-charcoal);
	font-size: 0.95rem;
	line-height: 1.5;
}

.airport-transfer-table th,
.airport-transfer-table td {
	padding: var(--bcni-space-16);
	border-bottom: 1px solid #e3e0dc;
	text-align: left;
	vertical-align: top;
}

.airport-transfer-table thead th {
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.airport-transfer-table tbody th {
	width: 130px;
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
}

.airport-transfer-table a {
	color: var(--bcni-red);
	text-decoration: none;
}

.airport-transfer-table a:hover,
.airport-transfer-table a:focus {
	color: var(--bcni-red-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.airport-accessibility-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.airport-accessibility-grid article {
	padding: var(--bcni-space-24);
	border-left: 4px solid var(--bcni-red);
	background: var(--bcni-ivory);
}

.airport-accessibility-grid h3 {
	margin: 0 0 var(--bcni-space-12);
	color: var(--bcni-black);
	font-size: 1.05rem;
}

.airport-faq-list {
	display: grid;
	gap: var(--bcni-space-16);
}

.airport-faq-list article {
	padding-bottom: var(--bcni-space-16);
	border-bottom: 1px solid #e3e0dc;
}

.airport-faq-list article:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.airport-faq-list h3 {
	margin: 0 0 var(--bcni-space-8);
	color: var(--bcni-black);
	font-size: 1.08rem;
}

.airport-faq-list p {
	margin: 0;
	color: var(--bcni-charcoal);
	line-height: 1.6;
}

.airport-visual-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.airport-visual-grid figure {
	position: relative;
	height: clamp(220px, 23.4375vw, 300px);
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: var(--bcni-shadow-soft);
}

.airport-visual-grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.9) contrast(1.03);
	transition: transform 240ms ease;
}

.airport-visual-grid figure:hover img {
	transform: scale(1.03);
}

.airport-detail-card h2,
.airport-tips-card h2 {
	margin: 0;
	color: var(--bcni-black);
	font-size: clamp(1.7rem, 3vw, 2.6rem);
}

.airport-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.7fr);
	gap: var(--bcni-space-24);
	margin-top: var(--bcni-space-48);
}

.airport-detail-card,
.airport-tips-card {
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.airport-feature-image {
	position: relative;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--bcni-black);
}

.airport-feature-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	filter: saturate(0.9) contrast(1.03);
}

.airport-feature-image figcaption {
	position: absolute;
	right: var(--bcni-space-16);
	bottom: var(--bcni-space-16);
	left: var(--bcni-space-16);
	padding: var(--bcni-space-8) var(--bcni-space-12);
	background: rgba(27, 27, 27, 0.72);
	color: var(--bcni-white);
	font-size: 0.82rem;
	line-height: 1.35;
}

.airport-detail-card > p {
	color: var(--bcni-charcoal);
	font-size: 1.05rem;
	line-height: 1.65;
}

.airport-detail-card ul,
.airport-tips-card ol {
	display: grid;
	gap: var(--bcni-space-12);
	margin: var(--bcni-space-24) 0 0;
	padding-left: var(--bcni-space-24);
	color: var(--bcni-charcoal);
	line-height: 1.6;
}

/* "More information and tickets" is a WP button block. Centre it (at its natural
   width) and give it top spacing. The top margin and centring go on the
   .wp-block-buttons container because WP core block CSS resets the margin on
   .wp-block-button itself. */
.wp-block-buttons:has(.airport-official-link) {
	margin-top: var(--bcni-space-32);
	justify-content: center;
}

/* Pin the button colours for EVERY link state. The global a:visited / a:active
   rules (higher specificity than WP's white button text) were turning the text
   grey — and invisible on the dark button — after a click. Branded red here. */
.airport-official-link .wp-block-button__link,
.airport-official-link .wp-block-button__link:link,
.airport-official-link .wp-block-button__link:visited,
.airport-official-link .wp-block-button__link:active {
	background-color: var(--bcni-red);
	color: #fff;
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}

.airport-official-link .wp-block-button__link:hover,
.airport-official-link .wp-block-button__link:focus {
	background-color: var(--bcni-red-dark);
	color: #fff;
}

.airport-detail-card li::marker,
.airport-tips-card li::marker {
	color: var(--bcni-red);
	font-weight: 700;
}

.airport-related-links {
	display: grid;
	gap: var(--bcni-space-8);
	margin-top: var(--bcni-space-24);
	padding-top: var(--bcni-space-24);
	border-top: 1px solid #e3e0dc;
}

.airport-related-links a {
	color: var(--bcni-link);
	font-family: var(--bcni-font-navigation);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.airport-related-links a:hover,
.airport-related-links a:focus {
	color: var(--bcni-red);
}

.photo-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.photo-gallery-card {
	display: grid;
	overflow: hidden;
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	color: var(--bcni-black);
	text-decoration: none;
	box-shadow: var(--bcni-shadow-soft);
}

.photo-gallery-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: #e3e0dc;
	transition: transform 220ms ease;
}

.photo-gallery-card span {
	padding: var(--bcni-space-12);
}

.photo-gallery-card small {
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	text-transform: uppercase;
}

.photo-gallery-card:hover,
.photo-gallery-card:focus {
	box-shadow: var(--bcni-shadow-hover);
}

.photo-gallery-card:hover img,
.photo-gallery-card:focus img {
	transform: scale(1.03);
}

.neighbourhood-map-panel {
	display: grid;
	grid-template-columns: minmax(240px, 0.55fr) minmax(0, 1fr);
	gap: var(--bcni-space-32);
	align-items: center;
	padding: var(--bcni-space-32);
	border: 1px solid #e3e0dc;
	border-radius: 8px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.neighbourhood-map-panel p {
	margin: 0;
	color: var(--bcni-charcoal);
	line-height: 1.6;
}

.neighbourhood-map {
	display: block;
	width: 100%;
	height: auto;
	padding: var(--bcni-space-8);
	border: 1px solid #e3e0dc;
	background:
		linear-gradient(90deg, rgba(35, 31, 32, 0.035) 1px, transparent 1px),
		linear-gradient(rgba(35, 31, 32, 0.035) 1px, transparent 1px),
		#f5f3ef;
	background-size: 28px 28px;
}

.neighbourhood-map-sea {
	fill: #d8e6ee;
	stroke: #b8ccd8;
	stroke-width: 2;
}

.neighbourhood-map-zone {
	stroke: var(--bcni-white);
	stroke-linejoin: round;
	stroke-width: 3.5;
	transition: fill 180ms ease, filter 180ms ease, transform 180ms ease;
	transform-box: fill-box;
	transform-origin: center;
}

.neighbourhood-map-zone-central {
	fill: var(--bcni-red);
	fill-opacity: 0.88;
}

.neighbourhood-map-zone-eixample {
	fill: var(--bcni-red-dark);
	fill-opacity: 0.78;
}

.neighbourhood-map-zone-gracia {
	fill: #a66558;
	fill-opacity: 0.88;
}

.neighbourhood-map-zone-south {
	fill: var(--bcni-charcoal);
	fill-opacity: 0.82;
}

.neighbourhood-map-zone-west {
	fill: var(--bcni-grey-medium);
	fill-opacity: 0.9;
}

.neighbourhood-map-zone-upper-west {
	fill: #7a7470;
	fill-opacity: 0.9;
}

.neighbourhood-map-zone-upper-centre {
	fill: #b98778;
	fill-opacity: 0.9;
}

.neighbourhood-map-zone-north {
	fill: #4b4643;
	fill-opacity: 0.9;
}

.neighbourhood-map-zone-east {
	fill: #8d8580;
	fill-opacity: 0.9;
}

.neighbourhood-map-zone-coast {
	fill: #5f7787;
	fill-opacity: 0.9;
}

.neighbourhood-map-coast {
	fill: none;
	stroke: #6d95aa;
	stroke-opacity: 0.85;
	stroke-linecap: round;
	stroke-width: 5;
}

.neighbourhood-map-label {
	fill: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	pointer-events: none;
	text-anchor: middle;
	dominant-baseline: middle;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.neighbourhood-map-zone:hover,
.neighbourhood-map a:focus .neighbourhood-map-zone {
	filter: saturate(1.15) contrast(1.1);
	transform: scale(1.025);
}

@media screen and (max-width: 64em) {

	.article-card-grid,
	.related-articles-grid,
	.discover-category-grid,
	.restaurant-editorial-related-grid,
	.visit-section-grid,
	.commercial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.article-single-layout {
		grid-template-columns: 1fr;
		gap: var(--bcni-space-48);
	}

	.placeholder-link-grid,
	.article-card-grid-compact,
	.home-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-layout,
	.restaurant-guide-planner,
	.restaurant-guide-detail-layout,
	.planning-hero,
	.airport-detail-layout,
	.airport-name-story,
	.airport-transfer-table-section,
	.aerobus-route-row,
	.aerobus-airport-boarding,
	.metro-l9-route-section,
	.taxi-cost-sync-card,
	.airport-accessibility-panel,
	.airport-faq-section,
	.neighbourhood-map-panel {
		grid-template-columns: 1fr;
	}

	.airport-facts-strip,
	.restaurant-guide-planner-grid,
	.restaurant-guide-best-for,
	.restaurant-guide-neighbourhood-grid,
	.restaurant-guide-extra-modules,
	.traveller-guide-qa,
	.traveller-guide-video-grid,
	.traveller-guide-link-cards,
	.traveller-guide-visual-cards > div,
	.traveller-guide-book-ahead > div,
	.traveller-guide-booking-choices,
	.traveller-guide-image-pair,
	.traveller-guide-route ol,
	.traveller-guide-plan-days > div,
	.traveller-guide-decision-cards > div,
	.planning-tip-grid,
	.route-card-grid,
	.airport-accessibility-grid,
	.airport-visual-grid,
	.photo-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.airport-hero-copy {
		left: var(--bcni-space-32);
	}

	.aerobus-route-map {
		overflow-x: auto;
	}

	.aerobus-route-row ol {
		min-width: 720px;
	}

	.article-single-aside {
		position: static;
	}

	.restaurant-guide-related {
		position: static;
	}

	.traveller-guide-header h1 {
		white-space: normal;
	}

	.traveller-guide-intro-summary {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 42em) {

	.article-index,
	.article-single-page {
		width: min(100% - 2rem, var(--bcni-container));
		padding-top: var(--bcni-space-48);
	}

	.article-card-grid,
	.related-articles-grid,
	.discover-category-grid,
	.restaurant-editorial-related-grid,
	.visit-section-grid,
	.commercial-grid,
	.restaurant-guide-planner-grid,
	.restaurant-guide-best-for,
	.restaurant-guide-neighbourhood-grid,
	.restaurant-guide-extra-modules,
	.traveller-guide-qa,
	.traveller-guide-video-grid,
	.traveller-guide-link-cards,
	.traveller-guide-visual-cards > div,
	.traveller-guide-book-ahead > div,
	.traveller-guide-booking-choices,
	.traveller-guide-image-pair,
	.traveller-guide-route ol,
	.traveller-guide-plan-days > div,
	.traveller-guide-decision-cards > div,
	.planning-tip-grid,
	.route-card-grid,
	.home-trust,
	.home-trust-grid,
	.about-proof-grid {
		grid-template-columns: 1fr;
	}

	.placeholder-link-grid,
	.article-card-grid-compact {
		grid-template-columns: 1fr;
	}

	.airport-facts-strip,
	.airport-accessibility-grid,
	.airport-visual-grid,
	.photo-gallery-grid {
		grid-template-columns: 1fr;
	}

	.airport-hero-copy,
	.airport-detail-card,
	.airport-tips-card,
	.restaurant-guide-planner,
	.restaurant-guide-advice,
	.restaurant-guide-related,
	.restaurant-guide-trust,
	.restaurant-guide-neighbourhoods,
	.restaurant-guide-table-section,
	.traveller-guide-intro,
	.traveller-guide-summary,
	.traveller-guide-video-section,
	.traveller-guide-plan-days,
	.traveller-guide-decision-cards,
	.traveller-guide-book-ahead,
	.traveller-guide-mistakes,
	.traveller-guide-story article,
	.traveller-guide-route,
	.planning-hero > div,
	.aerobus-route-section {
		padding: var(--bcni-space-24);
	}

	.restaurant-editorial-page .discover-section-header,
	.restaurant-editorial-hero,
	.restaurant-editorial-nav,
	.restaurant-editorial-content,
	.restaurant-editorial-featured,
	.restaurant-editorial-related,
	.restaurant-editorial-back {
		width: calc(100% - 32px);
	}

	.restaurant-editorial-hero figure {
		height: clamp(250px, 70vw, 380px);
	}

	.restaurant-editorial-card {
		min-height: 260px;
	}

	.traveller-guide-banner figure {
		height: clamp(220px, 64vw, 320px);
	}

	.traveller-guide-banner--things-to-do {
		width: calc(100% - 32px);
		max-width: 720px;
		margin-top: var(--bcni-space-24);
	}

	.traveller-guide-banner--things-to-do figure {
		height: clamp(210px, 58vw, 300px);
	}

	.traveller-guide-story figure {
		float: none;
		width: 100%;
		margin: 0 0 var(--bcni-space-20);
	}

	.traveller-guide-image-pair img,
	.traveller-guide-feature-image img {
		min-height: 240px;
	}

	.traveller-guide-route-summary {
		font-size: 0.92rem;
	}

	.traveller-guide-visual-cards a,
	.traveller-guide-book-ahead a {
		min-height: 210px;
	}

	.traveller-guide-mistakes {
		grid-template-columns: 1fr;
	}

	.traveller-guide-mistakes figure {
		min-height: 240px;
	}

	.taxi-cost-form {
		grid-template-columns: 1fr;
	}

	.airport-hero {
		height: clamp(420px, 120vw, 560px);
	}

	.airport-hero-copy {
		left: var(--bcni-space-24);
		width: calc(100% - var(--bcni-space-48));
	}

	.neighbourhood-map-label {
		font-size: 24px;
	}

	.search-guide-form {
		display: grid;
	}

	.search-guide-form button {
		min-height: 48px;
	}

	.article-card-body {
		padding: var(--bcni-space-16);
	}
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

.site-footer {
	padding: var(--bcni-space-64) var(--bcni-page-gutter) var(--bcni-space-32);
	background: var(--bcni-black);
	color: rgba(255, 255, 255, 0.78);
	text-align: left;
}

.site-footer-inner {
	display: grid;
	grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(130px, 1fr));
	gap: var(--bcni-space-32);
	width: min(var(--bcni-container), 100%);
	margin: 0 auto;
}

.site-footer h2 {
	margin: 0 0 var(--bcni-space-16);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.footer-brand p {
	max-width: 360px;
	margin: 0;
	line-height: 1.65;
}

.footer-links,
.footer-social {
	display: grid;
	align-content: start;
	gap: var(--bcni-space-8);
}

.footer-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-8);
}

.footer-social-links a {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
}

.footer-social-links svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.84);
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--bcni-white);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.footer-social-links a:hover,
.footer-social-links a:focus {
	border-color: var(--bcni-white);
	text-decoration: none;
}

.site-info {
	width: min(var(--bcni-container), 100%);
	margin: var(--bcni-space-48) auto 0;
	padding-top: var(--bcni-space-24);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	font-size: 0.88rem;
}

.footer-site-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bcni-space-12) var(--bcni-space-24);
}

.footer-site-links strong {
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media screen and (max-width: 64em) {

	.site-footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 42em) {

	.site-footer-inner {
		grid-template-columns: 1fr;
	}

	.site-info {
		display: grid;
	}
}

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
/* Premium attraction article layout. */
.entry-content .park-guell-magazine {
	--pgm-border: rgba(27, 27, 27, 0.12);
	--pgm-muted: #6f6a64;
	width: min(var(--bcni-container), 100%);
	margin: 0 auto;
	color: var(--bcni-black);
}

.entry-content .park-guell-magazine > * {
	margin-block-start: 0;
}

.park-guell-magazine a {
	color: var(--bcni-black);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.park-guell-magazine a:hover,
.park-guell-magazine a:focus {
	color: var(--bcni-red);
}

.park-guell-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.86fr);
	gap: clamp(1.5rem, 3.4vw, 3.75rem);
	align-items: center;
	padding: clamp(1rem, 2.6vw, 1.75rem) 0 clamp(1.75rem, 4vw, 3.5rem);
	border-bottom: 1px solid var(--pgm-border);
}

.park-guell-hero-copy {
	max-width: 620px;
}

.park-guell-kicker,
.park-guell-nav span,
.park-guell-card-kicker,
.park-guell-quick-list strong,
.park-guell-ticket-note {
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.park-guell-kicker,
.park-guell-card-kicker,
.park-guell-ticket-note {
	color: var(--bcni-red);
}

.park-guell-hero h2 {
	margin: 0.45rem 0 0;
	font-family: var(--bcni-font-display);
	font-size: clamp(1.9rem, 3.25vw, 3.45rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
}

.park-guell-lede {
	margin: clamp(1rem, 2vw, 1.5rem) 0 0;
	color: var(--bcni-charcoal);
	font-size: clamp(1.08rem, 1.8vw, 1.34rem);
	line-height: 1.62;
}

.park-guell-hero-media,
.park-guell-section figure,
.park-guell-sidebar-card figure,
.park-guell-inline-gallery figure {
	margin: 0;
	overflow: hidden;
	border-radius: 16px;
	background: var(--bcni-grey-light);
}

.park-guell-hero-media {
	aspect-ratio: 4 / 5;
	max-height: 560px;
}

.park-guell-hero-media img,
.park-guell-section img,
.park-guell-sidebar-card img,
.park-guell-inline-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.park-guell-hero-media figcaption,
.park-guell-section figcaption,
.park-guell-inline-gallery figcaption {
	margin-top: 0.7rem;
	color: var(--pgm-muted);
	font-family: var(--bcni-font-navigation);
	font-size: 0.78rem;
	line-height: 1.45;
}

.park-guell-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	padding: clamp(1rem, 2vw, 1.25rem) 0;
	border-bottom: 1px solid var(--pgm-border);
}

.park-guell-nav span {
	display: inline-flex;
	align-items: center;
	color: var(--pgm-muted);
}

.park-guell-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0.55rem 0.78rem;
	border: 1px solid rgba(184, 1, 17, 0.18);
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
}

.park-guell-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
	margin-top: clamp(2rem, 5vw, 4rem);
}

.park-guell-summary-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
	padding: clamp(1.1rem, 2.6vw, 1.7rem) 0;
	border-bottom: 1px solid var(--pgm-border);
}

.park-guell-summary-strip div {
	padding-right: var(--bcni-space-16);
	border-right: 1px solid var(--pgm-border);
}

.park-guell-summary-strip div:last-child {
	border-right: 0;
}

.park-guell-summary-strip strong,
.park-guell-faq summary {
	display: block;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.park-guell-summary-strip span {
	display: block;
	margin-top: 0.35rem;
	color: var(--bcni-black);
	font-size: 0.98rem;
	line-height: 1.45;
}

.park-guell-story {
	display: grid;
	gap: clamp(2.2rem, 4vw, 4.5rem);
	min-width: 0;
}

.park-guell-section {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(260px, 0.58fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.park-guell-section:nth-child(even) figure {
	order: -1;
}

.park-guell-section-copy {
	max-width: 680px;
}

.park-guell-section h2,
.park-guell-ticket-panel h2,
.park-guell-final h2 {
	margin: 0;
	font-family: var(--bcni-font-display);
	font-size: clamp(1.55rem, 2.35vw, 2.35rem);
	letter-spacing: 0;
	line-height: 1.12;
}

.park-guell-section p,
.park-guell-ticket-panel p,
.park-guell-final p,
.park-guell-quick-list li {
	color: var(--bcni-charcoal);
	font-size: 1rem;
	line-height: 1.72;
}

.park-guell-section p,
.park-guell-final p {
	margin: 1rem 0 0;
}

.park-guell-section figure {
	aspect-ratio: 4 / 3;
}

.park-guell-section.is-portrait figure {
	aspect-ratio: 4 / 5;
}

.park-guell-section.is-wide {
	grid-template-columns: 1fr;
}

.park-guell-section.is-wide figure {
	aspect-ratio: 16 / 9;
	max-height: 520px;
}

.park-guell-pull {
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-left: 4px solid var(--bcni-red);
	background: var(--bcni-surface-soft);
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.45rem, 2.6vw, 2.35rem);
	line-height: 1.18;
}

.park-guell-inline-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.park-guell-inline-gallery figure {
	aspect-ratio: 1 / 1;
}

.park-guell-sidebar {
	position: sticky;
	top: calc(var(--header-height) + 0.9rem);
	display: grid;
	gap: var(--bcni-space-16);
	max-height: calc(100vh - var(--header-height) - 1.8rem);
	overflow-y: auto;
	padding-right: 0.25rem;
	scrollbar-width: thin;
}

.park-guell-sidebar-card,
.park-guell-quick-list,
.park-guell-ticket-panel {
	border: 1px solid var(--pgm-border);
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.park-guell-sidebar-card {
	overflow: hidden;
}

.park-guell-sidebar-card figure {
	aspect-ratio: 16 / 9;
	border-radius: 0;
}

.park-guell-sidebar-body,
.park-guell-quick-list,
.park-guell-ticket-panel {
	padding: var(--bcni-space-20);
}

.park-guell-sidebar-card h3,
.park-guell-quick-list h3 {
	margin: 0.35rem 0 0;
	font-family: var(--bcni-font-display);
	font-size: 1.18rem;
	letter-spacing: 0;
	line-height: 1.1;
}

.park-guell-sidebar-card p {
	margin: 0.75rem 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.9rem;
	line-height: 1.48;
}

.park-guell-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: var(--bcni-space-16);
	padding: 0.78rem 1.05rem;
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-red);
	color: var(--bcni-white) !important;
	font-family: var(--bcni-font-navigation);
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
}

.park-guell-button:hover,
.park-guell-button:focus {
	background: var(--bcni-red-dark);
	color: var(--bcni-white) !important;
}

.park-guell-quick-list ul,
.park-guell-ticket-panel ul {
	margin: var(--bcni-space-16) 0 0;
	padding: 0;
	list-style: none;
}

.park-guell-quick-list li,
.park-guell-ticket-panel li {
	padding: 0.68rem 0;
	border-top: 1px solid var(--pgm-border);
}

.park-guell-quick-list li:first-child,
.park-guell-ticket-panel li:first-child {
	border-top: 0;
}

.park-guell-quick-list strong {
	display: block;
	margin-bottom: 0.25rem;
	color: var(--bcni-red);
}

.park-guell-ticket-panel {
	background: var(--bcni-surface-soft);
}

.park-guell-ticket-panel .park-guell-button {
	margin-top: var(--bcni-space-20);
}

.park-guell-final {
	max-width: 760px;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 3rem) 0;
	text-align: center;
}

.park-guell-faq {
	display: grid;
	gap: var(--bcni-space-12);
	max-width: 860px;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--pgm-border);
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.park-guell-faq h2 {
	margin: 0 0 var(--bcni-space-8);
	font-family: var(--bcni-font-display);
	font-size: clamp(1.55rem, 2.35vw, 2.35rem);
	line-height: 1.12;
}

.park-guell-faq details {
	padding: var(--bcni-space-16) 0;
	border-top: 1px solid var(--pgm-border);
}

.park-guell-faq details:first-of-type {
	border-top: 0;
}

.park-guell-faq summary {
	cursor: pointer;
}

.park-guell-faq p {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.98rem;
	line-height: 1.65;
}

@media (max-width: 980px) {
	.park-guell-hero,
	.park-guell-layout,
	.park-guell-section,
	.park-guell-summary-strip {
		grid-template-columns: 1fr;
	}

	.park-guell-summary-strip div {
		padding-right: 0;
		padding-bottom: var(--bcni-space-16);
		border-right: 0;
		border-bottom: 1px solid var(--pgm-border);
	}

	.park-guell-summary-strip div:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.park-guell-sidebar {
		position: static;
		order: -1;
	}

	.park-guell-section:nth-child(even) figure {
		order: 0;
	}

	.park-guell-section figure,
	.park-guell-section.is-portrait figure,
	.park-guell-hero-media {
		aspect-ratio: 16 / 11;
		max-height: 420px;
	}
}

@media (max-width: 640px) {
	.entry-content .park-guell-magazine {
		width: 100%;
	}

	.park-guell-hero {
		padding-top: 0;
	}

	.park-guell-hero-media,
	.park-guell-section figure,
	.park-guell-section.is-wide figure {
		aspect-ratio: 4 / 3;
		max-height: 320px;
		border-radius: 12px;
	}

	.park-guell-nav {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 0.85rem;
	}

	.park-guell-nav a,
	.park-guell-nav span {
		flex: 0 0 auto;
	}

	.park-guell-inline-gallery {
		grid-template-columns: 1fr;
	}

	.park-guell-pull {
		font-size: 1.45rem;
	}
}

/* Top Attractions editorial hub. */
.top-attractions-master {
	width: min(calc(100% - clamp(2rem, 6vw, 7rem)), 1500px);
	margin: 0 auto;
	color: var(--bcni-black);
}

.top-attractions-master h2,
.top-attractions-master h3 {
	font-family: var(--bcni-font-display);
	letter-spacing: 0;
}

.top-attractions-themed-page .discover-section-header {
	width: min(calc(100% - clamp(2rem, 6vw, 7rem)), 1500px);
	max-width: 1500px;
}

.top-attractions-themed-page .discover-section-header h1,
.top-attractions-themed-page .discover-page-content h2,
.top-attractions-themed-page .discover-page-content h3,
.top-attractions-themed-page .traveller-guide-section-header h2,
.top-attractions-themed-page .airport-faq-section h2 {
	font-family: var(--bcni-font-display);
	letter-spacing: 0;
}

.top-attractions-themed-page .discover-section-header h1 {
	max-width: 1180px;
	font-size: clamp(2.35rem, 4.6vw, 5.2rem);
	line-height: 0.98;
}

.top-attractions-themed-page .discover-section-header p {
	max-width: 840px;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	line-height: 1.62;
}

.top-attractions-themed-page .discover-page-content,
.top-attractions-themed-page .traveller-guide-intro-summary,
.top-attractions-themed-page .traveller-guide-best-for,
.top-attractions-themed-page .traveller-guide-qa,
.top-attractions-themed-page .restaurant-guide-advice-list,
.top-attractions-themed-page .traveller-guide-plan-days,
.top-attractions-themed-page .traveller-guide-booking-choices,
.top-attractions-themed-page .airport-faq-section,
.top-attractions-themed-page .traveller-guide-link-cards {
	width: min(calc(100% - clamp(2rem, 6vw, 7rem)), 1500px);
	max-width: 1500px;
}

.traveller-guide-banner--things-to-do.top-attractions-hero-banner {
	width: min(calc(100% - clamp(2rem, 6vw, 7rem)), 1500px);
	max-width: 1500px;
	margin-top: clamp(1.75rem, 4vw, 3.5rem);
}

.traveller-guide-banner--things-to-do.top-attractions-hero-banner figure {
	height: clamp(360px, 42vw, 620px);
	border-radius: 8px;
}

.traveller-guide-banner--things-to-do.top-attractions-hero-banner img {
	object-position: center 38%;
}

.top-attractions-themed-page .traveller-guide-summary,
.top-attractions-themed-page .traveller-guide-plan-days,
.top-attractions-themed-page .traveller-guide-booking-choices,
.top-attractions-themed-page .airport-faq-section {
	border-radius: 8px;
	box-shadow: none;
}

.top-attractions-themed-page .traveller-guide-qa article,
.top-attractions-themed-page .traveller-guide-link-cards a {
	border-radius: 8px;
	box-shadow: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.top-attractions-themed-page .traveller-guide-qa article:hover,
.top-attractions-themed-page .traveller-guide-link-cards a:hover,
.top-attractions-themed-page .traveller-guide-link-cards a:focus {
	border-color: rgba(184, 1, 17, 0.22);
	box-shadow: 0 12px 28px rgba(27, 27, 27, 0.06);
	transform: translateY(-3px);
}

.top-attractions-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.28fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.top-attractions-main {
	min-width: 0;
}

.top-attractions-main .discover-page-content,
.top-attractions-main .traveller-guide-intro-summary,
.top-attractions-main .traveller-guide-best-for,
.top-attractions-main .traveller-guide-qa,
.top-attractions-main .restaurant-guide-advice-list,
.top-attractions-main .traveller-guide-plan-days,
.top-attractions-main .traveller-guide-booking-choices,
.top-attractions-main .airport-faq-section,
.top-attractions-main .traveller-guide-link-cards,
.top-attractions-main .top-attractions-featured,
.top-attractions-main .top-attractions-related,
.top-attractions-main .top-attractions-faq {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.top-attractions-hub > section:first-child,
.top-attractions-main .discover-page-content > *:first-child {
	margin-top: 0;
}

.top-attractions-hub .top-attractions-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 0.42fr);
	gap: var(--bcni-space-24);
	align-items: end;
	margin-top: 0;
	padding-bottom: var(--bcni-space-24);
	border-bottom: 1px solid rgba(27, 27, 27, 0.1);
}

.top-attractions-hub .top-attractions-hero h2 {
	max-width: 820px;
	margin: 0.35rem 0 0;
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 1.02;
}

.top-attractions-hub .top-attractions-lede {
	max-width: 760px;
	margin: var(--bcni-space-12) 0 0;
	color: var(--bcni-charcoal);
	font-size: clamp(1rem, 1.25vw, 1.1rem);
	line-height: 1.62;
}

.top-attractions-hero-note {
	padding: var(--bcni-space-20);
	border: 1px solid rgba(27, 27, 27, 0.1);
	border-radius: 8px;
	background: var(--bcni-white);
}

.top-attractions-hero-note strong {
	display: block;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.top-attractions-hero-note p {
	margin: var(--bcni-space-8) 0 0;
	color: var(--bcni-charcoal);
	font-size: 0.92rem;
	line-height: 1.5;
}

.top-attractions-mood-strip {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bcni-space-8);
	margin-top: var(--bcni-space-24);
}

.top-attractions-mood-strip span {
	padding: 0.68rem 0.82rem;
	border: 1px solid rgba(184, 1, 17, 0.18);
	border-radius: 999px;
	background: var(--bcni-white);
	color: var(--bcni-charcoal);
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.top-attractions-card p,
.top-attractions-combination-grid p,
.top-attractions-ticket-sidebar p,
.top-attractions-related-card small,
.top-attractions-faq p {
	color: var(--bcni-charcoal);
	line-height: 1.62;
}

.top-attractions-kicker,
.top-attractions-card-meta,
.top-attractions-faq summary {
	font-family: var(--bcni-font-navigation);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.top-attractions-kicker,
.top-attractions-card-meta,
.top-attractions-faq summary {
	color: var(--bcni-red);
}

.top-attractions-featured {
	margin-top: clamp(2rem, 5vw, 4.5rem);
}

.top-attractions-section-head {
	max-width: 780px;
	margin-bottom: var(--bcni-space-24);
}

.top-attractions-section-head h2 {
	margin: 0.35rem 0 0;
	font-size: clamp(1.7rem, 2.6vw, 2.55rem);
	line-height: 1.1;
}

.top-attractions-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.1rem, 2vw, 1.5rem);
}

.top-attractions-card {
	min-width: 0;
}

.top-attractions-card a,
.top-attractions-card > .wp-block-group {
	display: grid;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(27, 27, 27, 0.08);
	border-radius: 8px;
	background: var(--bcni-white);
	color: inherit;
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.top-attractions-card a:hover,
.top-attractions-card a:focus,
.top-attractions-card > .wp-block-group:hover,
.top-attractions-card > .wp-block-group:focus-within {
	border-color: rgba(184, 1, 17, 0.22);
	box-shadow: 0 12px 28px rgba(27, 27, 27, 0.06);
	transform: translateY(-3px);
}

.top-attractions-card figure {
	margin: 0;
	background: var(--bcni-grey-light);
}

.top-attractions-card figure:empty {
	min-height: 220px;
}

.top-attractions-card img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.top-attractions-card-body,
.top-attractions-card .top-attractions-card-body.wp-block-group {
	display: flex;
	flex-direction: column;
	min-height: 285px;
	padding: clamp(1rem, 2vw, 1.25rem);
}

.top-attractions-card h3 {
	margin: 0.35rem 0 0;
	color: var(--bcni-black);
	font-size: clamp(1.2rem, 1.45vw, 1.48rem);
	line-height: 1.08;
}

.top-attractions-card p {
	margin: var(--bcni-space-10, 10px) 0 var(--bcni-space-12);
	font-size: 0.9rem;
	line-height: 1.48;
}

.top-attractions-card small {
	display: block;
	margin-top: var(--bcni-space-8);
	color: var(--bcni-charcoal);
	font-size: 0.78rem;
	line-height: 1.38;
}

.top-attractions-card small strong {
	color: var(--bcni-black);
	font-family: var(--bcni-font-navigation);
	font-weight: 800;
}

.top-attractions-card em {
	display: inline-flex;
	width: max-content;
	max-width: 100%;
	margin-top: auto;
	padding-bottom: 0.18rem;
	border-bottom: 1px solid currentColor;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.top-attractions-combinations {
	margin-top: clamp(2rem, 4vw, 3.25rem);
}

.top-attractions-combination-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bcni-space-16);
}

.top-attractions-combination-grid article {
	padding: var(--bcni-space-20);
	border-top: 1px solid rgba(27, 27, 27, 0.12);
	background: transparent;
}

.top-attractions-combination-grid h3 {
	margin: 0;
	color: var(--bcni-black);
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.14;
}

.top-attractions-combination-grid p {
	margin: var(--bcni-space-10, 10px) 0 0;
	font-size: 0.92rem;
}

.top-attractions-ticket-sidebar {
	position: sticky;
	top: calc(var(--header-height) + 1.25rem);
	overflow: hidden;
	width: min(100%, 352px);
	justify-self: end;
	padding: clamp(1rem, 2vw, 1.35rem);
	border: 1px solid rgba(27, 27, 27, 0.1);
	border-radius: 8px;
	background: var(--bcni-white);
}

.top-attractions-ticket-sidebar h2 {
	margin: 0;
	font-size: clamp(1.28rem, 1.6vw, 1.62rem);
	line-height: 1.08;
}

.top-attractions-ticket-sidebar p {
	margin: var(--bcni-space-8) 0 0;
	font-size: 0.9rem;
	line-height: 1.45;
}

.top-attractions-ticket-kicker {
	margin: 0 0 var(--bcni-space-8) !important;
	color: var(--bcni-red) !important;
	font-family: var(--bcni-font-navigation);
	font-size: 0.72rem !important;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

.top-attractions-ticket-list {
	display: grid;
	margin-top: var(--bcni-space-20);
}

.top-attractions-ticket-list a {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: var(--bcni-space-12);
	align-items: center;
	min-height: 112px;
	overflow: hidden;
	padding: var(--bcni-space-14, 14px) 0;
	border-top: 1px solid rgba(27, 27, 27, 0.1);
	color: var(--bcni-black);
	text-decoration: none;
	transition: color 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.top-attractions-ticket-list .wp-block-group > a {
	margin: 0;
}

.top-attractions-ticket-list a:first-child {
	border-top: 0;
	padding-top: 0;
}

.top-attractions-ticket-list a:hover,
.top-attractions-ticket-list a:focus {
	color: var(--bcni-red);
	border-color: rgba(184, 1, 17, 0.22);
	transform: translateX(2px);
}

.top-attractions-ticket-list img {
	display: block;
	width: 86px;
	height: 86px;
	border-radius: 8px;
	object-fit: cover;
	filter: saturate(0.95) contrast(1.03);
}

.top-attractions-ticket-list a:first-child {
	grid-template-columns: 96px minmax(0, 1fr);
	min-height: 122px;
}

.top-attractions-ticket-list a:first-child img {
	width: 96px;
	height: 96px;
}

.top-attractions-ticket-list span {
	display: grid;
	gap: 0.38rem;
	min-width: 0;
}

.top-attractions-ticket-list b {
	width: max-content;
	max-width: 100%;
	color: var(--bcni-red);
	font-family: var(--bcni-font-navigation);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

.top-attractions-ticket-list strong {
	font-family: var(--bcni-font-navigation);
	font-size: 0.95rem;
	line-height: 1.18;
}

.top-attractions-ticket-list small {
	color: var(--bcni-charcoal);
	font-size: 0.78rem;
	line-height: 1.28;
}

.top-attractions-ticket-list em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	margin-top: var(--bcni-space-4);
	padding: 0.72rem 0.85rem;
	border-radius: var(--bcni-radius-button);
	background: var(--bcni-red);
	color: var(--bcni-white);
	font-family: var(--bcni-font-navigation);
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	transition: background 180ms ease, transform 180ms ease;
}

.top-attractions-ticket-list a:hover em,
.top-attractions-ticket-list a:focus em {
	background: var(--bcni-red-dark);
}

.top-attractions-ticket-list a:active em {
	transform: translateY(1px);
}

.top-attractions-ticket-disclosure {
	margin-top: var(--bcni-space-16) !important;
	padding-top: var(--bcni-space-12);
	border-top: 1px solid rgba(27, 27, 27, 0.08);
	color: #707070 !important;
	font-size: 0.75rem !important;
	line-height: 1.35 !important;
}

.top-attractions-related,
.top-attractions-faq {
	margin-top: clamp(2rem, 5vw, 4rem);
}

.top-attractions-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcni-space-24);
}

.top-attractions-related-card {
	display: grid;
	overflow: hidden;
	border: 1px solid rgba(27, 27, 27, 0.12);
	border-radius: 18px;
	background: var(--bcni-white);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--bcni-shadow-soft);
}

.top-attractions-related-card img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.top-attractions-related-card span {
	display: grid;
	gap: var(--bcni-space-8);
	padding: var(--bcni-space-20);
}

.top-attractions-related-card strong {
	color: var(--bcni-black);
	font-family: var(--bcni-font-display);
	font-size: 1.25rem;
	line-height: 1.12;
}

.top-attractions-related-card small {
	font-size: 0.92rem;
}

.top-attractions-faq {
	display: grid;
	gap: var(--bcni-space-12);
	max-width: 900px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgba(27, 27, 27, 0.12);
	border-radius: 18px;
	background: var(--bcni-white);
	box-shadow: var(--bcni-shadow-soft);
}

.top-attractions-faq h2 {
	margin: 0;
	font-size: clamp(1.7rem, 2.6vw, 2.55rem);
}

.top-attractions-faq details {
	padding: var(--bcni-space-16) 0;
	border-top: 1px solid rgba(27, 27, 27, 0.12);
}

.top-attractions-faq details:first-of-type {
	border-top: 0;
}

.top-attractions-faq summary {
	cursor: pointer;
}

@media (max-width: 1080px) {
	.top-attractions-layout,
	.top-attractions-related-grid {
		grid-template-columns: 1fr;
	}

	.top-attractions-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.top-attractions-hub .top-attractions-hero {
		grid-template-columns: 1fr;
	}

	.top-attractions-combination-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.top-attractions-ticket-sidebar {
		position: static;
		width: 100%;
		justify-self: stretch;
	}

	.top-attractions-related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.top-attractions-card-grid,
	.top-attractions-combination-grid,
	.top-attractions-related-grid {
		grid-template-columns: 1fr;
	}

	.traveller-guide-banner--things-to-do.top-attractions-hero-banner {
		width: calc(100% - 32px);
	}

	.traveller-guide-banner--things-to-do.top-attractions-hero-banner figure {
		height: clamp(260px, 72vw, 380px);
	}

	.top-attractions-card-body {
		min-height: 0;
	}

	.top-attractions-ticket-list a {
		grid-template-columns: 88px minmax(0, 1fr);
		min-height: 112px;
	}

	.top-attractions-ticket-list img {
		width: 88px;
		height: 88px;
	}

	.top-attractions-ticket-list a:first-child {
		grid-template-columns: 88px minmax(0, 1fr);
		min-height: 112px;
	}

	.top-attractions-ticket-list a:first-child img {
		width: 88px;
		height: 88px;
	}
}

/* Simple editable guides: content owns the layout, templates own listings. */
.default-architecture-page > .entry-content,
.default-architecture-page > .discover-page-content {
  max-width: 960px;
  margin: 0 auto 40px;
  font-size: 1rem;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.default-architecture-page .simple-editorial-section { margin: 0 0 24px; }
.default-architecture-page .simple-editorial-section h2 { margin-top: 28px; }
.default-architecture-page .simple-editorial-section img { max-width: 100%; height: auto; border-radius: 12px; }
.default-architecture-page .simple-editorial-section figure { margin: 24px 0; }
.default-architecture-page .simple-editorial-section figcaption { color: #555; font-size: .9rem; }
.default-architecture-page .simple-editorial-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.default-architecture-page .simple-editorial-cards > .simple-editorial-section { padding: 24px; background: #f5f5f5; border-radius: 12px; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-privacy-note { color: #555; font-size: .9rem; line-height: 1.6; }
@media (max-width: 760px) {
  .default-architecture-page .simple-editorial-cards { grid-template-columns: 1fr; }
}
.default-architecture-page .simple-page-featured-image { max-width: 960px; margin: 0 auto 32px; }
.default-architecture-page .simple-page-featured-image img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 12px; }

.default-architecture-page:has(.simple-editorial-section) > .discover-section-header { max-width: 960px; margin-left: auto; margin-right: auto; }
.contact-page > .entry-content img { max-width: 200px; height: auto; }
.contact-page > .entry-content { max-width: 800px; margin-bottom: 32px; }

/* Editable Articles hub and consent-gated social selections. */
.default-architecture-page:has(.articles-hub-page) > .entry-content { max-width: 1160px; }
.default-architecture-page:has(.articles-hub-page) > .discover-section-header { max-width: 1160px; margin-inline: auto; }
.articles-hub-page .articles-hub-section { margin-block: 48px; }
.articles-hub-page .articles-hub-section > h2 { margin-bottom: 24px; }
.articles-hub-page .articles-hub-feed { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.articles-hub-page .article-card { min-width: 0; }
.articles-hub-page .article-card-title { font-size: 1.4rem; line-height: 1.25; }
.articles-hub-page .article-card-summary { color: #555; }
.articles-hub-page .simple-editorial-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:24px; }
.articles-hub-page .simple-editorial-cards > .simple-editorial-section { background: #f5f5f5; padding: 24px; border-radius: 12px; }
.articles-hub-topics { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0 !important; }
.articles-hub-topics li { margin: 0; }
.articles-hub-topics a { display: block; padding: 12px 18px; border: 1px solid #707070; border-radius: 6px; }
.social-selection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top:24px; }
.social-selection-card { min-width: 0; border: 1px solid #ddd; border-radius:12px; padding:16px; background:#fafafa; }
.social-selection-player { min-height: 280px; display: grid; align-items:center; overflow: hidden; }
.social-selection-player iframe { width:100%; height:580px; border:0; }
.social-selection-player .instagram-media { width:100% !important; min-width:0 !important; margin:0 !important; }
.social-selection-placeholder { text-align:center; font-size:1.4rem; font-weight:700; color:#555; }
.social-selection-card > a { display:block; margin-top:16px; font-size:.9rem; }
.social-selection-note, .social-selection-status { font-size:.9rem; color:#555; line-height:1.6; }
.social-selection-load { background:var(--bcni-red); color:#fff; border:0; border-radius:6px; padding:14px 20px; cursor:pointer; font-weight:700; }
.social-selection-load[hidden] { display:none; }
.social-selection-load:hover, .social-selection-load:focus { background:var(--bcni-red-dark); }
.social-selection-load:focus-visible { outline:3px solid #1b1b1b; outline-offset:4px; }
@media(max-width:980px){.articles-hub-page .articles-hub-feed{grid-template-columns:repeat(2,minmax(0,1fr));}.social-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.social-selection-card{padding:10px;}}
@media(max-width:760px){.articles-hub-page .articles-hub-feed,.social-selection-grid,.articles-hub-page .simple-editorial-cards{grid-template-columns:1fr;}.articles-hub-page .articles-hub-section{margin-block:32px;}}

.social-selection-preview { position:relative; overflow:hidden; border-radius:8px; margin-top:0 !important; }
.social-selection-preview img { display:block; width:100%; height:auto; }
.social-selection-watch { position:absolute; bottom:12px; left:12px; background:#1b1b1b; color:#fff; padding:8px 12px; border-radius:6px; font-weight:700; }
.social-selection-card h3 { font-size:1.15rem; margin-block:16px 8px; }
.social-selection-player[hidden], .social-selection-preview[hidden] { display:none; }
.articles-hub-intro { max-width:760px; font-size:1.12rem; }

.articles-hub-page .article-card-topic { display:inline-block; margin-bottom:12px; padding:5px 10px; border-radius:6px; background:#f0f0f0; color:#444; font-size:.78rem; line-height:1.4; }
.articles-hub-page .article-card-summary p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; line-height:1.65; }
.articles-hub-page .article-card-title { font-size:1.35rem; }
.social-selection-related { font-weight:700; }
.social-selection-related:focus-visible,.article-card-topic:focus-visible { outline:3px solid #1b1b1b; outline-offset:3px; }
