/*
 * Rifugio dei Briganti — Guidebook design system layer.
 * Source of truth (3.7.0.12): "Rifugio dei Briganti – Specifiche Schermate",
 * "Guestbook Rifugio dei Briganti" and "Codice del Brigante – Schermate e Stati"
 * (Classical: Cormorant Garamond headings, Lora body, outlined controls).
 * 4.0.3: colours and type sizes remapped to the brand Design System; rdbg-brand.css (loaded
 * after this sheet) defines the DS tokens and components and is the reference from now on.
 * Loaded after rdbg-frontend-v2.css. Every rule is scoped to #rdbg-guidebook;
 * !important is used only where Elementor kit / theme selectors would otherwise win.
 */

/* ---------- Page takeover (theme / Elementor wrappers) ---------- */
body.rdbg-guidebook-page {
	background: #fff9f5 !important;
}
body.rdbg-guidebook-page #listeo-floating-chat-widget { display: none !important; }

body.rdbg-guidebook-page :where(.site, .wp-site-blocks, .site-main, main, .entry-content, .elementor, .elementor-section-wrap, .e-con, .elementor-widget-shortcode):has(#rdbg-guidebook) {
	background-color: #fff9f5 !important;
	background-image: none !important;
}
body.rdbg-guidebook-page .elementor-section:has(#rdbg-guidebook) > .elementor-container,
body.rdbg-guidebook-page .e-con:has(#rdbg-guidebook),
body.rdbg-guidebook-page .elementor-column:has(#rdbg-guidebook) {
	max-width: none !important;
	width: 100% !important;
}
body.rdbg-guidebook-page .e-con:has(> .elementor-widget-shortcode #rdbg-guidebook),
body.rdbg-guidebook-page .e-con:has(#rdbg-guidebook) > .e-con-inner {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	padding: 0 !important;
}
body.rdbg-guidebook-page .entry-content:has(> #rdbg-guidebook),
body.rdbg-guidebook-page .elementor-widget-shortcode:has(#rdbg-guidebook),
body.rdbg-guidebook-page .elementor-widget-shortcode:has(#rdbg-guidebook) > .elementor-widget-container {
	margin: 0;
	max-width: none;
	padding: 0;
}
/* TranslatePress floating switcher must never cover the guest bottom navigation. */
@media (max-width: 900px) {
	body.rdbg-guidebook-page:has(#rdbg-guidebook .rdbg-bottom-nav) .trp-floating-switcher,
	body.rdbg-guidebook-page:has(#rdbg-guidebook .rdbg-bottom-nav) #trp-floater-ls { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* ---------- Tokens ---------- */
#rdbg-guidebook.rdbg-app {
	--rdbg-ink: var(--rdbg-text, #594545);
	--rdbg-line: color-mix(in srgb, var(--rdbg-ink) 15%, transparent);
	--rdbg-line-strong: color-mix(in srgb, var(--rdbg-ink) 24%, transparent);
	--rdbg-soft: color-mix(in srgb, var(--rdbg-ink) 62%, transparent);
	--rdbg-faint: color-mix(in srgb, var(--rdbg-ink) 45%, transparent);
	--rdbg-accent-800: color-mix(in srgb, var(--rdbg-accent) 76%, #000);
	--rdbg-tint: color-mix(in srgb, var(--rdbg-accent) 9%, transparent);
	--rdbg-stone: #e5d2ca;
	--rdbg-ok-bg: #efe4e1; --rdbg-ok-fg: #594545; --rdbg-ok: #9e7676;
	--rdbg-warn-bg: #f5e6dc; --rdbg-warn-fg: #594545; --rdbg-warn: #9e7676;
	--rdbg-err-bg: #fff9f5; --rdbg-err-fg: #b80000; --rdbg-err: #b80000;
	--rdbg-success-ink: var(--rdbg-ok-fg);
	--rdbg-warning-ink: var(--rdbg-warn-fg);
	--rdbg-accent-ink: var(--rdbg-accent);
	--rdbg-radius-sm: 4px;
	--rdbg-radius-card: var(--rdbg-radius, 7px);
	--rdbg-shadow-sm: 0 1px 2px color-mix(in srgb, var(--rdbg-ink) 5%, transparent);
	--rdbg-shadow-md: 0 24px 64px color-mix(in srgb, var(--rdbg-ink) 22%, transparent);
	background-color: var(--rdbg-bg);
	background-image: none;
	color: var(--rdbg-ink);
	font-family: var(--rdbg-font-body);
	font-size: var(--rdbg-base-size, 14px);
	font-weight: var(--rdbg-body-weight, 400);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

#rdbg-guidebook,
#rdbg-guidebook *,
#rdbg-guidebook *::before,
#rdbg-guidebook *::after { box-sizing: border-box; }

#rdbg-guidebook :where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure) { margin-block-start: 0; }

/* ---------- Typography (Elementor kit h1–h6 rules are neutralised) ---------- */
#rdbg-guidebook :where(h1, h2, h3, h4, h5, h6) {
	color: inherit !important;
	font-family: var(--rdbg-font-heading) !important;
	font-style: normal;
	font-weight: var(--rdbg-heading-weight, 400) !important;
	letter-spacing: -.015em !important;
	line-height: 1.12 !important;
	text-transform: none !important;
}
#rdbg-guidebook h1 { font-size: clamp(28px, 2.95vw, var(--rdbg-h1-size, 42px)); letter-spacing: -.02em !important; line-height: 1.05 !important; }
#rdbg-guidebook h2 { font-size: clamp(22px, 2vw, var(--rdbg-h2-size, 26px)); }
#rdbg-guidebook h3 { font-size: clamp(19px, 1.5vw, var(--rdbg-h3-size, 21px)); }
#rdbg-guidebook h4 { font-size: var(--text-h5); }

#rdbg-guidebook :where(button, input, select, textarea) {
	appearance: none;
	border-radius: var(--rdbg-radius-sm);
	box-shadow: none;
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
}
#rdbg-guidebook :where(a, button) { -webkit-tap-highlight-color: transparent; }
#rdbg-guidebook :where(a, button, input, select, textarea, summary, [tabindex]:not(.rdbg-screen)):focus-visible {
	outline: 2px solid var(--rdbg-accent);
	outline-offset: 2px;
}
/* Screens receive programmatic focus for screen readers; no visible ring. */
#rdbg-guidebook .rdbg-screen:focus,
#rdbg-guidebook .rdbg-screen:focus-visible,
#rdbg-guidebook [tabindex="-1"]:focus:not(:focus-visible),
#rdbg-guidebook h1[tabindex="-1"]:focus { outline: none !important; }

#rdbg-guidebook .rdbg-eyebrow,
#rdbg-guidebook .rdbg-kicker,
#rdbg-guidebook .rdbg-sidebar__label {
	color: var(--rdbg-accent);
	font-family: var(--rdbg-font-heading);
	font-size: var(--text-eyebrow);
	font-weight: 600;
	letter-spacing: .18em;
	line-height: 1.55;
	text-transform: uppercase;
}

/* ---------- Layout shell ---------- */
#rdbg-guidebook .rdbg-app__main {
	margin: 0;
	max-width: calc(var(--rdbg-content-width, 1040px) + 96px);
	padding: 0 clamp(24px, 3.3vw, 48px) 72px;
}
#rdbg-guidebook .rdbg-page-header,
#rdbg-guidebook .rdbg-home-hero:not(.rdbg-home-hero--image) { padding: 30px 0 0; border: 0; min-height: 0; }
#rdbg-guidebook .rdbg-page-header h1,
#rdbg-guidebook .rdbg-home-hero__copy h1 { color: var(--rdbg-ink) !important; font-size: clamp(28px, 2.95vw, var(--rdbg-h1-size, 42px)); margin: 10px 0 0; }
#rdbg-guidebook .rdbg-page-header div > p:last-child,
#rdbg-guidebook .rdbg-home-hero__copy > p:last-child { color: var(--rdbg-ink); font-size: clamp(14px, 1.07vw, 15.4px); line-height: 1.55; margin-top: 10px; max-width: 44ch; opacity: 1; }
#rdbg-guidebook .rdbg-home-hero--image .rdbg-home-hero__copy :is(h1, p) { color: #fff9f5 !important; }
#rdbg-guidebook .rdbg-screen__body,
#rdbg-guidebook .rdbg-home-blocks { padding-top: 22px; }
#rdbg-guidebook.rdbg-app--phase-active .rdbg-screen__body { padding-top: 22px; }
#rdbg-guidebook .rdbg-section-heading h2 { font-size: clamp(22px, 2vw, 26px); }

/* Sidebar */
#rdbg-guidebook .rdbg-sidebar {
	background: var(--rdbg-surface);
	border-right: 1px solid var(--rdbg-line);
	gap: 22px;
	padding: 26px 14px 16px;
}
#rdbg-guidebook .rdbg-sidebar__brand { padding: 0 10px 8px; }
#rdbg-guidebook .rdbg-sidebar__brand strong {
	color: var(--rdbg-ink);
	font-family: var(--rdbg-font-heading);
	font-size: 21px;
	font-weight: 400;
	letter-spacing: -.01em;
	line-height: 1.02;
	max-width: 130px;
}
#rdbg-guidebook .rdbg-sidebar__brand span:not(.rdbg-brand-mark) {
	color: var(--rdbg-accent);
	font-family: var(--rdbg-font-heading);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: .2em;
	margin-top: 6px;
	text-transform: uppercase;
}
#rdbg-guidebook .rdbg-sidebar__group { gap: 1px; }
#rdbg-guidebook .rdbg-nav-button {
	background: transparent !important;
	border: 0 !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-body) !important;
	font-weight: 400 !important;
	gap: 11px;
	min-height: 37px;
	padding: 8px 11px !important;
}
#rdbg-guidebook .rdbg-nav-button span { font-size: var(--text-body-sm); letter-spacing: 0; text-transform: none; }
#rdbg-guidebook .rdbg-nav-button svg { height: 16px; opacity: .85; width: 16px; }
#rdbg-guidebook .rdbg-nav-button:hover { background: color-mix(in srgb, var(--rdbg-accent) 5%, transparent) !important; color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-sidebar .rdbg-nav-button.is-active { background: var(--rdbg-tint) !important; color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-sidebar__footer {
	border-top: 1px solid var(--rdbg-line);
	color: var(--rdbg-ink);
	display: grid;
	font-size: var(--text-body-sm);
	gap: 0 11px;
	grid-template-columns: 34px minmax(0, 1fr);
	line-height: 1.5;
	padding: 16px 6px 0;
}
#rdbg-guidebook .rdbg-sidebar__footer > .rdbg-avatar {
	align-items: center;
	border: 1px solid var(--rdbg-accent);
	border-radius: 50%;
	color: var(--rdbg-accent);
	display: flex;
	font-family: var(--rdbg-font-heading);
	font-size: 12px;
	font-weight: 600;
	grid-row: span 2;
	height: 34px;
	justify-content: center;
	letter-spacing: .05em;
	width: 34px;
}
#rdbg-guidebook .rdbg-sidebar__footer > strong { font-weight: 400; grid-column: 2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#rdbg-guidebook .rdbg-sidebar__footer > span:not(.rdbg-avatar) { font-size: 10.5px; grid-column: 2; letter-spacing: .07em; }
#rdbg-guidebook .rdbg-sidebar__footer > .rdbg-session-actions { grid-column: 1 / -1; margin-top: 14px; }
#rdbg-guidebook .rdbg-session-actions { gap: 6px; }
#rdbg-guidebook .rdbg-session-actions > form { flex: 0 0 auto; }
#rdbg-guidebook .rdbg-session-actions .rdbg-button {
	background: transparent !important;
	border: 1px solid var(--rdbg-line) !important;
	color: var(--rdbg-ink) !important;
	font-size: var(--text-caption);
	min-height: 28px;
	padding: 6px 9px !important;
	width: auto;
}
#rdbg-guidebook .rdbg-sidebar .rdbg-session-actions .rdbg-button > span { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
#rdbg-guidebook .rdbg-session-actions .rdbg-button svg { height: 14px; width: 14px; }
#rdbg-guidebook .rdbg-language-current,
#rdbg-guidebook .rdbg-language-switcher :is(.trp-language-switcher, .trp-current-language-item__wrapper, .trp-language-item__current) {
	background: transparent !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	box-shadow: none !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-heading) !important;
	font-size: var(--text-caption) !important;
	font-weight: 600;
	min-height: 28px;
}
#rdbg-guidebook .rdbg-language-switcher :is(.trp-current-language-item__wrapper, .trp-language-item__current) { border: 0 !important; min-height: 26px; }
#rdbg-guidebook .rdbg-language-switcher { max-width: none; }
#rdbg-guidebook .rdbg-language-switcher :is(a, span) { color: var(--rdbg-ink) !important; }
#rdbg-guidebook .rdbg-language-switcher img.trp-flag-image { border-radius: 2px; height: 11px !important; width: 15px !important; }

/* Mobile header + bottom nav */
#rdbg-guidebook .rdbg-mobile-header {
	backdrop-filter: none;
	background: var(--rdbg-surface);
	border-bottom: 1px solid var(--rdbg-line);
}
#rdbg-guidebook .rdbg-mobile-header > strong {
	color: var(--rdbg-ink);
	font-family: var(--rdbg-font-heading);
	font-size: 19px !important;
	font-weight: 400 !important;
	letter-spacing: -.01em;
}
#rdbg-guidebook .rdbg-mobile-header__actions { gap: 6px; }
#rdbg-guidebook .rdbg-mobile-header__actions button {
	background: transparent !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-heading) !important;
	height: 32px;
	margin: 0;
	padding: 0 !important;
	width: 34px;
}
#rdbg-guidebook .rdbg-mobile-header__actions svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-bottom-nav {
	backdrop-filter: none;
	background: var(--rdbg-surface);
	border-top: 1px solid var(--rdbg-line);
	padding: 7px 6px env(safe-area-inset-bottom);
}
#rdbg-guidebook .rdbg-bottom-nav .rdbg-nav-button,
#rdbg-guidebook .rdbg-bottom-nav button {
	background: transparent !important;
	border: 0 !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: color-mix(in srgb, var(--rdbg-ink) 62%, transparent) !important;
	gap: 4px;
	min-height: 52px;
	padding: 6px 2px 8px !important;
	position: relative;
}
#rdbg-guidebook .rdbg-bottom-nav .rdbg-nav-button span {
	font-family: var(--rdbg-font-body) !important;
	font-size: 13px;
	letter-spacing: .01em !important;
	line-height: 1.3;
	text-transform: none !important;
}
#rdbg-guidebook .rdbg-bottom-nav .rdbg-nav-button svg { height: 19px; opacity: 1; width: 19px; }
#rdbg-guidebook .rdbg-bottom-nav .rdbg-nav-button.is-active { color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-bottom-nav .rdbg-nav-button.is-active::after {
	background: currentColor;
	border-radius: 2px;
	bottom: 2px;
	content: "";
	height: 2px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 16px;
}

/* ---------- Surfaces ---------- */
#rdbg-guidebook .rdbg-card,
#rdbg-guidebook .rdbg-feature-card,
#rdbg-guidebook .rdbg-editorial-card,
#rdbg-guidebook .rdbg-guide-card,
#rdbg-guidebook .rdbg-service-card,
#rdbg-guidebook .rdbg-window-card,
#rdbg-guidebook .rdbg-contact-card,
#rdbg-guidebook .rdbg-state,
#rdbg-guidebook .rdbg-link-state__card {
	background: var(--rdbg-surface);
	border: 1px solid var(--rdbg-line);
	border-radius: var(--rdbg-radius-card);
	box-shadow: var(--rdbg-shadow-sm);
}
#rdbg-guidebook .rdbg-card h2,
#rdbg-guidebook .rdbg-card h3 { color: var(--rdbg-ink) !important; }
#rdbg-guidebook .rdbg-card h2 { font-size: clamp(20px, 1.67vw, 24px); }
#rdbg-guidebook :where(.rdbg-editorial-card, .rdbg-guide-card, .rdbg-service-card):hover {
	box-shadow: 0 2px 4px color-mix(in srgb, var(--rdbg-ink) 6%, transparent), 0 12px 28px color-mix(in srgb, var(--rdbg-ink) 8%, transparent);
}
#rdbg-guidebook :where(.rdbg-editorial-card__media, .rdbg-guide-card__media, .rdbg-detail-hero) { border-radius: 0; }
#rdbg-guidebook .rdbg-editorial-card__placeholder,
#rdbg-guidebook .rdbg-guide-card__media:not(:has(img)) { background: color-mix(in srgb, var(--rdbg-stone) 55%, var(--rdbg-surface)); border-bottom: 1px dashed var(--rdbg-line-strong); }

/* ---------- Buttons ---------- */
#rdbg-guidebook .rdbg-button,
#rdbg-guidebook button.rdbg-button,
#rdbg-guidebook a.rdbg-button {
	align-items: center;
	background: transparent !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--rdbg-font-heading) !important;
	font-size: var(--text-body-sm);
	font-weight: 600;
	gap: 7px;
	justify-content: center;
	letter-spacing: .01em;
	line-height: 1.2;
	min-height: 38px;
	padding: 9px 16px !important;
	text-decoration: none !important;
	text-transform: none;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
#rdbg-guidebook .rdbg-button svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-button:hover {
	background: color-mix(in srgb, var(--rdbg-accent) 6%, transparent) !important;
	border-color: var(--rdbg-accent) !important;
	color: var(--rdbg-accent) !important;
}
#rdbg-guidebook .rdbg-button--primary,
#rdbg-guidebook.rdbg-app--buttons-outline .rdbg-button--primary {
	background: transparent !important;
	border-color: var(--rdbg-accent) !important;
	color: var(--rdbg-accent) !important;
}
#rdbg-guidebook .rdbg-button--primary:hover { background: var(--rdbg-tint) !important; color: var(--rdbg-accent-800) !important; }
#rdbg-guidebook.rdbg-app--buttons-solid .rdbg-button--primary { background: var(--rdbg-accent) !important; color: #fff9f5 !important; }
#rdbg-guidebook.rdbg-app--buttons-solid .rdbg-button--primary:hover { background: var(--rdbg-accent-800) !important; }
#rdbg-guidebook.rdbg-app--buttons-soft .rdbg-button--primary { background: var(--rdbg-tint) !important; border-color: transparent !important; }
#rdbg-guidebook .rdbg-button--secondary { border-color: var(--rdbg-line) !important; color: var(--rdbg-ink) !important; }
#rdbg-guidebook .rdbg-button--danger { background: transparent !important; border-color: var(--rdbg-err) !important; color: var(--rdbg-err-fg) !important; }
#rdbg-guidebook .rdbg-button:disabled,
#rdbg-guidebook .rdbg-button[aria-disabled="true"] { opacity: .5; }
/* Large, full-width CTAs (primary action of a card). */
#rdbg-guidebook :is(.rdbg-home-access, .rdbg-stay-pin, .rdbg-access-primary, .rdbg-checklist, .rdbg-pre-checklist, .rdbg-modal__content) > .rdbg-button,
#rdbg-guidebook .rdbg-access-primary .rdbg-pin + .rdbg-button {
	font-size: 16px;
	min-height: 48px;
	padding: 13px 16px !important;
	width: 100%;
}
#rdbg-guidebook .rdbg-text-button {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--rdbg-accent) !important;
	font-family: var(--rdbg-font-heading) !important;
	font-size: var(--text-body-sm);
	font-weight: 600;
	min-height: 36px;
	padding: 4px 0 !important;
	text-decoration: none !important;
}
#rdbg-guidebook .rdbg-text-button:hover { color: var(--rdbg-accent-800) !important; text-decoration: underline !important; text-underline-offset: 3px; }
#rdbg-guidebook :where(.trp-language-item, .rdbg-language-switcher a) { font-family: var(--rdbg-font-heading) !important; text-decoration: none !important; }

/* Icon-only buttons */
#rdbg-guidebook .rdbg-home-pin button,
#rdbg-guidebook .rdbg-pin button,
#rdbg-guidebook .rdbg-stay-pin__value button {
	align-items: center;
	background: transparent !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	display: inline-flex;
	font-family: var(--rdbg-font-heading) !important;
	font-size: 12px;
	font-weight: 600;
	gap: 7px;
	height: 36px;
	justify-content: center;
	min-width: 36px;
	padding: 0 12px !important;
	width: auto;
}
#rdbg-guidebook .rdbg-home-pin button:hover,
#rdbg-guidebook .rdbg-pin button:hover { border-color: var(--rdbg-accent) !important; color: var(--rdbg-accent) !important; }

/* ---------- Status pills ---------- */
#rdbg-guidebook .rdbg-status,
#rdbg-guidebook .rdbg-badge {
	align-items: center;
	background: color-mix(in srgb, var(--rdbg-ink) 7%, transparent);
	border: 0;
	border-radius: 3px;
	color: var(--rdbg-soft);
	display: inline-flex;
	font-family: var(--rdbg-font-body);
	font-size: var(--text-caption);
	font-weight: 400;
	gap: 6px;
	letter-spacing: .02em;
	line-height: 1.55;
	padding: 3px 10px;
	text-transform: none;
	white-space: nowrap;
}
#rdbg-guidebook .rdbg-status::before { background: currentColor; border-radius: 50%; content: ""; flex: none; height: 6px; width: 6px; }
#rdbg-guidebook .rdbg-status:has(svg)::before { display: none; }
#rdbg-guidebook .rdbg-status svg { height: 11px; width: 11px; }
#rdbg-guidebook :is(.rdbg-status--available, .rdbg-status--active, .rdbg-status--confirmed, .rdbg-status--open, .rdbg-status--approved, .rdbg-status--completed) { background: var(--rdbg-ok-bg); color: var(--rdbg-ok-fg); }
#rdbg-guidebook :is(.rdbg-status--pending, .rdbg-status--opens_later, .rdbg-status--ending_soon, .rdbg-status--on-hold, .rdbg-status--waiting) { background: var(--rdbg-warn-bg); color: var(--rdbg-warn-fg); }
#rdbg-guidebook :is(.rdbg-status--failed, .rdbg-status--expired, .rdbg-status--rejected, .rdbg-status--error) { background: var(--rdbg-err-bg); color: var(--rdbg-err-fg); }
#rdbg-guidebook :is(.rdbg-status--unavailable, .rdbg-status--closed) { background: color-mix(in srgb, var(--rdbg-ink) 7%, transparent); color: var(--rdbg-soft); }

/* ---------- Home ---------- */
#rdbg-guidebook .rdbg-home-active { gap: 16px; }
#rdbg-guidebook .rdbg-active-grid,
#rdbg-guidebook .rdbg-active-side { gap: 16px; }
#rdbg-guidebook .rdbg-quick-actions { gap: 10px; }
#rdbg-guidebook .rdbg-quick-actions > button {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--rdbg-line) !important;
	border-radius: 0 !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-body) !important;
	padding: 12px 2px !important;
}
#rdbg-guidebook .rdbg-quick-actions--cards > button,
#rdbg-guidebook .rdbg-quick-actions--cards > button:hover {
	background: var(--rdbg-surface) !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	grid-template-columns: auto 1fr auto;
	min-height: 56px;
	padding: 12px 14px !important;
}
#rdbg-guidebook .rdbg-quick-actions--cards > button:hover { border-color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-quick-actions > button strong { font-family: var(--rdbg-font-body); font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-quick-actions--cards > button > span { color: var(--rdbg-accent); height: 18px; width: 18px; }
#rdbg-guidebook .rdbg-quick-actions > button > span svg { height: 16px; width: 16px; }
#rdbg-guidebook .rdbg-quick-actions--cards > button > svg { display: none; }

#rdbg-guidebook .rdbg-home-access { padding: 22px 22px 16px; }
#rdbg-guidebook .rdbg-home-access > header { gap: 13px; }
#rdbg-guidebook .rdbg-home-access .rdbg-feature-card__icon,
#rdbg-guidebook .rdbg-feature-card__icon { border: 1px solid var(--rdbg-accent); border-radius: 50%; color: var(--rdbg-accent); height: 44px; width: 44px; }
#rdbg-guidebook .rdbg-home-access h2 { font-size: clamp(20px, 1.67vw, 24px); margin-top: 4px; }
#rdbg-guidebook .rdbg-home-access > header .rdbg-status { align-self: start; background: var(--rdbg-ok-bg); border-radius: 3px; color: var(--rdbg-ok-fg); font-size: var(--text-caption); letter-spacing: .02em; padding: 3px 10px; }
#rdbg-guidebook .rdbg-home-access > header .rdbg-status:is(.rdbg-status--pending) { background: var(--rdbg-warn-bg); color: var(--rdbg-warn-fg); }
#rdbg-guidebook .rdbg-home-access > header .rdbg-status:is(.rdbg-status--failed, .rdbg-status--expired) { background: var(--rdbg-err-bg); color: var(--rdbg-err-fg); }
#rdbg-guidebook .rdbg-home-access > header .rdbg-status:is(.rdbg-status--unavailable, .rdbg-status--closed) { background: color-mix(in srgb, var(--rdbg-ink) 7%, transparent); color: var(--rdbg-soft); }
#rdbg-guidebook .rdbg-home-access__window { color: var(--rdbg-ink); font-size: var(--text-caption); margin-top: 16px !important; }
#rdbg-guidebook .rdbg-home-access__message { color: var(--rdbg-soft); font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-home-pin {
	background: var(--rdbg-bg);
	border: 1px solid var(--rdbg-line);
	border-radius: var(--rdbg-radius-sm);
	gap: 6px;
	grid-template-columns: 1fr auto auto;
	margin-top: 14px;
	padding: 13px 16px;
}
#rdbg-guidebook .rdbg-home-pin span:not(button span) { font-family: var(--rdbg-font-body); font-size: var(--text-eyebrow); letter-spacing: .15em; opacity: 1; }
#rdbg-guidebook .rdbg-home-pin strong { font-size: 25px; letter-spacing: .22em; line-height: 1.55; margin-top: 4px; }
#rdbg-guidebook .rdbg-home-access > .rdbg-button { margin-top: 16px; }
#rdbg-guidebook .rdbg-home-pin button span,
#rdbg-guidebook .rdbg-pin button span { display: inline; font-family: var(--rdbg-font-heading); font-size: 12px; font-weight: 600; letter-spacing: 0; opacity: 1; text-transform: none; }
#rdbg-guidebook .rdbg-home-stay-card > div { padding: 20px 21px 21px; }
#rdbg-guidebook .rdbg-home-stay-card h2 { font-size: 21px; margin: 8px 0 3px; }
#rdbg-guidebook .rdbg-home-stay-card div > p:not(.rdbg-eyebrow),
#rdbg-guidebook .rdbg-home-stay-card div > span { color: var(--rdbg-ink); font-size: var(--text-caption); }
#rdbg-guidebook .rdbg-home-stay-card footer { border-top-color: var(--rdbg-line); margin-top: 14px; padding-top: 14px; }
#rdbg-guidebook .rdbg-home-stay-card footer code { color: var(--rdbg-ink); font-size: 11px; letter-spacing: .08em; }
#rdbg-guidebook .rdbg-active-request { padding: 20px; }
#rdbg-guidebook .rdbg-active-request h3 { font-size: 19px; }
#rdbg-guidebook .rdbg-active-request div > span { color: var(--rdbg-ink); font-size: var(--text-caption); }
#rdbg-guidebook .rdbg-feature-card p,
#rdbg-guidebook .rdbg-booking-card p:not(.rdbg-eyebrow) { color: var(--rdbg-soft); font-size: var(--text-body-sm); }

/* Loyalty widget */
#rdbg-guidebook .rdbg-loyalty-journey { padding: 24px 26px; }
#rdbg-guidebook .rdbg-loyalty-next { background: var(--rdbg-bg); border-left: 0; padding: 24px 26px; }
#rdbg-guidebook .rdbg-loyalty-widget h2 { font-size: clamp(21px, 1.8vw, 26px); margin: 8px 0 4px; }
#rdbg-guidebook .rdbg-loyalty-widget p { color: var(--rdbg-ink); font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-loyalty-track small { font-size: 13px; line-height: 1.35; }
#rdbg-guidebook .rdbg-loyalty-track i { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); height: 19px; width: 19px; }
#rdbg-guidebook .rdbg-loyalty-track .is-reached i { background: var(--rdbg-accent); border-color: var(--rdbg-accent); box-shadow: inset 0 0 0 4px var(--rdbg-surface); }
#rdbg-guidebook .rdbg-loyalty-track::before { background: var(--rdbg-line); top: 9px; }
#rdbg-guidebook .rdbg-loyalty-ratio { border-bottom-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-loyalty-ratio strong { font-size: 47px; }
#rdbg-guidebook .rdbg-loyalty-ratio span { color: var(--rdbg-soft); font-size: var(--text-body); }
#rdbg-guidebook .rdbg-loyalty-next .rdbg-eyebrow { color: var(--rdbg-ink); font-family: var(--rdbg-font-body); font-weight: 400; letter-spacing: .16em; }
#rdbg-guidebook .rdbg-loyalty-next > div:last-child > strong { font-size: var(--text-body-sm); }

/* Editorial cards */
#rdbg-guidebook .rdbg-editorial-card__meta > span:first-child { color: var(--rdbg-accent); font-size: 13px; }
#rdbg-guidebook .rdbg-editorial-card h3 { color: var(--rdbg-ink) !important; font-size: 20px; }
#rdbg-guidebook .rdbg-editorial-card h3 + p { color: var(--rdbg-soft); font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-editorial-card__facts span { color: var(--rdbg-soft); font-size: var(--text-caption); }
#rdbg-guidebook .rdbg-favorite,
#rdbg-guidebook .rdbg-favorite:hover {
	background: color-mix(in srgb, var(--rdbg-surface) 92%, transparent) !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: 50% !important;
	color: var(--rdbg-ink) !important;
	padding: 0 !important;
}
#rdbg-guidebook .rdbg-favorite.is-active { background: var(--rdbg-accent) !important; border-color: var(--rdbg-accent) !important; color: var(--rdbg-surface) !important; }

/* ---------- Stay / access / card / checkout / support ---------- */
#rdbg-guidebook .rdbg-stay-dates > div span,
#rdbg-guidebook .rdbg-fact span,
#rdbg-guidebook .rdbg-contact-card span,
#rdbg-guidebook .rdbg-wifi-card dt,
#rdbg-guidebook .rdbg-checkout-time span,
#rdbg-guidebook .rdbg-digital-card__bottom span { color: var(--rdbg-ink); font-family: var(--rdbg-font-body); font-size: var(--text-eyebrow); letter-spacing: .15em; opacity: .75; }
#rdbg-guidebook .rdbg-stay-dates strong { font-size: clamp(21px, 1.8vw, 26px); }
#rdbg-guidebook .rdbg-stay-dates small,
#rdbg-guidebook .rdbg-stay-dates footer,
#rdbg-guidebook .rdbg-stay-guests small,
#rdbg-guidebook .rdbg-stay-details dt { color: var(--rdbg-soft); }
#rdbg-guidebook .rdbg-stay-guests li,
#rdbg-guidebook .rdbg-stay-details > div,
#rdbg-guidebook .rdbg-stay-dates > div > div { border-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-stay-pin__value > strong,
#rdbg-guidebook .rdbg-pin > span { font-size: 25px; letter-spacing: .22em; }
#rdbg-guidebook .rdbg-stay-actions .rdbg-button { font-size: var(--text-caption); min-height: 34px; padding: 7px 12px !important; }
#rdbg-guidebook .rdbg-stay-arrival .rdbg-text-button { font-size: var(--text-caption); }
#rdbg-guidebook .rdbg-stay-photo { background: color-mix(in srgb, var(--rdbg-stone) 55%, var(--rdbg-surface)); border: 1px dashed var(--rdbg-line-strong); }

#rdbg-guidebook .rdbg-access-primary { box-shadow: var(--rdbg-shadow-md); }
#rdbg-guidebook .rdbg-access-primary__icon { height: 86px; width: 86px; }
#rdbg-guidebook .rdbg-access-primary__icon svg { height: 28px; width: 28px; }
#rdbg-guidebook .rdbg-access-primary h2 { font-size: clamp(20px, 1.67vw, 24px); margin-top: 14px; max-width: 30ch; }
#rdbg-guidebook .rdbg-pin { border-top-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-window-row { border-top-color: var(--rdbg-line); font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-help-card { border-style: dashed !important; box-shadow: none; }

#rdbg-guidebook .rdbg-benefit,
#rdbg-guidebook .rdbg-accordion__panel,
#rdbg-guidebook .rdbg-wifi-card > dl,
#rdbg-guidebook .rdbg-check-item,
#rdbg-guidebook .rdbg-support-faq details,
#rdbg-guidebook .rdbg-tier small { border-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-benefit span,
#rdbg-guidebook .rdbg-accordion__panel,
#rdbg-guidebook .rdbg-wifi-qr p,
#rdbg-guidebook .rdbg-support-hours span,
#rdbg-guidebook .rdbg-emergency p,
#rdbg-guidebook .rdbg-tier p,
#rdbg-guidebook .rdbg-service-card p,
#rdbg-guidebook .rdbg-state p,
#rdbg-guidebook .rdbg-modal__content p { color: var(--rdbg-soft); }
#rdbg-guidebook .rdbg-service-card h3 { font-size: 20px; }
#rdbg-guidebook .rdbg-service-card__foot { border-top-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-service-card__foot strong { font-size: 21px; }
#rdbg-guidebook .rdbg-service-card__foot .rdbg-button,
#rdbg-guidebook .rdbg-service-card .rdbg-button { font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-checkout-time strong { font-size: 54px; }
#rdbg-guidebook .rdbg-contact-card strong { font-size: var(--text-body); }
#rdbg-guidebook .rdbg-emergency { background: var(--rdbg-err-bg); border-color: color-mix(in srgb, var(--rdbg-err) 40%, transparent); border-radius: var(--rdbg-radius-card); }
#rdbg-guidebook .rdbg-emergency > svg { color: var(--rdbg-err); }

/* Accordion / more list */
#rdbg-guidebook .rdbg-accordion__item > button,
#rdbg-guidebook .rdbg-more-list > button {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-body) !important;
	font-size: var(--text-body-sm);
	padding: 17px 20px !important;
}
#rdbg-guidebook .rdbg-more-list > button {
	background: var(--rdbg-surface) !important;
	border: 1px solid var(--rdbg-line) !important;
	border-radius: var(--rdbg-radius-card) !important;
	padding: 15px 18px !important;
}
#rdbg-guidebook .rdbg-more-list > button:hover { border-color: var(--rdbg-accent) !important; }

/* Misc controls kept against Elementor */
#rdbg-guidebook .rdbg-guide-days button {
	background: transparent !important;
	border: 1px solid var(--rdbg-line-strong) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-body) !important;
	padding: 6px !important;
}
#rdbg-guidebook .rdbg-guide-days button.is-active { background: var(--rdbg-stone) !important; border-color: var(--rdbg-accent) !important; color: var(--rdbg-ink) !important; }
#rdbg-guidebook .rdbg-guide-filters button,
#rdbg-guidebook .rdbg-explore-quick-filters button {
	background: transparent !important;
	border: 1px solid var(--rdbg-line-strong) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-body) !important;
	font-size: var(--text-caption);
	padding: 7px 12px !important;
}
#rdbg-guidebook .rdbg-guide-filters button.is-active,
#rdbg-guidebook .rdbg-explore-quick-filters button.is-active { background: var(--rdbg-ink) !important; border-color: var(--rdbg-ink) !important; color: var(--rdbg-bg) !important; }
#rdbg-guidebook .rdbg-map-list-toggle {
	background: var(--rdbg-guide-surface) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-heading) !important;
	font-weight: 600;
	padding: 9px 13px !important;
}
#rdbg-guidebook .rdbg-map-drawer__head button,
#rdbg-guidebook .rdbg-modal__dialog > header > button,
#rdbg-guidebook .rdbg-wifi-card dd button {
	background: transparent !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: inherit !important;
	font-family: var(--rdbg-font-body) !important;
	padding: 0 !important;
}
#rdbg-guidebook .rdbg-modal__dialog > header > button { padding: 6px !important; }
#rdbg-guidebook .rdbg-page-header__back {
	background: transparent !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: inherit !important;
	padding: 1px 6px !important;
}
#rdbg-guidebook button.rdbg-modal__backdrop {
	background: color-mix(in srgb, var(--rdbg-ink) 55%, transparent) !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
#rdbg-guidebook .rdbg-map-drawer > button {
	background: transparent !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-guide-text) !important;
	font-family: var(--rdbg-font-body) !important;
	padding: 13px 16px !important;
}

/* Forms */
#rdbg-guidebook :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	background: var(--rdbg-surface) !important;
	border: 1px solid var(--rdbg-line-strong) !important;
	border-radius: var(--rdbg-radius-sm) !important;
	color: var(--rdbg-ink) !important;
	font-family: var(--rdbg-font-body) !important;
	min-height: 44px;
	padding: 10px 14px !important;
}
#rdbg-guidebook .rdbg-explore-tools input { background: transparent !important; border: 0 !important; padding: 7px 0 !important; }
#rdbg-guidebook :where(input[type="checkbox"], input[type="radio"]) {
	appearance: auto;
	background: transparent !important;
	padding: 0 !important;
}
#rdbg-guidebook :where(input, textarea)::placeholder { color: var(--rdbg-faint); opacity: 1; }

/* ---------- Guide ---------- */
#rdbg-guidebook .rdbg-guide { background-color: var(--rdbg-guide-bg); background-image: none; }
#rdbg-guidebook .rdbg-guide__header h1 { color: var(--rdbg-guide-text) !important; font-size: clamp(28px, 2.95vw, var(--rdbg-h1-size, 42px)); }
#rdbg-guidebook .rdbg-guide__stay-meta { font-size: var(--text-body-sm); opacity: .8; }
#rdbg-guidebook .rdbg-guide__preferences span { background: var(--rdbg-stone); border-radius: 3px; color: var(--rdbg-ink); font-size: var(--text-caption); padding: 4px 11px; }
#rdbg-guidebook .rdbg-guide__actions .rdbg-button { font-size: var(--text-body-sm); min-height: 40px; }
#rdbg-guidebook .rdbg-guide-weather { background: var(--rdbg-guide-surface) !important; border-color: var(--rdbg-line) !important; border-radius: var(--rdbg-radius-card) !important; }
#rdbg-guidebook .rdbg-guide-weather > span { font-size: var(--text-eyebrow); letter-spacing: .15em; }
#rdbg-guidebook .rdbg-guide-tabs { border-color: var(--rdbg-line); gap: 28px; }
#rdbg-guidebook .rdbg-guide-tabs button {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	color: var(--rdbg-soft) !important;
	font-family: var(--rdbg-font-body) !important;
	font-size: var(--text-body-sm);
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	min-height: 44px;
	padding: 0 2px 11px !important;
	text-transform: none !important;
}
#rdbg-guidebook .rdbg-guide-tabs button.is-active,
#rdbg-guidebook .rdbg-guide-tabs button[aria-selected="true"] { border-bottom-color: var(--rdbg-guide-accent) !important; color: var(--rdbg-guide-accent) !important; }
#rdbg-guidebook .rdbg-guide-tabs button:hover { color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-guide-card { border-radius: var(--rdbg-radius-card); }
#rdbg-guidebook .rdbg-guide-card__meta > span { font-size: 13px; }
#rdbg-guidebook .rdbg-guide-card footer .rdbg-button { font-size: var(--text-caption); min-height: 34px; padding: 7px 10px !important; }

/* ---------- Modals ---------- */
#rdbg-guidebook .rdbg-modal__backdrop,
#rdbg-guidebook .rdbg-content-dialog::backdrop { background: color-mix(in srgb, var(--rdbg-ink) 55%, transparent); }
#rdbg-guidebook .rdbg-modal__dialog,
#rdbg-guidebook .rdbg-content-dialog {
	background: var(--rdbg-surface);
	border: 1px solid var(--rdbg-line);
	border-radius: var(--rdbg-radius-card);
	box-shadow: var(--rdbg-shadow-md);
	color: var(--rdbg-ink);
	font-family: var(--rdbg-font-body);
}
#rdbg-guidebook .rdbg-modal__dialog > header { border-bottom-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-choice-grid label > span { border-color: var(--rdbg-line-strong); border-radius: var(--rdbg-radius-sm); font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-choice-grid input:checked + span { background: var(--rdbg-tint); border-color: var(--rdbg-accent); }

#rdbg-guidebook .leaflet-container,
#rdbg-guidebook .leaflet-container * { font-family: var(--rdbg-font-body); }
#rdbg-guidebook .leaflet-control,
#rdbg-guidebook .leaflet-popup-content-wrapper,
#rdbg-guidebook .leaflet-popup-tip { border-radius: var(--rdbg-radius-sm); }

/* Home card (01.A–01.C) and intro (01.D) */
#rdbg-guidebook .rdbg-codice-widget{color:inherit;display:grid!important;gap:8px;padding:16px 18px!important;text-align:left;text-decoration:none!important;width:100%}
#rdbg-guidebook .rdbg-codice-widget header{align-items:center;display:flex;justify-content:space-between;gap:10px}
#rdbg-guidebook .rdbg-codice-widget-level{align-items:baseline;display:flex;justify-content:space-between}
#rdbg-guidebook .rdbg-codice-widget-level strong{font-family:var(--rdbg-font-heading);font-size:22px;font-weight:400}
#rdbg-guidebook .rdbg-codice-widget-balance{font-size:var(--text-body-sm)}
#rdbg-guidebook .rdbg-codice-widget-meter{background:color-mix(in srgb,var(--rdbg-text) 15%,transparent);border-radius:3px;display:block;height:5px;overflow:hidden}
#rdbg-guidebook .rdbg-codice-widget-meter span{background:var(--rdbg-accent);display:block;height:100%}
#rdbg-guidebook .rdbg-codice-widget small{color:color-mix(in srgb,var(--rdbg-text) 68%,transparent);font-size:var(--text-caption)}
#rdbg-guidebook .rdbg-codice-widget-tag{background:#f5e6dc;border-radius:999px;color:#594545;font-size:var(--text-caption);padding:3px 11px;white-space:nowrap}
#rdbg-guidebook .rdbg-codice-widget-tag.is-ok{background:#efe4e1;color:#594545}
#rdbg-guidebook .rdbg-codice-widget.is-new h2{font-size:20px;margin:0}
#rdbg-guidebook .rdbg-codice-widget.is-new p{color:color-mix(in srgb,var(--rdbg-text) 68%,transparent);font-size:var(--text-body-sm)}
#rdbg-guidebook .rdbg-codice-widget-actions{align-items:center;display:flex;gap:16px;margin-top:6px}
#rdbg-guidebook .rdbg-codice-intro h2{font-size:24px;margin-bottom:14px}
#rdbg-guidebook .rdbg-codice-intro-list{display:grid;gap:14px;list-style:none;margin:0 0 20px;padding:0}
#rdbg-guidebook .rdbg-codice-intro-list li{display:grid;gap:12px;grid-template-columns:auto 1fr}
#rdbg-guidebook .rdbg-codice-intro-list li>span{align-items:center;border:1px solid var(--rdbg-accent);border-radius:50%;color:var(--rdbg-accent);display:flex;height:34px;justify-content:center;width:34px}
#rdbg-guidebook .rdbg-codice-intro-list strong{font-family:var(--rdbg-font-heading);font-size:var(--text-h5);font-weight:400}
#rdbg-guidebook .rdbg-codice-intro-list p{color:color-mix(in srgb,var(--rdbg-text) 68%,transparent);font-size:var(--text-body-sm)}
#rdbg-guidebook .rdbg-codice-intro .rdbg-button{width:100%}


/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	#rdbg-guidebook .rdbg-app__main { padding: 0 16px 40px; }
	#rdbg-guidebook .rdbg-mobile-header { height: var(--rdbg-mobile-header-height, 54px); padding: 0 16px; }
	#rdbg-guidebook.rdbg-app { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
	#rdbg-guidebook.rdbg-app--no-bottom-nav,
	#rdbg-guidebook.rdbg-app--mobile-nav-static { padding-bottom: 0; }
}
@media (max-width: 620px) {
	#rdbg-guidebook.rdbg-app { font-size: var(--rdbg-base-size, 14px); }
	#rdbg-guidebook .rdbg-page-header,
	#rdbg-guidebook .rdbg-home-hero:not(.rdbg-home-hero--image),
	#rdbg-guidebook.rdbg-app--phase-active .rdbg-home-hero:not(.rdbg-home-hero--image) { padding: 30px 0 0; }
	#rdbg-guidebook .rdbg-page-header h1,
	#rdbg-guidebook .rdbg-home-hero__copy h1,
	#rdbg-guidebook .rdbg-guide__header h1 { font-size: var(--rdbg-mobile-h1-size, 28px); }
	#rdbg-guidebook .rdbg-page-header div > p:last-child,
	#rdbg-guidebook .rdbg-home-hero__copy > p:last-child { font-size: var(--text-body-sm); }
	#rdbg-guidebook .rdbg-screen__body,
	#rdbg-guidebook .rdbg-home-blocks,
	#rdbg-guidebook.rdbg-app--phase-active .rdbg-screen__body { padding-top: 22px; }
	/* Quick actions: 2 × 2 cards as in the board (not a bare list). */
	#rdbg-guidebook .rdbg-quick-actions--cards { column-gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 10px; }
	#rdbg-guidebook .rdbg-quick-actions--cards > button { grid-template-columns: auto 1fr; min-height: 56px; padding: 12px 14px !important; }
	/* The access card stays a card on phones. */
	#rdbg-guidebook.rdbg-app--phase-active .rdbg-home-access { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); box-shadow: var(--rdbg-shadow-sm); padding: 20px 22px 16px; }
	#rdbg-guidebook.rdbg-app--phase-active .rdbg-home-pin { background: var(--rdbg-bg); border: 1px solid var(--rdbg-line); padding: 13px 16px; }
	#rdbg-guidebook .rdbg-home-access > header { grid-template-columns: auto 1fr auto; }
	#rdbg-guidebook .rdbg-home-access > header .rdbg-status { grid-column: auto; grid-row: auto; }
	#rdbg-guidebook .rdbg-home-access h2 { font-size: 20px; }
	#rdbg-guidebook .rdbg-home-pin { grid-template-columns: auto auto 1fr; }
	#rdbg-guidebook .rdbg-home-pin > div { grid-column: 1 / -1; }
	#rdbg-guidebook .rdbg-modal__dialog { border-radius: 12px 12px 0 0; }
	#rdbg-guidebook .rdbg-guide__actions .rdbg-button { font-size: var(--text-body-sm); gap: 6px; padding: 8px 10px !important; white-space: nowrap; }
	#rdbg-guidebook .rdbg-guide__actions .rdbg-button[data-guide-tab-link] { border-color: transparent !important; color: var(--rdbg-ink) !important; font-size: var(--text-body-sm); justify-content: flex-start; padding-left: 4px !important; }
	#rdbg-guidebook .rdbg-guide-tabs { gap: 22px; }
}
@media (max-width: 360px) {
	#rdbg-guidebook .rdbg-app__main { padding-inline: 12px; }
	#rdbg-guidebook .rdbg-quick-actions--cards { grid-template-columns: minmax(0, 1fr); }
}

/* Theme templates can constrain the app far below the viewport width:
 * two-column compositions follow the real content width, not the viewport. */
@container (max-width: 760px) {
	#rdbg-guidebook :is(.rdbg-wifi-layout, .rdbg-active-grid, .rdbg-access-layout, .rdbg-guest-card-layout, .rdbg-checkout-layout, .rdbg-stay-layout, .rdbg-pre-grid, .rdbg-post-grid, .rdbg-home-grid, .rdbg-plan-layout) { grid-template-columns: minmax(0, 1fr); }
	#rdbg-guidebook :is(.rdbg-card-grid, .rdbg-service-grid, .rdbg-support-grid, .rdbg-guide-card-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#rdbg-guidebook .rdbg-loyalty-widget { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 520px) {
	#rdbg-guidebook :is(.rdbg-card-grid, .rdbg-service-grid, .rdbg-support-grid, .rdbg-guide-card-grid, .rdbg-quick-actions:not(.rdbg-quick-actions--cards)) { grid-template-columns: minmax(0, 1fr); }
	#rdbg-guidebook .rdbg-quick-actions--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#rdbg-guidebook .rdbg-home-pin { grid-template-columns: auto auto 1fr; }
	#rdbg-guidebook .rdbg-home-pin > div { grid-column: 1 / -1; }
}
#rdbg-guidebook .rdbg-home-pin button { white-space: nowrap; }
#rdbg-guidebook .rdbg-wifi-actions .rdbg-button { flex: 1 1 140px; min-width: 0; }

@media (prefers-reduced-motion: reduce) {
	#rdbg-guidebook *,
	#rdbg-guidebook *::before,
	#rdbg-guidebook *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* =====================================================================
 * 4.0.0 — shell and Home of "Rifugio App.dc.html" (prototype 26/09/2026).
 * ===================================================================== */
#rdbg-guidebook.rdbg-app { --rdbg-accent-100: #efe4e1; --rdbg-accent-800: #594545; }
/* Sidebar 238 px */
#rdbg-guidebook .rdbg-sidebar { gap: 0; padding: 24px 0 16px; }
#rdbg-guidebook .rdbg-sidebar__brand { border-bottom: 1px solid var(--rdbg-line); margin-bottom: 12px; padding: 0 20px 20px; }
#rdbg-guidebook .rdbg-sidebar__brand .rdbg-brand-logo { max-height: 46px; max-width: 170px; }
#rdbg-guidebook .rdbg-sidebar__brand strong { font-size: 18px; line-height: 1.12; max-width: 130px; }
#rdbg-guidebook .rdbg-sidebar__brand span:not(.rdbg-brand-mark) { font-size: 8.5px; letter-spacing: .15em; margin-top: 7px; }
#rdbg-guidebook .rdbg-sidebar__group { flex: 1; gap: 1px; padding: 0 10px; }
#rdbg-guidebook .rdbg-sidebar .rdbg-nav-button { min-height: 36px; padding: 9px 12px !important; }
#rdbg-guidebook .rdbg-sidebar .rdbg-nav-button span { font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-sidebar .rdbg-nav-button.is-active { background: var(--rdbg-accent-100) !important; color: var(--rdbg-accent-800) !important; }
#rdbg-guidebook .rdbg-sidebar__footer { border-top: 1px solid var(--rdbg-line); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 8px !important; padding: 14px 20px 0; }
/* IT / EN segmented control (Classical .seg) */
#rdbg-guidebook .rdbg-seg { border: 1px solid var(--rdbg-line); border-radius: 4px; display: inline-flex; overflow: hidden; }
#rdbg-guidebook .rdbg-seg__opt { align-items: center; color: var(--rdbg-ink) !important; display: inline-flex; font-family: var(--rdbg-font-body); font-size: var(--text-body-sm); padding: 7px 12px; text-decoration: none !important; }
#rdbg-guidebook .rdbg-seg__opt + .rdbg-seg__opt { border-left: 1px solid var(--rdbg-line); }
#rdbg-guidebook .rdbg-seg__opt.is-active { box-shadow: inset 0 0 0 1px var(--rdbg-accent); color: var(--rdbg-accent) !important; }
#rdbg-guidebook a.rdbg-seg__opt:not(.is-active):hover { background: color-mix(in srgb, var(--rdbg-ink) 7%, transparent); }
#rdbg-guidebook .rdbg-logout { margin: 0; }
#rdbg-guidebook .rdbg-logout__link { align-items: center; background: transparent !important; border: 0 !important; color: var(--rdbg-ink) !important; cursor: pointer; display: inline-flex; font-family: var(--rdbg-font-body) !important; font-size: var(--text-caption); gap: 9px; min-height: 32px; opacity: .62; padding: 0 !important; }
#rdbg-guidebook .rdbg-logout__link:hover { opacity: 1; }
#rdbg-guidebook .rdbg-logout__link svg { height: 14px; width: 14px; }
/* Desktop app bar 54 px */
#rdbg-guidebook .rdbg-topbar { align-items: center; border-bottom: 1px solid var(--rdbg-line); display: flex; gap: 20px; height: 54px; justify-content: space-between; padding: 0 32px; }
#rdbg-guidebook .rdbg-topbar strong { font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-weight: 400; }
#rdbg-guidebook .rdbg-topbar span { font-size: var(--text-caption); opacity: .6; }
#rdbg-guidebook .rdbg-app__main { max-width: none; padding: 0 5% 60px; }
#rdbg-guidebook .rdbg-page-header,
#rdbg-guidebook .rdbg-home-hero:not(.rdbg-home-hero--image) { padding-top: 26px; }
/* Home — plate, greeting, tiles, card grid */
#rdbg-guidebook .rdbg-plate { border: 6px solid var(--rdbg-surface); border-radius: 7px; box-sizing: border-box; margin: 0; outline: 1px solid var(--rdbg-line); overflow: hidden; }
#rdbg-guidebook .rdbg-plate img { display: block; filter: sepia(.22) saturate(.82) contrast(1.05); height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-home-plate { height: 170px; margin: 26px 0 24px; }
#rdbg-guidebook .rdbg-home-hero--active { padding-top: 0 !important; }
#rdbg-guidebook [data-screen="home"] > .rdbg-home-hero--active:first-child { padding-top: 26px !important; }
#rdbg-guidebook .rdbg-home-hero--active h1 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.08 !important; margin: 10px 0 0; }
#rdbg-guidebook .rdbg-home-active { display: block; padding-top: 26px !important; }
#rdbg-guidebook .rdbg-home-tiles { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); margin-bottom: 30px; max-width: 600px; }
#rdbg-guidebook .rdbg-home-tiles button { align-items: center; background: transparent !important; border: 1px solid var(--rdbg-line) !important; border-radius: 4px !important; color: var(--rdbg-ink) !important; cursor: pointer; display: flex; flex-direction: column; font-family: var(--rdbg-font-heading) !important; font-size: var(--text-caption); font-weight: 600; gap: 8px; justify-content: center; min-height: 80px; padding: 14px 8px !important; text-align: center; }
#rdbg-guidebook .rdbg-home-tiles button:hover { background: color-mix(in srgb, var(--rdbg-ink) 7%, transparent) !important; }
#rdbg-guidebook .rdbg-home-tiles svg { height: 19px; stroke-width: 1.4; width: 19px; }
#rdbg-guidebook .rdbg-home-cards { align-items: start; display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); margin-bottom: 32px; max-width: 1100px; }
#rdbg-guidebook .rdbg-home-cards > * { margin: 0; min-width: 0; }
#rdbg-guidebook .rdbg-home-cards > .rdbg-home-section { display: contents; }
#rdbg-guidebook .rdbg-home-cards .rdbg-card { border-radius: 7px; box-shadow: 0 1px 2px color-mix(in srgb, #594545 14%, transparent); }
#rdbg-guidebook .rdbg-home-access { display: flex; flex-direction: column; padding: 20px 22px !important; }
#rdbg-guidebook .rdbg-home-access > header { align-items: center; display: flex; gap: 12px; }
#rdbg-guidebook .rdbg-home-access .rdbg-feature-card__icon { height: 40px; width: 40px; }
#rdbg-guidebook .rdbg-home-access .rdbg-eyebrow { font-size: var(--text-eyebrow); letter-spacing: .16em; }
#rdbg-guidebook .rdbg-home-access h2 { font-size: var(--text-h5) !important; margin-top: 4px; }
#rdbg-guidebook .rdbg-home-access > .rdbg-status { align-self: flex-start; margin-top: 12px; }
#rdbg-guidebook .rdbg-home-pin { align-items: center; background: var(--rdbg-bg); border: 1px solid var(--rdbg-line); border-radius: 4px; display: flex !important; gap: 10px; justify-content: space-between; margin-top: 14px; padding: 11px 14px; }
#rdbg-guidebook .rdbg-home-pin > div { flex: 1; }
#rdbg-guidebook .rdbg-home-pin span:not(button span) { font-size: var(--text-eyebrow); letter-spacing: .14em; opacity: .7; }
#rdbg-guidebook .rdbg-home-pin strong { font-size: 19px; letter-spacing: .18em; line-height: 1.3; margin-top: 3px; }
#rdbg-guidebook .rdbg-home-pin button.rdbg-text-button { border: 0 !important; font-family: var(--rdbg-font-heading) !important; font-size: var(--text-caption); gap: 5px; height: auto; min-height: 32px; padding: 4px 6px !important; width: auto; }
#rdbg-guidebook .rdbg-home-access > .rdbg-button { margin-top: 14px; min-height: 44px; width: 100%; }
#rdbg-guidebook .rdbg-home-access__message { font-size: var(--text-caption); margin-top: 12px !important; }
#rdbg-guidebook .rdbg-home-stay-card { display: flex; flex-direction: column; overflow: hidden; padding: 0 !important; }
#rdbg-guidebook .rdbg-home-stay-card figure { height: 110px; margin: 0; }
#rdbg-guidebook .rdbg-home-stay-card figure img { aspect-ratio: auto; filter: sepia(.22) saturate(.82) contrast(1.05); height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-home-stay-card > div { padding: 16px 20px 20px; }
#rdbg-guidebook .rdbg-home-stay-card header,
#rdbg-guidebook .rdbg-active-request header { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
#rdbg-guidebook .rdbg-home-stay-card h3,
#rdbg-guidebook .rdbg-active-request h3 { font-size: var(--text-h5) !important; margin: 0; }
#rdbg-guidebook .rdbg-home-stay-card p,
#rdbg-guidebook .rdbg-active-request p { color: var(--rdbg-ink); font-size: var(--text-caption); margin-top: 8px !important; opacity: .68; }
#rdbg-guidebook .rdbg-home-cards .rdbg-text-button { align-self: flex-start; font-size: var(--text-body-sm); margin-top: 10px; min-height: 0; padding: 0 !important; }
#rdbg-guidebook .rdbg-active-request { display: flex; flex-direction: column; padding: 20px 22px !important; }
#rdbg-guidebook .rdbg-active-request .rdbg-status svg { height: 11px; width: 11px; }
#rdbg-guidebook .rdbg-home-cards .rdbg-codice-widget { gap: 0 !important; padding: 20px 22px !important; }
#rdbg-guidebook .rdbg-codice-widget .rdbg-eyebrow { align-items: center; color: var(--rdbg-accent); display: flex; font-size: var(--text-eyebrow); gap: 10px; letter-spacing: .16em; }
#rdbg-guidebook .rdbg-codice-widget .rdbg-eyebrow svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-codice-widget-level { margin-top: 12px; }
#rdbg-guidebook .rdbg-codice-widget-level strong { font-size: 20px; }
#rdbg-guidebook .rdbg-codice-widget-balance { font-size: var(--text-caption); }
#rdbg-guidebook .rdbg-codice-widget-meter { margin-top: 10px; }
#rdbg-guidebook .rdbg-codice-widget small { margin-top: 8px; opacity: .75; }
#rdbg-guidebook .rdbg-codice-widget-more { font-size: var(--text-body-sm) !important; margin-top: 8px; }
@media (max-width: 900px) {
	#rdbg-guidebook .rdbg-topbar { display: none; }
	#rdbg-guidebook .rdbg-app__main { padding: 0 16px 40px; }
	#rdbg-guidebook .rdbg-mobile-header { height: 52px; justify-content: space-between; padding: 0 16px; }
	#rdbg-guidebook .rdbg-mobile-header > strong { flex: 1; font-size: var(--text-body-sm) !important; }
	#rdbg-guidebook .rdbg-mobile-header .rdbg-seg__opt { font-size: var(--text-caption); padding: 5px 10px; }
	#rdbg-guidebook .rdbg-home-plate { height: 150px; margin-top: 18px; }
	#rdbg-guidebook .rdbg-home-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
	#rdbg-guidebook .rdbg-home-cards { gap: 14px; }
}
@media (max-width: 360px) { #rdbg-guidebook .rdbg-home-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#rdbg-guidebook .rdbg-sidebar__group { align-content: start; }
#rdbg-guidebook .rdbg-codice-widget-more { justify-self: start; }
#rdbg-guidebook .rdbg-home-pin strong { font-size: 24px; letter-spacing: .12em; }
/* Il mio soggiorno — prototype 4.0.0 */
#rdbg-guidebook .rdbg-page-header div > p:last-child:empty { display: none; }
#rdbg-guidebook [data-screen="stay"] .rdbg-page-header h1 { font-size: clamp(26px, 3vw, 38px); }
#rdbg-guidebook .rdbg-stay-v4 { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 30px; }
#rdbg-guidebook .rdbg-stay-main { flex: 1; max-width: 520px; min-width: min(280px, 100%); }
#rdbg-guidebook .rdbg-stay-aside { flex: none; width: 320px; }
#rdbg-guidebook .rdbg-stay-plate { height: 240px; }
#rdbg-guidebook .rdbg-stay-aside p { font-size: var(--text-caption); margin: 10px 2px 0; opacity: .6; }
#rdbg-guidebook .rdbg-stay-dates-row { display: flex; margin-bottom: 18px; }
#rdbg-guidebook .rdbg-stay-dates-row > div { flex: 1; padding-right: 16px; }
#rdbg-guidebook .rdbg-stay-dates-row > div + div { border-left: 1px solid var(--rdbg-line); padding: 0 0 0 16px; }
#rdbg-guidebook .rdbg-stay-dates-row span { display: block; font-size: var(--text-eyebrow); letter-spacing: .14em; opacity: .65; text-transform: uppercase; }
#rdbg-guidebook .rdbg-stay-dates-row strong { display: block; font-family: var(--rdbg-font-heading); font-size: 22px; font-variant-numeric: tabular-nums; font-weight: 400; margin-top: 5px; }
#rdbg-guidebook .rdbg-stay-dates-row small { display: block; font-size: var(--text-caption); margin-top: 2px; opacity: .65; }
#rdbg-guidebook .rdbg-stay-meta { font-size: var(--text-body-sm); margin-bottom: 20px !important; opacity: .72; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-guests { margin: 0 0 22px; padding: 0; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-guests li { align-items: center; border-top: 1px solid var(--rdbg-line); display: flex; gap: 12px; padding: 10px 0; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-initials { background: var(--rdbg-accent-100); border: 0; color: var(--rdbg-accent-800); font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-guests strong { display: block; font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-guests small { display: block; font-size: var(--text-caption); margin: 0; opacity: .6; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-card { border-radius: 7px; box-shadow: 0 1px 2px color-mix(in srgb, #594545 14%, transparent); margin-bottom: 18px; padding: 16px 18px; }
#rdbg-guidebook .rdbg-stay-booking .rdbg-stay-details { margin: 0; }
#rdbg-guidebook .rdbg-stay-booking .rdbg-stay-details > div { align-items: center; border: 0; padding: 4px 0; }
#rdbg-guidebook .rdbg-stay-booking dt { font-size: var(--text-caption); opacity: .65; }
#rdbg-guidebook .rdbg-stay-booking dd { font-family: var(--rdbg-font-heading); font-size: var(--text-h5); }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-text-button { font-size: var(--text-body-sm); margin-top: 8px; min-height: 0; padding: 0 !important; }
#rdbg-guidebook .rdbg-stay-pin__value { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin: 0; }
#rdbg-guidebook .rdbg-stay-pin__value span { display: block; font-size: 10px; letter-spacing: .14em; opacity: .7; text-transform: uppercase; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-pin__value > div > strong { display: block; font-size: 24px; letter-spacing: .12em; margin-top: 4px; }
#rdbg-guidebook .rdbg-stay-pin__value .rdbg-text-button { font-size: 12px; gap: 5px; margin: 0; }
#rdbg-guidebook .rdbg-stay-pin__value .rdbg-text-button span { font-size: 12px; letter-spacing: 0; opacity: 1; text-transform: none; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-pin > .rdbg-button { margin-top: 12px; min-height: 42px; width: 100%; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-arrival { border-style: dashed !important; box-shadow: none; padding: 14px 16px; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-arrival > p { font-size: var(--text-caption); opacity: .7; }
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-actions { gap: 16px; }
@media (max-width: 900px) { #rdbg-guidebook .rdbg-stay-aside { width: 100%; } #rdbg-guidebook .rdbg-stay-main { max-width: none; } }
#rdbg-guidebook .rdbg-stay-pin__value button.rdbg-text-button,
#rdbg-guidebook .rdbg-home-pin button.rdbg-text-button { background: transparent !important; border: 0 !important; color: var(--rdbg-accent) !important; height: auto; padding: 4px 2px !important; }
#rdbg-guidebook .rdbg-stay-booking dt,
#rdbg-guidebook .rdbg-stay-v4 .rdbg-stay-guests small { color: var(--rdbg-ink); }
/* Apri porta — prototype 4.0.0 (single column, max 600 px) */
#rdbg-guidebook .rdbg-door { max-width: 600px; padding: 26px 0 40px; }
#rdbg-guidebook .rdbg-door__head { align-items: center; display: flex; gap: 14px; }
#rdbg-guidebook .rdbg-door__ring { align-items: center; border: 1px solid var(--rdbg-accent); border-radius: 50%; color: var(--rdbg-accent); display: grid; flex: none; height: 50px; place-items: center; width: 50px; }
#rdbg-guidebook .rdbg-door__ring svg { height: 21px; width: 21px; }
#rdbg-guidebook .rdbg-door__ring:is(.is-unavailable,.is-closed) { border-color: var(--rdbg-line-strong); color: var(--rdbg-soft); }
#rdbg-guidebook .rdbg-door__ring:is(.is-failed,.is-expired) { border-color: var(--rdbg-err); color: var(--rdbg-err); }
#rdbg-guidebook .rdbg-door__head .rdbg-eyebrow { font-size: var(--text-eyebrow); letter-spacing: .16em; }
#rdbg-guidebook .rdbg-door__head h1 { font-size: 23px !important; letter-spacing: -.01em !important; margin-top: 4px; }
#rdbg-guidebook .rdbg-door > .rdbg-status { margin-top: 16px; }
#rdbg-guidebook .rdbg-door__msg { font-size: var(--text-body-sm); margin-top: 14px !important; max-width: 48ch; opacity: .8; }
#rdbg-guidebook .rdbg-door__code { align-items: center; background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 4px; display: flex; gap: 12px; justify-content: space-between; margin-top: 20px; padding: 14px 18px; }
#rdbg-guidebook .rdbg-door__code span:not(button span) { display: block; font-size: 10px; letter-spacing: .14em; opacity: .7; text-transform: uppercase; }
#rdbg-guidebook .rdbg-door__code strong { display: block; font-family: var(--rdbg-font-heading); font-size: 23px; font-variant-numeric: tabular-nums; font-weight: 400; letter-spacing: .2em; margin-top: 5px; }
#rdbg-guidebook .rdbg-door__code button.rdbg-text-button { border: 0 !important; font-size: 12.5px; gap: 6px; }
#rdbg-guidebook .rdbg-door__note { font-size: var(--text-caption); margin-top: 8px !important; opacity: .55; }
#rdbg-guidebook .rdbg-door__cta { font-size: var(--text-body) !important; gap: 8px; margin-top: 20px; min-height: 50px; width: 100%; }
#rdbg-guidebook .rdbg-door__link { margin-top: 12px; text-align: center; }
#rdbg-guidebook .rdbg-door__window { border-top: 1px solid var(--rdbg-line); margin-top: 28px; padding-top: 20px; }
#rdbg-guidebook .rdbg-door__window .rdbg-eyebrow { margin-bottom: 12px; }
#rdbg-guidebook .rdbg-door .rdbg-window-row { align-items: flex-start; border-top: 1px solid var(--rdbg-line); display: flex; gap: 12px; padding: 9px 0; }
#rdbg-guidebook .rdbg-door .rdbg-window-row .rdbg-status-dot { margin-top: 5px; }
#rdbg-guidebook .rdbg-door .rdbg-window-row span { display: block; font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-door .rdbg-window-row small { display: block; font-size: var(--text-caption); margin-top: 2px; opacity: .6; }
#rdbg-guidebook .rdbg-door__help { border-style: dashed !important; box-shadow: none; display: grid; gap: 6px; justify-items: start; margin-top: 16px; padding: 14px 16px !important; }
#rdbg-guidebook .rdbg-door__help p { font-size: var(--text-body-sm); opacity: .7; }
#rdbg-guidebook .rdbg-door__help .rdbg-text-button { font-size: var(--text-body-sm); min-height: 28px; padding: 0 !important; }
/* Guest Card — prototype 4.0.0 */
#rdbg-guidebook .rdbg-gcard-layout { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 28px; padding: 26px 0 40px; }
#rdbg-guidebook .rdbg-gcard { background-color: var(--rdbg-card-bg); background-image: var(--rdbg-card-image, repeating-linear-gradient(135deg, rgba(158, 118, 118, .14) 0 2px, transparent 2px 26px)); background-size: cover; border-radius: 7px; color: var(--rdbg-card-ink); flex: none; margin: 0; overflow: hidden; padding: 24px 22px; position: relative; width: 320px; max-width: 100%; }
#rdbg-guidebook .rdbg-gcard__logo { display: block; margin-bottom: 12px; max-height: 32px; max-width: 128px; object-fit: contain; object-position: left; width: auto; }
#rdbg-guidebook .rdbg-gcard__kicker { color: var(--rdbg-card-accent); font-family: var(--rdbg-font-heading); font-size: var(--text-eyebrow); font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
#rdbg-guidebook .rdbg-gcard__name { color: var(--rdbg-card-ink) !important; font-size: 21px !important; letter-spacing: 0 !important; margin: 10px 0 0; }
#rdbg-guidebook .rdbg-gcard__number { font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .1em; margin-top: 4px !important; opacity: .75; }
#rdbg-guidebook .rdbg-gcard__validity { font-size: var(--text-caption); margin-top: 12px !important; opacity: .6; }
#rdbg-guidebook .rdbg-gcard__qr { background: var(--rdbg-card-ink); border-radius: 8px; display: block; height: 96px; margin-top: 18px; padding: 8px; width: 96px; }
#rdbg-guidebook .rdbg-gcard__qr .rdbg-qr { height: 80px; width: 80px; }
#rdbg-guidebook .rdbg-gcard-perks { flex: 1; min-width: min(260px, 100%); }
#rdbg-guidebook .rdbg-gcard-perks ul { list-style: none; margin: 12px 0 0; max-width: 420px; padding: 0; }
#rdbg-guidebook .rdbg-gcard-perks li { align-items: flex-start; border-top: 1px solid var(--rdbg-line); display: flex; gap: 12px; padding: 11px 0; }
#rdbg-guidebook .rdbg-gcard-perks li svg { color: var(--rdbg-accent); flex: none; height: 16px; margin-top: 2px; width: 16px; }
#rdbg-guidebook .rdbg-gcard-perks li span { font-size: var(--text-body-sm); opacity: .85; }
#rdbg-guidebook .rdbg-gcard-perks li small { display: block; font-size: var(--text-caption); opacity: .75; }
#rdbg-guidebook .rdbg-gcard-note { border-style: dashed !important; box-shadow: none; font-size: var(--text-caption); margin-top: 18px !important; max-width: 420px; padding: 14px 16px !important; }
@media (max-width: 900px) { #rdbg-guidebook .rdbg-gcard { width: 100%; } }
#rdbg-guidebook .rdbg-door .rdbg-status-dot--done { background: var(--rdbg-accent); border-color: var(--rdbg-accent); }
#rdbg-guidebook .rdbg-door .rdbg-status-dot--pending { background: var(--rdbg-line-strong); border-color: transparent; }
#rdbg-guidebook .rdbg-door__code[data-mask-dots] strong { letter-spacing: .22em; }

/* 4.0.0 — secondary screens of Rifugio App.dc.html (07a–13a) */
#rdbg-guidebook .screen-reader-text, #rdbg-guidebook .rdbg-page-header--bare { border: 0 !important; clip: rect(0 0 0 0) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; white-space: nowrap !important; width: 1px !important; }
#rdbg-guidebook .rdbg-screen--bare .rdbg-screen__body, #rdbg-guidebook .rdbg-screen--bare > .rdbg-wifi { padding-top: 26px !important; padding-bottom: 40px; }
#rdbg-guidebook .rdbg-tag { align-items: center; align-self: flex-start; border: 1px solid currentColor; border-radius: 999px; display: inline-flex; font-size: var(--text-caption); gap: 6px; padding: 3px 10px; }
#rdbg-guidebook .rdbg-tag svg { height: 11px; width: 11px; }
#rdbg-guidebook .rdbg-link-button { background: none !important; border: 0 !important; color: inherit !important; cursor: pointer; font: inherit !important; padding: 0 !important; text-decoration: underline; text-underline-offset: 2px; }

/* Servizi extra */
#rdbg-guidebook .rdbg-request-list { display: grid; gap: 10px; margin-bottom: 22px; max-width: 620px; }
#rdbg-guidebook .rdbg-request { align-items: flex-start; box-shadow: none; display: grid; gap: 6px; padding: 13px 16px !important; }
#rdbg-guidebook .rdbg-request p { font-size: var(--text-body-sm); margin: 0; }
#rdbg-guidebook .rdbg-request .rdbg-text-button { font-size: var(--text-caption); justify-self: start; min-height: 24px; padding: 0 !important; }
#rdbg-guidebook .rdbg-request--pending { background: var(--rdbg-warn-bg) !important; border-color: color-mix(in srgb, var(--rdbg-warn) 45%, transparent) !important; color: var(--rdbg-warn-fg); }
#rdbg-guidebook .rdbg-request--pending .rdbg-tag { border-color: color-mix(in srgb, var(--rdbg-warn) 45%, transparent); }
#rdbg-guidebook .rdbg-request--pending .rdbg-text-button { color: var(--rdbg-warn-fg) !important; }
#rdbg-guidebook .rdbg-screen[data-screen="extras"] .rdbg-service-grid { gap: 18px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); max-width: 960px; }
#rdbg-guidebook .rdbg-service-card { background: var(--rdbg-surface) !important; display: flex; flex-direction: column; gap: 0; overflow: hidden; padding: 0 !important; }
#rdbg-guidebook .rdbg-service-card__media { align-items: center; background: color-mix(in srgb, var(--rdbg-ink) 6%, var(--rdbg-surface)); color: var(--rdbg-soft); display: grid; flex: none; height: 112px; place-items: center; }
#rdbg-guidebook .rdbg-service-card__media img { height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-service-card__body { display: flex; flex: 1; flex-direction: column; padding: 15px 17px 17px !important; }
#rdbg-guidebook .rdbg-service-card .rdbg-eyebrow { font-size: var(--text-eyebrow); letter-spacing: .16em; }
#rdbg-guidebook .rdbg-service-card h3 { font-size: var(--text-h5) !important; margin: 6px 0 !important; }
#rdbg-guidebook .rdbg-service-card__body > p:not(.rdbg-eyebrow) { color: inherit; font-size: var(--text-caption); margin: 0 0 12px; opacity: .72; }
#rdbg-guidebook .rdbg-service-card__body > .rdbg-status { align-self: flex-start; margin-bottom: 10px; }
#rdbg-guidebook .rdbg-service-card__foot { align-items: center; border: 0 !important; display: flex; gap: 10px; justify-content: space-between; margin-top: auto; padding: 0 !important; }
#rdbg-guidebook .rdbg-service-card__foot strong { font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-variant-numeric: tabular-nums; font-weight: 400; }
#rdbg-guidebook .rdbg-service-card__foot .rdbg-button { font-size: var(--text-caption) !important; min-height: 34px; padding: 8px 15px !important; }

/* Esperienze / I nostri consigli */
#rdbg-guidebook .rdbg-screen[data-screen="recommendations"] .rdbg-page-header { padding-bottom: 0; }
#rdbg-guidebook .rdbg-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
#rdbg-guidebook .rdbg-chip { background: transparent !important; border: 0 !important; border-radius: 999px !important; color: var(--rdbg-ink) !important; cursor: pointer; font-family: var(--rdbg-font-body) !important; font-size: var(--text-caption) !important; min-height: 28px; padding: 5px 12px !important; }
#rdbg-guidebook .rdbg-chip.is-active, #rdbg-guidebook .rdbg-chip[aria-pressed="true"] { background: var(--rdbg-accent-100, #efe4e1) !important; color: var(--rdbg-accent-800, #594545) !important; }
#rdbg-guidebook .rdbg-xhero { border-radius: 7px; height: 200px; margin: 0 0 4px; overflow: hidden; position: relative; }
#rdbg-guidebook .rdbg-xhero img { height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-xhero figcaption { background: linear-gradient(to top, rgba(89, 69, 69, .65), transparent); bottom: 0; color: #fff9f5; font-family: var(--rdbg-font-heading); font-size: var(--text-eyebrow); font-weight: 600; left: 0; letter-spacing: .16em; padding: 16px 20px; position: absolute; right: 0; text-transform: uppercase; }
#rdbg-guidebook .rdbg-xgrid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); margin-top: 20px; max-width: 1200px; }
#rdbg-guidebook .rdbg-xgrid--tips { gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); margin-top: 6px; max-width: 1100px; }
#rdbg-guidebook .rdbg-xcard { background: var(--rdbg-surface) !important; display: flex; flex-direction: column; gap: 0; overflow: hidden; padding: 0 !important; position: relative; }
#rdbg-guidebook .rdbg-xcard[hidden] { display: none; }
#rdbg-guidebook .rdbg-xcard__media { align-items: center; background: color-mix(in srgb, var(--rdbg-ink) 6%, var(--rdbg-surface)); color: var(--rdbg-soft); display: grid; height: 140px; place-items: center; }
#rdbg-guidebook .rdbg-xcard--tip .rdbg-xcard__media { border-radius: 4px; height: 150px; }
#rdbg-guidebook .rdbg-xcard__media img { height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-xcard__body { padding: 14px 16px 16px; }
#rdbg-guidebook .rdbg-xcard--tip .rdbg-xcard__body { padding: 15px 17px 17px; }
#rdbg-guidebook .rdbg-xcard__meta { font-size: var(--text-caption); margin: 0; opacity: .65; }
#rdbg-guidebook .rdbg-xcard--tip .rdbg-xcard__meta { font-size: var(--text-caption); margin-top: 4px; }
#rdbg-guidebook .rdbg-xcard h3 { font-size: var(--text-h5) !important; margin: 6px 0 0 !important; }
#rdbg-guidebook .rdbg-xcard--tip h3 { margin: 0 !important; }
#rdbg-guidebook .rdbg-xcard__link { background: none !important; border: 0 !important; color: inherit !important; cursor: pointer; font: inherit !important; padding: 0 !important; text-align: left; }
#rdbg-guidebook .rdbg-xcard__link::after { content: ""; inset: 0; position: absolute; }
#rdbg-guidebook .rdbg-xcard__price { font-family: var(--rdbg-font-heading); font-size: var(--text-body-sm); margin: 8px 0 0; opacity: .85; }
#rdbg-guidebook .rdbg-xcard__actions { display: flex; gap: 8px; margin-top: 13px; }
#rdbg-guidebook .rdbg-xcard__actions .rdbg-button { flex: 1; font-size: var(--text-caption) !important; min-height: 32px; padding: 7px 14px !important; }
#rdbg-guidebook .rdbg-xcard__actions .rdbg-text-button { font-size: var(--text-caption); min-height: 32px; padding: 7px 10px !important; }

/* Guida della casa */
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-screen__body { max-width: 620px; }
#rdbg-guidebook .rdbg-house-wifi { justify-content: space-between !important; margin-bottom: 22px; padding: 13px 16px !important; width: 100%; }
#rdbg-guidebook .rdbg-house-wifi > span { align-items: center; display: flex; gap: 10px; }
#rdbg-guidebook .rdbg-house-wifi svg { height: 16px; width: 16px; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion { display: grid; gap: 9px; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__item { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 4px; box-shadow: none; padding: 0; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__item > button { align-items: center; display: flex; gap: 12px; padding: 15px 16px !important; text-align: left; width: 100%; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__item > button > svg:first-child { color: var(--rdbg-accent); flex: none; height: 17px; width: 17px; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__item > button > span { flex: 1; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__item > button > svg:last-child { flex: none; height: 14px; opacity: .55; width: 14px; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__panel { padding: 0 16px 15px 45px; }
#rdbg-guidebook .rdbg-screen[data-screen="house"] .rdbg-accordion__panel p { font-size: var(--text-body-sm); line-height: 1.6; opacity: .75; }

/* Wi-Fi */
#rdbg-guidebook .rdbg-wifi { max-width: 460px; }
#rdbg-guidebook .rdbg-back-link { font-size: var(--text-body-sm); gap: 6px; margin-bottom: 16px; min-height: 24px; padding: 0 !important; }
#rdbg-guidebook .rdbg-wifi-card { box-shadow: none; display: grid; gap: 14px; padding: 18px 20px !important; }
#rdbg-guidebook .rdbg-wifi-card > div + div { border-top: 1px solid var(--rdbg-line); padding-top: 12px; }
#rdbg-guidebook .rdbg-label { display: block; font-size: var(--text-eyebrow); letter-spacing: .14em; opacity: .65; text-transform: uppercase; }
#rdbg-guidebook .rdbg-wifi-card strong { display: block; font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-weight: 400; margin-top: 4px; }
#rdbg-guidebook .rdbg-wifi-card__pass { letter-spacing: .08em; overflow-wrap: anywhere; }
#rdbg-guidebook .rdbg-wifi-actions { display: flex; gap: 10px; }
#rdbg-guidebook .rdbg-wifi-actions .rdbg-button { flex: 1; font-size: var(--text-caption) !important; gap: 6px; }
#rdbg-guidebook .rdbg-wifi-qr { align-items: center; box-shadow: none; display: flex; flex-direction: row; gap: 14px; margin-top: 16px; padding: 15px 16px !important; }
#rdbg-guidebook .rdbg-wifi-qr .rdbg-qr { flex: none; height: 72px; width: 72px; }
#rdbg-guidebook .rdbg-wifi-qr p, #rdbg-guidebook .rdbg-wifi-note { font-size: 12.5px; margin: 0; opacity: .72; }
#rdbg-guidebook .rdbg-wifi-note { border-style: dashed !important; box-shadow: none; font-size: var(--text-caption); margin-top: 14px !important; padding: 13px 15px !important; }

/* Check-out */
#rdbg-guidebook .rdbg-screen[data-screen="checkout"] .rdbg-checkout-layout { display: block; max-width: 540px; }
#rdbg-guidebook .rdbg-checklist { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
#rdbg-guidebook .rdbg-checklist__items { margin-bottom: 20px; }
#rdbg-guidebook .rdbg-checklist .rdbg-check-item { border-bottom: 0; border-top: 1px solid var(--rdbg-line); gap: 12px; min-height: 56px; padding: 0 !important; }
#rdbg-guidebook .rdbg-checklist .rdbg-check-item input { flex-basis: 18px; height: 18px; width: 18px; }
#rdbg-guidebook .rdbg-checklist .rdbg-check-item span { font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-checkout-warn { background: var(--rdbg-warn-bg) !important; border-color: color-mix(in srgb, var(--rdbg-warn) 45%, transparent) !important; box-shadow: none; margin-bottom: 14px; padding: 13px 15px !important; }
#rdbg-guidebook .rdbg-checkout-warn p { color: var(--rdbg-warn-fg); font-size: var(--text-body-sm); margin: 0; }
#rdbg-guidebook .rdbg-checkout-note { font-size: var(--text-caption); margin: 0 0 20px; opacity: .65; }
#rdbg-guidebook .rdbg-checklist > .rdbg-button { min-height: 48px; width: 100%; }
#rdbg-guidebook .rdbg-checklist [data-checkout-feedback]:empty { display: none; }

/* Assistenza */
#rdbg-guidebook .rdbg-support { max-width: 620px; }
#rdbg-guidebook .rdbg-support-list { margin-bottom: 22px; }
#rdbg-guidebook .rdbg-contact-row { align-items: center; border-top: 1px solid var(--rdbg-line); color: inherit !important; display: flex; gap: 14px; min-height: 72px; text-decoration: none !important; }
#rdbg-guidebook .rdbg-contact-row > svg { color: var(--rdbg-accent); flex: none; height: 19px; width: 19px; }
#rdbg-guidebook .rdbg-contact-row strong { display: block; font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-contact-row small { display: block; font-size: var(--text-caption); margin-top: 2px; opacity: .6; }
#rdbg-guidebook .rdbg-support-hours { align-items: center; display: flex; font-size: var(--text-caption); gap: 8px; margin: -12px 0 22px; opacity: .65; }
#rdbg-guidebook .rdbg-support-hours svg { height: 14px; width: 14px; }
#rdbg-guidebook .rdbg-support .rdbg-emergency { background: var(--rdbg-err-bg) !important; border: 1px solid color-mix(in srgb, var(--rdbg-err) 40%, transparent) !important; border-radius: 7px; display: block; margin-bottom: 24px; padding: 15px 17px !important; }
#rdbg-guidebook .rdbg-support .rdbg-emergency .rdbg-eyebrow { color: var(--rdbg-err-fg) !important; font-size: var(--text-eyebrow); letter-spacing: .14em; }
#rdbg-guidebook .rdbg-support .rdbg-emergency p:not(.rdbg-eyebrow) { color: var(--rdbg-err-fg); font-size: var(--text-body-sm); margin: 8px 0 0; }
#rdbg-guidebook .rdbg-support .rdbg-emergency a { color: inherit !important; }
#rdbg-guidebook .rdbg-support-faq > h2.rdbg-eyebrow { font-size: var(--text-eyebrow) !important; letter-spacing: .16em !important; margin: 0 0 12px !important; }
#rdbg-guidebook .rdbg-support-faq { display: grid; gap: 9px; }
#rdbg-guidebook .rdbg-support-faq details { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 4px; }
#rdbg-guidebook .rdbg-support-faq summary { align-items: center; cursor: pointer; display: flex; font-size: var(--text-body-sm); gap: 12px; list-style: none; padding: 14px 15px; }
#rdbg-guidebook .rdbg-support-faq summary::-webkit-details-marker { display: none; }
#rdbg-guidebook .rdbg-support-faq summary span { flex: 1; }
#rdbg-guidebook .rdbg-support-faq summary svg { flex: none; height: 14px; opacity: .55; transition: transform .2s; width: 14px; }
#rdbg-guidebook .rdbg-support-faq details[open] summary svg { transform: rotate(180deg); }
#rdbg-guidebook .rdbg-support-faq details > div { font-size: var(--text-body-sm); line-height: 1.6; opacity: .75; padding: 0 15px 14px; }

/* Altro */
#rdbg-guidebook .rdbg-screen[data-screen="more"] .rdbg-screen__body { max-width: 500px; }
#rdbg-guidebook .rdbg-more-profile { display: grid; gap: 3px; margin-bottom: 20px; }
#rdbg-guidebook .rdbg-more-profile strong { font-family: var(--rdbg-font-heading); font-size: 19px; font-weight: 400; }
#rdbg-guidebook .rdbg-more-profile span { font-size: var(--text-caption); font-variant-numeric: tabular-nums; opacity: .6; }
#rdbg-guidebook .rdbg-more-list { gap: 0; margin-bottom: 20px; }
#rdbg-guidebook .rdbg-more-list > button { background: transparent !important; border: 0 !important; border-radius: 0 !important; border-top: 1px solid var(--rdbg-line) !important; gap: 14px; min-height: 50px; padding: 0 !important; }
#rdbg-guidebook .rdbg-more-list > button > span { font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-more-list > button > svg:first-child { height: 17px; width: 17px; }
#rdbg-guidebook .rdbg-more-list > button > svg:last-child { height: 13px; opacity: .4; width: 13px; }
#rdbg-guidebook .rdbg-screen[data-screen="more"] .rdbg-session-actions { align-items: stretch; display: flex; gap: 10px; }
#rdbg-guidebook .rdbg-screen[data-screen="more"] .rdbg-session-actions > * { flex: 1; }
#rdbg-guidebook .rdbg-screen[data-screen="more"] .rdbg-session-actions .rdbg-button { font-size: var(--text-body-sm) !important; gap: 6px; min-height: 42px; width: 100%; }

/* La mia guida — day chips and card actions (02a) */
#rdbg-guidebook .rdbg-guide-days { align-items: center; }
#rdbg-guidebook .rdbg-guide-days__label { flex: none; font-size: var(--text-eyebrow); letter-spacing: .16em; margin-right: 6px; opacity: .65; text-transform: uppercase; }
#rdbg-guidebook .rdbg-guide-days button { display: grid !important; flex: none; gap: 0; justify-items: center; min-height: 0 !important; min-width: 40px; padding: 5px 9px !important; }
#rdbg-guidebook .rdbg-guide-days small { font-size: 13px; }
#rdbg-guidebook .rdbg-guide-days strong { font-size: var(--text-body-sm); line-height: 1.2; }
#rdbg-guidebook .rdbg-guide-card .rdbg-status svg { height: 10px; width: 10px; }
#rdbg-guidebook .rdbg-guide-card footer { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
#rdbg-guidebook .rdbg-guide-card footer .rdbg-button { font-size: var(--text-caption) !important; justify-content: center; min-height: 36px; padding: 7px 10px !important; }
#rdbg-guidebook .rdbg-support-faq > h2.rdbg-eyebrow { color: var(--rdbg-accent) !important; font-family: var(--rdbg-font-heading) !important; font-weight: 600 !important; text-transform: uppercase !important; }
#rdbg-guidebook .rdbg-door__code[data-mask-dots] strong { font-size: 26px; line-height: 1.1; }

/* ==========================================================================
   4.0.1 — La mia guida v2 (La Mia Guida v2.dc.html)
   ========================================================================== */
#rdbg-guidebook .rdbg-g2 { padding: 30px 0 46px; }
#rdbg-guidebook .rdbg-g2 button { font: inherit; }
#rdbg-guidebook .rdbg-g2 h1, #rdbg-guidebook .rdbg-g2 h2, #rdbg-guidebook .rdbg-g2 h3,
#rdbg-guidebook .rdbg-g2-portal h2, #rdbg-guidebook .rdbg-g2-portal h3 { color: var(--rdbg-ink) !important; font-family: var(--rdbg-font-heading) !important; font-weight: 400 !important; letter-spacing: 0 !important; margin: 0; }
#rdbg-guidebook .rdbg-g2-mini { color: var(--rdbg-accent); font-family: var(--rdbg-font-heading); font-size: var(--text-eyebrow); font-weight: 600; letter-spacing: .15em; margin: 0; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-mini.is-plain { color: inherit; font-family: var(--rdbg-font-body); font-size: var(--text-eyebrow); font-weight: 400; letter-spacing: .16em; opacity: .72; }
#rdbg-guidebook .rdbg-g2-kicker { align-items: center; color: var(--rdbg-accent); display: flex; font-family: var(--rdbg-font-heading); font-size: var(--text-eyebrow); font-weight: 600; gap: 10px; letter-spacing: .18em; margin: 0; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-kicker svg { height: 16px; width: 16px; }
#rdbg-guidebook .rdbg-g2-hero { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 26px; justify-content: space-between; }
#rdbg-guidebook .rdbg-g2-hero__copy { flex: 1; min-width: min(100%, 300px); }
#rdbg-guidebook .rdbg-g2-hero h1 { font-size: clamp(28px, 3.6cqi, 44px) !important; letter-spacing: -.02em !important; line-height: 1.05 !important; margin-top: 12px; }
#rdbg-guidebook .rdbg-g2-hero__meta { align-items: center; display: flex; flex-wrap: wrap; font-size: clamp(13.5px, 1.25cqi, 15px); font-variant-numeric: tabular-nums; gap: 12px; margin: 12px 0 0; }
#rdbg-guidebook .rdbg-g2-hero__meta [aria-hidden] { opacity: .4; }
#rdbg-guidebook .rdbg-g2-hero__meta .is-soft { opacity: .72; }
#rdbg-guidebook .rdbg-g2-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
#rdbg-guidebook .rdbg-g2-chips span { background: var(--rdbg-accent-100, #efe4e1); border-radius: 999px; color: var(--rdbg-accent-800); font-size: var(--text-caption); padding: 5px 12px; }
#rdbg-guidebook .rdbg-g2-hero__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
#rdbg-guidebook .rdbg-g2-hero__actions .rdbg-button { font-size: var(--text-body-sm) !important; gap: 8px; min-height: 42px; padding: 10px 18px !important; }
#rdbg-guidebook .rdbg-g2-ghost { font-size: var(--text-body-sm); gap: 8px; min-height: 42px; padding: 10px 14px !important; }
#rdbg-guidebook .rdbg-g2 .rdbg-button svg, #rdbg-guidebook .rdbg-g2-portal .rdbg-button svg, #rdbg-guidebook .rdbg-g2 .rdbg-text-button svg, #rdbg-guidebook .rdbg-g2-portal .rdbg-text-button svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-g2-wx { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 7px; padding: 18px 20px; width: min(100%, 280px); }
#rdbg-guidebook .rdbg-g2-wx__now { align-items: center; display: flex; gap: 14px; margin-top: 12px; }
#rdbg-guidebook .rdbg-g2-wx__now svg { color: var(--rdbg-accent); flex: none; height: 30px; width: 30px; }
#rdbg-guidebook .rdbg-g2-wx__now strong { display: block; font-family: var(--rdbg-font-heading); font-size: 26px; font-variant-numeric: tabular-nums; font-weight: 400; line-height: 1; }
#rdbg-guidebook .rdbg-g2-wx__now span { display: block; font-size: var(--text-caption); margin-top: 4px; opacity: .68; }
#rdbg-guidebook .rdbg-g2-wx__hint { font-size: var(--text-caption); line-height: 1.5; margin: 14px 0 0; opacity: .78; }
#rdbg-guidebook .rdbg-g2-wx__pack { border-top: 1px solid var(--rdbg-line); display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; padding-top: 12px; }
#rdbg-guidebook .rdbg-g2-wx__pack span { border: 1px solid var(--rdbg-accent); border-radius: 4px; color: var(--rdbg-accent-800); font-size: 13px; padding: 3px 8px; }
#rdbg-guidebook .rdbg-g2-tabs { border-bottom: 1px solid var(--rdbg-line); display: flex; gap: 2px; margin-top: 24px; overflow-x: auto; scrollbar-width: none; }
#rdbg-guidebook .rdbg-g2-tabs::-webkit-scrollbar { height: 0; }
#rdbg-guidebook .rdbg-g2-tabs button { align-items: center; background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; color: color-mix(in srgb, var(--rdbg-ink) 68%, transparent) !important; cursor: pointer; display: flex; flex: none; font-family: var(--rdbg-font-heading) !important; font-size: var(--text-h5) !important; gap: 8px; min-height: 44px; padding: 11px 16px !important; white-space: nowrap; }
#rdbg-guidebook .rdbg-g2-tabs button.is-active { border-bottom-color: var(--rdbg-accent) !important; color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-g2-tabs svg { height: 16px; opacity: .9; width: 16px; }
#rdbg-guidebook .rdbg-g2-count { font-family: var(--rdbg-font-body); font-size: var(--text-caption); font-variant-numeric: tabular-nums; opacity: .6; }
#rdbg-guidebook .rdbg-g2-days { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 22px; }
#rdbg-guidebook .rdbg-g2-days .rdbg-g2-mini { margin-right: 6px; }
#rdbg-guidebook .rdbg-g2-days button { align-items: center; background: transparent !important; border: 1px solid var(--rdbg-line) !important; border-radius: 4px !important; color: inherit !important; cursor: pointer; display: flex; flex-direction: column; gap: 1px; min-height: 44px; padding: 7px 15px !important; }
#rdbg-guidebook .rdbg-g2-days button[aria-pressed="true"] { background: color-mix(in srgb, var(--rdbg-accent) 13%, transparent) !important; border-color: var(--rdbg-accent) !important; color: var(--rdbg-accent-800) !important; }
#rdbg-guidebook .rdbg-g2-days small { font-size: var(--text-eyebrow); letter-spacing: .1em; opacity: .75; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-days strong { font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-variant-numeric: tabular-nums; font-weight: 400; line-height: 1.1; }
#rdbg-guidebook .rdbg-g2-days__note { font-size: var(--text-caption); margin-left: 8px; opacity: .68; }
#rdbg-guidebook .rdbg-g2-glance { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
#rdbg-guidebook .rdbg-g2-glance > span { font-size: var(--text-caption); margin-right: 2px; opacity: .68; }
#rdbg-guidebook .rdbg-g2-glance button { align-items: center; background: var(--rdbg-surface) !important; border: 1px solid var(--rdbg-line) !important; border-radius: 4px !important; color: inherit !important; cursor: pointer; display: flex; font-size: var(--text-caption) !important; gap: 7px; max-width: 190px; min-height: 32px; padding: 6px 12px !important; }
#rdbg-guidebook .rdbg-g2-glance button.is-free { background: transparent !important; }
#rdbg-guidebook .rdbg-g2-glance button svg { color: var(--rdbg-accent); flex: none; height: 13px; width: 13px; }
#rdbg-guidebook .rdbg-g2-glance button.is-free svg { color: var(--rdbg-faint); }
#rdbg-guidebook .rdbg-g2-glance button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#rdbg-guidebook .rdbg-g2-panel { padding-top: 20px; }
#rdbg-guidebook .rdbg-g2-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; }
#rdbg-guidebook .rdbg-g2-heading h2 { font-size: clamp(22px, 2.3cqi, 27px) !important; }
#rdbg-guidebook .rdbg-g2-heading > span { font-size: var(--text-caption); opacity: .68; }
#rdbg-guidebook .rdbg-g2-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); margin-top: 16px; }
#rdbg-guidebook .rdbg-g2-grid.is-wide { gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)); margin-top: 20px; }
#rdbg-guidebook .rdbg-g2-card { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 7px; box-shadow: var(--rdbg-shadow-sm); display: flex; flex-direction: column; overflow: hidden; }
#rdbg-guidebook .rdbg-g2-card__media, #rdbg-guidebook .rdbg-g2-fav__img .rdbg-plate { align-items: center; background: color-mix(in srgb, var(--rdbg-ink) 6%, var(--rdbg-surface)); color: var(--rdbg-faint); display: grid; flex: none; height: 132px; place-items: center; }
#rdbg-guidebook .rdbg-g2-card__media.is-tall { height: 158px; }
#rdbg-guidebook .rdbg-g2-card__media img, #rdbg-guidebook .rdbg-g2-fav__img img { height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-g2-card__body { display: flex; flex: 1; flex-direction: column; padding: 16px 18px 18px; }
#rdbg-guidebook .rdbg-g2-card.is-explore .rdbg-g2-card__body { padding: 18px 20px 20px; }
#rdbg-guidebook .rdbg-g2-row { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
#rdbg-guidebook .rdbg-g2-row > div { flex: 1; min-width: 0; }
#rdbg-guidebook .rdbg-g2-cat { align-items: center; color: var(--rdbg-accent); display: flex; gap: 8px; margin: 0; }
#rdbg-guidebook .rdbg-g2-cat svg { flex: none; height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-g2-cat span { font-family: var(--rdbg-font-heading); font-size: var(--text-eyebrow); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-heart { align-items: center; background: transparent !important; border: 0 !important; color: color-mix(in srgb, var(--rdbg-ink) 45%, transparent) !important; cursor: pointer; display: grid; flex: none; height: 32px; padding: 0 !important; place-items: center; width: 32px; }
#rdbg-guidebook .rdbg-g2-heart svg { height: 17px; width: 17px; }
#rdbg-guidebook .rdbg-g2-heart.is-on { color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-g2-heart.is-on svg { fill: currentColor; }
#rdbg-guidebook .rdbg-g2-heart.is-round { border: 1px solid var(--rdbg-line) !important; border-radius: 50% !important; height: 36px; width: 36px; }
#rdbg-guidebook .rdbg-g2-card h3 { font-size: 19px !important; margin-top: 9px; }
#rdbg-guidebook .rdbg-g2-card h3.is-big { font-size: 21px !important; }
#rdbg-guidebook .rdbg-g2-link { background: none !important; border: 0 !important; color: inherit !important; cursor: pointer; font: inherit !important; padding: 0 !important; text-align: left; }
#rdbg-guidebook .rdbg-g2-link:hover { text-decoration: underline; text-decoration-color: var(--rdbg-line-strong); text-underline-offset: 3px; }
#rdbg-guidebook .rdbg-g2-tag { align-items: center; align-self: flex-start; border-radius: 999px; display: inline-flex; flex: none; font-size: var(--text-caption); gap: 6px; line-height: 1.35; margin-top: 10px; padding: 3px 10px; }
#rdbg-guidebook .rdbg-g2-tag svg { height: 11px; width: 11px; }
#rdbg-guidebook .rdbg-g2-tag.is-ok { background: var(--rdbg-ok-bg); color: var(--rdbg-ok-fg); }
#rdbg-guidebook .rdbg-g2-tag.is-warn { background: var(--rdbg-warn-bg); color: var(--rdbg-warn-fg); }
#rdbg-guidebook .rdbg-g2-tag.is-muted, #rdbg-guidebook .rdbg-g2-tag.is-neutral { background: #f5e6dc; color: #594545; }
#rdbg-guidebook .rdbg-g2-tag.is-accent { background: var(--rdbg-accent-100, #efe4e1); color: var(--rdbg-accent-800); }
#rdbg-guidebook .rdbg-g2-tag.is-outline { background: transparent; border: 1px solid var(--rdbg-line); }
#rdbg-guidebook .rdbg-g2-facts { display: flex; flex-wrap: wrap; font-size: var(--text-caption); gap: 14px; margin: 12px 0 0; opacity: .72; }
#rdbg-guidebook .rdbg-g2-facts span { align-items: center; display: flex; gap: 5px; }
#rdbg-guidebook .rdbg-g2-facts svg { height: 13px; width: 13px; }
#rdbg-guidebook .rdbg-g2-why { background: var(--rdbg-bg); border: 1px solid var(--rdbg-line); border-radius: 4px; flex: 1; margin-top: 14px; padding: 12px 14px; }
#rdbg-guidebook .rdbg-g2-why p:last-child { font-size: var(--text-caption); line-height: 1.5; margin: 7px 0 0; opacity: .8; }
#rdbg-guidebook .rdbg-g2-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
#rdbg-guidebook .rdbg-g2-actions > .rdbg-button { flex: 1; font-size: var(--text-body-sm) !important; gap: 7px; justify-content: center; min-height: 38px; padding: 9px !important; }
#rdbg-guidebook .rdbg-g2-actions.is-left > .rdbg-button { flex: none; padding: 7px 12px !important; }
#rdbg-guidebook .rdbg-g2-actions > .rdbg-button.is-grow { flex: 1; min-width: 140px; }
#rdbg-guidebook .rdbg-g2-actions .rdbg-text-button { font-size: var(--text-caption); gap: 6px; min-height: 36px; padding: 7px 10px !important; }
#rdbg-guidebook .rdbg-g2-actions .rdbg-text-button.is-danger { color: var(--rdbg-err) !important; margin-left: auto; }
#rdbg-guidebook .rdbg-g2-duo { align-items: start; display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); padding-top: 30px; }
#rdbg-guidebook .rdbg-g2-box { box-shadow: var(--rdbg-shadow-sm); padding: 22px 24px !important; }
#rdbg-guidebook .rdbg-g2-none { font-size: var(--text-body-sm); margin: 14px 0 0; opacity: .65; }
#rdbg-guidebook .rdbg-g2-event { align-items: flex-start; border-top: 1px solid var(--rdbg-line); display: flex; gap: 14px; padding: 14px 0; }
#rdbg-guidebook .rdbg-g2-event:first-of-type { margin-top: 6px; }
#rdbg-guidebook .rdbg-g2-event__date { flex: none; text-align: center; width: 46px; }
#rdbg-guidebook .rdbg-g2-event__date small { display: block; font-size: var(--text-eyebrow); letter-spacing: .1em; opacity: .68; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-event__date strong { display: block; font-family: var(--rdbg-font-heading); font-size: 21px; font-variant-numeric: tabular-nums; font-weight: 400; line-height: 1.05; }
#rdbg-guidebook .rdbg-g2-event__date.is-on strong { color: var(--rdbg-accent); }
#rdbg-guidebook .rdbg-g2-event__body { background: none !important; border: 0 !important; color: inherit !important; cursor: pointer; flex: 1; min-width: 0; padding: 0 !important; text-align: left; }
#rdbg-guidebook .rdbg-g2-event__body > strong { display: block; font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-g2-event__body > span:not(.rdbg-g2-event__tags) { display: block; font-size: var(--text-caption); margin-top: 3px; opacity: .68; }
#rdbg-guidebook .rdbg-g2-event__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
#rdbg-guidebook .rdbg-g2-event__tags .rdbg-g2-tag { font-size: 13px; margin: 0; padding: 3px 9px; }
#rdbg-guidebook .rdbg-g2-event > .rdbg-text-button { flex: none; font-size: var(--text-caption); gap: 6px; padding: 6px 8px !important; }
#rdbg-guidebook .rdbg-g2-near { align-items: center; background: none !important; border: 0 !important; border-top: 1px solid var(--rdbg-line) !important; border-radius: 0 !important; color: inherit !important; cursor: pointer; display: flex; gap: 13px; padding: 13px 0 !important; text-align: left; width: 100%; }
#rdbg-guidebook .rdbg-g2-near:first-of-type { margin-top: 6px; }
#rdbg-guidebook .rdbg-g2-near > svg { color: var(--rdbg-accent); flex: none; height: 16px; width: 16px; }
#rdbg-guidebook .rdbg-g2-near > span { flex: 1; min-width: 0; }
#rdbg-guidebook .rdbg-g2-near strong { display: block; font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-g2-near small { display: block; font-size: var(--text-caption); margin-top: 2px; opacity: .68; }
#rdbg-guidebook .rdbg-g2-near em { align-items: center; display: flex; flex: none; font-size: var(--text-caption); font-style: normal; font-variant-numeric: tabular-nums; gap: 6px; opacity: .78; white-space: nowrap; }
#rdbg-guidebook .rdbg-g2-near em svg { height: 13px; width: 13px; }
#rdbg-guidebook .rdbg-g2-block { justify-content: center; margin-top: 18px; width: 100%; }
#rdbg-guidebook .rdbg-g2-empty { align-items: center; border: 1px dashed var(--rdbg-line-strong); border-radius: 7px; display: flex; flex-direction: column; margin-top: 20px; padding: 34px; text-align: center; }
#rdbg-guidebook .rdbg-g2-empty.is-big { margin-top: 6px; padding: 36px 30px; }
#rdbg-guidebook .rdbg-g2-empty h3 { font-size: clamp(20px, 2.2cqi, 26px) !important; margin: 0 0 8px; }
#rdbg-guidebook .rdbg-g2-empty.is-big h3 { margin-top: 18px; }
#rdbg-guidebook .rdbg-g2-empty p { font-size: var(--text-body-sm); margin: 0 0 20px; max-width: 44ch; opacity: .75; }
#rdbg-guidebook .rdbg-g2-ring { align-items: center; border: 1px solid var(--rdbg-accent); border-radius: 50%; color: var(--rdbg-accent); display: grid; height: 56px; place-items: center; width: 56px; }
#rdbg-guidebook .rdbg-g2-ring svg { height: 24px; width: 24px; }
#rdbg-guidebook .rdbg-g2-planhead { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; padding-top: 6px; }
#rdbg-guidebook .rdbg-g2-planhead h2 { font-size: clamp(23px, 2.4cqi, 29px) !important; margin-top: 10px; }
#rdbg-guidebook .rdbg-g2-planhead .rdbg-g2-actions { margin-top: 0; }
#rdbg-guidebook .rdbg-g2-srcnote { font-size: var(--text-caption); margin: 6px 0 0; opacity: .7; }
#rdbg-guidebook .rdbg-g2-notice { align-items: flex-start; background: var(--rdbg-warn-bg); border: 1px solid rgba(158, 118, 118, .32); border-radius: 4px; color: var(--rdbg-warn-fg); display: flex; gap: 12px; margin-top: 18px; padding: 15px 18px; }
#rdbg-guidebook .rdbg-g2-notice > svg { flex: none; height: 17px; margin-top: 1px; width: 17px; }
#rdbg-guidebook .rdbg-g2-notice strong { display: block; font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-weight: 400; }
#rdbg-guidebook .rdbg-g2-notice p { color: var(--rdbg-ink); font-size: var(--text-body-sm); line-height: 1.5; margin: 6px 0 0; opacity: .82; }
#rdbg-guidebook .rdbg-g2-plan { align-items: start; display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); margin-top: 20px; }
@media (min-width: 1100px) { #rdbg-guidebook .rdbg-g2-plan { grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); } }
#rdbg-guidebook .rdbg-g2-slot { align-items: stretch; display: flex; }
#rdbg-guidebook .rdbg-g2-slot__time { flex: none; padding: 18px 14px 18px 0; text-align: right; width: 86px; }
#rdbg-guidebook .rdbg-g2-slot__time strong { display: block; font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-variant-numeric: tabular-nums; font-weight: 400; }
#rdbg-guidebook .rdbg-g2-slot__time small { display: block; font-size: var(--text-eyebrow); letter-spacing: .13em; margin-top: 4px; opacity: .68; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-slot__line { background: var(--rdbg-line); flex: none; position: relative; width: 1px; }
#rdbg-guidebook .rdbg-g2-slot__line span { background: var(--rdbg-surface); border: 1px solid var(--rdbg-accent); border-radius: 50%; height: 9px; left: -4px; position: absolute; top: 24px; width: 9px; }
#rdbg-guidebook .rdbg-g2-slot__body { flex: 1; min-width: 0; padding: 14px 0 14px 20px; }
#rdbg-guidebook .rdbg-g2-slotfree { border-style: dashed !important; box-shadow: none; padding: 18px !important; }
#rdbg-guidebook .rdbg-g2-slotfree p { font-size: var(--text-body-sm); margin: 0; opacity: .7; }
#rdbg-guidebook .rdbg-g2-slotfree .rdbg-g2-actions { margin-top: 12px; }
#rdbg-guidebook .rdbg-g2-slotcard { box-shadow: var(--rdbg-shadow-sm); padding: 16px 18px !important; }
#rdbg-guidebook .rdbg-g2-slotcard h3 { font-size: 19px !important; margin-top: 8px; }
#rdbg-guidebook .rdbg-g2-slotcard .rdbg-g2-facts { margin-top: 8px; }
#rdbg-guidebook .rdbg-g2-slotcard__tags { align-items: flex-end; display: flex; flex-direction: column; gap: 6px; }
#rdbg-guidebook .rdbg-g2-slotcard__tags .rdbg-g2-tag { margin: 0; }
#rdbg-guidebook .rdbg-g2-slotcard__tags .rdbg-g2-tag + .rdbg-g2-tag { font-size: 13px; }
#rdbg-guidebook .rdbg-g2-slotcard .rdbg-g2-why { margin-top: 13px; padding: 11px 13px; }
#rdbg-guidebook .rdbg-g2-slotcard .rdbg-g2-actions { gap: 7px; margin-top: 13px; }
#rdbg-guidebook .rdbg-g2-side { display: grid; gap: 18px; }
#rdbg-guidebook .rdbg-g2-stats { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); margin-top: 16px; }
#rdbg-guidebook .rdbg-g2-stats strong { display: block; font-family: var(--rdbg-font-heading); font-size: clamp(20px, 2cqi, 25px); font-variant-numeric: tabular-nums; font-weight: 400; line-height: 1; }
#rdbg-guidebook .rdbg-g2-stats span { display: block; font-size: var(--text-eyebrow); letter-spacing: .09em; margin-top: 7px; opacity: .72; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-realism { border-top: 1px solid var(--rdbg-line); font-size: var(--text-caption); line-height: 1.5; margin: 16px 0 0; opacity: .78; padding-top: 14px; }
#rdbg-guidebook .rdbg-g2-prefs { margin: 6px 0 0; }
#rdbg-guidebook .rdbg-g2-prefs div { align-items: baseline; border-top: 1px solid var(--rdbg-line); display: flex; gap: 14px; justify-content: space-between; padding: 11px 0; }
#rdbg-guidebook .rdbg-g2-prefs dt { font-size: var(--text-caption); opacity: .68; }
#rdbg-guidebook .rdbg-g2-prefs dd { font-size: var(--text-body-sm); margin: 0; text-align: right; }
#rdbg-guidebook .rdbg-g2-mapbar, #rdbg-guidebook .rdbg-g2-filters { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; padding-top: 2px; }
#rdbg-guidebook .rdbg-g2-mapbar > button, #rdbg-guidebook .rdbg-g2-filters > button:not(.rdbg-text-button), #rdbg-guidebook .rdbg-g2-cats button, #rdbg-guidebook .rdbg-g2-seg button, #rdbg-guidebook .rdbg-g2-pick button { align-items: center; background: transparent !important; border: 1px solid var(--rdbg-line) !important; border-radius: 4px !important; color: inherit !important; cursor: pointer; display: flex; font-size: var(--text-caption) !important; gap: 7px; min-height: 38px; padding: 7px 14px !important; }
#rdbg-guidebook .rdbg-g2-mapbar > button[aria-pressed="true"], #rdbg-guidebook .rdbg-g2-filters > button[aria-pressed="true"], #rdbg-guidebook .rdbg-g2-cats button[aria-pressed="true"], #rdbg-guidebook .rdbg-g2-seg button[aria-pressed="true"], #rdbg-guidebook .rdbg-g2-pick button[aria-pressed="true"] { background: color-mix(in srgb, var(--rdbg-accent) 13%, transparent) !important; border-color: var(--rdbg-accent) !important; color: var(--rdbg-accent-800) !important; }
#rdbg-guidebook .rdbg-g2-mapbar small, #rdbg-guidebook .rdbg-g2-cats small { font-size: inherit; font-variant-numeric: tabular-nums; opacity: .6; }
#rdbg-guidebook .rdbg-g2-pip { border-radius: 50%; display: inline-block; flex: none; height: 8px; width: 8px; }
#rdbg-guidebook .rdbg-g2-seg { border: 1px solid var(--rdbg-line); border-radius: 4px; display: flex; margin-left: auto; overflow: hidden; }
#rdbg-guidebook .rdbg-g2-seg button { border: 0 !important; border-radius: 0 !important; }
#rdbg-guidebook .rdbg-g2-seg button + button { border-left: 1px solid var(--rdbg-line) !important; }
#rdbg-guidebook .rdbg-g2-mapwrap { align-items: stretch; display: flex; gap: 18px; margin-top: 18px; }
#rdbg-guidebook .rdbg-g2-mapcol { flex: 1.5 1 0; min-width: min(100%, 280px); order: 1; }
#rdbg-guidebook .rdbg-g2-map { background: var(--rdbg-stone); border: 1px solid var(--rdbg-line); border-radius: 7px; height: 560px; overflow: hidden; width: 100%; }
#rdbg-guidebook .rdbg-g2-attrib { display: flex; flex-wrap: wrap; font-size: var(--text-caption); gap: 14px; margin: 10px 0 0; opacity: .72; }
#rdbg-guidebook .rdbg-g2-attrib span { align-items: center; display: flex; gap: 6px; }
#rdbg-guidebook .rdbg-g2-maplist { align-content: start; display: grid; flex: 1 1 0; gap: 10px; max-height: 560px; min-width: min(100%, 260px); overflow-y: auto; padding-right: 4px; }
#rdbg-guidebook .rdbg-g2-maprow { align-items: center; background: var(--rdbg-surface) !important; border: 1px solid var(--rdbg-line) !important; border-radius: 4px !important; color: inherit !important; cursor: pointer; display: flex; gap: 13px; padding: 11px 13px !important; text-align: left; width: 100%; }
#rdbg-guidebook .rdbg-g2-maprow > span:nth-child(2) { flex: 1; min-width: 0; }
#rdbg-guidebook .rdbg-g2-maprow strong { display: block; font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-g2-maprow small { display: block; font-size: var(--text-caption); margin-top: 2px; opacity: .68; }
#rdbg-guidebook .rdbg-g2-maprow .rdbg-g2-tag { font-size: 13px; margin: 0; padding: 3px 8px; }
#rdbg-guidebook .rdbg-g2-dot { align-items: center; border-radius: 50%; color: #fff9f5; display: grid; flex: none; height: 30px; place-items: center; width: 30px; }
#rdbg-guidebook .rdbg-g2-dot svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-g2-mk { align-items: center; border: 1.5px solid #fff9f5; border-radius: 50%; box-shadow: 0 2px 6px rgba(89, 69, 69, .3); color: #fff9f5; display: grid; font-family: var(--rdbg-font-heading); font-size: 11px; font-weight: 600; height: 24px; place-items: center; width: 24px; }
#rdbg-guidebook .rdbg-g2-mk.is-home { background: #9e7676; border-width: 2px; font-size: 13px; height: 30px; width: 30px; }
#rdbg-guidebook .leaflet-popup-content-wrapper { background: #fff9f5; border: 1px solid rgba(89, 69, 69, .16); border-radius: 6px; box-shadow: 0 6px 24px rgba(89, 69, 69, .22); color: #594545; }
#rdbg-guidebook .leaflet-popup-content { line-height: 1.45; margin: 0; width: 222px !important; }
#rdbg-guidebook .leaflet-popup-tip { background: #fff9f5; }
#rdbg-guidebook .rdbg-g2-pop { display: grid; gap: 4px; padding: 0 14px 12px; }
#rdbg-guidebook .rdbg-g2-pop img { height: 70px; margin: 0 -14px 6px; object-fit: cover; width: calc(100% + 28px); }
#rdbg-guidebook .rdbg-g2-pop > strong { font-family: var(--rdbg-font-heading); font-size: var(--text-h5); font-weight: 400; }
#rdbg-guidebook .rdbg-g2-pop:not(:has(img)) { padding-top: 12px; }
#rdbg-guidebook .rdbg-g2-pop__meta { align-items: center; display: flex; font-size: var(--text-caption); gap: 8px; }
#rdbg-guidebook .rdbg-g2-pop__meta .rdbg-g2-tag { margin: 0; padding: 2px 8px; }
#rdbg-guidebook .rdbg-g2-pop__act { display: flex; flex-wrap: wrap; gap: 8px; }
#rdbg-guidebook .rdbg-g2-pop__act .rdbg-text-button { font-size: var(--text-caption); min-height: 28px; padding: 0 !important; }
#rdbg-guidebook .rdbg-g2-search { display: block; max-width: 360px; position: relative; }
#rdbg-guidebook .rdbg-g2-search svg { height: 15px; left: 13px; opacity: .5; position: absolute; top: 13px; width: 15px; }
#rdbg-guidebook .rdbg-g2-search input { background: var(--rdbg-surface) !important; border: 1px solid var(--rdbg-line-strong) !important; border-radius: 4px !important; color: inherit !important; font: inherit !important; font-size: var(--text-body-sm) !important; min-height: 42px; padding: 9px 12px 9px 36px !important; width: 100%; }
#rdbg-guidebook .rdbg-g2-cats { display: flex; gap: 7px; margin-top: 14px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
#rdbg-guidebook .rdbg-g2-cats button { flex: none; font-size: var(--text-body-sm) !important; gap: 8px; min-height: 44px; padding: 9px 16px !important; white-space: nowrap; }
#rdbg-guidebook .rdbg-g2-cats svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-g2-filters { gap: 6px; margin-top: 14px; }
#rdbg-guidebook .rdbg-g2-filters .rdbg-g2-mini { margin-right: 4px; }
#rdbg-guidebook .rdbg-g2-filters > button:not(.rdbg-text-button) { font-size: var(--text-caption) !important; min-height: 36px; padding: 6px 13px !important; }
#rdbg-guidebook .rdbg-g2-filters .rdbg-text-button { font-size: var(--text-caption); margin-left: 4px; }
#rdbg-guidebook .rdbg-g2-desc { font-size: var(--text-body-sm); line-height: 1.55; margin: 11px 0 0; opacity: .78; }
#rdbg-guidebook .rdbg-g2-desc.is-big { font-size: var(--text-body-sm); line-height: 1.6; margin-top: 12px; opacity: .8; }
#rdbg-guidebook .rdbg-g2-feats { display: flex; flex-wrap: wrap; gap: 6px; margin: 13px 0 0; }
#rdbg-guidebook .rdbg-g2-feats span { border: 1px solid var(--rdbg-line); border-radius: 999px; font-size: 13px; padding: 3px 9px; }
#rdbg-guidebook .rdbg-g2-status { align-items: center; border-radius: 4px; display: flex; font-size: var(--text-caption); gap: 10px; margin: 14px 0 0; padding: 11px 14px; }
#rdbg-guidebook .rdbg-g2-status svg { flex: none; height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-g2-status.is-ok { background: var(--rdbg-ok-bg); color: var(--rdbg-ok-fg); }
#rdbg-guidebook .rdbg-g2-status.is-warn { background: var(--rdbg-warn-bg); color: var(--rdbg-warn-fg); }
#rdbg-guidebook .rdbg-g2-status.is-muted { background: #f5e6dc; color: #594545; }
#rdbg-guidebook .rdbg-g2-tip { border-left: 2px solid var(--rdbg-accent); margin-top: 12px; padding-left: 13px; }
#rdbg-guidebook .rdbg-g2-tip p:last-child { font-size: var(--text-caption); font-style: italic; line-height: 1.5; margin: 6px 0 0; opacity: .8; }
#rdbg-guidebook .rdbg-g2-favs { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)); margin-top: 20px; }
#rdbg-guidebook .rdbg-g2-fav { align-items: center; box-shadow: var(--rdbg-shadow-sm); display: flex; flex-direction: row; gap: 0; padding: 14px !important; }
#rdbg-guidebook .rdbg-g2-fav__img { background: none !important; border: 0 !important; cursor: pointer; flex: none; height: 92px; padding: 0 !important; width: 92px; }
#rdbg-guidebook .rdbg-g2-fav__img .rdbg-plate { border-radius: 4px; height: 92px; width: 92px; }
#rdbg-guidebook .rdbg-g2-fav > div { flex: 1; min-width: 0; padding: 0 4px 0 15px; }
#rdbg-guidebook .rdbg-g2-fav h3 { font-size: var(--text-h5) !important; margin-top: 7px; }
#rdbg-guidebook .rdbg-g2-sub { font-size: var(--text-caption); margin: 4px 0 0; opacity: .68; }
#rdbg-guidebook .rdbg-g2-fav .rdbg-g2-actions { gap: 7px; margin-top: 10px; }
#rdbg-guidebook .rdbg-g2-fav .rdbg-g2-actions .rdbg-button { font-size: var(--text-caption) !important; min-height: 32px; padding: 6px 11px !important; }
/* Overlays: portal outside the container-query viewport. */
#rdbg-guidebook .rdbg-g2-portal { height: 0; left: 0; position: fixed; top: 0; width: 0; z-index: 100040; }
html.rdbg-g2-locked { overflow: hidden; }
#rdbg-guidebook .rdbg-g2-layer { display: grid; inset: 0; padding: 3%; place-items: center; position: fixed; z-index: 100040; }
#rdbg-guidebook .rdbg-g2-veil { background: color-mix(in srgb, #594545 52%, transparent); inset: 0; position: absolute; }
#rdbg-guidebook .rdbg-g2-dialog { animation: rdbg-g2-rise .3s ease both; background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 7px; box-shadow: var(--rdbg-shadow-md); color: var(--rdbg-ink); max-height: 94vh; max-width: 100%; overflow-y: auto; position: relative; width: 560px; }
#rdbg-guidebook .rdbg-g2-dialog.is-detail { width: 620px; }
#rdbg-guidebook .rdbg-g2-dialog.is-picker { width: 440px; }
@keyframes rdbg-g2-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #rdbg-guidebook .rdbg-g2-dialog { animation: none; } }
#rdbg-guidebook .rdbg-g2-dhead { align-items: flex-start; display: flex; gap: 14px; justify-content: space-between; padding: 24px 26px 0; }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-dhead { padding: 0; }
#rdbg-guidebook .rdbg-g2-dhead > div:first-child { flex: 1; min-width: 0; }
#rdbg-guidebook .rdbg-g2-dhead h2 { font-size: clamp(21px, 2.2vw, 26px) !important; line-height: 1.15 !important; margin-top: 9px; }
#rdbg-guidebook .rdbg-g2-dialog.is-detail .rdbg-g2-dhead h2 { font-size: clamp(23px, 2.4vw, 28px) !important; margin-top: 8px; }
#rdbg-guidebook .rdbg-g2-dialog.is-picker .rdbg-g2-dhead h2 { font-size: 20px !important; }
#rdbg-guidebook .rdbg-g2-dhead__act { display: flex; flex: none; gap: 6px; }
#rdbg-guidebook .rdbg-g2-x { align-items: center; background: transparent !important; border: 1px solid var(--rdbg-line-strong) !important; border-radius: 4px !important; color: inherit !important; cursor: pointer; display: grid; height: 36px; padding: 0 !important; place-items: center; width: 36px; }
#rdbg-guidebook .rdbg-g2-x svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-g2-hint { font-size: var(--text-body-sm); margin: 8px 0 0; opacity: .7; }
#rdbg-guidebook .rdbg-g2-dots { display: flex; gap: 4px; padding: 20px 26px 0; }
#rdbg-guidebook .rdbg-g2-dots span { background: var(--rdbg-line); border-radius: 2px; flex: 1; height: 3px; }
#rdbg-guidebook .rdbg-g2-dots span.is-on { background: var(--rdbg-accent); }
#rdbg-guidebook .rdbg-g2-opts { display: grid; gap: 9px; padding: 22px 26px 0; }
#rdbg-guidebook .rdbg-g2-opts button { align-items: center; background: var(--rdbg-bg) !important; border: 1px solid var(--rdbg-line) !important; border-radius: 4px !important; color: inherit !important; cursor: pointer; display: flex; font-size: var(--text-body-sm) !important; gap: 13px; min-height: 52px; padding: 13px 16px !important; text-align: left; width: 100%; }
#rdbg-guidebook .rdbg-g2-opts button[aria-checked="true"] { background: color-mix(in srgb, var(--rdbg-accent) 9%, transparent) !important; border-color: var(--rdbg-accent) !important; }
#rdbg-guidebook .rdbg-g2-mark { align-items: center; border: 1px solid var(--rdbg-line); border-radius: 50%; color: #fff9f5; display: grid; flex: none; height: 20px; place-items: center; width: 20px; }
#rdbg-guidebook .rdbg-g2-opts button.is-multi .rdbg-g2-mark { border-radius: 4px; }
#rdbg-guidebook .rdbg-g2-mark svg { height: 12px; opacity: 0; width: 12px; }
#rdbg-guidebook .rdbg-g2-opts button[aria-checked="true"] .rdbg-g2-mark { background: var(--rdbg-accent); border-color: var(--rdbg-accent); }
#rdbg-guidebook .rdbg-g2-opts button[aria-checked="true"] .rdbg-g2-mark svg { opacity: 1; }
#rdbg-guidebook .rdbg-g2-dfoot { align-items: center; display: flex; gap: 10px; padding: 22px 26px 24px; }
#rdbg-guidebook .rdbg-g2-dfoot .rdbg-button { gap: 8px; margin-left: auto; min-height: 44px; padding: 11px 20px !important; }
#rdbg-guidebook .rdbg-g2-dfoot .rdbg-text-button { font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-g2-counter { font-size: 12px; font-variant-numeric: tabular-nums; margin-left: auto; opacity: .68; }
#rdbg-guidebook .rdbg-g2-counter + .rdbg-button { margin-left: 0; }
#rdbg-guidebook .rdbg-g2-gallery { display: grid; gap: 8px; grid-template-columns: 2fr 1fr; grid-template-rows: 96px 96px; padding: 16px; }
#rdbg-guidebook .rdbg-g2-gallery img { border-radius: 4px; height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-g2-gallery img:first-child { grid-row: 1 / 3; }
#rdbg-guidebook .rdbg-g2-gallery.is-1, #rdbg-guidebook .rdbg-g2-gallery.is-0 { grid-template-columns: 1fr; grid-template-rows: 200px; }
#rdbg-guidebook .rdbg-g2-gallery.is-2 { grid-template-columns: 2fr 1fr; grid-template-rows: 200px; }
#rdbg-guidebook .rdbg-g2-gallery.is-2 img:first-child { grid-row: auto; }
#rdbg-guidebook .rdbg-g2-gallery.is-0 { background: color-mix(in srgb, var(--rdbg-ink) 6%, var(--rdbg-surface)); color: var(--rdbg-faint); margin: 16px; padding: 0; place-items: center; }
#rdbg-guidebook .rdbg-g2-dbody { padding: 0 26px 26px; }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-status { margin-top: 16px; padding: 13px 15px; font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-why { padding: 13px 15px; }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-why p:last-child, #rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-tip p:last-child { font-size: var(--text-body-sm); line-height: 1.55; }
#rdbg-guidebook .rdbg-g2-meta { margin: 16px 0 0; }
#rdbg-guidebook .rdbg-g2-meta div { align-items: baseline; border-top: 1px solid var(--rdbg-line); display: flex; gap: 14px; justify-content: space-between; padding: 8px 0; }
#rdbg-guidebook .rdbg-g2-meta dt { flex: none; font-size: var(--text-eyebrow); letter-spacing: .06em; opacity: .68; text-transform: uppercase; }
#rdbg-guidebook .rdbg-g2-meta dd { font-size: var(--text-body-sm); font-variant-numeric: tabular-nums; margin: 0; text-align: right; }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-actions { margin-top: 18px; }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-actions .rdbg-button { font-size: var(--text-body-sm) !important; gap: 7px; min-height: 42px; padding: 11px 14px !important; }
#rdbg-guidebook .rdbg-g2-dbody .rdbg-g2-actions .rdbg-button.is-grow { min-width: 170px; }
#rdbg-guidebook .rdbg-g2-pick { padding: 20px 26px 0; }
#rdbg-guidebook .rdbg-g2-pick .rdbg-g2-mini { margin: 0 0 8px; }
#rdbg-guidebook .rdbg-g2-pick__days { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
#rdbg-guidebook .rdbg-g2-pick__days button { font-size: var(--text-body-sm) !important; min-height: 40px; }
#rdbg-guidebook .rdbg-g2-pick__days button.is-closed { opacity: .55; }
#rdbg-guidebook .rdbg-g2-pick .rdbg-g2-status { margin: -6px 0 16px; }
#rdbg-guidebook .rdbg-g2-pick__slots { display: grid; gap: 7px; }
#rdbg-guidebook .rdbg-g2-pick__slots button { font-size: var(--text-body-sm) !important; justify-content: space-between; min-height: 46px; padding: 9px 14px !important; width: 100%; }
#rdbg-guidebook .rdbg-g2-pick__slots button:disabled { cursor: not-allowed; opacity: .5; }
#rdbg-guidebook .rdbg-g2-pick__slots small { font-size: var(--text-caption); opacity: .62; text-align: right; }
#rdbg-guidebook .rdbg-g2-toast { background: var(--rdbg-ink); border-radius: 99px; bottom: 26px; box-shadow: var(--rdbg-shadow-md); color: var(--rdbg-surface); font-size: var(--text-body-sm); left: 50%; opacity: 0; padding: 10px 18px; pointer-events: none; position: fixed; transform: translate(-50%, 8px); transition: opacity .2s, transform .2s; white-space: nowrap; z-index: 100060; }
#rdbg-guidebook .rdbg-g2-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
#rdbg-guidebook .rdbg-g2[aria-busy="true"] { cursor: progress; }
@media (max-width: 760px) {
	#rdbg-guidebook .rdbg-g2 { padding-top: 22px; }
	#rdbg-guidebook .rdbg-g2-wx { width: 100%; }
	#rdbg-guidebook .rdbg-g2-mapwrap { flex-wrap: wrap; }
	#rdbg-guidebook .rdbg-g2-mapcol, #rdbg-guidebook .rdbg-g2-maplist { flex: 1 1 100%; max-height: none; order: 0; }
	#rdbg-guidebook .rdbg-g2-map { height: 420px; }
	#rdbg-guidebook .rdbg-g2-slot__time { width: 64px; padding-right: 10px; }
	#rdbg-guidebook .rdbg-g2-slot__body { padding-left: 14px; }
	#rdbg-guidebook .rdbg-g2-slotcard .rdbg-g2-row { flex-direction: column; }
	#rdbg-guidebook .rdbg-g2-slotcard__tags { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
	#rdbg-guidebook .rdbg-g2-layer { align-items: end; padding: 0; }
	#rdbg-guidebook .rdbg-g2-dialog { border-radius: 14px 14px 0 0; max-height: 92vh; padding-bottom: env(safe-area-inset-bottom); width: 100% !important; }
	#rdbg-guidebook .rdbg-g2-toast { bottom: calc(86px + env(safe-area-inset-bottom)); }
}

/* ==========================================================================
   4.0.1 — Home (Rifugio App.dc.html: phases pre / active / post)
   ========================================================================== */
#rdbg-guidebook .rdbg-home-hero--active h1 { margin-bottom: 18px; }
#rdbg-guidebook .rdbg-home-active { padding-top: 0 !important; }
#rdbg-guidebook .rdbg-home-cards { align-items: stretch; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); max-width: 1120px; }
#rdbg-guidebook .rdbg-home-cards > .rdbg-card, #rdbg-guidebook .rdbg-home-cards .rdbg-codice-widget { height: 100%; }
#rdbg-guidebook .rdbg-summary-bar { align-items: center; border-bottom: 1px solid var(--rdbg-line); border-top: 1px solid var(--rdbg-line); display: flex; flex-wrap: wrap; gap: 12px 22px; margin-bottom: 26px; max-width: 1100px; padding: 14px 0; }
#rdbg-guidebook .rdbg-summary-bar__item { align-items: center; background: none !important; border: 0 !important; color: inherit !important; display: flex; font-family: var(--rdbg-font-body) !important; font-size: var(--text-body-sm) !important; gap: 9px; min-height: 0; padding: 0 !important; text-align: left; }
#rdbg-guidebook .rdbg-summary-bar__item svg { color: var(--rdbg-accent); flex: none; height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-summary-bar__item strong { font-weight: 600; }
#rdbg-guidebook .rdbg-summary-bar__item.is-link { cursor: pointer; }
#rdbg-guidebook .rdbg-summary-bar__item.is-link span { text-decoration: underline; text-decoration-color: var(--rdbg-line); text-underline-offset: 3px; }
#rdbg-guidebook .rdbg-summary-bar__item.is-link:hover span { text-decoration-color: var(--rdbg-accent); }
#rdbg-guidebook .rdbg-summary-bar__sep { background: var(--rdbg-line); flex: none; height: 16px; width: 1px; }
#rdbg-guidebook .rdbg-home-mini { display: flex; flex-direction: column; padding: 20px 22px !important; }
#rdbg-guidebook .rdbg-home-mini__kicker { align-items: center; color: var(--rdbg-accent); display: flex; font-family: var(--rdbg-font-heading); font-size: var(--text-eyebrow); font-weight: 600; gap: 10px; letter-spacing: .16em; margin: 0; text-transform: uppercase; }
#rdbg-guidebook .rdbg-home-mini__kicker svg { height: 15px; width: 15px; }
#rdbg-guidebook .rdbg-home-mini__title { font-family: var(--rdbg-font-heading); font-size: var(--text-h5); margin: 12px 0 0 !important; }
#rdbg-guidebook .rdbg-home-mini__row { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
#rdbg-guidebook .rdbg-home-mini__row .rdbg-home-mini__title { font-size: var(--text-body); margin: 0 !important; }
#rdbg-guidebook .rdbg-home-mini__text { font-size: var(--text-caption); margin: 8px 0 0 !important; opacity: .72; }
#rdbg-guidebook .rdbg-home-mini .rdbg-home-mini__link { margin-top: auto !important; padding-top: 10px !important; }
#rdbg-guidebook .rdbg-tag.is-warn { background: var(--rdbg-warn-bg); border-color: transparent; color: var(--rdbg-warn-fg); }
#rdbg-guidebook .rdbg-tag.is-ok { background: var(--rdbg-ok-bg); border-color: transparent; color: var(--rdbg-ok-fg); }
#rdbg-guidebook .rdbg-tag.is-muted { background: #f5e6dc; border-color: transparent; color: #594545; }
/* Phase pre */
#rdbg-guidebook .rdbg-pre-head { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 28px; justify-content: space-between; padding-top: 26px; }
#rdbg-guidebook .rdbg-pre-head > div { flex: 1; min-width: 240px; }
#rdbg-guidebook .rdbg-pre-head .rdbg-eyebrow { font-size: var(--text-eyebrow); letter-spacing: .18em; }
#rdbg-guidebook .rdbg-pre-head h1 { font-size: clamp(26px, 3vw, 40px) !important; line-height: 1.08 !important; margin-top: 12px; }
#rdbg-guidebook .rdbg-pre-head p:not(.rdbg-eyebrow) { font-size: var(--text-body-sm); margin: 12px 0 0; max-width: 52ch; opacity: .72; }
#rdbg-guidebook .rdbg-pre-plate { flex: none; height: 150px; width: 220px; }
#rdbg-guidebook .rdbg-pre-list { list-style: none; margin: 26px 0; max-width: 480px; padding: 0; }
#rdbg-guidebook .rdbg-pre-list li { border-top: 1px solid var(--rdbg-line); }
#rdbg-guidebook .rdbg-pre-list li > button, #rdbg-guidebook .rdbg-pre-list li:not(:has(button)) { align-items: center; background: none !important; border: 0 !important; color: inherit !important; display: flex; gap: 12px; padding: 12px 0 !important; text-align: left; width: 100%; }
#rdbg-guidebook .rdbg-pre-list li > button { cursor: pointer; font: inherit !important; }
#rdbg-guidebook .rdbg-pre-list li > button > svg:last-child { height: 14px; margin-left: auto; opacity: .45; width: 14px; }
#rdbg-guidebook .rdbg-pre-list__mark { align-items: center; border: 1px solid var(--rdbg-line); border-radius: 50%; color: var(--rdbg-faint); display: grid; flex: none; height: 20px; place-items: center; width: 20px; }
#rdbg-guidebook .rdbg-pre-list__mark svg { height: 11px; stroke-width: 2.4; width: 11px; }
#rdbg-guidebook .rdbg-pre-list li.is-done .rdbg-pre-list__mark { border-color: var(--rdbg-ok); color: var(--rdbg-ok); }
#rdbg-guidebook .rdbg-pre-list__label { font-size: var(--text-body-sm); }
#rdbg-guidebook .rdbg-pre-list li.is-done .rdbg-pre-list__label { opacity: .55; }
#rdbg-guidebook .rdbg-pre-door { border-style: dashed !important; box-shadow: none; display: grid; gap: 8px; margin-bottom: 22px; max-width: 360px; opacity: .75; padding: 16px 18px !important; }
#rdbg-guidebook .rdbg-pre-door .rdbg-tag { border-color: var(--rdbg-line); }
#rdbg-guidebook .rdbg-pre-door h2 { font-size: var(--text-h5) !important; margin: 0; }
#rdbg-guidebook .rdbg-pre-door p { font-size: var(--text-caption); margin: 0; opacity: .8; }
#rdbg-guidebook .rdbg-pre-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 40px; }
#rdbg-guidebook .rdbg-pre-actions .rdbg-button { min-height: 46px; padding: 13px 22px !important; }
#rdbg-guidebook .rdbg-pre-actions .rdbg-button:disabled { opacity: .5; }
#rdbg-guidebook .rdbg-arrival-form { display: grid; gap: 14px; }
#rdbg-guidebook .rdbg-arrival-note { font-size: var(--text-caption); margin: 0; opacity: .7; }
#rdbg-guidebook .rdbg-field { display: grid; gap: 6px; }
#rdbg-guidebook .rdbg-field > span { font-size: var(--text-caption); opacity: .75; }
#rdbg-guidebook .rdbg-field select { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line-strong); border-radius: 4px; color: inherit; font: inherit; min-height: 44px; padding: 8px 12px; }
/* Servizi extra 4.0.1 */
#rdbg-guidebook .rdbg-request-list { gap: 0; }
#rdbg-guidebook .rdbg-request-list > .rdbg-eyebrow { margin-bottom: 8px; }
#rdbg-guidebook .rdbg-request-row { align-items: center; border-top: 1px solid var(--rdbg-line); display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 10px 0; }
#rdbg-guidebook .rdbg-request-row > span:first-child { flex: 1; min-width: 180px; }
#rdbg-guidebook .rdbg-request-row strong { display: block; font-size: var(--text-body-sm); font-weight: 400; }
#rdbg-guidebook .rdbg-request-row small { display: block; font-size: var(--text-caption); opacity: .65; }
#rdbg-guidebook .rdbg-request-row .rdbg-text-button { font-size: var(--text-caption); padding: 0 !important; }
#rdbg-guidebook .rdbg-request--pending { margin-bottom: 22px; max-width: 620px; }
#rdbg-guidebook .rdbg-service-modal header { align-items: flex-start; }
#rdbg-guidebook .rdbg-service-modal .rdbg-eyebrow { font-size: var(--text-eyebrow); letter-spacing: .16em; }
#rdbg-guidebook .rdbg-service-modal h2 { font-size: 19px !important; margin-top: 6px; }
#rdbg-guidebook .rdbg-service-modal__date { font-size: var(--text-body-sm); margin: 0; opacity: .7; }
#rdbg-guidebook .rdbg-service-modal .rdbg-modal__content { display: grid; gap: 12px; }
#rdbg-guidebook .rdbg-service-modal__total { align-items: baseline; border-top: 1px solid var(--rdbg-line); display: flex; justify-content: space-between; margin-top: 4px; padding-top: 14px; }
#rdbg-guidebook .rdbg-service-modal__total span { font-size: var(--text-body-sm); opacity: .7; }
#rdbg-guidebook .rdbg-service-modal__total strong { font-family: var(--rdbg-font-heading); font-size: 24px; font-variant-numeric: tabular-nums; font-weight: 400; }
#rdbg-guidebook .rdbg-service-modal [data-service-confirm] { min-height: 46px; width: 100%; }
#rdbg-guidebook .rdbg-service-modal__note { font-size: var(--text-caption); margin: 0; opacity: .6; text-align: center; }
#rdbg-guidebook .rdbg-received { align-items: center; display: flex; flex-direction: column; gap: 6px; padding: 28px !important; text-align: center; width: min(360px, 100%) !important; }
#rdbg-guidebook .rdbg-received__ring { align-items: center; background: var(--rdbg-ok-bg); border-radius: 50%; color: var(--rdbg-ok); display: grid; height: 50px; place-items: center; width: 50px; }
#rdbg-guidebook .rdbg-received__ring svg { height: 23px; stroke-width: 2.2; width: 23px; }
#rdbg-guidebook .rdbg-received h2 { font-size: 19px !important; margin-top: 9px; }
#rdbg-guidebook .rdbg-received p { font-size: var(--text-body-sm); margin: 0; opacity: .7; }
#rdbg-guidebook .rdbg-received .rdbg-tag { align-self: center; margin-top: 6px; }
#rdbg-guidebook .rdbg-received .rdbg-button { margin-top: 12px; min-height: 44px; width: 100%; }
/* Phase post (magic link after check-out) */
#rdbg-guidebook.rdbg-post { background: var(--rdbg-bg); min-height: 60vh; padding: 26px 5% 40px; }
#rdbg-guidebook .rdbg-post__main { margin: 0 auto; max-width: 900px; }
#rdbg-guidebook .rdbg-post h1 { font-size: clamp(28px, 3.4vw, 40px) !important; margin: 0 0 8px; }
#rdbg-guidebook .rdbg-post__date { font-size: var(--text-body-sm); margin: 0 0 26px; opacity: .7; }
#rdbg-guidebook .rdbg-post__grid { align-items: stretch; display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); }
#rdbg-guidebook .rdbg-post__grid > .rdbg-home-section { display: contents; }
#rdbg-guidebook .rdbg-post__review { overflow: hidden; padding: 0 !important; }
#rdbg-guidebook .rdbg-post__review figure { height: 130px; margin: 0; }
#rdbg-guidebook .rdbg-post__review img { filter: sepia(.22) saturate(.82) contrast(1.05); height: 100%; object-fit: cover; width: 100%; }
#rdbg-guidebook .rdbg-post__review > div { padding: 18px 20px 20px; }
#rdbg-guidebook .rdbg-post__review h2 { font-size: var(--text-h5) !important; margin: 0; }
#rdbg-guidebook .rdbg-post__review p { font-size: var(--text-body-sm); margin: 8px 0 16px; opacity: .72; }
#rdbg-guidebook .rdbg-post__actions { display: flex; flex-wrap: wrap; gap: 10px; }
#rdbg-guidebook .rdbg-post__actions .rdbg-button { font-size: var(--text-body-sm) !important; padding: 10px 18px !important; }
#rdbg-guidebook .rdbg-post .rdbg-codice-widget { padding: 20px 22px !important; }
#rdbg-guidebook .rdbg-post__links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 26px; }
@media (max-width: 760px) {
	#rdbg-guidebook .rdbg-summary-bar { flex-direction: column; align-items: flex-start; gap: 10px; }
	#rdbg-guidebook .rdbg-summary-bar__sep { display: none; }
}

/* ==========================================================================
   4.0.2 — Skeleton loading (shared by every screen, loaded with the app)
   ========================================================================== */
#rdbg-guidebook { --rdbg-skel-base: color-mix(in srgb, var(--rdbg-ink, #594545) 7%, var(--rdbg-surface, #fff9f5)); --rdbg-skel-hi: color-mix(in srgb, var(--rdbg-ink, #594545) 2%, var(--rdbg-surface, #fff9f5)); }
@keyframes rdbg-skel { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
#rdbg-guidebook .rdbg-skel,
#rdbg-guidebook.rdbg-js :is(.rdbg-plate, .rdbg-service-card__media, .rdbg-xcard__media, .rdbg-g2-card__media, .rdbg-home-stay-card figure, .rdbg-post__review figure, .rdbg-editorial-card__media, .rdbg-g2-gallery, .rdbg-g2-fav__img .rdbg-plate):has(img):not(.is-loaded),
#rdbg-guidebook .rdbg-qr:empty,
#rdbg-guidebook .rdbg-g2-map.is-loading {
	animation: rdbg-skel 1.4s ease-in-out infinite;
	background-color: var(--rdbg-skel-base);
	background-image: linear-gradient(90deg, var(--rdbg-skel-base) 25%, var(--rdbg-skel-hi) 37%, var(--rdbg-skel-base) 63%);
	background-size: 400% 100%;
}
#rdbg-guidebook.rdbg-js :is(.rdbg-plate, .rdbg-service-card__media, .rdbg-xcard__media, .rdbg-g2-card__media, .rdbg-home-stay-card figure, .rdbg-post__review figure, .rdbg-editorial-card__media, .rdbg-g2-gallery):has(img):not(.is-loaded) img { opacity: 0; }
#rdbg-guidebook.rdbg-js :is(.rdbg-plate, .rdbg-service-card__media, .rdbg-xcard__media, .rdbg-g2-card__media, .rdbg-home-stay-card figure, .rdbg-post__review figure, .rdbg-editorial-card__media, .rdbg-g2-gallery) img { transition: opacity .25s ease; }
#rdbg-guidebook .rdbg-skel { border-radius: 4px; display: block; }
#rdbg-guidebook .rdbg-skel-stack { display: grid; gap: 18px; padding: 6px 0 24px; }
#rdbg-guidebook .rdbg-skel-line { height: 12px; width: 100%; }
#rdbg-guidebook .rdbg-skel-line.is-sm { height: 9px; }
#rdbg-guidebook .rdbg-skel-line.is-w80 { width: 80%; }
#rdbg-guidebook .rdbg-skel-line.is-w60 { width: 60%; }
#rdbg-guidebook .rdbg-skel-line.is-w40 { width: 40%; }
#rdbg-guidebook .rdbg-skel-line.is-w25 { width: 25%; }
#rdbg-guidebook .rdbg-skel-title { height: 30px; width: min(70%, 520px); }
#rdbg-guidebook .rdbg-skel-kicker { height: 9px; width: 140px; }
#rdbg-guidebook .rdbg-skel-chip { border-radius: 999px; height: 26px; width: 88px; }
#rdbg-guidebook .rdbg-skel-row { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
#rdbg-guidebook .rdbg-skel-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
#rdbg-guidebook .rdbg-skel-card { background: var(--rdbg-surface); border: 1px solid var(--rdbg-line); border-radius: 7px; display: grid; gap: 10px; overflow: hidden; padding: 0 0 18px; }
#rdbg-guidebook .rdbg-skel-card > .rdbg-skel:first-child { border-radius: 0; height: 128px; }
#rdbg-guidebook .rdbg-skel-card > .rdbg-skel:not(:first-child) { margin: 0 18px; width: auto; }
#rdbg-guidebook .rdbg-skel-card.is-flat { padding: 18px 0; }
#rdbg-guidebook .rdbg-skel-card.is-flat > .rdbg-skel:first-child { border-radius: 4px; height: 12px; margin: 0 18px; width: 40%; }
#rdbg-guidebook .rdbg-skel-list { display: grid; }
#rdbg-guidebook .rdbg-skel-list > div { align-items: center; border-top: 1px solid var(--rdbg-line); display: grid; gap: 14px; grid-template-columns: 56px 1fr 70px; padding: 14px 0; }
#rdbg-guidebook .rdbg-skel-list > div > div { display: grid; gap: 7px; }
#rdbg-guidebook .rdbg-skel-slot { display: grid; gap: 14px; grid-template-columns: 70px 1fr; }
#rdbg-guidebook .rdbg-skel-slot > .rdbg-skel:first-child { height: 34px; }
#rdbg-guidebook .rdbg-skel-slot > .rdbg-skel:last-child { height: 118px; }
#rdbg-guidebook .rdbg-skel-media { height: 200px; }
#rdbg-guidebook .rdbg-skel-circle { border-radius: 50%; height: 44px; width: 44px; }
#rdbg-guidebook .rdbg-skel-dialog { display: grid; gap: 14px; padding: 16px 26px 26px; }
#rdbg-guidebook .rdbg-content-dialog .rdbg-skel-dialog { min-width: min(560px, 80vw); }
@media (prefers-reduced-motion: reduce) {
	#rdbg-guidebook .rdbg-skel,
	#rdbg-guidebook.rdbg-js :is(.rdbg-plate, .rdbg-service-card__media, .rdbg-xcard__media, .rdbg-g2-card__media, .rdbg-home-stay-card figure, .rdbg-post__review figure, .rdbg-editorial-card__media, .rdbg-g2-gallery):has(img):not(.is-loaded),
	#rdbg-guidebook .rdbg-qr:empty,
	#rdbg-guidebook .rdbg-g2-map.is-loading { animation: none; }
}
