:root {
	--ink: #041525;
	--blue: #0068ff;
	--cyan: #00d5ff;
	--aqua: #00d69a;
	--violet: #7b3cff;
	--sun: #ffd35a;
	--coral: #ff3868;
	--paper: #ffffff;
	--mist: #f1fbff;
	--line: rgba(0, 104, 255, .18);
	--radius: 8px;
	--shadow: 0 28px 80px rgba(3, 30, 56, .16);
}

/* 5.23.2: final phone/tablet containment, no sideways crop. */
@media (max-width: 900px) {
	html,
	body {
		max-width: 100%;
		overflow-x: clip;
		width: 100%;
	}

	body {
		padding-bottom: calc(92px + env(safe-area-inset-bottom));
	}

	img,
	video,
	iframe,
	svg,
	canvas {
		max-width: 100%;
	}

	.sf-main,
	.sf-main > *,
	.sf-page,
	.sf-band,
	.sf-shortcode-shell,
	.sf-editorial,
	.sf-hero,
	.sf-hero-inner,
	.sf-hero-copy,
	.sf-command,
	.sf-home-categories,
	.sf-explorer,
	.sf-filterbar,
	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid,
	.sf-detail,
	.sf-detail-hero,
	.sf-detail-hero-copy,
	.sf-detail-meta,
	.sf-detail-content,
	.sf-detail-body,
	.sf-member-portal,
	.sf-member-portal-card,
	.sf-member-portal-profile,
	.sf-member-portal-actions,
	.sf-membership-home,
	.sf-ticketing,
	.sf-booking-form,
	.sf-planner {
		max-width: 100%;
		min-width: 0;
	}

	.sf-header,
	.admin-bar .sf-header {
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		min-height: 64px !important;
		padding: 8px 10px 8px 14px !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		top: calc(8px + env(safe-area-inset-top)) !important;
		transform: translateY(0) !important;
		width: auto !important;
	}

	.sf-header.is-hidden {
		transform: translateY(calc(-100% - 16px)) !important;
	}

	.sf-header.has-open-menu,
	.sf-header:focus-within,
	.sf-header.is-pulled {
		transform: translateY(0) !important;
	}

	@keyframes sf-header-pull {
		from {
			transform: translateY(-14px);
		}

		to {
			transform: translateY(0);
		}
	}

	.sf-logo {
		min-width: 0 !important;
	}

	.sf-logo img {
		height: auto !important;
		max-height: 42px !important;
		object-fit: contain;
		width: min(145px, 46vw) !important;
	}

	.sf-header-tools {
		display: none !important;
	}

	.sf-menu-button {
		display: inline-flex !important;
		font-size: .9rem !important;
		gap: 6px !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		height: 44px !important;
		justify-self: end !important;
		max-width: 38vw !important;
		min-height: 44px !important;
		min-width: 0 !important;
		overflow: hidden;
		padding: 0 11px !important;
		white-space: nowrap !important;
	}

	.sf-menu-button span:not(.screen-reader-text) {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.sf-header .sf-nav,
	.sf-header.is-condensed .sf-nav {
		left: max(10px, env(safe-area-inset-left)) !important;
		max-height: calc(100dvh - 92px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		top: calc(78px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}

	.sf-hero,
	.sf-page-hero,
	.sf-detail-hero {
		overflow: hidden !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.sf-hero-inner,
	.sf-page-hero-copy,
	.sf-detail-hero-copy,
	.sf-tool-head,
	.sf-section-head,
	.sf-home-intro,
	.sf-command {
		width: 100%;
	}

	.sf-hero h1,
	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1,
	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-command h2 {
		max-width: 100%;
		overflow-wrap: anywhere !important;
		text-wrap: auto !important;
		word-break: normal;
	}

	.sf-hero h1 {
		font-size: clamp(2.15rem, 11vw, 3.15rem) !important;
		line-height: .98 !important;
	}

	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1 {
		font-size: clamp(2.05rem, 9.4vw, 3rem) !important;
		line-height: 1 !important;
	}

	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-command h2 {
		font-size: clamp(1.8rem, 7.8vw, 2.45rem) !important;
		line-height: 1.02 !important;
	}

	.sf-hero-copy > p:not(.sf-kicker),
	.sf-page-hero-copy > p:not(.sf-kicker),
	.sf-detail-hero-copy > p:not(.sf-kicker),
	.sf-command-intro,
	.sf-detail-body,
	.sf-member-portal-card p,
	.sf-place-copy > p,
	.sf-event-copy > p {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.sf-actions,
	.sf-page-actions,
	.sf-inline-actions,
	.sf-detail-actions,
	.sf-card-actions,
	.sf-command form,
	.sf-guide form,
	.sf-filterbar {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-actions a,
	.sf-actions button,
	.sf-page-actions a,
	.sf-inline-actions a,
	.sf-detail-actions a,
	.sf-detail-actions button,
	.sf-card-actions a,
	.sf-card-actions button,
	.sf-command input,
	.sf-command select,
	.sf-command button,
	.sf-guide input,
	.sf-guide select,
	.sf-guide button,
	.sf-search-field,
	.sf-near-button {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		width: 100% !important;
	}

	.sf-prompt-chips,
	.sf-filter-scroll,
	.sf-search-suggestions,
	.sf-category-portals {
		flex-wrap: wrap !important;
		margin-inline: 0 !important;
		max-width: 100% !important;
		overflow-x: visible !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	.sf-prompt-chips > *,
	.sf-filter-scroll > *,
	.sf-search-suggestions > *,
	.sf-category-portals > * {
		flex: 0 0 auto;
		max-width: calc(100vw - 40px) !important;
	}

	.sf-command .sf-prompt-chips button,
	.sf-guide .sf-prompt-chips button,
	.sf-filter-scroll button,
	.sf-category-portals a,
	.sf-search-suggestions a,
	.sf-search-suggestions button {
		flex: 0 0 auto !important;
		max-width: calc(100vw - 48px) !important;
		min-height: 40px !important;
		padding: 8px 13px !important;
		white-space: nowrap !important;
		width: auto !important;
	}

	.sf-now-periods {
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		overflow: visible !important;
		width: 100% !important;
	}

	.sf-now-periods button {
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-home-categories,
	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid,
	.sf-experience-grid,
	.sf-member-portal-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-home-categories a,
	.sf-place-card,
	.sf-event-card,
	.sf-news-grid article,
	.sf-experience-grid a,
	.sf-member-portal-card {
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
	}

	.sf-place-copy,
	.sf-event-copy,
	.sf-news-grid article > div,
	.sf-saved-card {
		min-width: 0;
	}

	.sf-place-copy h3,
	.sf-event-copy h3,
	.sf-news-grid h3,
	.sf-saved-card h3 {
		font-size: clamp(1.55rem, 7vw, 2rem) !important;
		overflow-wrap: anywhere;
	}

	.sf-detail-place-meta,
	.sf-detail-meta.sf-detail-place-meta,
	.sf-detail-meta {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 14px 16px 18px !important;
	}

	.sf-detail-place-meta > div,
	.sf-detail-place-meta > a,
	.sf-detail-place-meta > button,
	.sf-detail-meta > div,
	.sf-detail-meta > a,
	.sf-detail-meta > button {
		margin: 0 !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-mobile-nav {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
	}

	.sf-mobile-nav a,
	.sf-mobile-nav button {
		min-width: 0 !important;
	}

	.sf-chat {
		bottom: calc(66px + env(safe-area-inset-bottom)) !important;
		right: 52px !important;
	}

	.sf-accessibility {
		bottom: calc(66px + env(safe-area-inset-bottom)) !important;
		right: 8px !important;
	}

	body.sf-chat-open {
		overflow: hidden !important;
	}

	.sf-chat.is-open {
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		top: auto !important;
	}

	.sf-chat.is-open .sf-chat-panel {
		border-bottom: 0 !important;
		border-left: 0 !important;
		border-radius: 14px 14px 0 0 !important;
		border-right: 0 !important;
		bottom: 0 !important;
		box-sizing: border-box;
		height: min(82dvh, calc(100dvh - 60px)) !important;
		inset: auto 0 0 0 !important;
		max-height: calc(100dvh - 48px) !important;
		max-width: none !important;
		min-height: min(500px, 70dvh) !important;
		position: fixed !important;
		right: auto !important;
		top: auto !important;
		width: 100vw !important;
	}
}

/* 5.26.21: Sostienici più leggera, con scelta del metodo di pagamento. */
html body .sf-page-sostienici.sf-page-without-hero {
	padding-top: clamp(92px, 10vw, 124px) !important;
}

html body .sf-page-sostienici .sf-shortcode-shell {
	padding-bottom: clamp(58px, 7vw, 90px) !important;
}

html body .sf-support-hub-v3 {
	display: grid !important;
	gap: 14px !important;
	margin: 0 auto !important;
	max-width: 1180px !important;
	width: 100% !important;
}

html body .sf-support-hub-v3 .sf-support-hero,
html body .sf-support-hub-v3 .sf-support-tax,
html body .sf-support-hub-v3 .sf-support-donate,
html body .sf-support-hub-v3 .sf-support-actions {
	border: 1px solid #cfe2ea !important;
	border-radius: 8px !important;
	box-shadow: 0 18px 50px rgba(7, 52, 77, .07) !important;
	overflow: hidden !important;
}

html body .sf-support-hub-v3 .sf-support-hero {
	align-items: center !important;
	background: #07344d !important;
	border-top: 4px solid #18bfa2 !important;
	color: #fff !important;
	gap: clamp(20px, 4vw, 38px) !important;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 330px) !important;
	padding: clamp(24px, 4vw, 42px) !important;
}

html body .sf-support-hub-v3 .sf-support-hero h2 {
	font-size: clamp(2rem, 4.6vw, 4.35rem) !important;
	line-height: 1 !important;
	margin: 8px 0 12px !important;
	max-width: 760px !important;
}

html body .sf-support-hub-v3 .sf-support-hero p {
	font-size: clamp(.98rem, 1.1vw, 1.12rem) !important;
	line-height: 1.45 !important;
	max-width: 700px !important;
}

html body .sf-support-hub-v3 .sf-support-hero-actions {
	gap: 8px !important;
	margin-top: 18px !important;
}

html body .sf-support-hub-v3 .sf-support-hero-actions a,
html body .sf-support-hub-v3 .sf-support-actions a {
	border-radius: 6px !important;
	min-height: 44px !important;
	padding: 10px 14px !important;
}

html body .sf-support-hub-v3 .sf-support-code {
	border-radius: 8px !important;
	min-width: 0 !important;
	padding: 18px !important;
}

html body .sf-support-hub-v3 .sf-support-code strong {
	font-size: clamp(1.75rem, 4vw, 3.05rem) !important;
	overflow-wrap: anywhere !important;
}

html body .sf-support-hub-v3 .sf-support-code button {
	border-radius: 6px !important;
}

html body .sf-support-hub-v3 .sf-support-tax,
html body .sf-support-hub-v3 .sf-support-donate {
	background: #fff !important;
	grid-template-columns: minmax(0, 1fr) minmax(230px, 310px) !important;
	padding: clamp(22px, 3.5vw, 34px) !important;
}

html body .sf-support-hub-v3 .sf-support-donate {
	display: grid !important;
	gap: 18px !important;
	grid-template-columns: 1fr !important;
}

html body .sf-support-hub-v3 .sf-support-tax h2,
html body .sf-support-hub-v3 .sf-support-donate h2,
html body .sf-support-hub-v3 .sf-support-actions h2 {
	font-size: clamp(1.65rem, 3vw, 2.85rem) !important;
	line-height: 1.05 !important;
	margin: 5px 0 10px !important;
}

html body .sf-support-hub-v3 .sf-support-tax p,
html body .sf-support-hub-v3 .sf-support-donate header p,
html body .sf-support-hub-v3 .sf-support-actions p {
	font-size: .98rem !important;
	line-height: 1.45 !important;
}

html body .sf-support-hub-v3 .sf-support-tax ol {
	margin-top: 14px !important;
}

html body .sf-support-payment,
html body .sf-support-woocommerce {
	background: #f6fbfd !important;
	border: 1px solid #d3e6ee !important;
	border-radius: 8px !important;
	margin: 0 !important;
	padding: 14px !important;
}

html body .sf-support-payment-grid,
html body .sf-support-woocommerce {
	align-items: end !important;
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: minmax(120px, .42fr) minmax(170px, .65fr) minmax(190px, .72fr) auto !important;
}

html body .sf-support-payment label,
html body .sf-support-woocommerce label {
	color: #061a2d !important;
	display: block !important;
	font-size: .82rem !important;
	font-weight: 950 !important;
	margin: 0 !important;
}

html body .sf-support-payment input,
html body .sf-support-payment select,
html body .sf-support-woocommerce input,
html body .sf-support-woocommerce select {
	background: #fff !important;
	border: 1px solid #bfd7e1 !important;
	border-radius: 6px !important;
	font: inherit !important;
	font-size: .95rem !important;
	margin-top: 6px !important;
	min-height: 46px !important;
	padding: 0 12px !important;
	width: 100% !important;
}

html body .sf-support-payment button,
html body .sf-support-woocommerce button {
	align-items: center !important;
	background: #0068ff !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: #fff !important;
	display: inline-flex !important;
	font: inherit !important;
	font-weight: 950 !important;
	gap: 8px !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 0 16px !important;
	white-space: nowrap !important;
}

html body .sf-support-payment button svg,
html body .sf-support-woocommerce button svg {
	flex: 0 0 auto !important;
	height: 18px !important;
	width: 18px !important;
}

html body .sf-support-payment small,
html body .sf-support-woocommerce small {
	color: #587383 !important;
	display: block !important;
	font-size: .84rem !important;
	grid-column: 1 / -1 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

html body .sf-support-hub-v3 .sf-support-actions {
	background: #07344d !important;
	color: #fff !important;
	padding: clamp(20px, 3vw, 28px) !important;
}

html body .sf-support-hub-v3 .sf-support-actions h2 {
	color: #fff !important;
}

html body .sf-support-hub-v3 .sf-support-actions p {
	color: rgba(233, 247, 252, .86) !important;
}

html body .sf-support-hub-v3 .sf-support-actions a:last-child {
	background: #fff !important;
	color: #061a2d !important;
}

@media (max-width: 900px) {
	html body .sf-support-hub-v3 .sf-support-hero,
	html body .sf-support-hub-v3 .sf-support-tax,
	html body .sf-support-payment-grid,
	html body .sf-support-woocommerce {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 700px) {
	html body .sf-page-sostienici.sf-page-without-hero {
		padding-top: 86px !important;
	}

	html body .sf-page-sostienici .sf-shortcode-shell {
		padding-left: 14px !important;
		padding-right: 14px !important;
		padding-bottom: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 34px) !important;
	}

	html body .sf-support-hub-v3 {
		gap: 12px !important;
	}

	html body .sf-support-hub-v3 .sf-support-hero,
	html body .sf-support-hub-v3 .sf-support-tax,
	html body .sf-support-hub-v3 .sf-support-donate,
	html body .sf-support-hub-v3 .sf-support-actions {
		border-radius: 8px !important;
		padding: 20px !important;
	}

	html body .sf-support-hub-v3 .sf-support-hero h2 {
		font-size: clamp(2rem, 11vw, 3.15rem) !important;
	}

	html body .sf-support-hub-v3 .sf-support-hero-actions,
	html body .sf-support-hub-v3 .sf-support-actions > div:last-child {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	html body .sf-support-hub-v3 .sf-support-hero-actions a,
	html body .sf-support-hub-v3 .sf-support-actions a,
	html body .sf-support-payment button,
	html body .sf-support-woocommerce button {
		width: 100% !important;
	}
}

@media (max-width: 430px) {
	.sf-header,
	.admin-bar .sf-header {
		left: 8px !important;
		right: 8px !important;
	}

	.sf-logo img {
		width: min(132px, 42vw) !important;
	}

	.sf-menu-button {
		font-size: .86rem !important;
		max-width: 34vw !important;
		padding-inline: 9px !important;
	}

	.sf-kicker {
		font-size: .64rem !important;
		line-height: 1.22 !important;
	}

	.sf-hero h1 {
		font-size: clamp(2rem, 10vw, 2.55rem) !important;
	}

	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1 {
		font-size: clamp(1.9rem, 9.2vw, 2.45rem) !important;
	}

	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-command h2 {
		font-size: clamp(1.62rem, 7.4vw, 2.05rem) !important;
	}

	.sf-hero-copy > p:not(.sf-kicker),
	.sf-page-hero-copy > p:not(.sf-kicker),
	.sf-detail-hero-copy > p:not(.sf-kicker),
	.sf-command-intro {
		font-size: .95rem !important;
		line-height: 1.4 !important;
	}

	.sf-hero,
	.sf-page-hero,
	.sf-detail-hero {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* 5.23.6: final phone polish for menu, footer copy actions and member card edges. */
html body {
	max-width: 100%;
	overflow-x: hidden;
}

html body .sf-member-card-turner,
html body .sf-member-card-inner,
html body .sf-member-card-face,
html body .sf-member-card-face > img {
	border-radius: 24px !important;
	overflow: hidden !important;
}

html body .sf-footer-contact-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 10px !important;
	max-width: 100% !important;
}

html body .sf-footer-copy-button,
html body .sf-contact-details address button {
	box-sizing: border-box !important;
	white-space: normal !important;
}

html body .sf-footer-copy-button > span {
	color: inherit !important;
	display: inline !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-contact-details address button > span {
	display: grid !important;
	gap: 3px !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-contact-details address button strong,
html body .sf-contact-details address button em {
	color: #062238 !important;
	display: block !important;
	font-style: normal !important;
	line-height: 1.25 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-contact-details address button strong {
	font-size: 1rem !important;
	font-weight: 950 !important;
}

html body .sf-contact-details address button em {
	color: #5f7484 !important;
	font-size: .82rem !important;
	font-weight: 800 !important;
}

@media (max-width: 900px) {
	html body .sf-header.has-open-menu .sf-nav,
	html body .sf-header .sf-nav.is-open {
		box-sizing: border-box !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		max-height: min(72dvh, calc(100dvh - 128px)) !important;
		max-width: calc(100vw - 20px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		top: calc(74px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}
}

@media (max-width: 760px) {
	html body .sf-footer {
		padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
	}

	html body .sf-footer-main {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	html body .sf-footer .sf-footer-brand img {
		max-width: min(260px, 82vw) !important;
	}

	html body .sf-footer-copy-button {
		flex: 1 1 150px !important;
		min-height: 48px !important;
		min-width: 0 !important;
	}

	html body .sf-contact-details {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}

	html body .sf-contact-details address button {
		min-height: 68px !important;
		padding: 13px 14px !important;
		width: 100% !important;
	}

	html body .sf-member-card-turner,
	html body .sf-member-card-inner,
	html body .sf-member-card-face,
	html body .sf-member-card-face > img {
		border-radius: 16px !important;
	}
}

/* 5.24: commercial activity self-service area. */
.sf-business-packages {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 30px;
}

.sf-business-packages article,
.sf-business-packages aside {
	border: 1px solid #c7dfe8;
	border-radius: 7px;
	display: grid;
	gap: 14px;
	padding: 24px;
}

.sf-business-packages article {
	background: #fff;
	align-content: start;
}

.sf-business-packages article > span {
	align-items: center;
	background: #e8f7fb;
	border: 1px solid #bedee8;
	border-radius: 6px;
	color: #0b6dff;
	display: inline-flex;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.sf-business-packages svg {
	height: 21px;
	width: 21px;
}

.sf-business-packages h3 {
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.sf-business-packages p {
	color: #4d6878;
	line-height: 1.5;
	margin: 0;
}

.sf-business-packages ul {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
}

.sf-business-packages li {
	align-items: center;
	color: #143d54;
	display: flex;
	font-size: .9rem;
	font-weight: 850;
	gap: 8px;
}

.sf-business-packages li::before {
	background: #11b58b;
	border-radius: 50%;
	content: "";
	height: 8px;
	width: 8px;
}

.sf-business-packages aside {
	background: #062f47;
	color: #fff;
}

.sf-business-packages aside strong {
	color: #fff;
	font-size: 1.35rem;
	line-height: 1.1;
}

.sf-business-packages aside p {
	color: #cce1ea;
}

.sf-business-packages aside div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.sf-business-packages aside a {
	align-items: center;
	background: #ffd052;
	border: 1px solid #ffd052;
	border-radius: 6px;
	color: #062238;
	display: inline-flex;
	font-size: .9rem;
	font-weight: 950;
	justify-content: center;
	min-height: 44px;
	padding: 10px 13px;
	text-decoration: none;
}

.sf-business-packages aside a + a {
	background: transparent;
	border-color: rgba(255, 255, 255, .36);
	color: #fff;
}

.sf-business-grid article {
	gap: 10px;
}

.sf-business-grid article > p:not(.sf-kicker) {
	color: #4b6676;
	line-height: 1.55;
}

.sf-business-offer {
	align-items: center;
	background: #fff5cf;
	border: 1px solid #f3d36f;
	border-radius: 6px;
	color: #5b4300;
	display: flex;
	font-size: .84rem;
	font-weight: 950;
	gap: 8px;
	line-height: 1.3;
	padding: 10px 12px;
}

.sf-business-offer svg {
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.sf-business-tags,
.sf-business-quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sf-business-tags span,
.sf-business-quick a {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: .74rem;
	font-weight: 900;
	gap: 6px;
	min-height: 34px;
	padding: 8px 10px;
	text-decoration: none;
}

.sf-business-tags span {
	background: #eef8f3;
	border: 1px solid #c5e4d7;
	color: #09684f;
}

.sf-business-quick a {
	background: #eef6fb;
	border: 1px solid #c8dfe8;
	color: #083551;
}

.sf-business-tags svg,
.sf-business-quick svg {
	height: 15px;
	width: 15px;
}

.sf-business-status {
	align-items: end;
	display: grid;
	gap: 8px;
	justify-items: end;
	max-width: 320px;
}

.sf-business-status span {
	background: #e7fff5;
	border: 1px solid #a6e2cc;
	border-radius: 999px;
	color: #075a46;
	font-size: .72rem;
	font-weight: 950;
	padding: 8px 11px;
	text-transform: uppercase;
}

.sf-business-status strong {
	color: #083551;
	font-size: .95rem;
	line-height: 1.25;
	text-align: right;
}

.sf-business-dashboard > form {
	background: transparent;
	border: 0;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
	padding: 0;
}

.sf-business-dashboard fieldset {
	background: #fff;
	border: 1px solid #c7dce5;
	border-radius: 7px;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	min-width: 0;
	padding: 24px;
}

.sf-business-dashboard legend {
	background: #062f47;
	border-radius: 999px;
	color: #fff;
	font-size: .76rem;
	font-weight: 950;
	padding: 8px 12px;
	text-transform: uppercase;
}

.sf-business-dashboard fieldset label,
.sf-menu-manager > form label {
	color: #294f66;
	display: grid;
	font-size: .82rem;
	font-weight: 850;
	gap: 7px;
	min-width: 0;
}

.sf-business-dashboard fieldset label {
	grid-column: auto;
}

.sf-business-dashboard fieldset label:nth-of-type(3),
.sf-business-dashboard fieldset label:nth-of-type(4),
.sf-business-dashboard fieldset label:last-child,
.sf-business-dashboard .sf-business-categories {
	grid-column: 1 / -1;
}

.sf-business-dashboard form input,
.sf-business-dashboard form textarea {
	border-radius: 6px;
	color: #062238;
	line-height: 1.35;
	min-width: 0;
}

.sf-business-categories {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-business-categories label {
	min-width: 0;
	position: relative;
}

.sf-business-categories input {
	opacity: 0;
	position: absolute;
}

.sf-business-categories span {
	align-items: center;
	background: #f3fafc;
	border: 1px solid #bfd9e3;
	border-radius: 6px;
	color: #083551;
	display: flex;
	font-size: .84rem;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	min-height: 48px;
	padding: 10px;
}

.sf-business-categories svg {
	height: 18px;
	width: 18px;
}

.sf-business-categories input:checked + span {
	background: #0b6dff;
	border-color: #0b6dff;
	color: #fff;
}

.sf-business-dashboard > form > button {
	justify-self: start;
	min-width: 220px;
}

.sf-business-dashboard [role="status"] {
	color: #294f66;
	font-size: .9rem;
	font-weight: 800;
	margin: 0;
}

.sf-menu-manager {
	background: #fff;
	border: 1px solid #c7dce5;
	border-radius: 7px;
	margin-top: 18px;
	padding: 24px;
}

.sf-menu-manager > header button {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
}

.sf-menu-manager [data-sf-menu-items] {
	margin-top: 14px;
}

.sf-menu-manager [data-sf-menu-items] article {
	border-radius: 6px;
	grid-template-columns: minmax(0, 1fr) auto auto;
}

.sf-menu-manager article strong {
	color: #062238;
	font-size: 1rem;
	white-space: nowrap;
}

.sf-menu-manager > form {
	border-radius: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-menu-manager > form label {
	grid-column: auto;
}

.sf-menu-manager > form label:nth-of-type(1),
.sf-menu-manager > form label:nth-of-type(3),
.sf-menu-manager > form label:nth-of-type(5),
.sf-menu-manager > form label:nth-of-type(6),
.sf-menu-manager > form > div,
.sf-menu-manager > form > [role="status"] {
	grid-column: 1 / -1;
}

.sf-menu-manager > form > div {
	align-items: center;
	flex-wrap: wrap;
}

.sf-business-offer-box {
	background: #fff5cf;
	border: 1px solid #f3d36f;
	border-radius: 7px;
	color: #4b3800;
}

.sf-business-offer-box h2 {
	color: #4b3800;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	letter-spacing: 0;
	line-height: 1.05;
	margin: 8px 0 10px;
}

.sf-business-offer-box p:not(.sf-kicker),
.sf-business-offer-box small {
	color: #5f4a09;
}

.sf-digital-menu > header p:not(.sf-kicker) {
	color: #4c6878;
	line-height: 1.55;
	margin: -14px 0 24px;
	max-width: 720px;
}

.sf-digital-menu article {
	border-radius: 7px;
}

.sf-menu-thumb {
	align-items: center;
	background: #e8f7fb;
	border: 1px solid #bfdde7;
	border-radius: 6px;
	color: #0b6dff;
	display: inline-flex;
	height: 80px;
	justify-content: center;
	overflow: hidden;
	width: 90px;
}

.sf-digital-menu .sf-menu-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-menu-thumb svg {
	height: 26px;
	width: 26px;
}

.sf-menu-category {
	color: #087e6a;
	font-size: .74rem;
	font-weight: 950;
	margin: 0 0 5px;
	text-transform: uppercase;
}

@media (max-width: 1180px) {
	.sf-business-packages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-business-packages aside {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	.sf-business-packages,
	.sf-business-dashboard fieldset,
	.sf-business-categories,
	.sf-menu-manager > form {
		grid-template-columns: 1fr;
	}

	.sf-business-packages aside {
		grid-column: auto;
	}

	.sf-business-dashboard {
		width: calc(100% - 28px);
	}

	.sf-business-dashboard fieldset,
	.sf-menu-manager {
		padding: 18px;
	}

	.sf-business-status {
		align-items: start;
		justify-items: start;
		max-width: none;
	}

	.sf-business-status strong {
		text-align: left;
	}

	.sf-business-dashboard fieldset label:nth-of-type(3),
	.sf-business-dashboard fieldset label:nth-of-type(4),
	.sf-business-dashboard fieldset label:last-child,
	.sf-business-dashboard .sf-business-categories,
	.sf-menu-manager > form label:nth-of-type(1),
	.sf-menu-manager > form label:nth-of-type(3),
	.sf-menu-manager > form label:nth-of-type(5),
	.sf-menu-manager > form label:nth-of-type(6),
	.sf-menu-manager > form > div,
	.sf-menu-manager > form > [role="status"] {
		grid-column: 1;
	}

	.sf-digital-menu article {
		grid-template-columns: 70px minmax(0, 1fr);
	}

	.sf-menu-thumb {
		height: 70px;
		width: 70px;
	}

	.sf-digital-menu article > strong {
		grid-column: 2;
		justify-self: start;
	}
}

/* 5.23.5 end guard: final mobile/order-sensitive fixes. */
html body .sf-member-card-turner,
html body .sf-member-card-inner,
html body .sf-member-card-face,
html body .sf-member-card-face > img {
	border-radius: 24px !important;
}

html body .sf-member-card-turner {
	overflow: hidden !important;
}

@media (max-width: 900px) {
	html body .sf-header .sf-nav,
	html body .sf-header.is-condensed .sf-nav {
		box-sizing: border-box !important;
		left: max(12px, env(safe-area-inset-left)) !important;
		margin: 0 !important;
		max-height: min(74dvh, calc(100dvh - 156px)) !important;
		max-width: calc(100vw - 24px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		position: fixed !important;
		right: max(12px, env(safe-area-inset-right)) !important;
		top: calc(78px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}

	html body .sf-nav.is-open,
	html body .sf-header.has-open-menu .sf-nav {
		display: grid !important;
	}

	html body .sf-member-dashboard {
		margin: 18px auto calc(112px + env(safe-area-inset-bottom)) !important;
		width: calc(100% - 18px) !important;
	}

	html body .sf-member-dashboard-layout,
	html body .sf-member-dashboard-main .sf-member-card-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 760px) {
	html body .sf-guide {
		margin-left: auto !important;
		margin-right: auto !important;
		overflow: hidden !important;
		padding: 22px 14px !important;
		width: calc(100% - 20px) !important;
	}

	html body .sf-guide > div,
	html body .sf-guide-panel {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body .sf-guide .sf-prompt-chips,
	html body .sf-prompt-chips {
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		overflow: visible !important;
	}

	html body .sf-guide .sf-prompt-chips > *,
	html body .sf-prompt-chips > * {
		flex: initial !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body .sf-guide .sf-prompt-chips button,
	html body .sf-prompt-chips button {
		font-size: .86rem !important;
		min-height: 42px !important;
		overflow-wrap: anywhere !important;
		padding: 8px 9px !important;
		white-space: normal !important;
	}

	html body .sf-guide input,
	html body .sf-guide select,
	html body .sf-guide button {
		font-size: 1rem !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body .sf-guide h2 {
		font-size: clamp(2rem, 10vw, 2.7rem) !important;
		line-height: 1 !important;
	}
}

@media (max-width: 640px) {
	html body .sf-footer {
		overflow: hidden !important;
	}

	html body .sf-footer-main {
		padding-bottom: calc(128px + env(safe-area-inset-bottom)) !important;
	}

	html body .sf-footer-contact-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	html body .sf-footer-copy-button {
		justify-content: flex-start !important;
		width: 100% !important;
	}

	html body .sf-member-card-turner,
	html body .sf-member-card-inner,
	html body .sf-member-card-face,
	html body .sf-member-card-face > img {
		border-radius: 16px !important;
	}
}

@media (max-width: 430px) {
	html body .sf-member-dashboard-actions,
	html body .sf-guide .sf-prompt-chips,
	html body .sf-prompt-chips {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

.sf-member-card-turner,
.sf-member-card-inner,
.sf-member-card-face,
.sf-member-card-face > img {
	border-radius: 24px !important;
}

.sf-member-card-turner {
	overflow: hidden !important;
}

@media (max-width: 900px) {
	.sf-header .sf-nav,
	.sf-header.is-condensed .sf-nav {
		box-sizing: border-box !important;
		left: max(12px, env(safe-area-inset-left)) !important;
		margin: 0 !important;
		max-height: min(74dvh, calc(100dvh - 156px)) !important;
		max-width: calc(100vw - 24px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		position: fixed !important;
		right: max(12px, env(safe-area-inset-right)) !important;
		top: calc(78px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}

	.sf-nav.is-open,
	.sf-header.has-open-menu .sf-nav {
		display: grid !important;
	}

	.sf-nav a,
	.sf-nav-home,
	.sf-nav-direct,
	.sf-nav-group > button,
	.sf-nav-language {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
	}

	.sf-nav-panel {
		box-shadow: none !important;
		min-width: 0 !important;
		position: static !important;
		width: 100% !important;
	}

	.sf-member-dashboard {
		margin: 18px auto calc(112px + env(safe-area-inset-bottom)) !important;
		width: calc(100% - 18px) !important;
	}

	.sf-member-dashboard-hero {
		grid-template-columns: 78px minmax(0, 1fr) !important;
		padding: 18px 16px !important;
	}

	.sf-member-dashboard-hero .sf-member-avatar {
		height: 76px !important;
		width: 76px !important;
	}

	.sf-member-dashboard-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100% !important;
	}

	.sf-member-dashboard-layout,
	.sf-member-dashboard-main .sf-member-card-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 760px) {
	.sf-guide {
		margin-left: auto !important;
		margin-right: auto !important;
		overflow: hidden !important;
		padding: 22px 14px !important;
		width: calc(100% - 20px) !important;
	}

	.sf-guide > div,
	.sf-guide-panel {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-guide h2 {
		font-size: clamp(2rem, 10vw, 2.7rem) !important;
		line-height: 1 !important;
	}

	.sf-guide p {
		font-size: 1rem !important;
		line-height: 1.35 !important;
	}

	.sf-guide .sf-prompt-chips,
	.sf-prompt-chips {
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		overflow: visible !important;
	}

	.sf-guide .sf-prompt-chips > *,
	.sf-prompt-chips > * {
		flex: initial !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-guide .sf-prompt-chips button,
	.sf-prompt-chips button {
		font-size: .86rem !important;
		min-height: 42px !important;
		overflow-wrap: anywhere !important;
		padding: 8px 9px !important;
		white-space: normal !important;
	}

	.sf-guide-panel {
		border-radius: 8px !important;
		padding: 18px 14px !important;
	}
}

@media (max-width: 640px) {
	.sf-footer {
		overflow: hidden !important;
	}

	.sf-footer-main {
		padding-bottom: calc(128px + env(safe-area-inset-bottom)) !important;
	}

	.sf-footer a,
	.sf-footer address span {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
	}

	.sf-footer-contact-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	.sf-footer-copy-button {
		justify-content: flex-start !important;
		width: 100% !important;
	}

	.sf-contact-layout,
	.sf-contact-details,
	.sf-contact-form,
	.sf-contact-details address,
	.sf-contact-details address a,
	.sf-contact-details address button {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-member-card-turner,
	.sf-member-card-inner,
	.sf-member-card-face,
	.sf-member-card-face > img {
		border-radius: 16px !important;
	}

	.sf-member-card-controls {
		align-items: stretch !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-member-card-controls button {
		width: 100% !important;
	}
}

@media (max-width: 430px) {
	.sf-member-dashboard-hero {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		padding: 16px 12px !important;
	}

	.sf-member-dashboard-hero .sf-member-avatar {
		height: 62px !important;
		width: 62px !important;
	}

	.sf-member-dashboard-actions,
	.sf-guide .sf-prompt-chips,
	.sf-prompt-chips {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* 5.23.5 final guard: these rules must win over the historic responsive blocks. */
body {
	top: 0 !important;
}

body > .skiptranslate,
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
iframe.skiptranslate {
	display: none !important;
	visibility: hidden !important;
}

.sf-footer-contact-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	max-width: 100% !important;
}

.sf-footer-copy-button,
.sf-contact-details address button {
	align-items: center !important;
	appearance: none !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font: inherit !important;
	font-weight: 900 !important;
	gap: 8px !important;
	min-height: 42px !important;
	min-width: 0 !important;
	padding: 10px 13px !important;
	text-align: left !important;
}

.sf-footer-copy-button {
	background: rgba(255, 255, 255, .12) !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	color: #fff !important;
	justify-content: center !important;
}

.sf-contact-details address button {
	background: #fff !important;
	border: 1px solid #c5dce5 !important;
	color: #062238 !important;
	justify-content: flex-start !important;
	width: 100% !important;
}

.sf-footer-copy-button svg,
.sf-contact-details address button svg {
	flex: 0 0 auto !important;
	height: 18px !important;
	width: 18px !important;
}

.sf-member-dashboard {
	background: #f5fbff !important;
	border: 1px solid #c5dce5 !important;
	border-radius: 10px !important;
	box-shadow: 0 28px 78px rgba(6, 47, 71, .12) !important;
	margin: 34px auto 60px !important;
	overflow: hidden !important;
	width: min(1560px, calc(100% - 48px)) !important;
}

.sf-member-dashboard-hero {
	align-items: center !important;
	background:
		radial-gradient(circle at 82% 16%, rgba(255, 208, 82, .28), transparent 28%),
		linear-gradient(135deg, #0a3c70 0%, #146aa0 48%, #28a1cf 100%) !important;
	color: #fff !important;
	display: grid !important;
	gap: clamp(18px, 3vw, 34px) !important;
	grid-template-columns: auto minmax(0, 1fr) minmax(230px, .42fr) !important;
	padding: clamp(26px, 4vw, 48px) !important;
}

.sf-member-dashboard-hero .sf-member-avatar {
	background: #fff !important;
	border: 5px solid rgba(255, 255, 255, .28) !important;
	border-radius: 50% !important;
	box-shadow: 0 18px 44px rgba(2, 21, 39, .26) !important;
	height: clamp(106px, 11vw, 154px) !important;
	overflow: hidden !important;
	width: clamp(106px, 11vw, 154px) !important;
}

.sf-member-dashboard-hero .sf-member-avatar img,
.sf-member-dashboard-hero .sf-member-avatar .avatar {
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

.sf-member-dashboard-intro {
	display: grid !important;
	gap: 10px !important;
	min-width: 0 !important;
}

.sf-member-dashboard-intro h1 {
	color: #fff !important;
	font-size: clamp(2.25rem, 4.8vw, 4.8rem) !important;
	letter-spacing: 0 !important;
	line-height: .94 !important;
	margin: 0 !important;
	overflow-wrap: anywhere !important;
	text-transform: none !important;
}

.sf-member-email {
	background: rgba(255, 255, 255, .14) !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	border-radius: 8px !important;
	color: #fff !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	padding: 10px 12px !important;
	width: fit-content !important;
}

.sf-member-dashboard .sf-member-state {
	align-items: center !important;
	background: #e5fbf4 !important;
	border: 1px solid rgba(0, 150, 115, .2) !important;
	border-radius: 8px !important;
	color: #046b59 !important;
	display: inline-flex !important;
	font-size: .82rem !important;
	font-weight: 950 !important;
	gap: 8px !important;
	line-height: 1.2 !important;
	padding: 10px 12px !important;
	text-transform: uppercase !important;
	width: fit-content !important;
}

.sf-member-dashboard-actions {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	min-width: 0 !important;
}

.sf-member-dashboard-actions a {
	align-items: center !important;
	background: #fff !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 32px rgba(2, 21, 39, .16) !important;
	color: #07344d !important;
	display: inline-flex !important;
	font-size: .9rem !important;
	font-weight: 950 !important;
	gap: 9px !important;
	justify-content: center !important;
	min-height: 54px !important;
	min-width: 0 !important;
	padding: 10px 12px !important;
	text-align: center !important;
	text-decoration: none !important;
}

.sf-member-dashboard-layout {
	align-items: start !important;
	display: grid !important;
	gap: clamp(18px, 2.6vw, 32px) !important;
	grid-template-columns: minmax(260px, 330px) minmax(0, 1fr) !important;
	padding: clamp(18px, 3vw, 34px) !important;
}

.sf-member-sections {
	align-self: start !important;
	display: grid !important;
	gap: 10px !important;
	position: sticky !important;
	top: 118px !important;
}

.sf-member-sections h2 {
	color: #0a3c70 !important;
	font-size: 1.15rem !important;
	margin: 0 0 4px !important;
	text-transform: uppercase !important;
}

.sf-member-section {
	background: #fff !important;
	border: 1px solid #c8dfe8 !important;
	border-radius: 8px !important;
	box-shadow: 0 12px 28px rgba(7, 52, 77, .07) !important;
	overflow: hidden !important;
}

.sf-member-section summary {
	align-items: center !important;
	color: #062238 !important;
	cursor: pointer !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 24px minmax(0, 1fr) 12px !important;
	list-style: none !important;
	min-height: 54px !important;
	padding: 0 14px !important;
}

.sf-member-section summary::-webkit-details-marker {
	display: none !important;
}

.sf-member-section summary::after {
	border-bottom: 2px solid currentColor !important;
	border-right: 2px solid currentColor !important;
	content: "" !important;
	height: 8px !important;
	justify-self: end !important;
	transform: rotate(45deg) !important;
	width: 8px !important;
}

.sf-member-section[open] summary::after {
	transform: rotate(225deg) !important;
}

.sf-member-section summary svg {
	color: #0b6dff !important;
	height: 22px !important;
	width: 22px !important;
}

.sf-member-section summary span {
	font-size: .95rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

.sf-member-section-links {
	display: grid !important;
	gap: 7px !important;
	padding: 0 10px 12px !important;
}

.sf-member-section-links a {
	align-items: center !important;
	background: #f1f8fb !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	color: #062238 !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 38px minmax(0, 1fr) !important;
	min-height: 58px !important;
	padding: 9px 10px !important;
	text-decoration: none !important;
}

.sf-member-section-links svg {
	background: #e1f2ff !important;
	border-radius: 8px !important;
	color: #0b6dff !important;
	height: 38px !important;
	padding: 9px !important;
	width: 38px !important;
}

.sf-member-section-links span {
	display: grid !important;
	gap: 2px !important;
	min-width: 0 !important;
}

.sf-member-section-links strong,
.sf-member-section-links small {
	overflow-wrap: anywhere !important;
}

.sf-member-section-links strong {
	font-size: .9rem !important;
	line-height: 1.1 !important;
}

.sf-member-section-links small {
	color: #5a7484 !important;
	font-size: .72rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.sf-member-dashboard-main {
	display: grid !important;
	gap: 22px !important;
	min-width: 0 !important;
}

.sf-member-dashboard-main .sf-member-card,
.sf-member-dashboard-main .sf-membership-link,
.sf-member-dashboard-main .sf-myunpli-data,
.sf-member-dashboard-main .sf-member-payments,
.sf-member-dashboard-main .sf-member-documents,
.sf-member-dashboard-main .sf-member-documents-gate,
.sf-member-dashboard-main .sf-board-area,
.sf-member-dashboard-main .sf-business-dashboard {
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

.sf-member-dashboard-main .sf-member-card {
	background: #fff !important;
	border: 1px solid #c8dfe8 !important;
	border-radius: 10px !important;
	box-shadow: 0 20px 56px rgba(6, 47, 71, .1) !important;
	padding: clamp(22px, 3vw, 38px) !important;
}

.sf-member-dashboard-main .sf-member-card > header {
	margin: 0 auto 26px !important;
	max-width: 860px !important;
	text-align: center !important;
}

.sf-member-dashboard-main .sf-member-card > header h3 {
	color: #13508c !important;
	font-size: clamp(2.05rem, 4vw, 4.1rem) !important;
	line-height: .96 !important;
	text-transform: uppercase !important;
}

.sf-member-dashboard-main .sf-member-card-layout {
	grid-template-columns: minmax(0, 1.05fr) minmax(250px, .6fr) !important;
	gap: clamp(18px, 3vw, 34px) !important;
}

.sf-member-card-turner,
.sf-member-card-inner,
.sf-member-card-face,
.sf-member-card-face > img {
	border-radius: 24px !important;
}

.sf-member-card-turner {
	box-shadow: 0 22px 56px rgba(6, 47, 71, .2) !important;
	overflow: hidden !important;
}

@media (max-width: 1080px) {
	.sf-member-dashboard-hero {
		grid-template-columns: auto minmax(0, 1fr) !important;
	}

	.sf-member-dashboard-actions {
		grid-column: 1 / -1 !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.sf-member-dashboard-layout,
	.sf-member-dashboard-main .sf-member-card-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-member-sections {
		position: static !important;
	}
}

@media (max-width: 900px) {
	.sf-header .sf-nav,
	.sf-header.is-condensed .sf-nav {
		box-sizing: border-box !important;
		left: max(12px, env(safe-area-inset-left)) !important;
		margin: 0 !important;
		max-height: min(74dvh, calc(100dvh - 156px)) !important;
		max-width: calc(100vw - 24px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		position: fixed !important;
		right: max(12px, env(safe-area-inset-right)) !important;
		top: calc(78px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}

	.sf-nav.is-open,
	.sf-header.has-open-menu .sf-nav {
		display: grid !important;
	}

	.sf-nav a,
	.sf-nav-home,
	.sf-nav-direct,
	.sf-nav-group > button,
	.sf-nav-language {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
	}

	.sf-nav-panel {
		box-shadow: none !important;
		min-width: 0 !important;
		position: static !important;
		width: 100% !important;
	}

	.sf-member-dashboard {
		margin: 18px auto calc(112px + env(safe-area-inset-bottom)) !important;
		width: calc(100% - 18px) !important;
	}

	.sf-member-dashboard-hero {
		grid-template-columns: 78px minmax(0, 1fr) !important;
		padding: 18px 16px !important;
	}

	.sf-member-dashboard-hero .sf-member-avatar {
		height: 76px !important;
		width: 76px !important;
	}

	.sf-member-dashboard-intro h1 {
		font-size: clamp(1.75rem, 9vw, 2.6rem) !important;
	}

	.sf-member-email {
		font-size: .88rem !important;
		width: 100% !important;
	}

	.sf-member-dashboard-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100% !important;
	}

	.sf-member-dashboard-actions a {
		font-size: .82rem !important;
		min-height: 48px !important;
		padding: 8px !important;
	}

	.sf-member-dashboard-layout {
		gap: 16px !important;
		padding: 14px !important;
	}

	.sf-member-dashboard-main {
		gap: 16px !important;
	}

	.sf-member-dashboard-main .sf-member-card,
	.sf-member-dashboard-main .sf-membership-link,
	.sf-member-dashboard-main .sf-myunpli-data,
	.sf-member-dashboard-main .sf-member-payments,
	.sf-member-dashboard-main .sf-member-documents,
	.sf-member-dashboard-main .sf-member-documents-gate,
	.sf-member-dashboard-main .sf-board-area {
		overflow: hidden !important;
		padding: 18px 12px !important;
	}
}

@media (max-width: 760px) {
	.sf-guide {
		margin-left: auto !important;
		margin-right: auto !important;
		overflow: hidden !important;
		padding: 22px 14px !important;
		width: calc(100% - 20px) !important;
	}

	.sf-guide > div,
	.sf-guide-panel {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-guide h2 {
		font-size: clamp(2rem, 10vw, 2.7rem) !important;
		line-height: 1 !important;
	}

	.sf-guide p {
		font-size: 1rem !important;
		line-height: 1.35 !important;
	}

	.sf-guide .sf-prompt-chips,
	.sf-prompt-chips {
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		overflow: visible !important;
	}

	.sf-guide .sf-prompt-chips > *,
	.sf-prompt-chips > * {
		flex: initial !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-guide .sf-prompt-chips button,
	.sf-prompt-chips button {
		font-size: .86rem !important;
		min-height: 42px !important;
		overflow-wrap: anywhere !important;
		padding: 8px 9px !important;
		white-space: normal !important;
	}

	.sf-guide-panel {
		border-radius: 8px !important;
		padding: 18px 14px !important;
	}

	.sf-guide input,
	.sf-guide select,
	.sf-guide button {
		font-size: 1rem !important;
	}

	.sf-footer-main {
		padding-bottom: calc(128px + env(safe-area-inset-bottom)) !important;
	}
}

@media (max-width: 640px) {
	.sf-footer {
		overflow: hidden !important;
	}

	.sf-footer a,
	.sf-footer address span {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.sf-footer-contact-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	.sf-footer-copy-button {
		justify-content: flex-start !important;
		width: 100% !important;
	}

	.sf-contact-layout,
	.sf-contact-details,
	.sf-contact-form,
	.sf-contact-details address,
	.sf-contact-details address a,
	.sf-contact-details address button {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-member-card-turner,
	.sf-member-card-inner,
	.sf-member-card-face,
	.sf-member-card-face > img {
		border-radius: 16px !important;
	}

	.sf-member-card-controls {
		align-items: stretch !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-member-card-controls button {
		width: 100% !important;
	}
}

@media (max-width: 430px) {
	.sf-member-dashboard-hero {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		padding: 16px 12px !important;
	}

	.sf-member-dashboard-hero .sf-member-avatar {
		height: 62px !important;
		width: 62px !important;
	}

	.sf-member-dashboard-actions {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-member-dashboard-layout {
		padding: 10px !important;
	}

	.sf-guide .sf-prompt-chips,
	.sf-prompt-chips {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* 5.23.5: area soci a sezioni, tessera arrotondata e mobile davvero contenuto. */
body {
	top: 0 !important;
}

body > .skiptranslate,
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
iframe.skiptranslate {
	display: none !important;
	visibility: hidden !important;
}

.sf-footer-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 100%;
}

.sf-footer-copy-button,
.sf-contact-details address button {
	align-items: center;
	appearance: none;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 14px;
	font-weight: 900;
	gap: 8px;
	justify-content: center;
	min-height: 42px;
	min-width: 0;
	padding: 10px 13px;
	text-align: left;
	text-decoration: none;
}

.sf-footer-copy-button {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

.sf-footer-copy-button:hover,
.sf-footer-copy-button:focus-visible {
	background: #fff;
	color: #0a3c70;
}

.sf-footer-copy-button svg,
.sf-contact-details address button svg {
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.sf-contact-details address button {
	background: #fff;
	color: #062238;
	justify-content: flex-start;
	width: 100%;
}

.sf-contact-details address button:hover,
.sf-contact-details address button:focus-visible {
	border-color: #0b6dff;
	box-shadow: 0 10px 24px rgba(7, 52, 77, .1);
}

.sf-contact-details address button > span {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.sf-member-dashboard {
	background: #f5fbff;
	border: 1px solid #c5dce5;
	border-radius: 10px;
	box-shadow: 0 28px 78px rgba(6, 47, 71, .12);
	margin: 34px auto 60px;
	overflow: hidden;
	width: min(1560px, calc(100% - 48px));
}

.sf-member-dashboard-hero {
	align-items: center;
	background:
		radial-gradient(circle at 82% 16%, rgba(255, 208, 82, .28), transparent 28%),
		linear-gradient(135deg, #0a3c70 0%, #146aa0 48%, #28a1cf 100%);
	color: #fff;
	display: grid;
	gap: clamp(18px, 3vw, 34px);
	grid-template-columns: auto minmax(0, 1fr) minmax(230px, .42fr);
	padding: clamp(26px, 4vw, 48px);
}

.sf-member-dashboard-hero .sf-member-avatar {
	background: #fff;
	border: 5px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	box-shadow: 0 18px 44px rgba(2, 21, 39, .26);
	height: clamp(106px, 11vw, 154px);
	overflow: hidden;
	width: clamp(106px, 11vw, 154px);
}

.sf-member-dashboard-hero .sf-member-avatar img,
.sf-member-dashboard-hero .sf-member-avatar .avatar {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-member-dashboard-intro {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.sf-member-dashboard-intro .sf-kicker {
	color: #bdf7ff;
	font-size: .78rem;
	margin: 0;
}

.sf-member-dashboard-intro h1 {
	color: #fff;
	font-size: clamp(2.25rem, 4.8vw, 4.8rem);
	letter-spacing: 0;
	line-height: .94;
	margin: 0;
	overflow-wrap: anywhere;
	text-transform: none;
}

.sf-member-email {
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 8px;
	color: #fff;
	font-size: clamp(.92rem, 1.35vw, 1.18rem);
	font-weight: 900;
	line-height: 1.25;
	margin: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	padding: 10px 12px;
	width: fit-content;
}

.sf-member-dashboard .sf-member-state {
	align-items: center;
	background: #e5fbf4;
	border: 1px solid rgba(0, 150, 115, .2);
	border-radius: 8px;
	color: #046b59;
	display: inline-flex;
	font-size: .82rem;
	font-weight: 950;
	gap: 8px;
	line-height: 1.2;
	padding: 10px 12px;
	text-transform: uppercase;
	width: fit-content;
}

.sf-member-dashboard .sf-member-state svg {
	height: 20px;
	width: 20px;
}

.sf-member-dashboard-actions {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
}

.sf-member-dashboard-actions a {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 8px;
	box-shadow: 0 14px 32px rgba(2, 21, 39, .16);
	color: #07344d;
	display: inline-flex;
	font-size: .9rem;
	font-weight: 950;
	gap: 9px;
	justify-content: center;
	min-height: 54px;
	min-width: 0;
	padding: 10px 12px;
	text-align: center;
	text-decoration: none;
}

.sf-member-dashboard-actions a:hover,
.sf-member-dashboard-actions a:focus-visible {
	background: #ffd052;
	color: #062238;
}

.sf-member-dashboard-actions svg {
	height: 19px;
	width: 19px;
}

.sf-member-dashboard-layout {
	align-items: start;
	display: grid;
	gap: clamp(18px, 2.6vw, 32px);
	grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
	padding: clamp(18px, 3vw, 34px);
}

.sf-member-sections {
	align-self: start;
	display: grid;
	gap: 10px;
	position: sticky;
	top: 118px;
}

.sf-member-sections h2 {
	color: #0a3c70;
	font-size: 1.15rem;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.sf-member-section {
	background: #fff;
	border: 1px solid #c8dfe8;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(7, 52, 77, .07);
	overflow: hidden;
}

.sf-member-section summary {
	align-items: center;
	color: #062238;
	cursor: pointer;
	display: grid;
	gap: 10px;
	grid-template-columns: 24px minmax(0, 1fr) 12px;
	list-style: none;
	min-height: 54px;
	padding: 0 14px;
}

.sf-member-section summary::-webkit-details-marker {
	display: none;
}

.sf-member-section summary::after {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	height: 8px;
	justify-self: end;
	transform: rotate(45deg);
	transition: transform .18s ease;
	width: 8px;
}

.sf-member-section[open] summary::after {
	transform: rotate(225deg);
}

.sf-member-section summary svg {
	color: #0b6dff;
	height: 22px;
	width: 22px;
}

.sf-member-section summary span {
	font-size: .95rem;
	font-weight: 950;
	text-transform: uppercase;
}

.sf-member-section-links {
	display: grid;
	gap: 7px;
	padding: 0 10px 12px;
}

.sf-member-section-links a {
	align-items: center;
	background: #f1f8fb;
	border: 1px solid transparent;
	border-radius: 8px;
	color: #062238;
	display: grid;
	gap: 10px;
	grid-template-columns: 38px minmax(0, 1fr);
	min-height: 58px;
	padding: 9px 10px;
	text-decoration: none;
}

.sf-member-section-links a:hover,
.sf-member-section-links a:focus-visible {
	background: #fff;
	border-color: #0b6dff;
	box-shadow: 0 10px 24px rgba(7, 52, 77, .09);
}

.sf-member-section-links svg {
	background: #e1f2ff;
	border-radius: 8px;
	color: #0b6dff;
	height: 38px;
	padding: 9px;
	width: 38px;
}

.sf-member-section-links span {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.sf-member-section-links strong,
.sf-member-section-links small {
	overflow-wrap: anywhere;
}

.sf-member-section-links strong {
	font-size: .9rem;
	line-height: 1.1;
}

.sf-member-section-links small {
	color: #5a7484;
	font-size: .72rem;
	font-weight: 800;
	line-height: 1.25;
}

.sf-member-dashboard-main {
	display: grid;
	gap: 22px;
	min-width: 0;
}

.sf-member-anchor {
	scroll-margin-top: 140px;
}

.sf-member-dashboard-main .sf-member-card,
.sf-member-dashboard-main .sf-membership-link,
.sf-member-dashboard-main .sf-myunpli-data,
.sf-member-dashboard-main .sf-member-payments,
.sf-member-dashboard-main .sf-member-documents,
.sf-member-dashboard-main .sf-member-documents-gate,
.sf-member-dashboard-main .sf-board-area,
.sf-member-dashboard-main .sf-business-dashboard {
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

.sf-member-dashboard-main .sf-member-card {
	background: #fff;
	border: 1px solid #c8dfe8;
	border-radius: 10px;
	box-shadow: 0 20px 56px rgba(6, 47, 71, .1);
	padding: clamp(22px, 3vw, 38px) !important;
}

.sf-member-dashboard-main .sf-member-card > header {
	margin: 0 auto 26px;
	max-width: 860px;
	text-align: center;
}

.sf-member-dashboard-main .sf-member-card > header h3 {
	color: #13508c;
	font-size: clamp(2.05rem, 4vw, 4.1rem);
	line-height: .96;
	text-transform: uppercase;
}

.sf-member-dashboard-main .sf-member-card-layout {
	grid-template-columns: minmax(0, 1.05fr) minmax(250px, .6fr) !important;
	gap: clamp(18px, 3vw, 34px) !important;
}

.sf-member-card-turner,
.sf-member-card-inner,
.sf-member-card-face,
.sf-member-card-face > img {
	border-radius: 24px !important;
}

.sf-member-card-turner {
	box-shadow: 0 22px 56px rgba(6, 47, 71, .2) !important;
	overflow: hidden;
}

.sf-member-card-face > img {
	display: block;
}

@media (max-width: 1080px) {
	.sf-member-dashboard-hero {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sf-member-dashboard-actions {
		grid-column: 1 / -1;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sf-member-dashboard-layout,
	.sf-member-dashboard-main .sf-member-card-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-member-sections {
		position: static;
	}
}

@media (max-width: 900px) {
	.sf-header .sf-nav,
	.sf-header.is-condensed .sf-nav {
		box-sizing: border-box !important;
		left: max(12px, env(safe-area-inset-left)) !important;
		margin: 0 !important;
		max-height: min(74dvh, calc(100dvh - 156px)) !important;
		max-width: calc(100vw - 24px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		position: fixed !important;
		right: max(12px, env(safe-area-inset-right)) !important;
		top: calc(78px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}

	.sf-nav.is-open,
	.sf-header.has-open-menu .sf-nav {
		display: grid !important;
	}

	.sf-nav a,
	.sf-nav-home,
	.sf-nav-direct,
	.sf-nav-group > button,
	.sf-nav-language {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
	}

	.sf-nav-panel {
		box-shadow: none !important;
		min-width: 0 !important;
		position: static !important;
		width: 100% !important;
	}

	.sf-member-dashboard {
		margin: 18px auto calc(112px + env(safe-area-inset-bottom));
		width: calc(100% - 18px);
	}

	.sf-member-dashboard-hero {
		grid-template-columns: 78px minmax(0, 1fr);
		padding: 18px 16px;
	}

	.sf-member-dashboard-hero .sf-member-avatar {
		height: 76px;
		width: 76px;
	}

	.sf-member-dashboard-intro h1 {
		font-size: clamp(1.75rem, 9vw, 2.6rem);
	}

	.sf-member-email {
		font-size: .88rem;
		width: 100%;
	}

	.sf-member-dashboard-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.sf-member-dashboard-actions a {
		font-size: .82rem;
		min-height: 48px;
		padding: 8px;
	}

	.sf-member-dashboard-layout {
		gap: 16px;
		padding: 14px;
	}

	.sf-member-dashboard-main {
		gap: 16px;
	}

	.sf-member-dashboard-main .sf-member-card,
	.sf-member-dashboard-main .sf-membership-link,
	.sf-member-dashboard-main .sf-myunpli-data,
	.sf-member-dashboard-main .sf-member-payments,
	.sf-member-dashboard-main .sf-member-documents,
	.sf-member-dashboard-main .sf-member-documents-gate,
	.sf-member-dashboard-main .sf-board-area {
		overflow: hidden;
		padding: 18px 12px !important;
	}

	.sf-member-dashboard-main .sf-member-card > header h3 {
		font-size: clamp(1.85rem, 8.2vw, 2.65rem);
	}
}

@media (max-width: 760px) {
	.sf-guide {
		margin-left: auto !important;
		margin-right: auto !important;
		overflow: hidden !important;
		padding: 22px 14px !important;
		width: calc(100% - 20px) !important;
	}

	.sf-guide > div,
	.sf-guide-panel {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-guide h2 {
		font-size: clamp(2rem, 10vw, 2.7rem) !important;
		line-height: 1 !important;
	}

	.sf-guide p {
		font-size: 1rem !important;
		line-height: 1.35 !important;
	}

	.sf-guide .sf-prompt-chips,
	.sf-prompt-chips {
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		overflow: visible !important;
	}

	.sf-guide .sf-prompt-chips > *,
	.sf-prompt-chips > * {
		flex: initial !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-guide .sf-prompt-chips button,
	.sf-prompt-chips button {
		font-size: .86rem !important;
		min-height: 42px !important;
		overflow-wrap: anywhere !important;
		padding: 8px 9px !important;
		white-space: normal !important;
	}

	.sf-guide-panel {
		border-radius: 8px !important;
		padding: 18px 14px !important;
	}

	.sf-guide input,
	.sf-guide select,
	.sf-guide button {
		font-size: 1rem !important;
	}

	.sf-guide input {
		text-overflow: ellipsis;
	}
}

@media (max-width: 640px) {
	.sf-footer {
		overflow: hidden;
	}

	.sf-footer-main {
		padding: 42px 18px calc(128px + env(safe-area-inset-bottom));
	}

	.sf-footer a,
	.sf-footer address span {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.sf-footer-contact-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.sf-footer-copy-button {
		justify-content: flex-start;
		width: 100%;
	}

	.sf-contact-layout,
	.sf-contact-details,
	.sf-contact-form,
	.sf-contact-details address,
	.sf-contact-details address a,
	.sf-contact-details address button {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-member-section summary {
		grid-template-columns: 22px minmax(0, 1fr) 12px;
		padding: 0 12px;
	}

	.sf-member-card-turner,
	.sf-member-card-inner,
	.sf-member-card-face,
	.sf-member-card-face > img {
		border-radius: 16px !important;
	}

	.sf-member-card-controls {
		align-items: stretch !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-member-card-controls button {
		width: 100% !important;
	}
}

@media (max-width: 430px) {
	.sf-member-dashboard-hero {
		grid-template-columns: 64px minmax(0, 1fr);
		padding: 16px 12px;
	}

	.sf-member-dashboard-hero .sf-member-avatar {
		height: 62px;
		width: 62px;
	}

	.sf-member-dashboard-actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.sf-member-dashboard-layout {
		padding: 10px;
	}

	.sf-guide .sf-prompt-chips,
	.sf-prompt-chips {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Tessera UNPLI: fronte e retro riconoscibili, accessibili e adatti al tocco. */
.sf-member-card {
	display: block;
	width: min(1420px, calc(100% - 48px));
	padding: 42px;
	background: #f7fbfd;
	border-color: #bad6e1;
}
.sf-member-card > header { max-width: 760px; margin-bottom: 30px; }
.sf-member-card-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .7fr); gap: 40px; align-items: center; }
.sf-member-card-stage { min-width: 0; perspective: 1600px; }
.sf-member-card-turner {
	display: block;
	width: 100%;
	max-width: 820px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	box-shadow: 0 24px 60px rgba(6, 47, 71, .18);
	cursor: pointer;
	appearance: none;
}
.sf-member-card-turner:focus-visible { outline: 4px solid #ffca42; outline-offset: 6px; }
.sf-member-card-inner {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1199 / 754;
	transform-style: preserve-3d;
	transition: transform .72s cubic-bezier(.2, .72, .2, 1);
}
.sf-member-card-stage.is-flipped .sf-member-card-inner { transform: rotateY(180deg); }
.sf-member-card-face {
	position: absolute;
	inset: 0;
	display: grid;
	overflow: hidden;
	border: 1px solid #c8d9e1;
	border-radius: 8px;
	background: #fff;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.sf-member-card-face > img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.sf-member-card-face > span:not(:only-child) {
	position: absolute;
	left: 14px;
	bottom: 14px;
	padding: 7px 10px;
	background: rgba(6, 34, 56, .88);
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
}
.sf-member-card-back { transform: rotateY(180deg); }
.sf-member-card-data {
	grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
	align-content: center;
	gap: 18px 28px;
	padding: clamp(22px, 5vw, 54px);
	background: #fff;
	color: #062238;
}
.sf-member-card-data::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 10px; background: #0b6dff; }
.sf-member-card-data > img { align-self: center; width: 100%; height: auto; max-height: 120px; object-fit: contain; }
.sf-member-card-data > span { position: static !important; align-self: end; padding: 0 !important; background: transparent !important; color: #062238 !important; }
.sf-member-card-data > span small { display: block; color: #0a91ad; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.sf-member-card-data > span strong { display: block; font-size: clamp(21px, 3vw, 40px); line-height: 1; }
.sf-member-card-data dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; background: #d2e3e9; }
.sf-member-card-data dl div { min-width: 0; padding: 14px 16px; background: #f1f8fb; }
.sf-member-card-data dt { color: #587282; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.sf-member-card-data dd { margin: 5px 0 0; font-size: clamp(15px, 2vw, 22px); font-weight: 950; overflow-wrap: anywhere; }
.sf-member-card-controls { display: flex; align-items: center; gap: 11px; margin-top: 15px; color: #526f80; font-size: 12px; font-weight: 800; }
.sf-member-card-controls button { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #b8d4df; border-radius: 5px; background: #fff; color: #07344d; font: inherit; font-weight: 900; cursor: pointer; }
.sf-member-card-controls button svg { width: 17px; height: 17px; }
.sf-member-card-details { padding-left: 26px; border-left: 1px solid #c8dce5; }
.sf-member-card-details > span { width: fit-content; padding: 8px 11px; background: #ddf8ee; }
.sf-member-card-details a { border-radius: 5px; }
.sf-membership-link > div ul { display: grid; gap: 7px; margin: 18px 0 0; padding-left: 20px; color: #526f80; font-size: 13px; line-height: 1.45; }
.sf-membership-link form { grid-template-columns: 1fr; padding: 20px; border-left: 5px solid #0b6dff; background: #f1f8fb; }
.sf-membership-link form details { padding: 10px 12px; border: 1px solid #c2dae4; background: #fff; }
.sf-membership-link form summary { color: #0a5b80; font-size: 12px; font-weight: 900; cursor: pointer; }
.sf-membership-link form details label { margin-top: 12px; }

.sf-document-hubs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 28px; }
.sf-document-hubs a { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 92px; padding: 15px; border: 1px solid #c5dce5; background: #fff; color: #062238; text-decoration: none; }
.sf-document-hubs a:hover,
.sf-document-hubs a:focus-visible { border-color: #0b6dff; box-shadow: 0 10px 30px rgba(7, 52, 77, .1); }
.sf-document-hubs svg { width: 44px; height: 44px; padding: 11px; background: #e7f6ff; color: #0b6dff; }
.sf-document-hubs span { display: grid; gap: 3px; min-width: 0; }
.sf-document-hubs strong { font-size: 14px; }
.sf-document-hubs small { color: #5d7584; font-size: 10px; line-height: 1.3; }
.sf-document-hubs b { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: #062f47; color: #fff; font-size: 11px; }

@media (max-width: 980px) {
	.sf-member-card-layout { grid-template-columns: 1fr; }
	.sf-member-card-details { padding: 24px 0 0; border-top: 1px solid #c8dce5; border-left: 0; }
	.sf-document-hubs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.sf-member-card { width: calc(100% - 24px); padding: 25px 14px; }
	.sf-member-card > header { margin-bottom: 22px; }
	.sf-member-card h3,
	.sf-membership-link h3 { font-size: 31px; }
	.sf-member-card-layout { gap: 25px; }
	.sf-member-card-turner { border-radius: 5px; box-shadow: 0 14px 34px rgba(6, 47, 71, .18); }
	.sf-member-card-face { border-radius: 5px; }
	.sf-member-card-data { grid-template-columns: 1fr 1.4fr; gap: 9px 13px; padding: 15px 18px; }
	.sf-member-card-data > img { max-height: 62px; }
	.sf-member-card-data dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sf-member-card-data dl div { padding: 7px; }
	.sf-member-card-data dt { font-size: 7px; }
	.sf-member-card-data dd { margin-top: 2px; font-size: 11px; }
	.sf-member-card-controls { align-items: flex-start; flex-direction: column; }
	.sf-membership-link { width: calc(100% - 24px); margin-bottom: 120px; }
	.sf-membership-link form { padding: 15px 12px; }
	.sf-document-hubs { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.sf-member-card-inner { transition: none; }
}
.sf-reduced-motion .sf-member-card-inner { transition: none; }
.sf-contrast .sf-member-card,
.sf-contrast .sf-member-card-face,
.sf-contrast .sf-member-card-details,
.sf-contrast .sf-document-hubs a { border-color: #fff; background: #000; color: #fff; }
.sf-contrast .sf-member-card-details dd,
.sf-contrast .sf-member-card-data,
.sf-contrast .sf-member-card-data > span,
.sf-contrast .sf-document-hubs strong { color: #fff !important; }

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background:
		radial-gradient(circle at 12% 4%, rgba(0, 214, 154, .1), transparent 30vw),
		radial-gradient(circle at 88% 10%, rgba(0, 104, 255, .08), transparent 34vw),
		linear-gradient(180deg, #f8fdff 0, #fff 48%, #eefbff 100%);
	color: var(--ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 750;
	letter-spacing: 0;
	margin: 0;
	overflow-x: hidden;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: 4px solid var(--sun);
	outline-offset: 4px;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.sf-skip-link {
	background: #fff;
	border: 3px solid var(--blue);
	border-radius: var(--radius);
	color: var(--ink);
	font-weight: 1000;
	left: 14px;
	padding: 12px 16px;
	position: fixed;
	text-decoration: none;
	top: -90px;
	z-index: 2000;
}

.sf-skip-link:focus {
	top: 14px;
}

.sf-header {
	align-items: center;
	backdrop-filter: blur(26px);
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: var(--radius);
	box-shadow: 0 18px 48px rgba(4, 21, 37, .14);
	display: grid;
	gap: 16px;
	grid-template-columns: 190px minmax(0, 1fr) auto auto auto;
	left: 50%;
	min-height: 72px;
	padding: 8px 10px 8px 18px;
	position: fixed;
	top: 14px;
	transform: translateX(-50%);
	width: min(1380px, calc(100% - 28px));
	z-index: 1000;
}

.sf-logo img {
	max-height: 54px;
	object-fit: contain;
	width: 180px;
}

.sf-logo-contrast {
	display: none;
}

.sf-nav {
	align-items: center;
	display: flex;
	gap: 4px;
	justify-content: center;
	min-width: 0;
}

.sf-nav a {
	border-radius: 999px;
	color: #06304f;
	font-size: .76rem;
	font-weight: 1000;
	padding: 10px 12px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.sf-nav a:hover {
	background: #e4f9ff;
	color: var(--blue);
}

.sf-login,
.sf-menu-button,
.sf-actions a,
.sf-command button,
.sf-page-actions a,
.sf-guide button,
.sf-registry a,
.sf-member-grid a {
	align-items: center;
	border: 0;
	border-radius: var(--radius);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 1000;
	justify-content: center;
	min-height: 48px;
	padding: 12px 18px;
	text-decoration: none;
}

.sf-login {
	background: linear-gradient(135deg, var(--blue), var(--violet));
	box-shadow: 0 16px 38px rgba(0, 104, 255, .22);
	color: #fff;
	min-height: 50px;
	text-transform: uppercase;
}

.sf-lang select {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	font-weight: 1000;
	min-height: 44px;
	padding: 0 8px;
}

.sf-menu-button {
	background: #fff;
	border: 1px solid var(--line);
	color: var(--blue);
	display: none;
}

.sf-accessibility {
	bottom: 20px;
	position: fixed;
	right: 14px;
	top: auto;
	z-index: 1100;
}

.sf-accessibility-toggle {
	align-items: center;
	background: rgba(4, 21, 37, .9);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(0, 213, 255, .32);
	border-radius: var(--radius);
	box-shadow: 0 18px 44px rgba(4, 21, 37, .22);
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: .84rem;
	font-weight: 1000;
	display: inline-flex;
	gap: 0;
	height: 48px;
	justify-content: center;
	min-height: 48px;
	padding: 0;
	width: 48px;
}

.sf-accessibility-short {
	color: var(--cyan);
	display: inline;
}

.sf-accessibility-label {
	display: none;
}

.sf-accessibility-panel {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	display: grid;
	gap: 8px;
	bottom: calc(100% + 8px);
	margin: 0;
	min-width: 220px;
	padding: 12px;
	position: absolute;
	right: 0;
}

.sf-accessibility-panel[hidden] {
	display: none;
}

.sf-accessibility-panel button,
.sf-accessibility-panel a {
	background: #f3fbff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	cursor: pointer;
	font: inherit;
	font-weight: 900;
	padding: 10px 12px;
	text-align: left;
	text-decoration: none;
}

.sf-main {
	min-height: 70vh;
	overflow: clip;
}

.sf-hero {
	background: var(--ink);
	height: auto;
	isolation: isolate;
	min-height: min(900px, 100svh);
	overflow: hidden;
	padding: 116px clamp(22px, 5vw, 76px) 112px;
	position: relative;
}

.sf-hero > .sf-hero-media {
	filter: saturate(1.04) contrast(1.02);
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
	z-index: -4;
}

.sf-hero > video.sf-hero-media { background: #062238; }

.sf-hero::before {
	background:
		linear-gradient(90deg, rgba(2, 15, 27, .76) 0, rgba(2, 23, 39, .52) 42%, rgba(1, 28, 44, .14) 72%, rgba(1, 28, 44, .04)),
		linear-gradient(0deg, rgba(1, 15, 27, .42), transparent 34%),
		radial-gradient(circle at 78% 26%, rgba(0, 213, 255, .12), transparent 28vw);
	content: "";
	inset: 0;
	position: absolute;
	z-index: -3;
}

.sf-hero-layer {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 96px 96px;
	inset: auto 0 0;
	height: 44%;
	mask-image: linear-gradient(transparent, #000);
	opacity: .7;
	position: absolute;
	z-index: -2;
}

.sf-hero-inner {
	align-items: center;
	display: grid;
	gap: clamp(40px, 7vw, 112px);
	grid-template-columns: minmax(0, 1fr) minmax(350px, 440px);
	margin: 0 auto;
	max-width: 1340px;
	min-height: calc(min(900px, 100svh) - 192px);
}

.sf-kicker,
.sf-glass-card span,
.sf-dock span,
.sf-route-grid span {
	color: var(--cyan);
	display: inline-flex;
	font-size: .76rem;
	font-weight: 1000;
	letter-spacing: .07em;
	margin: 0;
	text-transform: uppercase;
}

.sf-hero h1 {
	color: #fff;
	font-size: clamp(4.2rem, 6.5vw, 6.8rem);
	font-weight: 1000;
	letter-spacing: 0;
	line-height: .9;
	margin: 18px 0 24px;
	max-width: 820px;
	text-shadow: 0 26px 72px rgba(0, 0, 0, .44);
}

.sf-hero-copy > p:not(.sf-kicker) {
	color: rgba(255, 255, 255, .9);
	font-size: clamp(1.08rem, 1.7vw, 1.35rem);
	font-weight: 760;
	line-height: 1.5;
	margin: 0 0 28px;
	max-width: 680px;
}

.sf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sf-hero-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
}

.sf-hero-badges li {
	backdrop-filter: blur(14px);
	background: rgba(3, 29, 46, .38);
	border: 1px solid rgba(255, 255, 255, .26);
	border-radius: 999px;
	color: #fff;
	font-size: .78rem;
	font-weight: 1000;
	padding: 8px 11px;
	text-transform: uppercase;
}

.sf-actions a:first-child,
.sf-command button,
.sf-page-actions a:first-child,
.sf-guide button,
.sf-registry a,
.sf-member-grid a:first-child {
	background: linear-gradient(135deg, var(--sun), #ff8a00);
	box-shadow: 0 18px 46px rgba(255, 174, 36, .25);
	color: #101828;
}

.sf-actions a:not(:first-child),
.sf-page-actions a:not(:first-child),
.sf-member-grid a:not(:first-child) {
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .34);
	color: #fff;
}

.sf-command,
.sf-guide,
.sf-glass-card,
.sf-route-grid article,
.sf-quick-grid a,
.sf-now-grid article,
.sf-inclusion-grid article,
.sf-registry,
.sf-member-panel,
.sf-content {
	background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(234, 250, 255, .92));
	border: 1px solid rgba(0, 213, 255, .24);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.sf-command {
	backdrop-filter: blur(24px);
	display: grid;
	gap: 14px;
	padding: 26px;
	position: relative;
}

.sf-command::before {
	background: linear-gradient(90deg, var(--cyan), var(--aqua), var(--sun));
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

.sf-command-heading {
	align-items: center;
	display: flex;
	gap: 10px;
}

.sf-command-status {
	background: var(--aqua);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(0, 214, 154, .14);
	height: 9px;
	width: 9px;
}

.sf-command-intro {
	color: #536b7e;
	font-size: .96rem;
	font-weight: 720;
	line-height: 1.45;
	margin: -4px 0 0;
}

.sf-prompt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.sf-prompt-chips button {
	background: #eef9ff;
	border: 1px solid rgba(0, 104, 255, .13);
	border-radius: 999px;
	color: #0b4166;
	cursor: pointer;
	font: inherit;
	font-size: .8rem;
	font-weight: 900;
	padding: 8px 11px;
}

.sf-prompt-chips button:hover {
	background: #dff7ff;
	color: var(--blue);
}

.sf-command h2,
.sf-guide h2 {
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	line-height: .95;
	margin: 0;
}

.sf-command form,
.sf-guide form {
	display: grid;
	gap: 10px;
}

.sf-command input,
.sf-command select,
.sf-guide input,
.sf-guide select,
.sf-registry input,
.sf-registry select {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	font: inherit;
	min-height: 52px;
	padding: 0 14px;
	width: 100%;
}

.sf-ai-answer,
.sf-guide-answer {
	color: #405a70;
	font-size: 1.06rem;
	font-weight: 850;
	line-height: 1.5;
}

.sf-command .sf-ai-answer {
	border-top: 1px solid rgba(0, 104, 255, .12);
	font-size: .9rem;
	line-height: 1.45;
	padding-top: 12px;
}

.sf-hero-scroll {
	align-items: center;
	bottom: 48px;
	color: #fff;
	display: flex;
	font-size: .78rem;
	font-weight: 1000;
	gap: 12px;
	left: 50%;
	position: absolute;
	text-decoration: none;
	text-transform: uppercase;
	transform: translateX(-50%);
	z-index: 6;
}

.sf-hero-scroll span {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.sf-dock {
	background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(232, 250, 255, .94));
	border: 1px solid rgba(0, 213, 255, .26);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: -28px auto 0;
	max-width: 1180px;
	overflow: hidden;
	position: relative;
	z-index: 5;
}

.sf-dock a {
	border-right: 1px solid var(--line);
	display: grid;
	font-size: 1.08rem;
	font-weight: 1000;
	gap: 6px;
	padding: 20px;
	position: relative;
	text-decoration: none;
}

.sf-dock a:last-child {
	border-right: 0;
}

.sf-dock a::after {
	background: linear-gradient(90deg, var(--cyan), var(--violet), var(--sun));
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	transform: scaleX(.2);
	transform-origin: left;
	transition: transform .22s ease;
}

.sf-dock a:hover::after {
	transform: scaleX(1);
}

.sf-band,
.sf-page {
	margin: 0 auto;
	max-width: 1300px;
	padding: clamp(58px, 8vw, 112px) clamp(18px, 4vw, 44px);
}

.sf-manifesto,
.sf-world,
.sf-discovery,
.sf-immersive,
.sf-page-hero,
.sf-guide {
	align-items: center;
	display: grid;
	gap: clamp(24px, 5vw, 62px);
	grid-template-columns: minmax(0, .8fr) minmax(320px, 1fr);
}

.sf-manifesto h2,
.sf-world h2,
.sf-discovery h2,
.sf-section-head h2,
.sf-immersive h2,
.sf-page-hero h1 {
	font-size: clamp(2.5rem, 6vw, 6rem);
	font-weight: 1000;
	letter-spacing: 0;
	line-height: .9;
	margin: 12px 0 16px;
}

.sf-manifesto p,
.sf-world p,
.sf-discovery p,
.sf-section-head p:not(.sf-kicker),
.sf-immersive p,
.sf-page-hero p,
.sf-glass-card p,
.sf-inclusion-grid p,
.sf-now-grid p,
.sf-route-grid p,
.sf-content {
	color: #405a70;
	font-size: 1.08rem;
	font-weight: 760;
	line-height: 1.68;
}

.sf-section-head {
	margin: 0 auto 30px;
	max-width: 980px;
	text-align: center;
}

.sf-experience-grid,
.sf-card-grid,
.sf-route-grid,
.sf-quick-grid,
.sf-now-grid,
.sf-inclusion-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-discovery {
	background:
		radial-gradient(circle at 10% 0, rgba(255, 211, 90, .2), transparent 28%),
		radial-gradient(circle at 90% 14%, rgba(0, 213, 255, .22), transparent 30%),
		linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(232, 251, 255, .86));
	border: 1px solid rgba(0, 213, 255, .24);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	margin-top: clamp(44px, 6vw, 84px);
}

.sf-quick-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-quick-grid a {
	color: var(--ink);
	display: grid;
	gap: 8px;
	min-height: 134px;
	padding: 22px;
	position: relative;
	text-decoration: none;
}

.sf-quick-grid a::before {
	background: linear-gradient(180deg, var(--cyan), var(--violet));
	border-radius: 999px;
	content: "";
	height: 42px;
	position: absolute;
	right: 18px;
	top: 18px;
	width: 6px;
}

.sf-quick-grid strong {
	font-size: clamp(1.35rem, 2.3vw, 2.4rem);
	font-weight: 1000;
	line-height: .95;
	max-width: 86%;
}

.sf-quick-grid span {
	color: #456075;
	font-weight: 850;
	line-height: 1.36;
}

.sf-world {
	background:
		radial-gradient(circle at 88% 10%, rgba(123, 60, 255, .16), transparent 28%),
		linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(234, 250, 255, .78));
	border-block: 1px solid rgba(0, 213, 255, .2);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	padding-left: max(18px, calc((100vw - 1300px) / 2 + 44px));
	padding-right: max(18px, calc((100vw - 1300px) / 2 + 44px));
}

.sf-language-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sf-language-cloud span {
	background: #fff;
	border: 1px solid rgba(0, 213, 255, .25);
	border-radius: var(--radius);
	box-shadow: 0 14px 38px rgba(3, 30, 56, .08);
	color: var(--ink);
	font-weight: 1000;
	padding: 14px 16px;
}

.sf-experience-grid > a,
.sf-experience-grid > article {
	align-content: end;
	aspect-ratio: 4 / 5;
	background: var(--ink);
	border-radius: var(--radius);
	box-shadow: 0 28px 82px rgba(3, 30, 56, .18);
	color: #fff;
	display: grid;
	overflow: hidden;
	padding: 20px;
	position: relative;
	text-decoration: none;
}

.sf-experience-grid > a::after,
.sf-experience-grid > article::after {
	background:
		radial-gradient(circle at 72% 18%, rgba(0, 213, 255, .28), transparent 28%),
		linear-gradient(180deg, transparent 12%, rgba(4, 21, 37, .92));
	content: "";
	inset: 0;
	position: absolute;
}

.sf-experience-grid img {
	filter: saturate(1.16) contrast(1.04);
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.sf-experience-grid span,
.sf-experience-grid h3,
.sf-experience-grid p {
	position: relative;
	z-index: 1;
}

.sf-experience-grid .sf-experience-label {
	color: var(--cyan);
	font-size: .78rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-experience-grid .sf-experience-status {
	background: #ffca45;
	border-radius: 4px;
	color: #08233a;
	font-size: .72rem;
	font-weight: 1000;
	justify-self: start;
	margin: 0 0 8px;
	padding: 7px 9px;
	text-transform: uppercase;
}

.sf-experience-grid .is-soon img {
	filter: saturate(.72) contrast(1.02);
}

.sf-experience-grid p {
	font-size: 1.24rem;
	font-weight: 1000;
	line-height: 1.12;
	margin: 8px 0 0;
}

.sf-now {
	margin-top: 0;
}

.sf-now-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-now-grid article {
	background:
		radial-gradient(circle at 85% 14%, rgba(255, 211, 90, .16), transparent 28%),
		linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(238, 252, 255, .92));
	padding: 24px;
}

.sf-now-grid span {
	color: var(--blue);
	font-size: .78rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-now-grid h3 {
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: .92;
	margin: 10px 0;
}

.sf-route-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-route-grid article,
.sf-glass-card,
.sf-inclusion-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-inclusion-grid article {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(238, 252, 255, .92)),
		linear-gradient(135deg, rgba(0, 213, 255, .1), rgba(255, 211, 90, .1));
	border: 1px solid rgba(0, 213, 255, .24);
	border-radius: var(--radius);
	box-shadow: 0 20px 56px rgba(3, 30, 56, .1);
}

.sf-inclusion-grid span {
	color: var(--blue);
	display: block;
	font-size: 1.18rem;
	font-weight: 1000;
	margin-bottom: 10px;
}

.sf-route-grid h3 {
	font-size: clamp(1.8rem, 3vw, 3.2rem);
	line-height: .92;
	margin: 10px 0 12px;
}

.sf-immersive,
.sf-page-hero {
	background:
		radial-gradient(circle at 84% 12%, rgba(0, 213, 255, .36), transparent 28%),
		radial-gradient(circle at 15% 88%, rgba(255, 211, 90, .24), transparent 28%),
		linear-gradient(135deg, #041525, #07385f 58%, #111a44);
	border: 1px solid rgba(0, 213, 255, .3);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	color: #fff;
}

.sf-immersive h2,
.sf-page-hero h1 {
	color: #fff;
}

.sf-immersive p,
.sf-page-hero p {
	color: rgba(255, 255, 255, .8);
}

.sf-immersive img,
.sf-page-hero img,
.sf-page-hero .wp-post-image {
	aspect-ratio: 16 / 11;
	border-radius: var(--radius);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .32);
	object-fit: cover;
	width: 100%;
}

.sf-language {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .8), rgba(229, 251, 255, .72)),
		linear-gradient(90deg, rgba(0, 104, 255, .08), rgba(0, 214, 154, .08));
	border-block: 1px solid rgba(0, 213, 255, .18);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
}

.sf-page {
	max-width: 1360px;
	padding-top: 126px;
}

.sf-page-hero {
	margin-bottom: 26px;
	padding: clamp(28px, 5vw, 64px);
}

.sf-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 22px;
}

.sf-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sf-page-actions a:not(:first-child) {
	background: #fff;
	border: 1px solid var(--line);
	color: var(--ink);
}

.sf-content {
	padding: 26px;
}

.sf-guide {
	padding: clamp(24px, 4vw, 46px);
}

.sf-guide-panel {
	background:
		radial-gradient(circle at 94% 6%, rgba(0, 213, 255, .26), transparent 28%),
		linear-gradient(135deg, #041525, #0b3350);
	border-radius: var(--radius);
	color: #fff;
	padding: 22px;
}

.sf-guide-panel form {
	margin-top: 16px;
}

.sf-guide-answer {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--radius);
	color: rgba(255, 255, 255, .9);
	margin-top: 12px;
	padding: 14px;
}

.sf-registry {
	display: grid;
	gap: 16px;
	padding: 20px;
}

.sf-registry-filter {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-registry-row {
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	display: grid;
	gap: 12px;
	grid-template-columns: .5fr .8fr minmax(0, 1.5fr) .8fr auto;
	padding: 16px;
}

.sf-registry-row strong {
	font-size: 1.2rem;
}

.sf-member-panel {
	padding: 24px;
}

.sf-member-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 18px;
}

.sf-member-grid a {
	background: linear-gradient(135deg, var(--blue), var(--violet));
	color: #fff;
}

.sf-footer {
	background:
		radial-gradient(circle at 80% 0, rgba(0, 213, 255, .18), transparent 30%),
		linear-gradient(135deg, #041525, #071d32);
	color: #fff;
	display: grid;
	gap: 28px;
	grid-template-columns: 1.2fr 1fr;
	padding: 58px clamp(18px, 5vw, 76px) 24px;
}

.sf-footer img {
	max-width: 220px;
}

.sf-footer p,
.sf-footer a {
	color: rgba(255, 255, 255, .78);
}

.sf-footer nav {
	display: grid;
	gap: 8px;
}

.sf-footer a {
	text-decoration: none;
}

.sf-footer-bottom {
	grid-column: 1 / -1;
}

@media (max-width: 1120px) {
	.sf-header {
		grid-template-columns: 190px minmax(0, 1fr) auto auto auto;
	}

	.sf-nav a {
		font-size: .66rem;
		padding: 9px 7px;
	}

	.sf-manifesto,
	.sf-world,
	.sf-discovery,
	.sf-immersive,
	.sf-page-hero,
	.sf-guide {
		grid-template-columns: 1fr;
	}

	.sf-experience-grid,
	.sf-quick-grid,
	.sf-inclusion-grid,
	.sf-dock {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.sf-hero {
		height: auto;
		min-height: 860px;
		padding-bottom: 86px;
	}

	.sf-hero-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.sf-hero-copy {
		max-width: 760px;
	}

	.sf-command {
		max-width: 620px;
	}
}

@media (max-width: 760px) {
	.sf-header {
		gap: 8px;
		grid-template-columns: minmax(84px, 1fr) auto auto auto;
		left: 50%;
		min-height: 68px;
		padding: 7px 8px 7px 12px;
		right: auto;
		top: 8px;
		width: calc(100% - 16px);
	}

	.sf-logo img {
		max-height: 46px;
		width: min(126px, 27vw);
	}

	.sf-login,
	.sf-menu-button {
		font-size: .78rem;
		min-height: 42px;
		padding: 9px 10px;
	}

	.sf-lang select {
		font-size: .8rem;
		min-height: 42px;
		padding: 0 4px;
	}

	.sf-menu-button {
		display: inline-flex;
	}

	.sf-nav {
		background: #fff;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		box-shadow: var(--shadow);
		display: none;
		left: 12px;
		padding: 8px;
		position: fixed;
		right: 12px;
		top: 84px;
	}

	.sf-nav.is-open {
		display: grid;
	}

	.sf-nav a {
		font-size: .9rem;
		padding: 12px;
	}

	.sf-hero {
		min-height: auto;
		padding: 110px 18px 72px;
	}

	.sf-hero::before {
		background:
			linear-gradient(180deg, rgba(2, 15, 27, .64) 0, rgba(2, 22, 36, .54) 52%, rgba(2, 22, 36, .28)),
			linear-gradient(90deg, rgba(2, 15, 27, .35), transparent);
		bottom: auto;
		height: 760px;
	}

	.sf-hero > .sf-hero-media {
		height: 100%;
		inset: 0 0 auto;
		object-position: 52% center;
	}

	.sf-hero-inner {
		gap: 34px;
		min-height: auto;
	}

	.sf-hero h1 {
		font-size: 3.12rem;
		line-height: .92;
		margin-bottom: 20px;
		overflow-wrap: anywhere;
	}

	.sf-hero-copy > p:not(.sf-kicker) {
		font-size: 1.03rem;
		font-weight: 720;
		line-height: 1.5;
	}

	.sf-actions,
	.sf-page-actions,
	.sf-member-grid {
		display: grid;
		grid-template-columns: 1fr;
	}

	.sf-actions a,
	.sf-page-actions a {
		width: 100%;
	}

	.sf-experience-grid,
	.sf-quick-grid,
	.sf-now-grid,
	.sf-inclusion-grid,
	.sf-route-grid,
	.sf-card-grid,
	.sf-registry-filter,
	.sf-registry-row,
	.sf-footer {
		grid-template-columns: 1fr;
	}

	.sf-dock {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-left: 18px;
		margin-right: 18px;
	}

	.sf-dock a {
		border-bottom: 1px solid var(--line);
		font-size: .96rem;
		padding: 16px;
		border-right: 0;
	}

	.sf-command {
		padding: 22px 18px;
	}

	.sf-command h2 {
		font-size: 2rem;
	}

	.sf-prompt-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 2px;
	}

	.sf-prompt-chips button {
		white-space: nowrap;
	}

	.sf-hero-scroll {
		display: none;
	}

	.sf-band,
	.sf-page {
		padding-left: 18px;
		padding-right: 18px;
	}

	.sf-page {
		padding-top: 108px;
	}

	.sf-page-hero,
	.sf-immersive,
	.sf-discovery,
	.sf-world,
	.sf-guide {
		padding: 24px;
	}

	.sf-manifesto h2,
	.sf-section-head h2,
	.sf-immersive h2,
	.sf-page-hero h1 {
		font-size: 3rem;
		overflow-wrap: anywhere;
	}

	.sf-accessibility {
		left: auto;
		right: 12px;
		top: auto;
		bottom: 12px;
	}

	.sf-accessibility-toggle {
		border-radius: 50%;
		font-size: .82rem;
		height: 44px;
		justify-content: center;
		min-height: 44px;
		padding: 0;
		width: 44px;
	}

	.sf-accessibility-label {
		display: none;
	}

	.sf-accessibility-short {
		display: inline;
	}

	.sf-accessibility-panel {
		bottom: 46px;
		position: absolute;
		right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
	}
}

.sf-text {
	font-size: 118%;
}

.sf-text .sf-hero h1 {
	font-size: clamp(4rem, 7.2vw, 7.8rem);
}

.sf-readable body {
	font-family: Arial, Verdana, sans-serif;
}

.sf-readable p,
.sf-readable a,
.sf-readable button,
.sf-readable input,
.sf-readable select {
	line-height: 1.8;
}

.sf-motion *,
.sf-motion *::before,
.sf-motion *::after {
	animation: none !important;
	scroll-behavior: auto !important;
	transition: none !important;
}

.sf-contrast body {
	background: #000;
	color: #fff;
}

.sf-contrast .sf-header,
.sf-contrast .sf-command,
.sf-contrast .sf-guide,
.sf-contrast .sf-glass-card,
.sf-contrast .sf-route-grid article,
.sf-contrast .sf-quick-grid a,
.sf-contrast .sf-now-grid article,
.sf-contrast .sf-inclusion-grid article,
.sf-contrast .sf-registry,
.sf-contrast .sf-member-panel,
.sf-contrast .sf-content,
.sf-contrast .sf-accessibility-panel {
	background: #000;
	border-color: #fff;
	box-shadow: none;
	color: #fff;
}

.sf-contrast .sf-nav a,
.sf-contrast .sf-command h2,
.sf-contrast .sf-guide h2,
.sf-contrast .sf-quick-grid strong,
.sf-contrast .sf-now-grid h3,
.sf-contrast .sf-route-grid h3,
.sf-contrast .sf-manifesto h2,
.sf-contrast .sf-section-head h2,
.sf-contrast .sf-world h2,
.sf-contrast .sf-discovery h2,
.sf-contrast .sf-inclusion-grid span,
.sf-contrast .sf-command p,
.sf-contrast .sf-ai-answer,
.sf-contrast .sf-guide-answer,
.sf-contrast .sf-quick-grid span,
.sf-contrast p {
	color: #fff;
}

.sf-contrast a:focus-visible,
.sf-contrast button:focus-visible,
.sf-contrast input:focus-visible,
.sf-contrast select:focus-visible {
	outline-color: #ffff00;
}

/* Portal 3.0: destination tools and content system */
button,
input,
select,
textarea {
	letter-spacing: 0;
}

button svg,
a svg,
.sf-event-copy p svg,
.sf-contact-details svg {
	flex: 0 0 auto;
	height: 19px;
	width: 19px;
}

.sf-header {
	grid-template-columns: 190px minmax(0, 1fr) auto;
}

.sf-nav-home,
.sf-nav-group > button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 6px;
	color: #06304f;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .76rem;
	font-weight: 1000;
	gap: 4px;
	min-height: 42px;
	padding: 9px 10px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.sf-nav-group {
	position: relative;
}

.sf-nav-group > button svg {
	height: 15px;
	transition: transform .2s ease;
	width: 15px;
}

.sf-nav-group > button[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.sf-nav-home:hover,
.sf-nav-group > button:hover,
.sf-nav-group > button[aria-expanded="true"] {
	background: #e7f9ff;
	color: var(--blue);
}

.sf-nav-panel {
	background: rgba(255, 255, 255, .98);
	border: 1px solid rgba(0, 104, 255, .13);
	border-radius: 8px;
	box-shadow: 0 28px 70px rgba(4, 21, 37, .18);
	display: grid;
	gap: 3px;
	left: 0;
	min-width: 270px;
	padding: 8px;
	position: absolute;
	top: calc(100% + 12px);
}

.sf-nav-panel[hidden] {
	display: none;
}

.sf-nav-panel a {
	align-items: center;
	border-radius: 6px;
	color: var(--ink);
	display: flex;
	font-size: .9rem;
	gap: 12px;
	justify-content: flex-start;
	padding: 12px;
	text-transform: none;
}

.sf-nav-panel a svg {
	color: var(--blue);
}

.sf-header-tools {
	align-items: center;
	display: flex;
	gap: 7px;
}

.sf-icon-button {
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: #0a4168;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	height: 44px;
	justify-content: center;
	padding: 0;
	position: relative;
	text-decoration: none;
	width: 44px;
}

.sf-icon-button:hover,
.sf-icon-button.is-active {
	background: #e5faff;
	border-color: rgba(0, 104, 255, .32);
	color: var(--blue);
}

.sf-favorites-link > span:not(.screen-reader-text) {
	align-items: center;
	background: var(--coral);
	border: 2px solid #fff;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: .64rem;
	font-weight: 1000;
	height: 19px;
	justify-content: center;
	position: absolute;
	right: -5px;
	top: -5px;
	width: 19px;
}

.sf-login {
	gap: 7px;
	padding: 0 14px;
}

.sf-global-dialog,
.sf-detail-dialog {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .17);
	border-radius: 8px;
	box-shadow: 0 36px 120px rgba(3, 25, 45, .3);
	color: var(--ink);
	max-height: min(820px, calc(100vh - 40px));
	max-width: min(760px, calc(100vw - 32px));
	overflow: auto;
	padding: clamp(24px, 5vw, 46px);
	width: 100%;
}

.sf-global-dialog::backdrop,
.sf-detail-dialog::backdrop {
	backdrop-filter: blur(12px);
	background: rgba(3, 21, 37, .62);
}

.sf-dialog-close {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 4;
}

.sf-dialog-heading h2 {
	font-size: clamp(2.2rem, 5vw, 4.2rem);
	line-height: .94;
	margin: 10px 50px 12px 0;
}

.sf-dialog-heading > p:not(.sf-kicker) {
	color: #4f687b;
	line-height: 1.55;
}

.sf-global-search,
.sf-search-field {
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 6px;
	display: flex;
	gap: 9px;
	padding: 0 13px;
}

.sf-global-search {
	box-shadow: 0 16px 42px rgba(3, 30, 56, .09);
	margin-top: 22px;
}

.sf-global-search input,
.sf-search-field input {
	background: transparent;
	border: 0;
	color: var(--ink);
	font: inherit;
	min-height: 54px;
	outline: 0;
	width: 100%;
}

.sf-search-suggestions,
.sf-filter-scroll,
.sf-category-portals {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 12px 0;
	scrollbar-width: thin;
}

.sf-search-suggestions button,
.sf-filter-scroll button,
.sf-category-portals button {
	align-items: center;
	background: #eefaff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 999px;
	color: #0b4166;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .82rem;
	font-weight: 950;
	gap: 7px;
	min-height: 40px;
	padding: 8px 13px;
	white-space: nowrap;
}

.sf-search-suggestions button:hover,
.sf-filter-scroll button:hover,
.sf-filter-scroll button.is-active,
.sf-category-portals button.is-active {
	background: var(--blue);
	border-color: var(--blue);
	color: #fff;
}

.sf-search-results,
.sf-near-results {
	display: grid;
	gap: 7px;
	margin-top: 12px;
}

.sf-place-near-results {
	margin-bottom: 16px;
}

.sf-near-results[hidden] {
	display: none;
}

.sf-search-results > a,
.sf-near-results > a {
	align-items: center;
	background: #f4fbff;
	border: 1px solid rgba(0, 104, 255, .1);
	border-radius: 6px;
	display: grid;
	gap: 4px 12px;
	grid-template-columns: 1fr auto;
	padding: 13px 15px;
	text-decoration: none;
}

.sf-search-results > a span,
.sf-near-results > a span {
	color: var(--blue);
	font-size: .72rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-search-results > a strong,
.sf-near-results > a strong {
	font-size: 1.06rem;
	grid-column: 1;
}

.sf-search-results > a svg {
	grid-column: 2;
	grid-row: 1 / 3;
}

.sf-near-results small {
	color: #5a7080;
	grid-column: 1;
}

.sf-primary-action,
.sf-outline-action,
.sf-inline-actions a,
.sf-tool-head > a,
.sf-page-utility button,
.sf-page-utility a,
.sf-card-actions button,
.sf-card-actions a,
.sf-contact-form button,
.sf-favorites-page .sf-tool-head button,
.sf-directory-empty > a {
	align-items: center;
	background: var(--blue);
	border: 1px solid var(--blue);
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .88rem;
	font-weight: 1000;
	gap: 8px;
	justify-content: center;
	min-height: 44px;
	padding: 10px 14px;
	text-decoration: none;
}

.sf-outline-action,
.sf-tool-head > a {
	background: #fff;
	border-color: var(--line);
	color: var(--blue);
}

.sf-mobile-nav {
	display: none;
}

.sf-hero .sf-actions button,
.sf-plan-banner .sf-actions button {
	align-items: center;
	backdrop-filter: blur(12px);
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 1000;
	gap: 8px;
	min-height: 48px;
	padding: 12px 18px;
}

.sf-home-categories {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	box-shadow: var(--shadow);
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin: -28px auto 0;
	max-width: 1240px;
	overflow: hidden;
	position: relative;
	z-index: 5;
}

.sf-home-categories a {
	align-content: center;
	border-right: 1px solid var(--line);
	display: grid;
	gap: 5px;
	min-height: 116px;
	padding: 17px;
	position: relative;
	text-decoration: none;
}

.sf-home-categories a:last-child {
	border-right: 0;
}

.sf-home-categories a::after {
	background: linear-gradient(90deg, var(--cyan), var(--blue), var(--violet));
	bottom: 0;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
}

.sf-home-categories a:hover::after {
	transform: scaleX(1);
}

.sf-home-categories svg {
	color: var(--blue);
	height: 23px;
	margin-bottom: 5px;
	width: 23px;
}

.sf-home-categories strong {
	font-size: 1.02rem;
}

.sf-home-categories span {
	color: #607687;
	font-size: .79rem;
}

.sf-now {
	background: #eefaff;
	border-bottom: 1px solid rgba(0, 104, 255, .12);
	margin-top: 70px;
	padding: clamp(56px, 7vw, 96px) clamp(18px, 5vw, 72px);
}

.sf-now-inner {
	margin: 0 auto;
	max-width: 1300px;
}

.sf-now-head {
	align-items: end;
	display: flex;
	gap: 40px;
	justify-content: space-between;
}

.sf-now-head h2 {
	font-size: clamp(2.8rem, 5.5vw, 5.6rem);
	line-height: .92;
	margin: 10px 0 14px;
}

.sf-now-head > div:first-child > p:last-child {
	color: #42657b;
	font-size: 1.05rem;
	margin: 0;
}

.sf-now-live {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .16);
	border-radius: 8px;
	display: grid;
	gap: 2px 12px;
	grid-template-columns: auto 1fr;
	min-width: 280px;
	padding: 16px 18px;
}

.sf-now-live > span {
	color: #e99b00;
	grid-row: 1 / 3;
}

.sf-now-live[data-weather-tone="clear-night"] > span,
.sf-now-live[data-weather-tone="cloud-night"] > span {
	color: #4566dd;
}

.sf-now-live[data-weather-tone="cloud-day"] > span,
.sf-now-live[data-weather-tone="clouds"] > span {
	color: #5b7890;
}

.sf-now-live[data-weather-tone="fog"] > span {
	color: #8294a5;
}

.sf-now-live[data-weather-tone="drizzle"] > span,
.sf-now-live[data-weather-tone="rain"] > span {
	color: #1275d8;
}

.sf-now-live[data-weather-tone="snow"] > span {
	color: #3fb6e8;
}

.sf-now-live[data-weather-tone="storm"] > span {
	color: #6b49d8;
}

.sf-now-live[data-weather-tone="unavailable"] > span {
	color: #7d8a96;
}

.sf-now-live svg {
	height: 30px;
	width: 30px;
}

.sf-now-live strong {
	font-size: 1.02rem;
}

.sf-now-live small {
	color: #577184;
}

.sf-now-periods {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 42px;
}

.sf-now-periods button {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 2px solid rgba(0, 62, 101, .16);
	color: #496879;
	cursor: pointer;
	display: flex;
	font: inherit;
	gap: 13px;
	min-height: 76px;
	padding: 12px 18px;
	text-align: left;
}

.sf-now-periods button + button {
	border-left: 1px solid rgba(0, 62, 101, .1);
}

.sf-now-periods button.is-active {
	border-bottom-color: var(--blue);
	color: var(--blue);
}

.sf-now-periods svg {
	height: 25px;
	width: 25px;
}

.sf-now-periods span {
	display: grid;
	font-weight: 1000;
	gap: 2px;
}

.sf-now-periods small {
	color: #6a8190;
	font-size: .72rem;
	font-weight: 750;
}

.sf-now-result {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	margin-top: 28px;
	padding: clamp(16px, 2.3vw, 26px);
}

.sf-now-results-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-now-results-grid--single {
	grid-template-columns: minmax(0, 1fr);
}

.sf-now-card {
	align-items: start;
	background: #f8fcff;
	border: 1px solid rgba(0, 104, 255, .12);
	border-radius: 8px;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr);
	min-height: 238px;
	padding: 20px;
}

.sf-now-card--business {
	background: linear-gradient(135deg, #fffdf4 0%, #f8fcff 64%);
	border-color: rgba(255, 183, 31, .42);
}

.sf-now-card-index {
	color: var(--cyan);
	font-size: clamp(2.1rem, 3.6vw, 4rem);
	font-weight: 1000;
	line-height: .8;
}

.sf-now-card-index svg {
	height: 38px;
	width: 38px;
}

.sf-now-card h3 {
	font-size: clamp(1.18rem, 1.7vw, 1.7rem);
	line-height: 1.06;
	margin: 8px 0 12px;
}

.sf-now-card p:not(.sf-kicker) {
	color: #496578;
	font-size: .94rem;
	line-height: 1.6;
	margin: 0;
}

.sf-now-card-meta {
	color: #16715f;
	display: block;
	font-size: .77rem;
	font-weight: 900;
	line-height: 1.35;
	margin-top: 10px;
}

.sf-now-actions {
	align-self: end;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	grid-column: 1 / -1;
}

.sf-now-actions a {
	align-items: center;
	background: var(--blue);
	border: 1px solid var(--blue);
	border-radius: 6px;
	color: #fff;
	display: flex;
	flex: 1 1 136px;
	font-size: .84rem;
	font-weight: 1000;
	gap: 7px;
	justify-content: center;
	min-height: 44px;
	padding: 10px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.sf-now-actions a:last-child {
	background: #fff;
	color: var(--blue);
}

.sf-home-intro {
	align-items: start;
	display: grid;
	gap: clamp(30px, 7vw, 100px);
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .8fr);
}

.sf-home-intro h2,
.sf-plan-banner h2,
.sf-tool-head h2 {
	font-size: clamp(2.5rem, 5.5vw, 5.4rem);
	line-height: .92;
	margin: 12px 0;
}

.sf-home-intro > div:last-child > p {
	color: #405a70;
	font-size: 1.2rem;
	line-height: 1.65;
	margin-top: 0;
}

.sf-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.sf-inline-actions a:last-child {
	background: #fff;
	border-color: var(--line);
	color: var(--ink);
}

.sf-home-tool.sf-band {
	max-width: 1380px;
}

.sf-section-head-row,
.sf-tool-head {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	max-width: none;
	text-align: left;
}

.sf-section-head-row h2,
.sf-tool-head h2 {
	margin-bottom: 0;
}

.sf-section-head-row > a {
	align-items: center;
	color: var(--blue);
	display: flex;
	font-weight: 1000;
	gap: 8px;
	text-decoration: none;
}

.sf-plan-banner {
	background: #041525;
	color: #fff;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr);
	margin: 0;
	min-height: 650px;
	overflow: hidden;
	position: relative;
}

.sf-plan-banner > img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-plan-banner > div {
	align-content: center;
	background: linear-gradient(135deg, #05253d, #073f62);
	display: grid;
	padding: clamp(36px, 7vw, 100px);
}

.sf-plan-banner p:not(.sf-kicker) {
	color: rgba(255, 255, 255, .78);
	font-size: 1.08rem;
	line-height: 1.65;
}

.sf-membership-home {
	align-items: center;
	display: grid;
	gap: clamp(24px, 4vw, 52px);
	grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
	max-width: 1380px;
}

.sf-membership-home-copy h2 {
	color: #041525;
	font-size: clamp(48px, 7vw, 92px);
	line-height: .9;
	margin: 8px 0 22px;
	max-width: 900px;
}

.sf-membership-home-copy > p {
	color: #526d7d;
	font-size: 18px;
	line-height: 1.6;
	max-width: 760px;
}

.sf-membership-home ul {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 28px 0;
	padding: 0;
}

.sf-membership-home li {
	align-items: center;
	color: #062238;
	display: grid;
	font-size: 15px;
	font-weight: 900;
	gap: 10px;
	grid-template-columns: 28px minmax(0, 1fr);
}

.sf-membership-home li svg {
	background: #dff8ef;
	color: #06705e;
	height: 28px;
	padding: 6px;
	width: 28px;
}

.sf-membership-home figure {
	align-self: stretch;
	display: grid;
	gap: 12px;
	margin: 0;
}

.sf-membership-home figure img {
	align-self: center;
	aspect-ratio: 1199 / 754;
	background: #fff;
	border: 1px solid #c9dde5;
	box-shadow: 0 28px 70px rgba(6, 47, 71, .14);
	object-fit: contain;
	width: 100%;
}

.sf-membership-home figcaption {
	color: #5a7382;
	font-size: 12px;
	line-height: 1.45;
}

.sf-membership-home aside {
	background: #07344d;
	color: #fff;
	display: grid;
	gap: 10px;
	grid-column: 1 / -1;
	grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr) auto;
	padding: 20px 22px;
}

.sf-membership-home aside strong { font-size: 18px; }
.sf-membership-home aside p { color: #d4edf5; margin: 0; }
.sf-membership-home aside a {
	align-items: center;
	align-self: center;
	background: #fff;
	color: #07344d;
	display: inline-flex;
	font-size: 13px;
	font-weight: 950;
	gap: 8px;
	min-height: 44px;
	padding: 0 14px;
	text-decoration: none;
}

.sf-explorer,
.sf-events,
.sf-planner,
.sf-directory,
.sf-language-lab,
.sf-contact-layout,
.sf-favorites-page {
	margin: 0 auto;
	max-width: 1300px;
}

.sf-shortcode-shell {
	margin: 0 auto;
	max-width: 1380px;
	padding: clamp(52px, 7vw, 96px) clamp(18px, 4vw, 44px);
}

.sf-home-tool .sf-explorer,
.sf-home-tool .sf-events {
	max-width: none;
}

.sf-home-tool .sf-explorer > .sf-tool-head,
.sf-home-tool .sf-explorer > .sf-filterbar,
.sf-home-tool .sf-events > .sf-tool-head,
.sf-home-tool .sf-events > .sf-notification-callout {
	display: none;
}

.sf-filterbar {
	align-items: center;
	background: #fff;
	border-block: 1px solid var(--line);
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(210px, .8fr) minmax(0, 1.8fr) auto;
	margin: 26px 0;
	padding: 12px 0;
}

.sf-near-button {
	align-items: center;
	background: var(--ink);
	border: 0;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .84rem;
	font-weight: 1000;
	gap: 8px;
	min-height: 46px;
	padding: 10px 14px;
}

.sf-segmented {
	background: #edf8fc;
	border: 1px solid rgba(0, 104, 255, .1);
	border-radius: 6px;
	display: inline-flex;
	gap: 3px;
	padding: 4px;
}

.sf-segmented button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 4px;
	color: #496579;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: .8rem;
	font-weight: 950;
	gap: 7px;
	min-height: 38px;
	padding: 7px 11px;
}

.sf-segmented button.is-active {
	background: #fff;
	box-shadow: 0 7px 18px rgba(4, 21, 37, .1);
	color: var(--blue);
}

.sf-place-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-place-grid[hidden],
.sf-map[hidden] {
	display: none;
}

.sf-place-card {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	box-shadow: 0 18px 54px rgba(3, 30, 56, .09);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.sf-place-card:hover {
	box-shadow: 0 26px 68px rgba(3, 30, 56, .16);
	transform: translateY(-4px);
}

.sf-place-card[hidden] {
	display: none;
}

.sf-place-media {
	aspect-ratio: 16 / 10;
	background: #dceef5;
	overflow: hidden;
	position: relative;
}

.sf-place-media > img {
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
	width: 100%;
}

.sf-place-card:hover .sf-place-media > img {
	transform: scale(1.035);
}

.sf-place-media > span {
	background: rgba(255, 255, 255, .94);
	border-radius: 999px;
	bottom: 12px;
	color: var(--blue);
	font-size: .72rem;
	font-weight: 1000;
	left: 12px;
	padding: 7px 10px;
	position: absolute;
	text-transform: uppercase;
}

.sf-place-media .sf-favorite {
	position: absolute;
	right: 12px;
	top: 12px;
}

.sf-favorite.is-active svg {
	fill: var(--coral);
	stroke: var(--coral);
}

.sf-place-copy {
	display: grid;
	gap: 10px;
	padding: 20px;
}

.sf-place-copy h3,
.sf-event-copy h3,
.sf-news-grid h3,
.sf-saved-card h3 {
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.02;
	margin: 0;
}

.sf-place-copy > p,
.sf-event-copy > p,
.sf-news-grid p,
.sf-saved-card p {
	color: #516b7e;
	font-weight: 720;
	line-height: 1.52;
	margin: 0;
}

.sf-place-copy small {
	color: var(--blue);
	font-weight: 950;
}

.sf-card-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 4px;
}

.sf-card-actions button,
.sf-card-actions a {
	background: #edf9ff;
	border-color: rgba(0, 104, 255, .15);
	color: #07436d;
	font-size: .8rem;
	min-height: 40px;
	padding: 8px 11px;
}

.sf-card-actions .sf-icon-button {
	padding: 0;
	width: 40px;
}

.sf-map {
	border: 1px solid rgba(0, 104, 255, .18);
	border-radius: 8px;
	box-shadow: var(--shadow);
	height: min(680px, 72vh);
	min-height: 480px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.sf-map-empty-note {
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(8, 119, 255, .18);
	border-radius: 6px;
	box-shadow: 0 16px 36px rgba(3, 30, 56, .18);
	color: #031e34;
	font-family: var(--display);
	font-size: 1rem;
	font-weight: 900;
	left: 50%;
	line-height: 1.25;
	max-width: min(430px, calc(100% - 28px));
	padding: 16px 18px;
	pointer-events: none;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 650;
}

.sf-map-empty-note[hidden] {
	display: none;
}

.sf-map-routebar {
	align-items: center;
	background: #07344d;
	border-bottom: 4px solid #18c6aa;
	color: #fff;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(180px, .3fr) minmax(0, 1fr);
	margin-top: 18px;
	padding: 18px 20px;
}

.sf-map-routebar[hidden] {
	display: none;
}

.sf-map-routebar > div:first-child {
	display: grid;
	gap: 3px;
}

.sf-map-routebar .sf-kicker {
	color: #5fe2ce;
	margin: 0;
}

.sf-map-routebar strong {
	font-size: 1.25rem;
}

.sf-map-route-scroll {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 2px;
	scrollbar-width: thin;
}

.sf-map-route-scroll button {
	align-items: center;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font: inherit;
	font-size: .82rem;
	font-weight: 900;
	gap: 8px;
	min-height: 42px;
	padding: 9px 13px;
}

.sf-map-route-scroll button.is-active {
	background: #fff;
	border-color: #fff;
	color: #07344d;
}

.sf-map-route-scroll svg {
	height: 18px;
	width: 18px;
}

.sf-public-map-pin {
	background: #fff;
	border: 3px solid #0877ff;
	border-radius: 50% 50% 50% 10%;
	box-shadow: 0 8px 18px rgba(3, 30, 56, .28);
	display: block;
	height: 27px;
	position: relative;
	transform: rotate(-45deg);
	width: 27px;
}

.sf-public-map-pin i {
	background: #18c6aa;
	border-radius: 50%;
	height: 8px;
	left: 7px;
	position: absolute;
	top: 7px;
	width: 8px;
}

.sf-public-route-stop {
	align-items: center;
	background: #0877ff;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 7px 18px rgba(3, 30, 56, .32);
	color: #fff;
	display: flex;
	font-size: .8rem;
	font-weight: 1000;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.sf-map .leaflet-popup-content {
	display: grid;
	gap: 6px;
	margin: 15px 17px;
	min-width: 180px;
}

.sf-map .leaflet-popup-content strong {
	color: #031e34;
	font-family: var(--display);
	font-size: 1rem;
	line-height: 1.15;
}

.sf-map .leaflet-popup-content small {
	color: #557083;
	font-weight: 750;
}

.sf-map .leaflet-popup-content a {
	color: #0068ff;
	font-weight: 900;
	text-decoration: none;
}

.sf-map-popup-type {
	color: #087f6a;
	font-size: .68rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-detail-dialog {
	display: none;
	grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr);
	padding: 0;
}

.sf-detail-dialog[open] {
	display: grid;
}

.sf-detail-dialog > img {
	height: 100%;
	min-height: 430px;
	object-fit: cover;
	width: 100%;
}

.sf-detail-dialog > div {
	align-content: center;
	display: grid;
	padding: clamp(26px, 5vw, 54px);
}

.sf-detail-dialog h2 {
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: .94;
	margin: 10px 0 18px;
}

.sf-detail-dialog p:not(.sf-kicker) {
	color: #4d6678;
	line-height: 1.62;
}

.sf-events .sf-tool-head {
	margin-bottom: 28px;
}

.sf-event-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-event-card {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	box-shadow: 0 18px 54px rgba(3, 30, 56, .09);
	display: grid;
	grid-template-columns: 76px 1fr;
	overflow: hidden;
	position: relative;
}

.sf-event-card[hidden] {
	display: none;
}

.sf-event-card > img {
	aspect-ratio: 16 / 9;
	grid-column: 1 / -1;
	height: 100%;
	max-height: 240px;
	object-fit: cover;
	width: 100%;
}

.sf-event-date {
	align-items: center;
	background: #ecfaff;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 14px 8px;
}

.sf-event-date strong {
	color: var(--blue);
	font-size: 2rem;
	line-height: 1;
}

.sf-event-date span {
	font-size: .72rem;
	font-weight: 1000;
}

.sf-event-copy {
	display: grid;
	gap: 10px;
	padding: 18px;
}

.sf-event-copy > p:not(.sf-kicker) {
	display: grid;
	font-size: .84rem;
	gap: 7px;
	grid-template-columns: auto 1fr auto 1fr;
}

.sf-notification-callout,
.sf-directory-empty {
	align-items: center;
	background: linear-gradient(135deg, #e9faff, #fff8df);
	border: 1px solid rgba(0, 104, 255, .15);
	border-radius: 8px;
	display: grid;
	gap: 18px;
	grid-template-columns: auto 1fr auto;
	margin-top: 24px;
	padding: 20px;
}

.sf-notification-callout > div:first-child,
.sf-directory-empty > div:first-child {
	align-items: center;
	background: var(--blue);
	border-radius: 50%;
	color: #fff;
	display: flex;
	height: 52px;
	justify-content: center;
	width: 52px;
}

.sf-notification-callout strong,
.sf-directory-empty h3 {
	font-size: 1.15rem;
}

.sf-notification-callout p,
.sf-directory-empty p {
	color: #50697b;
	font-weight: 720;
	margin: 4px 0 0;
}

.sf-notification-callout .sf-notification-status {
	color: var(--ink);
	font-size: .86rem;
	font-weight: 900;
	min-height: 1.2em;
}

.sf-notification-callout > button {
	background: var(--ink);
	border: 0;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 1000;
	min-height: 44px;
	padding: 10px 14px;
}

.sf-planner {
	background: #f4fbfd;
	border: 1px solid rgba(0, 104, 255, .16);
	border-radius: 8px;
	box-shadow: var(--shadow);
	overflow: hidden;
}

.sf-planner-intro {
	align-items: end;
	background: #06364f;
	border-top: 5px solid #12bfa3;
	color: #fff;
	display: grid;
	gap: 38px;
	grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
	padding: clamp(30px, 5vw, 62px);
}

.sf-planner-intro h2 {
	font-size: clamp(2.7rem, 5vw, 5.4rem);
	line-height: .92;
	margin: 12px 0 18px;
	max-width: 920px;
}

.sf-planner-intro > div:first-child > p:last-child {
	color: #d6e8ef;
	font-size: 1.08rem;
	line-height: 1.6;
	margin: 0;
	max-width: 740px;
}

.sf-planner-live {
	border-left: 1px solid rgba(255, 255, 255, .25);
	display: grid;
	gap: 7px;
	min-width: 250px;
	padding: 10px 0 10px 28px;
}

.sf-planner-live > span {
	align-items: center;
	color: #66ead5;
	display: flex;
	font-size: .75rem;
	font-weight: 1000;
	gap: 8px;
	text-transform: uppercase;
}

.sf-planner-live > span i {
	background: #39e1b7;
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(57, 225, 183, .12);
	height: 8px;
	width: 8px;
}

.sf-planner-live strong {
	font-size: 1.15rem;
}

.sf-planner-live strong b {
	color: var(--sun);
	font-size: 1.7rem;
}

.sf-planner-live small {
	color: #a9c3cf;
	font-weight: 750;
}

.sf-planner-stage {
	align-items: start;
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
}

.sf-planner-form {
	background: #fff;
	border-right: 1px solid var(--line);
	display: grid;
	gap: 0;
}

.sf-journey-block {
	border: 0;
	margin: 0;
	padding: clamp(26px, 4vw, 48px);
}

.sf-journey-block + .sf-journey-block {
	border-top: 1px solid var(--line);
}

.sf-journey-block legend {
	display: grid;
	grid-template-columns: 42px 1fr;
	margin: 0 0 22px;
	padding: 0;
	width: 100%;
}

.sf-journey-block legend > span {
	color: var(--blue);
	font-size: .8rem;
	font-weight: 1000;
	grid-row: 1 / 3;
	padding-top: 4px;
}

.sf-journey-block legend b {
	font-size: clamp(1.55rem, 2.5vw, 2.45rem);
	line-height: 1.05;
}

.sf-journey-block legend small {
	color: #607789;
	font-size: .9rem;
	font-weight: 750;
	grid-column: 2;
	margin-top: 5px;
}

.sf-journey-options,
.sf-journey-segments {
	display: grid;
	gap: 8px;
}

.sf-journey-options-three,
.sf-journey-segments,
.sf-journey-matrix {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-journey-options-four {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-journey-choice {
	cursor: pointer;
	display: block;
	position: relative;
}

.sf-journey-choice input {
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.sf-journey-choice > span {
	background: #f4fafc;
	border: 1px solid #c9dce6;
	border-radius: 6px;
	display: grid;
	grid-template-columns: 30px 1fr;
	min-height: 82px;
	padding: 14px;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.sf-journey-choice svg {
	color: #0787a8;
	grid-row: 1 / 3;
	height: 21px;
	margin-top: 2px;
	width: 21px;
}

.sf-journey-choice b {
	font-size: .92rem;
	line-height: 1.2;
}

.sf-journey-choice small {
	color: #607789;
	font-size: .74rem;
	font-weight: 720;
	line-height: 1.3;
	margin-top: 3px;
}

.sf-journey-choice input:focus-visible + span {
	outline: 3px solid var(--sun);
	outline-offset: 2px;
}

.sf-journey-choice input:checked + span {
	background: #eaf8ff;
	border-color: var(--blue);
	box-shadow: inset 5px 0 0 var(--blue);
}

.sf-journey-choice input:checked + span b,
.sf-journey-choice input:checked + span svg {
	color: var(--blue);
}

.sf-journey-subgroup {
	border-top: 1px dashed #c5dce6;
	display: grid;
	gap: 12px;
	margin-top: 22px;
	padding-top: 18px;
}

.sf-journey-subgroup > strong,
.sf-journey-matrix > div > strong {
	color: #496579;
	font-size: .75rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-journey-segments .sf-journey-choice > span {
	min-height: 68px;
}

.sf-journey-matrix {
	display: grid;
	gap: 14px;
}

.sf-journey-matrix > div {
	display: grid;
	gap: 7px;
}

.sf-journey-matrix .sf-journey-choice > span {
	grid-template-columns: 25px 1fr;
	min-height: 62px;
	padding: 10px;
}

.sf-journey-matrix .sf-journey-choice small {
	display: none;
}

.sf-journey-matrix .sf-journey-choice svg {
	height: 18px;
	width: 18px;
}

.sf-planner-nav {
	background: #f4fafc;
	border-top: 1px solid var(--line);
	display: flex;
	gap: 9px;
	padding: 22px clamp(26px, 4vw, 48px);
}

.sf-planner-nav button {
	align-items: center;
	background: #ffbf32;
	border: 1px solid #ffbf32;
	border-radius: 6px;
	color: var(--ink);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 1000;
	gap: 7px;
	justify-content: center;
	min-height: 50px;
	padding: 11px 18px;
}

.sf-planner-nav button[type="reset"] {
	background: #fff;
	border-color: var(--line);
	color: var(--ink);
}

.sf-planner-result {
	background: #072d42;
	color: #fff;
	min-width: 0;
	position: sticky;
	top: 112px;
}

.sf-plan-cover {
	aspect-ratio: 16 / 7;
	border-bottom: 4px solid #13bfa3;
	overflow: hidden;
	position: relative;
}

.sf-plan-cover::after {
	background: linear-gradient(180deg, transparent 35%, rgba(3, 24, 36, .78));
	content: "";
	inset: 0;
	position: absolute;
}

.sf-plan-cover img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-plan-cover > span {
	bottom: 18px;
	color: #fff;
	font-size: .72rem;
	font-weight: 1000;
	left: 24px;
	position: absolute;
	text-transform: uppercase;
	z-index: 1;
}

.sf-plan-copy {
	padding: clamp(24px, 3.5vw, 42px);
}

.sf-plan-copy h3 {
	font-size: clamp(2rem, 3.2vw, 3.6rem);
	line-height: .95;
	margin: 9px 0 12px;
}

.sf-plan-copy > p:not(.sf-kicker) {
	color: #c4d9e2;
	line-height: 1.55;
	margin: 0;
}

.sf-plan-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 24px 0;
}

.sf-plan-metrics > span {
	border-left: 1px solid rgba(255, 255, 255, .17);
	display: grid;
	grid-template-columns: 25px 1fr;
	padding: 4px 10px;
}

.sf-plan-metrics > span:first-child {
	border-left: 0;
	padding-left: 0;
}

.sf-plan-metrics svg {
	color: #51ddc7;
	grid-row: 1 / 3;
	height: 18px;
	width: 18px;
}

.sf-plan-metrics b {
	font-size: .82rem;
	line-height: 1.15;
}

.sf-plan-metrics small {
	color: #92adba;
	font-size: .66rem;
	font-weight: 700;
}

.sf-plan-route {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sf-plan-route li {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, .14);
	display: grid;
	gap: 10px;
	grid-template-columns: 48px 34px minmax(0, 1fr) auto;
	min-height: 72px;
	position: relative;
}

.sf-plan-route li time {
	color: #8faab7;
	font-size: .72rem;
	font-weight: 900;
}

.sf-plan-route .sf-route-node {
	align-items: center;
	background: #13bfa3;
	border-radius: 6px;
	display: flex;
	font-size: .7rem;
	font-weight: 1000;
	height: 28px;
	justify-content: center;
	position: relative;
	width: 28px;
}

.sf-plan-route li:not(:last-child) .sf-route-node::after {
	background: rgba(81, 221, 199, .45);
	content: "";
	height: 44px;
	left: 13px;
	position: absolute;
	top: 28px;
	width: 2px;
}

.sf-plan-route li > a {
	color: #fff;
	min-width: 0;
	text-decoration: none;
}

.sf-plan-route li strong,
.sf-plan-route li small {
	display: block;
}

.sf-plan-route li strong {
	font-size: .87rem;
	line-height: 1.2;
}

.sf-plan-route li small {
	color: #8faab7;
	font-size: .68rem;
	margin-top: 3px;
}

.sf-plan-route li > div {
	display: flex;
	gap: 3px;
}

.sf-plan-route button,
.sf-plan-editor button {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.sf-plan-route button:disabled {
	cursor: default;
	opacity: .25;
}

.sf-plan-route button svg,
.sf-plan-editor button svg {
	height: 15px;
	width: 15px;
}

.sf-plan-editor {
	border-top: 1px solid rgba(255, 255, 255, .14);
	margin-top: 4px;
	padding-top: 18px;
}

.sf-plan-editor label {
	color: #8faab7;
	display: block;
	font-size: .7rem;
	font-weight: 900;
	margin-bottom: 7px;
	text-transform: uppercase;
}

.sf-plan-editor > div {
	display: grid;
	gap: 7px;
	grid-template-columns: 1fr auto;
}

.sf-plan-editor select {
	background: #fff;
	border: 0;
	border-radius: 4px;
	color: var(--ink);
	font: inherit;
	font-size: .78rem;
	font-weight: 800;
	min-width: 0;
	padding: 8px 10px;
}

.sf-plan-editor button {
	background: #13bfa3;
	border-color: #13bfa3;
	height: 38px;
	width: 38px;
}

.sf-plan-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 18px;
}

.sf-plan-actions a,
.sf-plan-actions button {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .22);
	color: #fff;
	justify-content: center;
}

@media (max-width: 1080px) {
	.sf-planner-stage {
		grid-template-columns: 1fr;
	}

	.sf-planner-form {
		border-bottom: 1px solid var(--line);
		border-right: 0;
	}

	.sf-planner-result {
		position: relative;
		top: auto;
	}

	.sf-plan-cover {
		aspect-ratio: 16 / 6;
	}
}

@media (max-width: 760px) {
	.sf-planner-intro {
		align-items: start;
		gap: 24px;
		grid-template-columns: 1fr;
		padding: 32px 20px;
	}

	.sf-planner-intro h2 {
		font-size: clamp(2.65rem, 13vw, 4.1rem);
	}

	.sf-planner-live {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .25);
		min-width: 0;
		padding: 20px 0 0;
	}

	.sf-journey-block {
		padding: 30px 18px;
	}

	.sf-journey-block legend {
		grid-template-columns: 34px 1fr;
	}

	.sf-journey-options-three,
	.sf-journey-options-four,
	.sf-journey-segments,
	.sf-journey-matrix {
		grid-template-columns: 1fr;
	}

	.sf-journey-choice > span,
	.sf-journey-segments .sf-journey-choice > span {
		min-height: 68px;
	}

	.sf-planner-nav {
		padding: 20px 18px;
	}

	.sf-planner-nav button {
		flex: 1;
		min-width: 0;
		padding-left: 10px;
		padding-right: 10px;
	}

	.sf-plan-cover {
		aspect-ratio: 4 / 3;
	}

	.sf-plan-copy {
		padding: 28px 18px;
	}

	.sf-plan-copy h3 {
		font-size: clamp(2.25rem, 11vw, 3.2rem);
	}

	.sf-plan-metrics {
		gap: 6px;
	}

	.sf-plan-metrics > span {
		grid-template-columns: 20px 1fr;
		padding-left: 6px;
		padding-right: 6px;
	}

	.sf-plan-route li {
		grid-template-columns: 42px 30px minmax(0, 1fr);
		padding: 8px 0;
	}

	.sf-plan-route li > div {
		grid-column: 3;
	}

	.sf-plan-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.sf-destination-page.sf-page {
	margin: 0;
	max-width: none;
	padding: 0;
}

.sf-destination-page .sf-page-hero {
	align-items: end;
	background: #041525;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
	min-height: min(720px, 78vh);
	overflow: hidden;
	padding: 150px max(20px, calc((100vw - 1300px) / 2 + 34px)) 78px;
	position: relative;
}

.sf-destination-page .sf-page-hero > img {
	border-radius: 0;
	box-shadow: none;
	filter: saturate(1.12) contrast(1.04);
	height: 100%;
	inset: 0;
	max-height: none;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.sf-page-hero-overlay {
	background: linear-gradient(90deg, rgba(2, 18, 32, .82), rgba(2, 27, 45, .42) 56%, rgba(2, 22, 37, .08)), linear-gradient(0deg, rgba(2, 16, 28, .5), transparent 52%);
	inset: 0;
	position: absolute;
}

.sf-page-hero-copy {
	color: #fff;
	max-width: 940px;
	position: relative;
	z-index: 1;
}

.sf-page-hero-copy h1 {
	color: #fff;
	font-size: clamp(3.5rem, 7.4vw, 7.7rem);
	line-height: .88;
	margin: 14px 0 22px;
	max-width: 1000px;
	overflow-wrap: anywhere;
}

.sf-page-hero-copy > p:not(.sf-kicker) {
	color: rgba(255, 255, 255, .88);
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	line-height: 1.52;
	max-width: 760px;
}

.sf-breadcrumb {
	display: flex;
	font-size: .74rem;
	gap: 8px;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.sf-breadcrumb a,
.sf-breadcrumb span {
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
}

.sf-page-utility {
	display: flex;
	gap: 8px;
	margin-top: 24px;
}

.sf-page-utility button,
.sf-page-utility a {
	backdrop-filter: blur(10px);
	background: rgba(255, 255, 255, .15);
	border-color: rgba(255, 255, 255, .36);
}

.sf-topic-strip {
	background: #fff;
	border-bottom: 1px solid var(--line);
	display: flex;
	gap: 6px;
	justify-content: center;
	overflow-x: auto;
	padding: 13px 18px;
	position: relative;
	z-index: 4;
}

.sf-topic-strip a {
	border-radius: 999px;
	color: #244d69;
	font-size: .8rem;
	font-weight: 950;
	padding: 9px 13px;
	text-decoration: none;
	white-space: nowrap;
}

.sf-topic-strip a:hover {
	background: #e8f9ff;
	color: var(--blue);
}

.sf-editorial {
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(58px, 8vw, 108px) clamp(20px, 4vw, 44px) 20px;
}

.sf-editorial-body {
	color: #354f63;
	font-size: clamp(1.03rem, 1.4vw, 1.18rem);
	line-height: 1.78;
}

.sf-editorial-body > * {
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
}

.sf-editorial-body h2,
.sf-editorial-body h3 {
	color: var(--ink);
	font-weight: 1000;
	line-height: .98;
	margin-top: 1.5em;
}

.sf-editorial-body h2 {
	font-size: clamp(2.2rem, 4vw, 4rem);
}

.sf-editorial-body h3 {
	font-size: clamp(1.6rem, 3vw, 2.6rem);
}

.sf-editorial-body img,
.sf-editorial-body video,
.sf-editorial-body iframe {
	border-radius: 8px;
	height: auto;
	margin: 30px auto;
	max-width: 100%;
}

.sf-registry {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .15);
	border-radius: 8px;
	box-shadow: var(--shadow);
	display: grid;
	gap: 9px;
	padding: 18px;
}

.sf-registry-filter {
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(240px, 1.4fr) 1fr 1fr;
	margin-bottom: 10px;
}

.sf-registry-filter select {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--ink);
	font: inherit;
	min-height: 54px;
	padding: 0 12px;
}

.sf-registry-head,
.sf-registry-row {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 60px 70px minmax(240px, 1.7fr) minmax(140px, .8fr) 110px auto;
}

.sf-registry-head {
	color: #648094;
	font-size: .72rem;
	padding: 8px 14px;
	text-transform: uppercase;
}

.sf-registry-row {
	background: #f8fdff;
	border: 1px solid rgba(0, 104, 255, .1);
	border-radius: 6px;
	padding: 14px;
}

.sf-registry-row[hidden] {
	display: none;
}

.sf-registry-row strong {
	color: var(--blue);
	font-size: 1.08rem;
}

.sf-registry-row p {
	line-height: 1.35;
	margin: 0;
}

.sf-registry-row a {
	background: var(--blue);
	box-shadow: none;
	color: #fff;
	gap: 7px;
	min-height: 42px;
	padding: 8px 12px;
}

.sf-member-panel {
	background: linear-gradient(145deg, #fff, #edfaff);
	border: 1px solid rgba(0, 104, 255, .16);
	border-radius: 8px;
	box-shadow: var(--shadow);
	padding: clamp(24px, 5vw, 54px);
}

.sf-member-identity {
	align-items: center;
	display: flex;
	gap: 20px;
}

.sf-member-avatar {
	align-items: center;
	background: linear-gradient(135deg, var(--blue), var(--cyan));
	border-radius: 50%;
	color: #fff;
	display: flex;
	height: 96px;
	justify-content: center;
	overflow: hidden;
	width: 96px;
}

.sf-member-avatar img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-member-avatar svg {
	height: 38px;
	width: 38px;
}

.sf-member-identity h2 {
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: .95;
	margin: 8px 0;
}

.sf-member-identity p:not(.sf-kicker) {
	color: #557083;
}

.sf-member-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 28px;
}

.sf-member-grid a,
.sf-member-grid a:first-child,
.sf-member-grid a:not(:first-child) {
	align-items: flex-start;
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	box-shadow: none;
	color: var(--ink);
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 120px;
	padding: 18px;
	text-align: left;
}

.sf-member-grid a svg {
	color: var(--blue);
	height: 25px;
	width: 25px;
}

.sf-category-portals {
	margin: 20px 0;
}

.sf-category-portals button {
	border-radius: 6px;
	min-height: 50px;
	padding: 10px 16px;
}

.sf-business-grid,
.sf-typical-products {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-business-grid article,
.sf-typical-products article {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(3, 30, 56, .08);
	padding: 22px;
}

.sf-business-grid article[hidden] {
	display: none;
}

.sf-business-grid img {
	aspect-ratio: 16 / 10;
	border-radius: 6px;
	margin: -10px -10px 18px;
	max-width: calc(100% + 20px);
	object-fit: cover;
	width: calc(100% + 20px);
}

.sf-business-grid h3,
.sf-typical-products h3 {
	font-size: 1.65rem;
	line-height: 1;
	margin: 10px 0;
}

.sf-business-grid p,
.sf-typical-products p {
	color: #526d80;
	line-height: 1.55;
}

.sf-typical-products {
	margin-top: 24px;
}

.sf-typical-products span {
	color: var(--blue);
	font-size: .76rem;
	font-weight: 1000;
}

.sf-news-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-news-grid article {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(3, 30, 56, .08);
	overflow: hidden;
}

.sf-news-media {
	aspect-ratio: 16 / 10;
	background: #dceef5;
	display: block;
	overflow: hidden;
}

.sf-news-media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-news-grid article > div {
	padding: 20px;
}

.sf-news-grid time {
	color: var(--blue);
	font-size: .75rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-news-grid h3 {
	margin: 10px 0;
}

.sf-news-grid h3 a,
.sf-news-grid article > div > a {
	text-decoration: none;
}

.sf-news-grid article > div > a {
	color: var(--blue);
	font-size: .84rem;
	font-weight: 1000;
}

.sf-contact-layout {
	background: #fff;
	border: 1px solid rgba(0, 104, 255, .14);
	border-radius: 8px;
	box-shadow: var(--shadow);
	display: grid;
	grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
	overflow: hidden;
}

.sf-contact-details {
	background: linear-gradient(145deg, #041525, #075077);
	color: #fff;
	padding: clamp(30px, 5vw, 60px);
}

.sf-contact-details h2 {
	font-size: clamp(3rem, 4.8vw, 5rem);
	line-height: .9;
	margin: 14px 0 30px;
}

.sf-contact-details address {
	display: grid;
	font-style: normal;
	gap: 12px;
}

.sf-contact-details address a,
.sf-contact-details address span {
	align-items: flex-start;
	color: rgba(255, 255, 255, .82);
	display: flex;
	gap: 10px;
	line-height: 1.45;
	text-decoration: none;
}

.sf-contact-form {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: clamp(28px, 5vw, 58px);
}

.sf-contact-form label {
	display: grid;
	font-size: .82rem;
	font-weight: 950;
	gap: 7px;
}

.sf-contact-form label:has(textarea),
.sf-contact-form .sf-consent,
.sf-contact-form button,
.sf-contact-form [data-sf-contact-status] {
	grid-column: 1 / -1;
}

.sf-contact-form input,
.sf-contact-form select,
.sf-contact-form textarea {
	background: #f6fcff;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--ink);
	font: inherit;
	min-height: 50px;
	padding: 11px 13px;
	width: 100%;
}

.sf-contact-form textarea {
	resize: vertical;
}

.sf-contact-form .sf-consent {
	align-items: start;
	display: grid;
	font-weight: 720;
	grid-template-columns: auto 1fr;
	line-height: 1.45;
}

.sf-contact-form .sf-consent input {
	height: 18px;
	min-height: 0;
	width: 18px;
}

.sf-contact-hub {
	display: grid;
	gap: clamp(28px, 4vw, 52px);
	margin: 0 auto;
	max-width: 1480px;
}

.sf-contact-hub .sf-contact-layout {
	margin: 0;
	max-width: none;
}

.sf-contact-intro {
	color: rgba(255, 255, 255, .82);
	font-size: 1.02rem;
	line-height: 1.6;
	margin: 0 0 30px;
	max-width: 530px;
}

.sf-contact-details address a {
	border-top: 1px solid rgba(255, 255, 255, .15);
	padding: 13px 0;
}

.sf-contact-details address a:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.sf-contact-details address a > span {
	display: grid;
	gap: 2px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.sf-contact-details address small {
	color: #7eeeff;
	font-size: .66rem;
	font-weight: 950;
	text-transform: uppercase;
}

.sf-contact-hours {
	align-items: flex-start;
	background: rgba(0, 213, 255, .1);
	border-left: 4px solid #00d5ff;
	display: flex;
	gap: 10px;
	line-height: 1.5;
	margin: 24px 0 0;
	padding: 14px;
}

.sf-contact-hours svg {
	flex: 0 0 auto;
	height: 20px;
	width: 20px;
}

.sf-contact-tax {
	color: rgba(255, 255, 255, .65);
	font-size: .72rem;
	margin: 18px 0 0;
}

.sf-contact-form > header {
	grid-column: 1 / -1;
	margin-bottom: 10px;
}

.sf-contact-form > header h3 {
	font-size: clamp(2rem, 3.2vw, 3.2rem);
	line-height: 1;
	margin: 7px 0 10px;
}

.sf-contact-form > header p:not(.sf-kicker) {
	color: #587080;
	margin: 0;
}

.sf-contact-form label > small {
	color: #6a808d;
	font-weight: 750;
}

.sf-contact-form .sf-contact-full {
	grid-column: 1 / -1;
}

.sf-contact-form .sf-consent a {
	color: #0068ff;
}

.sf-contact-form button[type="submit"] {
	align-items: center;
	background: #0068ff;
	border: 0;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font: inherit;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	min-height: 54px;
	padding: 12px 18px;
}

.sf-contact-services {
	padding: clamp(22px, 3vw, 42px) 0;
}

.sf-contact-services > header {
	display: grid;
	gap: 7px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
	margin-bottom: 24px;
}

.sf-contact-services > header .sf-kicker {
	grid-column: 1 / -1;
}

.sf-contact-services > header h2 {
	font-size: clamp(2.3rem, 4.5vw, 4.8rem);
	line-height: .95;
	margin: 0;
}

.sf-contact-services > div {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-contact-services article {
	background: #fff;
	border: 1px solid #c9dde5;
	min-height: 220px;
	padding: 26px;
}

.sf-contact-services article > svg {
	color: #0068ff;
	height: 30px;
	width: 30px;
}

.sf-contact-services article h3 {
	font-size: 1.25rem;
	margin: 34px 0 10px;
}

.sf-contact-services article p {
	color: #587080;
	font-size: .92rem;
	line-height: 1.55;
	margin: 0;
}

.sf-contact-map {
	background: #eef9fc;
	border: 1px solid #c9dde5;
	display: grid;
	grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr);
	min-height: 470px;
	overflow: hidden;
}

.sf-contact-map > div {
	align-content: center;
	display: grid;
	padding: clamp(30px, 5vw, 62px);
}

.sf-contact-map h2 {
	font-size: clamp(2.5rem, 4.8vw, 5.2rem);
	line-height: .9;
	margin: 10px 0 18px;
}

.sf-contact-map p:not(.sf-kicker),
.sf-contact-map address {
	color: #557182;
	font-style: normal;
	line-height: 1.55;
}

.sf-contact-map a {
	align-items: center;
	background: #062f47;
	color: #fff;
	display: inline-flex;
	font-weight: 950;
	gap: 8px;
	justify-self: start;
	margin-top: 22px;
	min-height: 50px;
	padding: 12px 16px;
	text-decoration: none;
}

.sf-contact-map iframe {
	border: 0;
	height: 100%;
	min-height: 470px;
	width: 100%;
}

.sf-honeypot {
	left: -9999px;
	position: absolute;
}

.sf-language-lab {
	align-items: stretch;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.sf-language-lab-copy,
.sf-phrase-panel {
	border-radius: 8px;
	padding: clamp(28px, 5vw, 54px);
}

.sf-language-lab-copy {
	background: linear-gradient(145deg, #041525, #075077);
	color: #fff;
}

.sf-language-lab-copy h2 {
	font-size: clamp(2.4rem, 5vw, 5rem);
	line-height: .9;
	margin: 12px 0 20px;
}

.sf-language-lab-copy > p:not(.sf-kicker) {
	color: rgba(255, 255, 255, .75);
	line-height: 1.6;
}

.sf-language-lab-copy > a {
	color: var(--cyan);
	font-weight: 1000;
}

.sf-phrase-panel {
	background: #effaff;
	border: 1px solid rgba(0, 104, 255, .15);
}

.sf-phrase-panel article {
	background: #fff;
	border-bottom: 1px solid var(--line);
	display: grid;
	gap: 7px;
	padding: 14px;
}

.sf-phrase-panel article span {
	color: #557083;
}

.sf-verified-empty {
	align-content: center;
	display: grid;
	height: 100%;
	min-height: 300px;
	text-align: center;
}

.sf-verified-empty svg {
	color: var(--blue);
	height: 46px;
	margin: 0 auto;
	width: 46px;
}

.sf-verified-empty h3 {
	font-size: 2rem;
	margin: 16px 0 8px;
}

.sf-verified-empty p {
	color: #536d80;
	line-height: 1.55;
}

.sf-saved-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	display: grid;
	grid-template-columns: 220px 1fr;
	margin-top: 14px;
	overflow: hidden;
}

.sf-saved-card > img {
	height: 100%;
	min-height: 190px;
	object-fit: cover;
	width: 100%;
}

.sf-saved-card > div {
	align-content: center;
	display: grid;
	gap: 8px;
	padding: 22px;
}

.sf-saved-card > div > span {
	color: var(--blue);
	font-size: .74rem;
	font-weight: 1000;
	text-transform: uppercase;
}

.sf-saved-card > div > div {
	display: flex;
	gap: 8px;
}

.sf-saved-card a,
.sf-saved-card button {
	background: #edf9ff;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--blue);
	cursor: pointer;
	font: inherit;
	font-size: .82rem;
	font-weight: 1000;
	padding: 9px 12px;
	text-decoration: none;
}

.sf-experience-catalog h3 {
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: .92;
	margin: 8px 0 0;
	position: relative;
	z-index: 1;
}

.sf-oculus-story {
	align-items: center;
	display: grid;
	gap: clamp(30px, 6vw, 84px);
	grid-template-columns: 1fr 1fr;
	margin: 0 auto;
	max-width: 1300px;
	padding: clamp(56px, 8vw, 110px) clamp(20px, 4vw, 44px);
}

.sf-oculus-story > img {
	border-radius: 8px;
	box-shadow: var(--shadow);
}

.sf-oculus-story h2 {
	font-size: clamp(2.5rem, 5vw, 5rem);
	line-height: .9;
	margin: 12px 0 24px;
}

.sf-feature-list {
	display: grid;
	gap: 8px;
	margin-bottom: 22px;
}

.sf-feature-list article {
	align-items: start;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 6px;
	display: grid;
	gap: 4px 12px;
	grid-template-columns: auto 1fr;
	padding: 14px;
}

.sf-feature-list article svg {
	color: var(--blue);
	grid-row: 1 / 3;
}

.sf-feature-list h3,
.sf-feature-list p {
	margin: 0;
}

.sf-feature-list p {
	color: #557083;
	font-size: .9rem;
	line-height: 1.45;
}

.sf-access-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1300px;
	padding: clamp(56px, 8vw, 110px) clamp(20px, 4vw, 44px);
}

.sf-access-grid article {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(3, 30, 56, .08);
	padding: 24px;
}

.sf-access-grid svg {
	color: var(--blue);
	height: 28px;
	width: 28px;
}

.sf-access-grid h3 {
	font-size: 1.5rem;
	line-height: 1;
}

.sf-access-grid p {
	color: #536d80;
	line-height: 1.55;
}

.sf-empty {
	background: #f2faff;
	border: 1px dashed rgba(0, 104, 255, .24);
	border-radius: 6px;
	color: #536d80;
	padding: 22px;
	text-align: center;
}

.sf-empty[hidden] {
	display: none;
}

.sf-footer-cta {
	align-items: center;
	background: linear-gradient(100deg, #00cfa4, #00aeea 48%, #0068ff);
	color: #fff;
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr auto;
	padding: clamp(36px, 5vw, 64px) max(20px, calc((100vw - 1300px) / 2 + 34px));
}

.sf-footer-cta .sf-kicker {
	color: #fff;
}

.sf-footer-cta h2 {
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: .92;
	margin: 9px 0 0;
	max-width: 800px;
}

.sf-footer-cta > div:last-child {
	display: flex;
	gap: 8px;
}

.sf-footer-cta a {
	background: #fff;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 6px;
	color: var(--ink);
	font-weight: 1000;
	padding: 13px 16px;
	text-decoration: none;
}

.sf-footer-cta a:last-child {
	background: rgba(4, 21, 37, .18);
	color: #fff;
}

.sf-footer {
	display: grid;
	gap: 36px;
	grid-template-columns: 1.4fr repeat(3, minmax(150px, .7fr));
	padding-bottom: 24px;
}

.sf-footer-brand img {
	max-width: 230px;
}

.sf-footer h3 {
	font-size: .85rem;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.sf-footer nav,
.sf-footer address {
	display: grid;
	font-style: normal;
	gap: 8px;
}

.sf-social-links {
	display: flex;
	gap: 7px;
	margin-top: 18px;
}

.sf-social-links a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 6px;
	display: flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.sf-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: flex;
	font-size: .76rem;
	gap: 20px;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding-top: 20px;
}

.sf-footer-bottom nav {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.sf-toast {
	background: #041525;
	border: 1px solid rgba(0, 213, 255, .3);
	border-radius: 6px;
	bottom: 22px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .28);
	color: #fff;
	font-size: .9rem;
	font-weight: 900;
	left: 50%;
	max-width: calc(100vw - 36px);
	padding: 13px 17px;
	position: fixed;
	transform: translateX(-50%);
	z-index: 3000;
}

.sf-toast[hidden] {
	display: none;
}

@media (max-width: 1180px) {
	.sf-header {
		grid-template-columns: 160px auto 1fr;
	}

	.sf-logo img {
		width: 150px;
	}

	.sf-menu-button {
		display: inline-flex;
		grid-column: 3;
		justify-self: end;
	}

	.sf-nav {
		align-items: stretch;
		background: #fff;
		border: 1px solid var(--line);
		border-radius: 8px;
		box-shadow: var(--shadow);
		display: none;
		grid-column: 1 / -1;
		grid-row: 2;
		inset: calc(100% + 8px) 0 auto;
		padding: 8px;
		position: absolute;
	}

	.sf-nav.is-open {
		display: grid;
	}

	.sf-nav-home,
	.sf-nav-group > button {
		justify-content: space-between;
		width: 100%;
	}

	.sf-nav-panel {
		box-shadow: none;
		margin: 2px 0 8px;
		min-width: 0;
		position: static;
		width: 100%;
	}

	.sf-header-tools {
		grid-column: 2;
		grid-row: 1;
	}

	.sf-near-header,
	.sf-login span:not(.screen-reader-text) {
		display: none;
	}

	.sf-login {
		border-radius: 6px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		width: 44px;
	}

	.sf-home-categories {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-left: 18px;
		margin-right: 18px;
	}

	.sf-home-categories a:nth-child(3) {
		border-right: 0;
	}

	.sf-home-categories a:nth-child(-n+3) {
		border-bottom: 1px solid var(--line);
	}

	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-member-grid,
	.sf-access-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-footer {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sf-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	body {
		padding-bottom: 66px;
	}

	.sf-header {
		gap: 8px;
		grid-template-columns: minmax(115px, 1fr) auto;
		min-height: 62px;
		padding: 6px 8px 6px 12px;
		top: 8px;
		width: calc(100% - 16px);
	}

	.sf-logo img {
		max-height: 43px;
		width: 135px;
	}

	.sf-menu-button {
		grid-column: 2;
		grid-row: 1;
	}

	.sf-header-tools {
		display: none;
	}

	.sf-hero {
		height: auto;
		min-height: 850px;
		padding: 102px 18px 62px;
	}

	.sf-hero::before {
		background: linear-gradient(180deg, rgba(2, 17, 29, .28), rgba(2, 17, 29, .84) 48%, rgba(2, 17, 29, .96));
	}

	.sf-hero-inner {
		align-content: end;
		display: grid;
		gap: 24px;
		grid-template-columns: 1fr;
	}

	.sf-hero h1 {
		font-size: clamp(3.35rem, 15vw, 5.1rem);
		line-height: .9;
	}

	.sf-hero-copy > p:not(.sf-kicker) {
		font-size: 1rem;
	}

	.sf-command {
		padding: 20px 16px;
	}

	.sf-command form {
		grid-template-columns: 1fr;
	}

	.sf-home-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: -22px;
	}

	.sf-home-categories a {
		border-bottom: 1px solid var(--line);
		min-height: 102px;
	}

	.sf-home-categories a:nth-child(odd) {
		border-right: 1px solid var(--line);
	}

	.sf-home-categories a:nth-child(even) {
		border-right: 0;
	}

		.sf-home-intro,
		.sf-plan-banner,
		.sf-membership-home,
	.sf-planner,
	.sf-contact-layout,
	.sf-language-lab,
	.sf-oculus-story,
	.sf-footer-cta {
		grid-template-columns: 1fr;
	}

		.sf-home-intro h2,
	.sf-plan-banner h2,
	.sf-membership-home-copy h2,
	.sf-tool-head h2 {
		font-size: clamp(2.4rem, 12vw, 4rem);
	}

	.sf-plan-banner {
		min-height: 0;
	}

	.sf-plan-banner > img {
		aspect-ratio: 4 / 3;
	}

		.sf-plan-banner > div {
			padding: 34px 20px;
		}

		.sf-membership-home {
			gap: 28px;
		}

		.sf-membership-home aside {
			grid-template-columns: 1fr;
			padding: 18px;
		}

		.sf-membership-home aside a {
			justify-self: start;
		}

		.sf-section-head-row,
	.sf-tool-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid,
	.sf-business-grid,
	.sf-typical-products,
	.sf-member-grid,
	.sf-access-grid {
		grid-template-columns: 1fr;
	}

	.sf-place-card {
		display: grid;
		grid-template-columns: 118px 1fr;
	}

	.sf-place-media {
		aspect-ratio: auto;
		height: 100%;
		min-height: 210px;
	}

	.sf-place-media > span {
		display: none;
	}

	.sf-place-media .sf-favorite {
		right: 8px;
		top: 8px;
	}

	.sf-place-copy {
		padding: 15px;
	}

	.sf-place-copy h3 {
		font-size: 1.3rem;
	}

	.sf-place-copy > p {
		display: -webkit-box;
		font-size: .84rem;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}

	.sf-place-copy .sf-card-actions a span,
	.sf-place-copy .sf-card-actions button + a {
		display: none;
	}

	.sf-filterbar {
		grid-template-columns: 1fr;
	}

	.sf-map {
		height: 68vh;
		min-height: 440px;
	}

	.sf-map-routebar {
		align-items: start;
		grid-template-columns: 1fr;
		padding: 15px;
	}

	.sf-detail-dialog[open] {
		display: block;
	}

	.sf-detail-dialog > img {
		aspect-ratio: 16 / 10;
		height: auto;
		min-height: 0;
	}

	.sf-event-card {
		grid-template-columns: 64px 1fr;
	}

	.sf-event-copy > p:not(.sf-kicker) {
		grid-template-columns: auto 1fr;
	}

	.sf-notification-callout,
	.sf-directory-empty {
		align-items: start;
		grid-template-columns: auto 1fr;
	}

	.sf-notification-callout > button,
	.sf-directory-empty > a {
		grid-column: 1 / -1;
	}

	.sf-destination-page .sf-page-hero {
		min-height: 680px;
		padding: 116px 18px 46px;
	}

	.sf-page-hero-copy h1 {
		font-size: clamp(3.1rem, 15vw, 5.2rem);
	}

	.sf-topic-strip {
		justify-content: flex-start;
	}

	.sf-shortcode-shell,
	.sf-editorial {
		padding-left: 18px;
		padding-right: 18px;
	}

	.sf-footer-cta > div:last-child {
		justify-content: flex-start;
	}

	.sf-registry {
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	.sf-registry-filter {
		grid-template-columns: 1fr;
	}

	.sf-registry-head {
		display: none;
	}

	.sf-registry-row {
		grid-template-columns: 60px 1fr auto;
		padding: 15px;
	}

	.sf-registry-row p {
		font-size: 1.05rem;
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.sf-registry-row span:nth-of-type(2),
	.sf-registry-row time {
		font-size: .78rem;
	}

	.sf-registry-row a {
		grid-column: 1 / -1;
	}

	.sf-member-identity {
		align-items: flex-start;
		flex-direction: column;
	}

	.sf-contact-form {
		grid-template-columns: 1fr;
		padding: 26px 18px;
	}

	.sf-contact-form > * {
		grid-column: 1;
	}

	.sf-saved-card {
		grid-template-columns: 100px 1fr;
	}

	.sf-saved-card > img {
		min-height: 170px;
	}

	.sf-saved-card > div {
		padding: 15px;
	}

	.sf-footer-cta {
		padding: 38px 20px;
	}

	.sf-footer-cta > div:last-child {
		flex-direction: column;
	}

	.sf-footer {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 46px 20px 22px;
	}

	.sf-footer-brand,
	.sf-footer-contact,
	.sf-footer-bottom {
		grid-column: 1 / -1;
	}

	.sf-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.sf-mobile-nav {
		align-items: stretch;
		background: rgba(255, 255, 255, .97);
		border-top: 1px solid rgba(0, 104, 255, .14);
		bottom: 0;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		left: 0;
		padding-bottom: env(safe-area-inset-bottom);
		position: fixed;
		right: 0;
		z-index: 1200;
	}

	.sf-mobile-nav a,
	.sf-mobile-nav button {
		align-items: center;
		background: transparent;
		border: 0;
		color: #385b72;
		display: flex;
		flex-direction: column;
		font: inherit;
		font-size: .65rem;
		font-weight: 900;
		gap: 3px;
		justify-content: center;
		min-height: 60px;
		padding: 5px;
		text-decoration: none;
	}

	.sf-mobile-nav svg {
		height: 21px;
		width: 21px;
	}

	.sf-accessibility {
		bottom: 76px;
	}

	.sf-toast {
		bottom: 78px;
	}

	.sf-global-dialog,
	.sf-detail-dialog {
		max-height: calc(100vh - 24px);
		max-width: calc(100vw - 16px);
		padding: 24px 18px;
	}
}

@media print {
	.sf-header,
	.sf-footer,
	.sf-footer-cta,
	.sf-mobile-nav,
	.sf-accessibility,
	.sf-page-hero,
	.sf-topic-strip,
	.sf-planner-nav,
	.sf-planner-intro,
	.sf-plan-cover,
	.sf-plan-editor,
	.sf-card-actions {
		display: none !important;
	}

	.sf-planner {
		border: 0;
		box-shadow: none;
		display: block;
		min-height: 0;
	}

	.sf-planner-stage {
		display: block;
	}

	.sf-planner-form {
		display: none;
	}

	.sf-planner-result,
	.sf-plan-copy {
		background: #fff;
		color: #000;
		padding: 0;
		position: static;
	}

	.sf-plan-copy > p:not(.sf-kicker),
	.sf-plan-route li small,
	.sf-plan-route li time {
		color: #333;
	}

	.sf-plan-route li > a {
		color: #000;
	}
}

@media (max-width: 900px) {
	.sf-now-head {
		align-items: start;
		flex-direction: column;
	}

	.sf-now-live {
		min-width: 0;
		width: 100%;
	}

	.sf-now-results-grid {
		grid-template-columns: 1fr;
	}

	.sf-now-actions {
		width: 100%;
	}
}

@media (max-width: 620px) {
	.sf-now {
		margin-top: 42px;
		padding-left: 18px;
		padding-right: 18px;
	}

	.sf-now-periods {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-now-periods button:nth-child(3),
	.sf-now-periods button:nth-child(4) {
		border-top: 1px solid rgba(0, 62, 101, .1);
	}

	.sf-now-periods button:nth-child(3) {
		border-left: 0;
	}

	.sf-now-result {
		padding: 14px;
	}

	.sf-now-card {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 18px;
	}

	.sf-now-card-index {
		font-size: 2.4rem;
	}

	.sf-now-actions a {
		flex-basis: 100%;
	}
}

.sf-contrast .sf-home-categories,
.sf-contrast .sf-place-card,
.sf-contrast .sf-event-card,
.sf-contrast .sf-news-grid article,
.sf-contrast .sf-planner,
.sf-contrast .sf-planner-form,
.sf-contrast .sf-registry,
.sf-contrast .sf-registry-row,
.sf-contrast .sf-member-panel,
.sf-contrast .sf-member-grid a,
.sf-contrast .sf-contact-layout,
.sf-contrast .sf-contact-form,
.sf-contrast .sf-language-lab-copy,
.sf-contrast .sf-phrase-panel,
.sf-contrast .sf-access-grid article,
.sf-contrast .sf-editorial-body,
.sf-contrast .sf-global-dialog,
.sf-contrast .sf-detail-dialog,
.sf-contrast .sf-now,
.sf-contrast .sf-now-live,
.sf-contrast .sf-now-result {
	background: #000;
	border-color: #fff;
	box-shadow: none;
	color: #fff;
}

.sf-contrast .sf-place-copy p,
.sf-contrast .sf-event-copy p,
.sf-contrast .sf-news-grid p,
.sf-contrast .sf-editorial-body,
.sf-contrast .sf-dialog-heading p,
.sf-contrast .sf-contact-form label,
.sf-contrast .sf-verified-empty p {
	color: #fff;
}

.sf-contrast .sf-topic-strip,
.sf-contrast .sf-footer-cta {
	background: #000;
	border-color: #fff;
}

/* Portal 4.0: translation, services and editable storytelling. */
html { scroll-padding-top: 112px; }
body { top: 0 !important; }
.skiptranslate iframe,
.goog-te-banner-frame,
.goog-te-gadget-icon,
#goog-gt-tt,
.goog-te-balloon-frame { display: none !important; }
.sf-google-translate { position: fixed; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sf-lang select { min-width: 88px; font-weight: 850; letter-spacing: 0; }

.sf-now-live > .sf-weather-credit {
	color: #718897;
	display: block;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.2;
	margin-top: 4px;
	opacity: .72;
	text-decoration: none;
}

.sf-now-live > .sf-weather-credit:hover,
.sf-now-live > .sf-weather-credit:focus-visible {
	opacity: 1;
	text-decoration: underline;
}

.sf-accessibility { right: 18px; bottom: 18px; z-index: 1004; }
.sf-accessibility-toggle {
	width: 52px;
	height: 52px;
	min-width: 52px;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	background: #052f47;
	color: #fff;
	box-shadow: 0 12px 34px rgba(2, 27, 43, .26);
}
.sf-accessibility-toggle svg { width: 25px; height: 25px; }
.sf-accessibility-short { display: none !important; }
.sf-accessibility-label {
	position: absolute;
	right: 62px;
	display: block;
	width: max-content;
	padding: 7px 10px;
	border-radius: 3px;
	background: #052f47;
	color: #fff;
	font-size: 12px;
	opacity: 0;
	pointer-events: none;
	transform: translateX(6px);
	transition: opacity .18s ease, transform .18s ease;
}
.sf-accessibility-toggle:hover .sf-accessibility-label,
.sf-accessibility-toggle:focus-visible .sf-accessibility-label { opacity: 1; transform: translateX(0); }
.sf-accessibility-panel { bottom: 64px; right: 0; top: auto; border-radius: 6px; }

.sf-footer-video {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr);
	min-height: 500px;
	background: #00bda9;
	color: #fff;
}
.sf-footer-video-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(46px, 6vw, 96px);
	background: #00bda9;
}
.sf-footer-video-copy .sf-kicker { color: #04314a; }
.sf-footer-video-copy h2 { max-width: 700px; margin: 12px 0 18px; font-size: clamp(44px, 5vw, 82px); line-height: .96; letter-spacing: 0; }
.sf-footer-video-copy > p:not(.sf-kicker) { max-width: 620px; margin: 0; font-size: clamp(17px, 1.6vw, 23px); line-height: 1.45; }
.sf-footer-video-copy > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.sf-footer-video-copy a,
.sf-footer-video-copy button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 20px;
	border: 1px solid #04314a;
	border-radius: 4px;
	background: #04314a;
	color: #fff;
	font: inherit;
	font-weight: 850;
	text-decoration: none;
	cursor: pointer;
}
.sf-footer-video-copy button { background: transparent; color: #04314a; }
.sf-footer-video-media { display: grid; min-width: 0; place-items: center; padding: clamp(24px, 4vw, 64px); background: #0b6dff; }
.sf-footer-video-media video,
.sf-footer-video-media iframe,
.sf-footer-video-media .sf-video-placeholder {
	display: block;
	width: 100%;
	max-width: 980px;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 6px;
	box-shadow: 0 26px 70px rgba(0, 25, 58, .28);
	object-fit: cover;
}
.sf-footer-video-media > .wp-video { width: 100% !important; max-width: 980px; }
.sf-video-placeholder {
	display: flex !important;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background-position: center;
	background-size: cover;
	color: #fff;
}
.sf-video-placeholder::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(3, 28, 45, .52); }
.sf-video-placeholder > span { display: grid; width: 66px; height: 66px; place-items: center; border-radius: 50%; background: #ffd04a; color: #062238; }
.sf-video-placeholder p { margin: 0; font-size: 20px; font-weight: 850; }
.sf-video-placeholder a { color: #fff; font-weight: 800; }

.sf-board { padding: clamp(58px, 7vw, 110px) clamp(22px, 5vw, 84px); background: #eef9fc; }
.sf-board > header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr); gap: 18px 40px; margin: 0 auto 34px; max-width: 1500px; }
.sf-board > header .sf-kicker { grid-column: 1 / -1; }
.sf-board > header h2 { margin: 0; font-size: clamp(42px, 5vw, 74px); line-height: 1; letter-spacing: 0; }
.sf-board > header > p:last-child { margin: 0; align-self: end; color: #456377; font-size: 18px; }
.sf-board-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 1500px; margin: 0 auto; }
.sf-board-grid article { overflow: hidden; border: 1px solid #cde3eb; border-radius: 6px; background: #fff; }
.sf-board-grid img,
.sf-board-placeholder { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; background: #dff3f7; }
.sf-board-placeholder { display: grid; place-items: center; color: #0b6dff; }
.sf-board-placeholder svg { width: 64px; height: 64px; }
.sf-board-grid article > div:last-child { padding: 18px; }
.sf-board-grid article p { margin: 0 0 5px; color: #0877a1; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.sf-board-grid article h3 { margin: 0; font-size: clamp(19px, 1.5vw, 25px); line-height: 1.1; }

.sf-booking { max-width: 1500px; margin: 0 auto; padding: clamp(58px, 7vw, 110px) clamp(20px, 4vw, 64px); background: #fff; }
.sf-booking-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr); gap: 28px 64px; align-items: end; margin-bottom: 34px; }
.sf-booking-head h2 { max-width: 900px; margin: 8px 0 0; font-size: clamp(42px, 5vw, 74px); line-height: 1; letter-spacing: 0; }
.sf-booking-head > p { margin: 0; color: #4b6677; font-size: 18px; line-height: 1.5; }
.sf-booking-closed {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	padding: 26px;
	border: 1px solid #e7c66b;
	border-left: 6px solid #e3a400;
	border-radius: 6px;
	background: #fff9e8;
	color: #062238;
}
.sf-booking-closed-icon { display: grid; width: 60px; height: 60px; place-items: center; background: #062f47; color: #ffd04a; }
.sf-booking-closed-icon svg { width: 28px; height: 28px; }
.sf-booking-closed-copy .sf-kicker { margin: 0 0 5px; color: #8f6500; }
.sf-booking-closed-copy h3 { margin: 0; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.05; }
.sf-booking-closed-copy > p:not(.sf-kicker) { max-width: 760px; margin: 8px 0 0; color: #475f6d; font-size: 17px; line-height: 1.5; }
.sf-booking-closed-copy dl { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 0; }
.sf-booking-closed-copy dl > div { display: flex; gap: 8px; padding: 7px 10px; border: 1px solid #e5cc88; background: #fff; }
.sf-booking-closed-copy dt { color: #6b7780; font-size: 12px; font-weight: 850; text-transform: uppercase; }
.sf-booking-closed-copy dd { margin: 0; font-weight: 850; }
.sf-booking-closed-contact { display: inline-flex; min-height: 50px; padding: 0 18px; align-items: center; justify-content: center; gap: 8px; border-radius: 4px; background: #0b6dff; color: #fff; font-weight: 900; text-decoration: none; }
.sf-booking-closed-contact:hover { background: #0757c9; color: #fff; }
.sf-booking-closed-contact:focus-visible { outline: 3px solid #062238; outline-offset: 3px; }
.sf-booking-closed-contact svg { width: 20px; height: 20px; }
.sf-booking-form { padding-top: 28px; border-top: 1px solid #bfdce8; }
.sf-booking-service { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.sf-booking-form .sf-booking-service input,
.sf-booking-form .sf-booking-slots label input {
	clip-path: inset(50%);
	height: 1px;
	margin: 0;
	min-height: 1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	width: 1px;
}
.sf-booking-service label > span { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; min-height: 96px; padding: 18px; border: 2px solid #c9dfe8; border-radius: 6px; cursor: pointer; }
.sf-booking-service svg { grid-row: 1 / 3; width: 27px; height: 27px; color: #0877a1; }
.sf-booking-service strong { font-size: 20px; }
.sf-booking-service small { color: #567082; font-weight: 700; }
.sf-booking-service input:checked + span { border-color: #0b6dff; background: #eef6ff; box-shadow: inset 5px 0 0 #0b6dff; }
.sf-booking-service input:focus-visible + span { outline: 3px solid #ffd04a; outline-offset: 2px; }
.sf-booking-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sf-booking-form > label,
.sf-booking-grid label { display: grid; gap: 7px; color: #12394f; font-weight: 800; }
.sf-booking-form input,
.sf-booking-form select,
.sf-booking-form textarea { width: 100%; min-height: 50px; padding: 10px 12px; border: 1px solid #b9d4df; border-radius: 4px; background: #f7fbfd; color: #061b2b; font: inherit; }
.sf-booking-form textarea { min-height: 98px; margin-top: 7px; resize: vertical; }
.sf-booking-form input:focus,
.sf-booking-form select:focus,
.sf-booking-form textarea:focus { outline: 3px solid rgba(11, 109, 255, .17); border-color: #0b6dff; }
.sf-booking-slots { min-width: 0; margin: 22px 0; padding: 0; border: 0; }
.sf-booking-slots legend { margin-bottom: 10px; color: #12394f; font-weight: 850; }
.sf-booking-slots > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.sf-booking-slots label span { display: grid; gap: 2px; min-height: 64px; padding: 11px; border: 1px solid #b9d4df; border-radius: 4px; background: #fff; cursor: pointer; }
.sf-booking-slots label strong { font-size: 17px; }
.sf-booking-slots label small { color: #567082; }
.sf-booking-slots label input:checked + span { border-color: #00a38d; background: #e8fbf7; box-shadow: inset 0 -4px 0 #00a38d; }
.sf-booking-slots label.is-full span { background: #f2f3f4; color: #87949c; cursor: not-allowed; }
.sf-booking-contact { margin: 8px 0 18px; }
.sf-booking-form .sf-consent { display: flex; grid-template-columns: none; flex-direction: row; gap: 10px; align-items: flex-start; margin: 18px 0; font-weight: 650; }
.sf-booking-form .sf-consent input { width: 20px; min-height: 20px; margin: 1px 0 0; }
.sf-booking-submit { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 18px; background: #062f47; color: #fff; }
.sf-booking-submit > div { display: grid; gap: 3px; }
.sf-booking-submit > div strong { font-size: 18px; }
.sf-booking-submit > div span { color: #cbe7f2; }
.sf-booking-submit button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border: 0; border-radius: 4px; background: #ffd04a; color: #062238; font: inherit; font-weight: 900; cursor: pointer; }
.sf-booking-submit button:disabled { opacity: .6; cursor: wait; }
.sf-booking-status { display: grid; gap: 4px; margin: 14px 0 0; color: #08725f; font-weight: 750; }
.sf-booking-form .sf-account-optin { padding: 16px; border: 1px solid #b8dfd8; border-left: 5px solid #00a38d; background: #f0fffb; color: #12394f; }
.sf-booking-confirmation { display: grid; gap: 10px; max-width: 820px; padding: 20px; border: 1px solid #b8dfd8; border-left: 6px solid #00a38d; border-radius: 6px; background: #f0fffb; color: #12394f; }
.sf-booking-confirmation > span { width: fit-content; padding: 5px 9px; border-radius: 3px; background: #062f47; color: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.sf-booking-confirmation strong { color: #062238; font-size: 22px; line-height: 1.15; }
.sf-booking-confirmation p { margin: 0; color: #345b6d; line-height: 1.5; }
.sf-booking-confirmation ul { display: grid; gap: 6px; margin: 4px 0 0; padding-left: 20px; color: #234a5f; font-weight: 650; }
.sf-booking-confirmation a { justify-self: start; min-height: 44px; padding: 11px 15px; border-radius: 4px; background: #0b6dff; color: #fff; text-decoration: none; }

.sf-my-bookings,
.sf-bookings-gate { max-width: 1500px; margin: 0 auto; padding: clamp(58px, 7vw, 100px) clamp(20px, 4vw, 64px); background: #fff; }
.sf-my-bookings > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: end; margin-bottom: 28px; }
.sf-my-bookings > header h2,
.sf-bookings-gate h2 { margin: 6px 0 0; color: #062238; font-size: clamp(34px, 4vw, 58px); line-height: 1; letter-spacing: 0; }
.sf-my-bookings > header p:not(.sf-kicker),
.sf-bookings-gate p,
.sf-bookings-empty p { max-width: 760px; margin: 8px 0 0; color: #476576; line-height: 1.55; }
.sf-my-bookings > header a,
.sf-bookings-empty a,
.sf-bookings-gate a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; border-radius: 4px; background: #0b6dff; color: #fff; font-weight: 900; text-decoration: none; }
.sf-bookings-gate { display: grid; justify-items: start; gap: 12px; }
.sf-bookings-gate > div,
.sf-bookings-empty > svg,
.sf-bookings-empty > i { display: grid; width: 60px; height: 60px; place-items: center; background: #e9f7fb; color: #0877a1; }
.sf-bookings-list { display: grid; gap: 14px; }
.sf-bookings-list article { display: grid; gap: 18px; padding: 20px; border: 1px solid #cfe1e9; border-left: 6px solid #0b6dff; border-radius: 6px; background: #fff; box-shadow: 0 12px 32px rgba(6, 47, 71, .07); }
.sf-bookings-list article.is-confirmed { border-left-color: #00a38d; }
.sf-bookings-list article.is-removing { opacity: .55; }
.sf-bookings-list article > header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; }
.sf-bookings-list article > header > span { padding: 6px 9px; border-radius: 3px; background: #eef6ff; color: #0759ba; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.sf-bookings-list article.is-confirmed > header > span { background: #e7fbf6; color: #08725f; }
.sf-bookings-list h3 { margin: 0; color: #062238; font-size: 25px; line-height: 1.1; }
.sf-bookings-list article > header p { margin: 4px 0 0; color: #557183; }
.sf-bookings-list dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.sf-bookings-list dl > div { padding: 11px; background: #f5fbfd; }
.sf-bookings-list dl .is-wide { grid-column: 1 / -1; }
.sf-bookings-list dt { color: #607989; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.sf-bookings-list dd { margin: 3px 0 0; color: #12394f; font-weight: 750; }
.sf-booking-edit { border-top: 1px solid #d9e8ef; padding-top: 14px; }
.sf-booking-edit summary { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 13px; border: 1px solid #b8d4df; border-radius: 4px; color: #0759ba; font-weight: 900; cursor: pointer; list-style: none; }
.sf-booking-edit summary::-webkit-details-marker { display: none; }
.sf-booking-edit form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.sf-booking-edit label { display: grid; gap: 6px; color: #12394f; font-weight: 850; }
.sf-booking-edit label.is-wide { grid-column: 1 / -1; }
.sf-booking-edit input,
.sf-booking-edit select,
.sf-booking-edit textarea { width: 100%; min-height: 46px; padding: 9px 11px; border: 1px solid #b9d4df; border-radius: 4px; background: #f7fbfd; color: #061b2b; font: inherit; }
.sf-booking-edit textarea { resize: vertical; }
.sf-booking-edit input:focus,
.sf-booking-edit select:focus,
.sf-booking-edit textarea:focus { outline: 3px solid rgba(11, 109, 255, .17); border-color: #0b6dff; }
.sf-booking-manage-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.sf-booking-manage-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 15px; border: 0; border-radius: 4px; background: #0b6dff; color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
.sf-booking-manage-actions button[data-sf-booking-delete] { background: #8a2738; }
.sf-booking-manage-actions button:disabled { opacity: .6; cursor: wait; }
.sf-booking-edit [role="status"],
.sf-booking-locked { grid-column: 1 / -1; margin: 0; color: #08725f; font-weight: 800; }
.sf-bookings-empty { display: grid; justify-items: start; gap: 10px; padding: 26px; border: 1px dashed #bad5df; background: #f7fbfd; }
.sf-bookings-empty h3 { margin: 0; color: #062238; font-size: 27px; }

@media (max-width: 900px) {
	.sf-my-bookings > header,
	.sf-bookings-list article > header,
	.sf-booking-edit form { grid-template-columns: 1fr; }
	.sf-bookings-list dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-my-bookings > header a { justify-self: start; }
}

@media (max-width: 560px) {
	.sf-my-bookings,
	.sf-bookings-gate { padding-inline: 18px; }
	.sf-bookings-list dl { grid-template-columns: 1fr; }
	.sf-booking-manage-actions { display: grid; }
	.sf-booking-manage-actions button { width: 100%; }
}

.sf-chat { position: fixed; right: 82px; bottom: 18px; z-index: 1005; }
.sf-chat-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 56px;
	height: 52px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #0b6dff;
	color: #fff;
	box-shadow: 0 12px 34px rgba(2, 27, 43, .26);
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}
.sf-chat-toggle svg { width: 25px; height: 25px; }
.sf-chat-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sf-chat-panel {
	position: absolute;
	right: 0;
	bottom: 66px;
	display: grid;
	grid-template-rows: auto minmax(180px, 1fr) auto auto auto;
	width: min(410px, calc(100vw - 28px));
	height: min(650px, calc(100vh - 120px));
	overflow: hidden;
	border: 1px solid #bcd5e1;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 28px 80px rgba(2, 27, 43, .3);
}
.sf-chat-panel[hidden] { display: none; }
.sf-chat-panel > header { display: flex; align-items: center; justify-content: space-between; padding: 18px; background: #062f47; color: #fff; }
.sf-chat-panel > header > div { position: relative; padding-left: 18px; }
.sf-chat-panel > header > div > span { position: absolute; left: 0; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: #00d8ad; box-shadow: 0 0 0 6px rgba(0, 216, 173, .14); }
.sf-chat-panel header .sf-kicker { margin: 0; color: #33ddff; font-size: 10px; }
.sf-chat-panel header h2 { margin: 3px 0 0; font-size: 23px; letter-spacing: 0; }
.sf-chat-panel header button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.sf-chat-log { display: flex; flex-direction: column; gap: 10px; overflow-y: auto; padding: 16px; background: #f1f8fb; }
.sf-chat-log article { max-width: 88%; padding: 12px 14px; border-radius: 6px; background: #fff; color: #12394f; box-shadow: 0 4px 16px rgba(6, 47, 71, .07); }
.sf-chat-log article.is-user { align-self: flex-end; background: #0b6dff; color: #fff; }
.sf-chat-log article p { margin: 0; line-height: 1.45; }
.sf-chat-log article > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.sf-chat-log article a { padding: 5px 8px; border: 1px solid #c5dff0; border-radius: 3px; color: #0759ba; font-size: 12px; font-weight: 800; text-decoration: none; }
.sf-chat-log .is-waiting { opacity: .7; }
.sf-chat-prompts { display: flex; gap: 6px; overflow-x: auto; padding: 10px 14px; border-top: 1px solid #d9e8ef; }
.sf-chat-prompts button { flex: 0 0 auto; padding: 7px 9px; border: 1px solid #bed7e3; border-radius: 3px; background: #fff; color: #12425d; font-weight: 800; cursor: pointer; }
.sf-chat-panel > form[data-sf-chat-form] { display: grid; grid-template-columns: 1fr 48px; gap: 8px; padding: 12px 14px; border-top: 1px solid #d9e8ef; }
.sf-chat-panel textarea { min-height: 48px; max-height: 100px; padding: 10px; resize: none; border: 1px solid #bed7e3; border-radius: 4px; font: inherit; }
.sf-chat-panel > form[data-sf-chat-form] button { display: grid; width: 48px; height: 48px; place-items: center; border: 0; border-radius: 4px; background: #ffd04a; color: #062238; cursor: pointer; }
.sf-chat-panel > footer { padding: 8px 14px 12px; color: #637987; font-size: 10px; line-height: 1.3; }

@media (max-width: 1100px) {
	.sf-footer-video { grid-template-columns: 1fr; }
	.sf-footer-video-copy { padding-bottom: 48px; }
	.sf-footer-video-media { padding-top: 44px; }
	.sf-board-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	html { scroll-padding-top: 82px; }
	.sf-hero h1,
	.sf-page-hero-copy h1 {
		font-size: clamp(2.85rem, 12vw, 3.35rem);
		overflow-wrap: normal;
		word-break: normal;
	}
	.sf-contact-details h2 { font-size: clamp(2.8rem, 13vw, 4rem); }
	.sf-accessibility { right: 12px; bottom: 78px; }
	.sf-accessibility-toggle { width: 48px; height: 48px; min-width: 48px; }
	.sf-accessibility-label { display: none; }
	.sf-chat { right: 68px; bottom: 78px; }
	.sf-chat-toggle { width: 50px; height: 48px; }
	.sf-chat-panel { position: fixed; inset: 12px 12px 78px; width: auto; height: auto; }
	.sf-footer-video { min-height: 0; }
	.sf-footer-video-copy { padding: 52px 22px 44px; }
	.sf-footer-video-copy h2 { font-size: clamp(42px, 14vw, 62px); }
	.sf-footer-video-media { padding: 22px; }
	.sf-board > header,
	.sf-booking-head { grid-template-columns: 1fr; }
	.sf-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-booking { padding-inline: 18px; }
	.sf-booking-service,
	.sf-booking-grid { grid-template-columns: 1fr; }
	.sf-booking-closed { grid-template-columns: 52px minmax(0, 1fr); padding: 20px; }
	.sf-booking-closed-icon { width: 50px; height: 50px; }
	.sf-booking-closed-contact { grid-column: 1 / -1; width: 100%; }
	.sf-booking-submit { grid-template-columns: 1fr; }
	.sf-booking-submit button { width: 100%; }
}

@media (max-width: 440px) {
	.sf-board-grid { grid-template-columns: 1fr; }
	.sf-board-grid article { display: grid; grid-template-columns: 112px 1fr; }
	.sf-board-grid img,
	.sf-board-placeholder { height: 100%; min-height: 138px; aspect-ratio: auto; }
}

/* Portal details, profiles and ticketing 4.1 */
.sf-nav-direct { display: inline-flex; align-items: center; }

.sf-detail { margin-top: 0; background: #fff; }
.sf-detail-hero {
	display: flex;
	position: relative;
	isolation: isolate;
	min-height: 660px;
	overflow: hidden;
	align-items: flex-end;
	padding: 150px max(5vw, 40px) 72px;
	background: #062f47;
	color: #fff;
}
.sf-detail-hero > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sf-detail-hero-shade { position: absolute; inset: 0; z-index: -1; background: rgba(2, 20, 34, .62); }
.sf-detail-hero-copy { width: min(1240px, 100%); }
.sf-detail-hero-copy .sf-breadcrumb { margin-bottom: 24px; }
.sf-detail-hero-copy .sf-kicker { color: #55e5ff; }
.sf-detail-hero-copy h1 { max-width: 1180px; margin: 14px 0 20px; color: #fff; font-size: 72px; line-height: 1.01; letter-spacing: 0; overflow-wrap: anywhere; }
.sf-detail-hero-copy > p:not(.sf-kicker) { max-width: 820px; margin: 0; color: #eefaff; font-size: 20px; line-height: 1.5; }
.sf-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.sf-detail-actions button,
.sf-detail-meta button,
.sf-detail-meta a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; background: rgba(3,29,48,.78); color: #fff; font: inherit; font-weight: 850; text-decoration: none; cursor: pointer; }
.sf-detail-actions svg,
.sf-detail-meta svg { width: 20px; height: 20px; }
.sf-detail-meta { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)) auto; gap: 1px; padding: 0 max(5vw, 40px); background: #d7e7ee; }
.sf-detail-meta > div { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; min-height: 104px; padding: 24px; background: #f3fafc; }
.sf-detail-meta > div svg { grid-row: 1 / 3; align-self: center; color: #0b6dff; }
.sf-detail-meta > div span { color: #557180; font-size: 12px; font-weight: 850; text-transform: uppercase; }
.sf-detail-meta > div strong { font-size: 17px; line-height: 1.35; }
.sf-detail-meta > button,
.sf-detail-meta > a { align-self: center; margin-left: 18px; border-color: #0b6dff; background: #0b6dff; }

.sf-detail-content { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .7fr); gap: 64px; width: min(1500px, calc(100% - 64px)); margin: 0 auto; padding: 78px 0 92px; }
.sf-detail-post .sf-detail-content { grid-template-columns: minmax(0, 900px); justify-content: center; }
.sf-detail-post .sf-detail-aside { display: none; }
.sf-detail-body { min-width: 0; color: #25495d; font-size: 18px; line-height: 1.75; }
.sf-detail-body > :first-child { margin-top: 0; }
.sf-detail-body h2 { margin: 46px 0 16px; color: #062238; font-size: 36px; line-height: 1.12; letter-spacing: 0; }
.sf-detail-body h3 { color: #062238; font-size: 25px; letter-spacing: 0; }
.sf-detail-body img,
.sf-detail-body iframe,
.sf-detail-body video { max-width: 100%; height: auto; border-radius: 6px; }
.sf-detail-body iframe { width: 100%; min-height: 420px; border: 0; }
.sf-detail-aside { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sf-detail-aside > section { padding: 22px; border: 1px solid #cfe1e9; border-radius: 6px; background: #f5fbfd; }
.sf-detail-aside > section p { margin: 8px 0 0; color: #456577; line-height: 1.6; }
.sf-detail-aside > section a { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #075cbe; text-decoration: none; }
.sf-single-map { width: 100%; height: 360px; border-radius: 6px; background: #e2eff4; overflow: hidden; }
.sf-audio-guide { display: grid; grid-template-columns: 1fr minmax(260px, .7fr); gap: 20px; align-items: center; margin: 42px 0; padding: 22px; border: 1px solid #bcdde8; border-left: 6px solid #00b99c; background: #edfafd; }
.sf-audio-guide > div { display: flex; align-items: center; gap: 14px; }
.sf-audio-guide > div > div { display: grid; }
.sf-audio-guide span { color: #587282; font-size: 13px; }
.sf-audio-guide audio { width: 100%; }
.sf-detail-gallery {
	--gallery-gutter: max(5vw, calc((100vw - 1500px) / 2));
	position: relative;
	overflow: hidden;
	padding: 82px 0 96px;
	border-top: 1px solid #17455e;
	background: #041f32;
	color: #fff;
}
.sf-detail-gallery::before { position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, #00c7a5, #00a9f4 62%, #ffd056); content: ""; }
.sf-detail-gallery-header { display: flex; align-items: end; justify-content: space-between; gap: 40px; width: min(1500px, calc(100% - 64px)); margin: 0 auto 38px; }
.sf-detail-gallery-header > div:first-child { max-width: 800px; }
.sf-detail-gallery-header .sf-kicker { color: #54e9ff; }
.sf-detail-gallery-header h2 { margin: 10px 0 12px; color: #fff; font-size: 52px; line-height: 1.02; letter-spacing: 0; }
.sf-detail-gallery-header p:last-child { margin: 0; color: #bcd4df; font-size: 17px; }
.sf-detail-gallery-controls { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.sf-detail-gallery-controls output { display: flex; align-items: baseline; gap: 8px; min-width: 84px; margin-right: 8px; color: #89aab9; font-size: 13px; font-weight: 900; }
.sf-detail-gallery-controls output span:first-child { color: #fff; font-size: 25px; }
.sf-detail-gallery-controls button,
.sf-gallery-lightbox button { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; padding: 0; border: 1px solid #557589; border-radius: 4px; background: #092c42; color: #fff; cursor: pointer; }
.sf-detail-gallery-controls button:disabled { opacity: .32; cursor: default; }
.sf-detail-gallery-controls button:not(:disabled):hover { border-color: #54e9ff; background: #0c3a55; }
.sf-detail-gallery-controls svg,
.sf-gallery-lightbox button svg { width: 22px; height: 22px; }
.sf-detail-gallery-track {
	display: grid;
	grid-auto-columns: min(72vw, 1040px);
	grid-auto-flow: column;
	gap: 18px;
	overflow-x: auto;
	padding: 0 var(--gallery-gutter) 24px;
	scroll-padding-inline: var(--gallery-gutter);
	scroll-snap-type: x mandatory;
	scrollbar-color: #2e6078 transparent;
	scrollbar-width: thin;
	cursor: grab;
	overscroll-behavior-inline: contain;
}
.sf-detail-gallery-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.sf-detail-gallery-track::-webkit-scrollbar { height: 6px; }
.sf-detail-gallery-track::-webkit-scrollbar-track { background: transparent; }
.sf-detail-gallery-track::-webkit-scrollbar-thumb { background: #2e6078; border-radius: 6px; }
.sf-detail-gallery-slide { min-width: 0; margin: 0; scroll-snap-align: start; }
.sf-detail-gallery-slide > button { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; background: #08293d; cursor: zoom-in; }
.sf-detail-gallery-slide img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .45s ease; }
.sf-detail-gallery-slide > button:hover img { transform: scale(1.018); }
.sf-detail-gallery-slide > button > span { position: absolute; right: 16px; bottom: 16px; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,.68); border-radius: 4px; background: rgba(3,24,39,.78); color: #fff; }
.sf-detail-gallery-slide > button > span svg { width: 20px; height: 20px; }
.sf-gallery-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(1,12,20,.97); color: #fff; }
.sf-gallery-lightbox::backdrop { background: rgba(1,12,20,.9); }
.sf-gallery-lightbox[open] { display: block; }
.sf-gallery-lightbox-stage { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; gap: 18px; align-items: center; width: 100%; height: 100%; padding: 70px 28px 28px; }
.sf-gallery-lightbox-stage > figure { display: grid; min-width: 0; max-height: 100%; margin: 0; place-items: center; }
.sf-gallery-lightbox-stage > figure img { display: block; max-width: 100%; max-height: calc(100dvh - 150px); object-fit: contain; }
.sf-gallery-lightbox-stage figcaption { display: flex; justify-content: space-between; gap: 30px; width: min(100%, 1200px); padding-top: 12px; color: #b9d2dd; font-size: 13px; }
.sf-gallery-lightbox-stage figcaption output { color: #fff; font-weight: 900; }
.sf-gallery-lightbox-close { position: absolute; top: 18px; right: 24px; z-index: 2; }
.sf-gallery-lightbox-prev,
.sf-gallery-lightbox-next { align-self: center; }

.sf-ticketing,
.sf-event-access { padding: 72px max(5vw, 40px); background: #edf8fb; border-top: 1px solid #c7dfe8; }
.sf-ticketing > header { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; width: min(1400px, 100%); margin: 0 auto 34px; }
.sf-ticketing > header h2,
.sf-event-access h2 { margin: 8px 0 10px; font-size: 48px; line-height: 1; letter-spacing: 0; }
.sf-ticketing > header p { max-width: 720px; margin: 0; color: #486778; }
.sf-ticketing > header > div:last-child { display: grid; gap: 5px; padding: 18px 22px; border-left: 5px solid #00b99c; background: #fff; }
.sf-ticketing > header > div:last-child strong { font-size: 25px; }
.sf-ticketing > header > div:last-child span { color: #587282; }
.sf-ticketing > form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: min(1400px, 100%); margin: 0 auto; }
.sf-ticketing form > label { display: grid; gap: 7px; }
.sf-ticketing input { min-height: 50px; padding: 10px 12px; border: 1px solid #b8d4df; border-radius: 4px; background: #fff; font: inherit; }
.sf-ticketing form > button { min-height: 52px; border: 0; border-radius: 4px; background: #0b6dff; color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
.sf-ticketing .sf-consent,
.sf-ticketing [data-sf-ticket-status],
.sf-seat-map { grid-column: 1 / -1; }
.sf-seat-map { min-width: 0; margin: 12px 0; padding: 24px; border: 1px solid #bad4df; background: #fff; }
.sf-seat-map legend { padding: 0 8px; font-size: 19px; font-weight: 900; }
.sf-stage { margin-bottom: 22px; padding: 9px; background: #062f47; color: #fff; text-align: center; text-transform: uppercase; }
.sf-seat-map [data-sf-seats] { display: grid; grid-template-columns: repeat(auto-fit, minmax(46px, 1fr)); gap: 7px; }
.sf-seat-map [data-seat] { min-width: 46px; height: 42px; border: 1px solid #96bfce; border-radius: 3px; background: #edf8fb; color: #083551; font-weight: 850; cursor: pointer; }
.sf-seat-map [data-seat].is-selected { border-color: #087b68; background: #00b99c; color: #fff; }
.sf-seat-map [data-seat]:disabled { background: #d8dfe2; color: #8a999f; cursor: not-allowed; }
.sf-seat-map > small { display: block; margin-top: 12px; color: #587282; }
.sf-ticketing [data-sf-ticket-status] { display: grid; gap: 7px; margin: 0; color: #086b5d; }
.sf-ticketing [data-sf-ticket-status] > div { display: flex; flex-wrap: wrap; gap: 8px; }
.sf-ticketing [data-sf-ticket-status] a { padding: 10px 14px; background: #062f47; color: #fff; text-decoration: none; }

.sf-register,
.sf-member-card,
.sf-membership-link { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 42px; width: min(1400px, calc(100% - 48px)); margin: 34px auto; padding: 34px; border: 1px solid #c9dfe8; border-radius: 6px; background: #fff; }
.sf-register h2,
.sf-member-card h3,
.sf-membership-link h3 { margin: 8px 0 12px; font-size: 36px; line-height: 1.05; letter-spacing: 0; }
.sf-register form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sf-register form > label { display: grid; gap: 6px; }
.sf-register input,
.sf-membership-link input { min-height: 50px; padding: 10px 12px; border: 1px solid #bad4df; border-radius: 4px; font: inherit; }
.sf-register-types,
.sf-register .sf-consent,
.sf-register form > button,
.sf-register [data-sf-register-status] { grid-column: 1 / -1; }
.sf-register-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sf-register [data-sf-business-register],
.sf-register [data-sf-member-register] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; gap: 14px; padding: 16px; border-left: 4px solid #0b6dff; background: #f1f8ff; }
.sf-register [data-sf-business-register][hidden],
.sf-register [data-sf-member-register][hidden] { display: none; }
.sf-register [data-sf-business-register] label,
.sf-register [data-sf-member-register] label { display: grid; gap: 6px; }
.sf-register [data-sf-member-register] p { grid-column: 1 / -1; margin: 0; color: #526f80; font-size: 12px; }
.sf-register-types input { position: absolute; opacity: 0; }
.sf-register-types span { display: flex; min-height: 54px; align-items: center; gap: 8px; padding: 12px; border: 2px solid #c8dfe8; cursor: pointer; }
.sf-register-types input:checked + span { border-color: #0b6dff; background: #edf5ff; }
.sf-register form > button,
.sf-membership-link button { min-height: 52px; border: 0; border-radius: 4px; background: #0b6dff; color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
.sf-membership-link form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-self: center; }
.sf-membership-link form label { display: grid; gap: 6px; color: #062238; font-size: 12px; font-weight: 850; }
.sf-membership-link form button,
.sf-membership-link form p { grid-column: 1 / -1; margin: 0; }
.sf-member-card { grid-template-columns: minmax(210px, .45fr) minmax(360px, 1fr) minmax(240px, .55fr); align-items: center; }
.sf-member-card > header h3 { margin-bottom: 8px; }
.sf-member-card > header > p:last-child { color: #526f80; line-height: 1.5; }
.sf-member-card-visual { min-width: 0; margin: 0; }
.sf-member-card-visual img { display: block; width: 100%; aspect-ratio: 1199 / 754; border: 1px solid #d7e2e7; background: #fff; box-shadow: 0 18px 44px rgba(6,47,71,.14); object-fit: contain; }
.sf-member-card-visual figcaption { margin-top: 8px; color: #5b7483; font-size: 11px; font-weight: 750; }
.sf-member-card-details { display: grid; gap: 17px; align-content: center; }
.sf-member-card-details > span { display: inline-flex; align-items: center; gap: 8px; color: #06705e; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.sf-member-card-details > span svg { width: 19px; height: 19px; }
.sf-member-card-details dl { display: grid; gap: 9px; margin: 0; }
.sf-member-card-details dl div { display: grid; gap: 3px; padding-bottom: 9px; border-bottom: 1px solid #dce8ed; }
.sf-member-card-details dt { color: #627b89; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.sf-member-card-details dd { margin: 0; color: #062238; font-size: 18px; font-weight: 900; overflow-wrap: anywhere; }
.sf-member-card-details p { margin: 0; color: #587282; font-size: 11px; line-height: 1.5; }
.sf-member-card-details a { justify-self: start; padding: 12px 16px; background: #0b6dff; color: #fff; font-size: 13px; font-weight: 900; text-decoration: none; }

@media (max-width: 1180px) {
	.sf-member-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-member-card > header { grid-column: 1 / -1; }
}

.sf-business-dashboard { width: min(1400px, calc(100% - 48px)); margin: 34px auto; padding: 36px; border: 1px solid #c6dce5; background: #f3fafc; }
.sf-business-dashboard > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.sf-business-dashboard > header h2 { margin: 8px 0; font-size: 42px; line-height: 1; letter-spacing: 0; }
.sf-business-dashboard > header p { max-width: 720px; margin-bottom: 0; color: #4a6778; }
.sf-business-dashboard > header > span { padding: 8px 12px; background: #ffedb5; color: #654c00; font-size: 12px; text-transform: uppercase; }
.sf-business-dashboard > form,
.sf-menu-manager > form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 24px; background: #fff; border: 1px solid #c7dce5; }
.sf-business-dashboard form label { display: grid; gap: 6px; }
.sf-business-dashboard form input,
.sf-business-dashboard form textarea { width: 100%; min-height: 48px; padding: 10px; border: 1px solid #bad3de; border-radius: 3px; font: inherit; }
.sf-business-dashboard form label:nth-of-type(2),
.sf-business-dashboard form label:nth-of-type(3),
.sf-business-dashboard form > button,
.sf-business-dashboard form > [role="status"] { grid-column: 1 / -1; }
.sf-business-dashboard form > button,
.sf-menu-manager button { min-height: 46px; padding: 0 15px; border: 0; border-radius: 3px; background: #0b6dff; color: #fff; font: inherit; font-weight: 850; cursor: pointer; }
.sf-menu-manager { margin-top: 30px; }
.sf-menu-manager > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.sf-menu-manager h3 { margin: 6px 0 0; font-size: 30px; letter-spacing: 0; }
.sf-menu-manager [data-sf-menu-items] { display: grid; gap: 7px; }
.sf-menu-manager [data-sf-menu-items] article { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; padding: 16px; border: 1px solid #c7dce5; background: #fff; }
.sf-menu-manager article h4,
.sf-menu-manager article p { margin: 0; }
.sf-menu-manager article span { color: #087e6a; font-size: 11px; text-transform: uppercase; }
.sf-menu-manager article > div:last-child { display: flex; gap: 6px; }
.sf-menu-manager article > div:last-child button { min-height: 38px; background: #e9f4f8; color: #083551; }
.sf-menu-manager > form { margin-top: 14px; }
.sf-menu-manager > form[hidden] { display: none; }
.sf-menu-manager > form label:nth-of-type(2),
.sf-menu-manager > form label:nth-of-type(4),
.sf-menu-manager > form > div,
.sf-menu-manager > form > [role="status"] { grid-column: 1 / -1; }
.sf-menu-manager > form > div { display: flex; gap: 8px; }
.sf-menu-manager [data-sf-menu-cancel] { background: #e7f1f5; color: #083551; }

.sf-digital-menu { padding: 70px max(5vw, 40px); background: #f0f8fb; }
.sf-digital-menu > header,
.sf-digital-menu > div { width: min(1400px, 100%); margin: 0 auto; }
.sf-digital-menu h2 { margin: 8px 0 26px; font-size: 48px; letter-spacing: 0; }
.sf-digital-menu > div { display: grid; gap: 8px; }
.sf-digital-menu article { display: grid; grid-template-columns: 90px 1fr auto; gap: 18px; align-items: center; min-height: 104px; padding: 12px; border: 1px solid #c8dfe8; background: #fff; }
.sf-digital-menu article img { width: 90px; height: 80px; object-fit: cover; }
.sf-digital-menu article h3,
.sf-digital-menu article p { margin: 0; }
.sf-digital-menu article small { color: #587282; }

.sf-news-engagement { align-items: center; background: #fff; border: 1px solid #c8dfe8; border-radius: 6px; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto auto; margin: 10px auto 24px; padding: 22px 24px; width: min(1080px, calc(100% - 48px)); }
.sf-news-engagement > div { display: grid; gap: 3px; }
.sf-news-engagement > div > p { margin: 0; }
.sf-news-engagement > div > strong { color: #294f66; font-size: 14px; }
.sf-news-engagement button,
.sf-news-engagement > a { align-items: center; background: #fff; border: 1px solid #bed6e1; border-radius: 5px; color: #083551; cursor: pointer; display: inline-flex; font: inherit; font-size: 14px; font-weight: 900; gap: 8px; justify-content: center; min-height: 48px; padding: 0 16px; text-decoration: none; }
.sf-news-engagement button { border-color: #ff7695; color: #b61f48; }
.sf-news-engagement button:hover,
.sf-news-engagement button.is-active { background: #ffedf2; border-color: #e22e5b; }
.sf-news-engagement svg { height: 19px; width: 19px; }
.sf-news-engagement button > strong { background: #ffe0e8; border-radius: 50%; display: grid; font-size: 11px; height: 24px; min-width: 24px; place-items: center; }

.sf-comments { background: #fff; border: 1px solid #c4dce6; border-radius: 7px; box-shadow: 0 24px 70px rgba(5, 43, 65, .10); margin: 0 auto 90px; overflow: hidden; width: min(1080px, calc(100% - 48px)); }
.sf-comments-intro { align-items: center; background: #062f47; color: #fff; display: grid; gap: 20px; grid-template-columns: 64px minmax(0, 1fr) auto; padding: 30px 34px; }
.sf-comments-mark { align-items: center; background: #0b6dff; border: 1px solid rgba(255, 255, 255, .28); border-radius: 6px; display: flex; height: 64px; justify-content: center; width: 64px; }
.sf-comments-mark svg { height: 29px; width: 29px; }
.sf-comments-intro .sf-kicker { color: #24d8ee; margin: 0 0 5px; }
.sf-comments-intro h2 { color: #fff; font-size: clamp(28px, 4vw, 44px); letter-spacing: 0; line-height: 1; margin: 0 0 8px; }
.sf-comments-intro > div > p:last-child { color: #c9dce5; font-size: 14px; line-height: 1.5; margin: 0; max-width: 670px; }
.sf-comments-status { align-items: center; border: 1px solid rgba(255, 255, 255, .23); border-radius: 999px; color: #d9e8ef; display: inline-flex; font-size: 11px; font-weight: 900; gap: 8px; padding: 9px 12px; text-transform: uppercase; white-space: nowrap; }
.sf-comments-status i { background: #11d89a; border-radius: 50%; box-shadow: 0 0 0 4px rgba(17, 216, 154, .12); height: 7px; width: 7px; }
.sf-comment-feed { background: #f6fbfd; border-bottom: 1px solid #c9dfe8; padding: 30px 34px 34px; }
.sf-comment-feed-title { align-items: center; color: #294f66; display: flex; font-size: 13px; justify-content: space-between; margin-bottom: 16px; text-transform: uppercase; }
.sf-comment-feed-title span { background: #dff4fa; border-radius: 999px; color: #087ca8; display: grid; height: 28px; min-width: 28px; place-items: center; }
.sf-comment-list { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.sf-comment-list .children { border-left: 2px solid #a8d9e8; display: grid; gap: 12px; list-style: none; margin: 12px 0 0 42px; padding: 0 0 0 18px; }
.sf-comment-card > article { background: #fff; border: 1px solid #d2e2e9; border-radius: 6px; padding: 18px 20px; }
.sf-comment-card > article > header { align-items: center; display: grid; gap: 12px; grid-template-columns: 44px minmax(0, 1fr) auto; }
.sf-comment-avatar { background: #e9f7fb; border: 1px solid #b9dce8; border-radius: 50%; color: #087ca8; display: grid; font-size: 16px; font-weight: 950; height: 44px; place-items: center; width: 44px; }
.sf-comment-card > article > header > div { display: grid; gap: 2px; }
.sf-comment-card > article > header strong { color: #062238; font-size: 15px; }
.sf-comment-card > article > header time { color: #6d8390; font-size: 11px; font-weight: 750; }
.sf-comment-verified { align-items: center; color: #6d8390; display: inline-flex; font-size: 10px; font-weight: 850; gap: 5px; text-transform: uppercase; }
.sf-comment-verified svg { color: #0b6dff; height: 16px; width: 16px; }
.sf-comment-text { color: #294f66; font-size: 15px; line-height: 1.65; padding: 14px 0 0 56px; }
.sf-comment-text p { margin: 0 0 8px; }
.sf-comment-awaiting { background: #fff8d8; border-left: 3px solid #ffc744; color: #5b4a10; font-size: 13px; margin: 14px 0 0 56px; padding: 10px 12px; }
.sf-comment-card footer { display: flex; justify-content: flex-end; margin-top: 10px; }
.sf-comment-card footer a { align-items: center; color: #0b6dff; display: inline-flex; font-size: 12px; font-weight: 900; gap: 6px; text-decoration: none; }
.sf-comment-card footer svg { height: 15px; width: 15px; }
.sf-comment-feed .comment-navigation { font-size: 13px; margin-top: 20px; }
.sf-comment-compose { padding: 34px; }
.sf-comment-form-heading { align-items: center; display: flex; gap: 14px; margin-bottom: 6px; }
.sf-comment-form-heading > span { align-items: center; background: #fff5d5; border: 1px solid #ffd15a; border-radius: 5px; color: #8b5b00; display: flex; height: 48px; justify-content: center; width: 48px; }
.sf-comment-form-heading > span svg { height: 21px; width: 21px; }
.sf-comment-form-heading p { margin: 0 0 3px; }
.sf-comment-form-heading h3 { color: #062238; font-size: 27px; letter-spacing: 0; line-height: 1.05; margin: 0; }
.sf-comment-cancel { margin-left: 10px; }
.sf-comment-cancel a { color: #b61f48; font-size: 11px; font-weight: 850; }
.sf-comments .sf-comment-form { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; }
.sf-comments .sf-comment-form > p { margin: 0; }
.sf-comments .comment-notes,
.sf-comments .logged-in-as,
.sf-comments .sf-comment-anonymous,
.sf-comments .comment-form-comment,
.sf-comments .comment-form-cookies-consent,
.sf-comments .sf-comment-consent,
.sf-comments .form-submit { grid-column: 1 / -1; }
.sf-comments .comment-notes,
.sf-comments .logged-in-as { background: #eef8fb; border-left: 3px solid #15bcd3; color: #526c7b; font-size: 13px; padding: 11px 13px; }
.sf-comments .logged-in-as a { color: #0b6dff; font-weight: 850; }
.sf-comments label:not(.sf-comment-anonymous):not(.sf-comment-consent):not(.comment-form-cookies-consent) { color: #062238; display: grid; font-size: 13px; font-weight: 900; gap: 7px; }
.sf-comments label small { color: #6d8390; font-size: 10px; font-weight: 750; }
.sf-comments input[type="text"],
.sf-comments input[type="email"],
.sf-comments textarea { background: #f8fcfd; border: 1px solid #b9d4df; border-radius: 5px; color: #062238; font: inherit; outline: 0; padding: 12px 14px; transition: border-color .18s ease, box-shadow .18s ease; width: 100%; }
.sf-comments input[type="text"],
.sf-comments input[type="email"] { min-height: 50px; }
.sf-comments textarea { min-height: 150px; resize: vertical; }
.sf-comments input:focus,
.sf-comments textarea:focus { border-color: #0b6dff; box-shadow: 0 0 0 3px rgba(11, 109, 255, .11); }
.sf-comment-anonymous,
.sf-comment-consent,
.sf-comments .comment-form-cookies-consent { align-items: flex-start; background: #fff; border: 1px solid #d2e2e9; border-radius: 5px; cursor: pointer; display: flex; gap: 11px; padding: 12px 14px; }
.sf-comment-anonymous { background: #f2fbfd; }
.sf-comment-anonymous > span { display: grid; gap: 2px; }
.sf-comment-anonymous strong { color: #083551; font-size: 13px; }
.sf-comment-anonymous small,
.sf-comment-consent span,
.sf-comments .comment-form-cookies-consent label { color: #587282; font-size: 12px; line-height: 1.45; }
.sf-comment-consent a { color: #0b6dff; font-weight: 850; }
.sf-comments input[type="checkbox"] { accent-color: #0b6dff; flex: 0 0 auto; height: 18px; margin: 1px 0 0; min-height: 0; width: 18px; }
.sf-comment-form-comment { position: relative; }
.sf-comment-counter { bottom: 11px; color: #78909c; font-size: 10px; font-weight: 800; position: absolute; right: 12px; }
.sf-comments .form-submit { display: flex; justify-content: flex-end; }
.sf-comments .sf-comment-submit { align-items: center; background: #0b6dff; border: 0; border-radius: 5px; color: #fff; cursor: pointer; display: inline-flex; font: inherit; font-size: 14px; font-weight: 900; gap: 9px; justify-content: center; min-height: 52px; padding: 0 22px; }
.sf-comments .sf-comment-submit:hover { background: #0059d8; }
.sf-comments .sf-comment-submit svg { height: 18px; width: 18px; }

.sf-ticket-page { min-height: 100vh; padding: 140px 24px 80px; background: #eaf6fa; }
.sf-ticket { width: min(1000px, 100%); margin: 0 auto; border: 1px solid #b8d3de; background: #fff; box-shadow: 0 25px 70px rgba(5,43,65,.18); }
.sf-ticket > header,
.sf-ticket > footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 28px; background: #062f47; color: #fff; }
.sf-ticket > header img { width: 180px; }
.sf-ticket-main { display: grid; grid-template-columns: 1fr 220px; gap: 36px; padding: 44px; }
.sf-ticket-main h1 { margin: 8px 0 28px; font-size: 44px; line-height: 1.05; letter-spacing: 0; }
.sf-ticket-main dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.sf-ticket-main dl div { display: grid; gap: 3px; }
.sf-ticket-main dt { color: #587282; font-size: 11px; text-transform: uppercase; }
.sf-ticket-main dd { margin: 0; }
.sf-ticket-code { display: grid; align-content: center; justify-items: center; gap: 12px; }
.sf-ticket > footer button { min-height: 42px; padding: 0 14px; border: 1px solid #fff; background: transparent; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }

.sf-chat-panel > form[data-sf-chat-form] { grid-template-columns: 1fr 48px 48px; }
.sf-chat-panel > form[data-sf-chat-form] [data-sf-chat-mic] { border: 1px solid #b9d4df; background: #fff; color: #0b6dff; }
.sf-chat-panel > form[data-sf-chat-form] [data-sf-chat-mic].is-listening { border-color: #ff3868; background: #ffedf2; color: #d61b4c; }
.sf-chat-log [data-sf-read-answer] { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; padding: 4px 7px; border: 1px solid #b9d4df; background: #fff; color: #0759ba; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.sf-chat-log [data-sf-read-answer] svg { width: 14px; height: 14px; }

@media (max-width: 1100px) {
	.sf-detail-hero { min-height: 600px; }
	.sf-detail-hero-copy h1 { font-size: 58px; }
	.sf-detail-content { grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); gap: 36px; }
	.sf-nav-direct { display: flex; justify-content: space-between; width: 100%; }
}

@media (max-width: 760px) {
	.sf-detail-hero { min-height: 520px; padding: 120px 22px 44px; }
	.sf-detail-hero-copy h1 { font-size: 44px; line-height: 1.04; }
	.sf-detail-hero-copy > p:not(.sf-kicker) { font-size: 17px; }
	.sf-detail-meta { grid-template-columns: 1fr; padding: 0; }
	.sf-detail-meta > div { min-height: 84px; }
	.sf-detail-meta > button,
	.sf-detail-meta > a { width: calc(100% - 32px); margin: 15px 16px; }
	.sf-detail-content { grid-template-columns: 1fr; width: calc(100% - 36px); gap: 30px; padding: 48px 0 62px; }
	.sf-detail-body { font-size: 17px; }
	.sf-detail-body h2 { font-size: 31px; }
	.sf-audio-guide { grid-template-columns: 1fr; }
	.sf-single-map { height: 300px; }
	.sf-ticketing,
	.sf-event-access { padding: 52px 18px; }
	.sf-ticketing > header,
	.sf-ticketing > form { grid-template-columns: 1fr; }
	.sf-ticketing > header h2,
	.sf-digital-menu h2 { font-size: 38px; }
	.sf-ticketing .sf-consent,
	.sf-ticketing [data-sf-ticket-status],
	.sf-seat-map { grid-column: 1; }
	.sf-seat-map { padding: 16px 10px; overflow-x: auto; }
	.sf-seat-map [data-sf-seats] { grid-template-columns: repeat(6, minmax(42px, 1fr)); min-width: 300px; }
	.sf-register,
	.sf-member-card,
	.sf-membership-link { grid-template-columns: 1fr; width: calc(100% - 36px); padding: 24px 18px; }
	.sf-register form,
	.sf-register [data-sf-business-register],
	.sf-register [data-sf-member-register],
	.sf-comments .comment-form { grid-template-columns: 1fr; }
	.sf-register-types,
	.sf-register .sf-consent,
	.sf-register form > button,
	.sf-register [data-sf-register-status],
	.sf-comments .comment-notes,
	.sf-comments .comment-form-comment,
	.sf-comments .form-submit { grid-column: 1; }
	.sf-register-types { grid-template-columns: 1fr; }
	.sf-register [data-sf-member-register] p { grid-column: 1; }
	.sf-member-card > a { grid-column: 1; }
	.sf-membership-link form { grid-template-columns: 1fr; }
	.sf-membership-link form p { grid-column: 1; }
	.sf-digital-card { min-height: 290px; padding: 22px; }
	.sf-digital-card > strong { margin-top: 54px; font-size: 28px; }
	.sf-digital-card dl { grid-template-columns: 1fr; }
	.sf-digital-menu { padding: 52px 18px; }
	.sf-digital-menu article { grid-template-columns: 70px 1fr; }
	.sf-digital-menu article img { width: 70px; height: 70px; }
	.sf-digital-menu article > strong { grid-column: 2; }
	.sf-news-engagement { align-items: stretch; grid-template-columns: 1fr; }
	.sf-news-engagement button,
	.sf-news-engagement > a { width: 100%; }
	.sf-detail-gallery { --gallery-gutter: 18px; padding: 60px 0 70px; }
	.sf-detail-gallery-header { align-items: flex-start; flex-direction: column; width: calc(100% - 36px); margin-bottom: 28px; }
	.sf-detail-gallery-header h2 { font-size: 38px; }
	.sf-detail-gallery-controls { align-self: stretch; justify-content: flex-end; }
	.sf-detail-gallery-controls output { margin-right: auto; }
	.sf-detail-gallery-track { grid-auto-columns: 88vw; gap: 10px; }
	.sf-gallery-lightbox-stage { grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 6px; padding: 64px 8px 18px; }
	.sf-gallery-lightbox button { width: 44px; height: 44px; }
	.sf-gallery-lightbox-stage figcaption > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.sf-comments { width: calc(100% - 36px); }
	.sf-comments-intro { align-items: start; grid-template-columns: 48px minmax(0, 1fr); padding: 24px 18px; }
	.sf-comments-mark { height: 48px; width: 48px; }
	.sf-comments-status { grid-column: 1 / -1; justify-self: start; }
	.sf-comment-feed,
	.sf-comment-compose { padding: 24px 18px; }
	.sf-comments .sf-comment-form { grid-template-columns: 1fr; }
	.sf-comments .comment-form-author,
	.sf-comments .comment-form-email { grid-column: 1; }
	.sf-comment-list .children { margin-left: 12px; padding-left: 10px; }
	.sf-comment-text { padding-left: 0; }
	.sf-comment-awaiting { margin-left: 0; }
	.sf-comment-verified { display: none; }
	.sf-comments .form-submit { justify-content: stretch; }
	.sf-comments .sf-comment-submit { width: 100%; }
	.sf-ticket-main { grid-template-columns: 1fr; padding: 28px 20px; }
	.sf-ticket-main h1 { font-size: 36px; }
	.sf-ticket-main dl { grid-template-columns: 1fr; }
	.sf-ticket-code { justify-self: center; }
	.sf-business-dashboard { width: calc(100% - 36px); padding: 24px 18px; }
	.sf-business-dashboard > header { flex-direction: column; }
	.sf-business-dashboard > header h2 { font-size: 36px; }
	.sf-business-dashboard > form,
	.sf-menu-manager > form { grid-template-columns: 1fr; padding: 18px; }
	.sf-business-dashboard form label:nth-of-type(2),
	.sf-business-dashboard form label:nth-of-type(3),
	.sf-business-dashboard form > button,
	.sf-business-dashboard form > [role="status"],
	.sf-menu-manager > form label:nth-of-type(2),
	.sf-menu-manager > form label:nth-of-type(4),
	.sf-menu-manager > form > div,
	.sf-menu-manager > form > [role="status"] { grid-column: 1; }
	.sf-menu-manager [data-sf-menu-items] article { grid-template-columns: 1fr; }
}

@media (max-width: 440px) {
	.sf-detail-hero-copy h1 { font-size: 36px; }
	.sf-detail-gallery-track { grid-auto-columns: 91vw; }
	.sf-gallery-lightbox-stage { grid-template-columns: 1fr; }
	.sf-gallery-lightbox-prev { position: absolute; left: 12px; bottom: 18px; z-index: 2; }
	.sf-gallery-lightbox-next { position: absolute; right: 12px; bottom: 18px; z-index: 2; }
	.sf-gallery-lightbox-stage figcaption { padding-bottom: 54px; }
	.sf-chat-panel > form[data-sf-chat-form] { grid-template-columns: 1fr 44px 44px; }
	.sf-chat-panel > form[data-sf-chat-form] button { width: 44px; }
}

/* Keep the fixed portal header below the WordPress toolbar for signed-in editors. */
.admin-bar .sf-header { top: 46px; }

@media (max-width: 760px) {
	.admin-bar .sf-header { top: 54px; }
}

@media (max-width: 600px) {
	.admin-bar .sf-header { top: 100px; }
}

@media print {
	.sf-ticket-page { padding: 0; background: #fff; }
	.sf-ticket { box-shadow: none; }
	.sf-ticket > footer button { display: none; }
}

/* 4.2: searchable language catalogue, persistent assistance and privacy notice. */
button.sf-lang {
	align-items: center;
	background: #fff;
	border: 1px solid #bfd5df;
	border-radius: 6px;
	color: #06304f;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	gap: 6px;
	height: 44px;
	justify-content: center;
	min-width: 82px;
	padding: 0 10px;
}

button.sf-lang > span {
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
	font-size: 18px;
	line-height: 1;
	text-rendering: auto;
}

button.sf-lang > strong {
	font-size: 12px;
	font-weight: 950;
}

button.sf-lang svg {
	height: 14px;
	width: 14px;
}

.sf-nav-language {
	display: none;
}

.sf-language-dialog {
	max-width: min(920px, calc(100vw - 32px));
	overflow: hidden;
	padding: 32px;
}

.sf-language-dialog > header {
	padding-right: 48px;
}

.sf-language-dialog > header h2 {
	font-size: clamp(34px, 5vw, 56px);
	line-height: 1;
	margin: 7px 0 10px;
}

.sf-language-dialog > header > p:not(.sf-kicker) {
	color: #526c7b;
	margin: 0;
}

.sf-language-search {
	align-items: center;
	background: #f4fafc;
	border: 1px solid #bcd6e2;
	border-radius: 5px;
	display: grid;
	grid-template-columns: 24px 1fr;
	margin: 24px 0 14px;
	padding: 0 14px;
}

.sf-language-search svg {
	color: #0b6dff;
}

.sf-language-search input {
	background: transparent;
	border: 0;
	color: #062238;
	font: inherit;
	font-weight: 750;
	min-height: 52px;
	outline: 0;
	width: 100%;
}

.sf-language-list {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-height: min(52vh, 470px);
	overflow: auto;
	padding: 2px 5px 2px 2px;
}

.sf-language-list button {
	align-items: center;
	background: #fff;
	border: 1px solid #d0e1e8;
	border-radius: 5px;
	color: #083551;
	cursor: pointer;
	display: grid;
	font: inherit;
	gap: 9px;
	grid-template-columns: 26px minmax(0, 1fr) auto;
	min-height: 50px;
	padding: 8px 11px;
	text-align: left;
}

.sf-language-list button:hover,
.sf-language-list button:focus-visible {
	border-color: #0b6dff;
	box-shadow: 0 0 0 2px rgba(11, 109, 255, .12);
}

.sf-language-list button[aria-selected="true"] {
	background: #e9f8ff;
	border-color: #0b6dff;
}

.sf-language-list button > span {
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
	font-size: 20px;
	line-height: 1;
	text-rendering: auto;
}

.sf-language-list button > strong {
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sf-language-list button > small {
	color: #647b88;
	font-size: 10px;
	font-weight: 900;
}

.sf-language-empty {
	color: #587282;
	font-weight: 750;
	padding: 20px 0;
	text-align: center;
}

.sf-chat-panel {
	display: flex;
	flex-direction: column;
	height: min(700px, calc(100vh - 112px));
	width: min(440px, calc(100vw - 28px));
}

.sf-chat-panel[hidden],
.sf-chat-panel [hidden] {
	display: none !important;
}

.sf-chat-head {
	align-items: center;
	display: grid !important;
	gap: 11px;
	grid-template-columns: 44px minmax(0, 1fr) 38px;
	padding: 15px !important;
}

.sf-chat-panel > .sf-chat-head > div {
	padding: 0;
	position: static;
}

.sf-chat-avatar {
	align-items: center;
	background: #0b6dff;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	display: flex;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.sf-chat-avatar svg {
	height: 21px;
	width: 21px;
}

.sf-chat-head h2 {
	font-size: 19px !important;
	line-height: 1.1;
}

.sf-chat-head [data-sf-chat-status] {
	align-items: center;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	clip-path: none;
	color: #c9e6f0;
	display: flex;
	font-size: 11px;
	font-weight: 750;
	gap: 6px;
	height: auto;
	left: auto;
	margin-top: 5px;
	position: static;
	top: auto;
	width: auto;
}

.sf-chat-head [data-sf-chat-status]::before {
	background: #00d8ad;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(0, 216, 173, .13);
	content: "";
	height: 7px;
	width: 7px;
}

.sf-chat-head [data-status="human_requested"]::before {
	background: #ffd04a;
}

.sf-chat-head [data-status="human_active"]::before {
	background: #40e49e;
}

.sf-chat-head [data-status="closed"]::before {
	background: #91a2ac;
}

.sf-chat-consent {
	display: grid;
	gap: 13px;
	overflow: auto;
	padding: 24px;
}

.sf-chat-consent > strong {
	color: #062238;
	font-size: 24px;
}

.sf-chat-consent > p,
.sf-chat-consent > small {
	color: #526c7b;
	line-height: 1.5;
	margin: 0;
}

.sf-chat-consent label {
	align-items: flex-start;
	background: #f1f8fb;
	border: 1px solid #c8dee7;
	display: grid;
	font-size: 13px;
	font-weight: 650;
	gap: 9px;
	grid-template-columns: 20px 1fr;
	line-height: 1.4;
	padding: 13px;
}

.sf-chat-consent input {
	height: 18px;
	margin: 1px 0 0;
	width: 18px;
}

.sf-chat-consent > button,
.sf-chat-human > button {
	background: #0b6dff;
	border: 0;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 900;
	min-height: 48px;
	padding: 0 16px;
}

.sf-chat-log {
	flex: 1 1 auto;
	min-height: 0;
}

.sf-chat-log article header {
	align-items: center;
	display: flex;
	font-size: 10px;
	justify-content: space-between;
	margin-bottom: 5px;
	opacity: .76;
}

.sf-chat-log article time {
	font-weight: 650;
}

.sf-chat-log article.is-operator {
	border-left: 3px solid #00a67d;
}

.sf-chat-log article.is-system {
	align-self: center;
	background: #fff8d9;
	box-shadow: none;
	max-width: 100%;
}

.sf-chat-log [data-sf-read-answer] {
	border-radius: 3px;
}

.sf-chat-human {
	background: #fff;
	border-top: 4px solid #00a67d;
	box-shadow: 0 -18px 48px rgba(2, 27, 43, .18);
	display: grid;
	gap: 12px;
	inset: 84px 0 0;
	overflow: auto;
	padding: 20px;
	position: absolute;
	z-index: 5;
}

.sf-chat-human header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.sf-chat-human header strong {
	font-size: 22px;
}

.sf-chat-human header button {
	align-items: center;
	background: #eef6f9;
	border: 0;
	border-radius: 50%;
	color: #083551;
	cursor: pointer;
	display: flex;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.sf-chat-human p {
	color: #526c7b;
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

.sf-chat-human-grid {
	display: grid;
	gap: 11px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-chat-human-grid .is-wide {
	grid-column: 1 / -1;
}

.sf-chat-human label {
	display: grid;
	font-size: 12px;
	font-weight: 850;
	gap: 5px;
}

.sf-chat-human input,
.sf-chat-human select,
.sf-chat-human textarea {
	background: #f8fbfc;
	border: 1px solid #bcd5e1;
	border-radius: 4px;
	color: #062238;
	font: inherit;
	min-height: 46px;
	padding: 0 11px;
	width: 100%;
}

.sf-chat-human textarea {
	line-height: 1.45;
	min-height: 96px;
	padding-block: 10px;
	resize: vertical;
}

.sf-chat-human input:focus,
.sf-chat-human select:focus,
.sf-chat-human textarea:focus {
	border-color: #0b6dff;
	box-shadow: 0 0 0 3px rgba(11, 109, 255, .12);
	outline: 0;
}

.sf-chat-human > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
}

.sf-chat-human > small {
	color: #657b88;
	font-size: 11px;
	line-height: 1.4;
}

.sf-chat-tools {
	align-items: stretch;
	border-top: 1px solid #d7e6ec;
	display: grid;
	grid-template-columns: 1.5fr .75fr .75fr;
}

.sf-chat-tools button {
	align-items: center;
	background: #fff;
	border: 0;
	border-right: 1px solid #d7e6ec;
	color: #16445d;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 11px;
	font-weight: 850;
	gap: 5px;
	justify-content: center;
	min-height: 38px;
}

.sf-chat-tools button:last-child {
	border-right: 0;
	color: #a51d45;
}

.sf-chat-tools svg {
	height: 14px;
	width: 14px;
}

@media (min-width: 761px) and (max-height: 760px) {
	.sf-chat-human { gap: 8px; padding: 14px 16px; }
	.sf-chat-human p { font-size: 12px; line-height: 1.35; }
	.sf-chat-human-grid { gap: 8px; }
	.sf-chat-human input,
	.sf-chat-human select { min-height: 42px; }
	.sf-chat-human textarea { min-height: 72px; }
	.sf-chat-human > button { min-height: 44px; }
	.sf-chat-human > small { display: none; }
}

.sf-chat-panel > footer {
	align-items: center;
	background: #f4f9fb;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	padding: 8px 12px;
}

.sf-chat-panel > footer a {
	color: #0759ba;
	font-weight: 850;
	white-space: nowrap;
}

.sf-privacy-notice {
	margin: 0 auto;
	padding: clamp(64px, 9vw, 120px) max(24px, 6vw);
	width: min(1500px, 100%);
}

.sf-privacy-notice > h2 {
	font-size: clamp(42px, 7vw, 84px);
	line-height: .98;
	margin: 8px 0 18px;
	max-width: 980px;
}

.sf-privacy-intro {
	color: #526c7b;
	font-size: 18px;
	line-height: 1.55;
	max-width: 800px;
}

.sf-privacy-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 34px;
}

.sf-privacy-grid article {
	background: #f3f9fb;
	border: 1px solid #cce0e8;
	padding: 24px;
}

.sf-privacy-grid h3 {
	font-size: 19px;
	margin: 0 0 9px;
}

.sf-privacy-grid p {
	color: #435f70;
	line-height: 1.55;
	margin: 0;
}

.sf-privacy-warning {
	background: #fff6d2;
	border-left: 5px solid #ffb31a;
	margin: 10px 0 0;
	padding: 17px 20px;
}

/* Centro privacy e legale. */
.sf-legal-hub {
	background: #f4fafb;
	color: #062238;
	min-height: 100vh;
	padding-bottom: clamp(70px, 8vw, 120px);
}

.sf-legal-hero {
	align-items: end;
	background: #062f47;
	color: #fff;
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1fr) 210px;
	min-height: 500px;
	overflow: hidden;
	padding: 166px max(24px, calc((100vw - 1440px) / 2)) 72px;
	position: relative;
}

.sf-legal-hero::before {
	background: #00cba8;
	content: "";
	height: 6px;
	inset: auto 0 0;
	position: absolute;
}

.sf-legal-hero::after {
	background: #ffd04a;
	content: "";
	height: 6px;
	inset: auto 0 0 72%;
	position: absolute;
}

.sf-legal-breadcrumb {
	align-items: center;
	display: flex;
	font-size: 12px;
	font-weight: 850;
	gap: 9px;
	margin-bottom: 34px;
	text-transform: uppercase;
}

.sf-legal-breadcrumb a,
.sf-legal-breadcrumb span { color: #b9d3df; text-decoration: none; }
.sf-legal-hero .sf-kicker { color: #68ebff; }

.sf-legal-hero h1 {
	color: #fff;
	font-size: clamp(48px, 6.7vw, 98px);
	line-height: .92;
	margin: 12px 0 22px;
	max-width: 1080px;
}

.sf-legal-hero > div:first-child > p:last-child {
	color: #c7dce5;
	font-size: clamp(17px, 1.5vw, 22px);
	line-height: 1.5;
	margin: 0;
	max-width: 780px;
}

.sf-legal-hero-mark {
	align-items: center;
	border: 1px solid #2f627a;
	display: grid;
	gap: 22px;
	grid-template-columns: 62px 1fr;
	min-height: 126px;
	padding: 26px;
}

.sf-legal-hero-mark svg { color: #ffd04a; height: 58px; width: 58px; }
.sf-legal-hero-mark span { font-size: 18px; font-weight: 950; line-height: 1.05; text-transform: uppercase; }

.sf-legal-layout {
	display: grid;
	gap: clamp(30px, 4vw, 64px);
	grid-template-columns: 290px minmax(0, 1fr);
	margin: 0 auto;
	padding: clamp(50px, 7vw, 100px) max(24px, 4vw) 0;
	width: min(1500px, 100%);
}

.sf-legal-tabs {
	align-self: start;
	background: #eaf4f7;
	border-top: 5px solid #00cba8;
	display: grid;
	position: sticky;
	top: 118px;
}

.sf-legal-tabs > p {
	color: #527080;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: 0;
	margin: 0;
	padding: 20px 20px 11px;
	text-transform: uppercase;
}

.sf-legal-tabs button {
	align-items: center;
	background: transparent;
	border: 0;
	border-top: 1px solid #cbdde4;
	border-radius: 0;
	color: #173f55;
	cursor: pointer;
	display: grid;
	font: inherit;
	gap: 12px;
	grid-template-columns: 24px minmax(0, 1fr) 18px;
	min-height: 76px;
	padding: 13px 16px;
	text-align: left;
	width: 100%;
}

.sf-legal-tabs button:hover { background: #dff0f4; }
.sf-legal-tabs button:focus-visible { outline: 3px solid #0b6dff; outline-offset: -3px; }
.sf-legal-tabs button > svg { color: #08718a; height: 21px; width: 21px; }
.sf-legal-tabs button > svg:last-child { color: #7997a5; height: 16px; width: 16px; }
.sf-legal-tabs button span { display: grid; gap: 3px; min-width: 0; }
.sf-legal-tabs button strong { font-size: 15px; }
.sf-legal-tabs button small { color: #6b8491; font-size: 11px; }

.sf-legal-tabs button[aria-selected="true"] {
	background: #062f47;
	box-shadow: inset 5px 0 #ffd04a;
	color: #fff;
}

.sf-legal-tabs button[aria-selected="true"] > svg { color: #68ebff; }
.sf-legal-tabs button[aria-selected="true"] > svg:last-child,
.sf-legal-tabs button[aria-selected="true"] small { color: #b7d4df; }

.sf-legal-panels { min-width: 0; }
.sf-legal-panel[hidden] { display: none; }

.sf-legal-panel {
	background: #fff;
	border: 1px solid #cbdde4;
	box-shadow: 0 30px 80px rgba(6, 47, 71, .09);
	min-height: 620px;
	padding: clamp(30px, 5vw, 72px);
}

.sf-legal-panel-head {
	border-bottom: 1px solid #d5e4ea;
	margin-bottom: 36px;
	padding-bottom: 32px;
}

.sf-legal-panel-head .sf-kicker { color: #008f79; }
.sf-legal-panel-head h2 {
	font-size: clamp(38px, 5vw, 70px);
	line-height: .98;
	margin: 10px 0 17px;
	max-width: 980px;
}

.sf-legal-panel-head > p:last-child {
	color: #587180;
	font-size: 18px;
	line-height: 1.55;
	margin: 0;
	max-width: 820px;
}

.sf-legal-copy { color: #2e5266; font-size: 17px; line-height: 1.75; max-width: 980px; }
.sf-legal-copy > *:first-child { margin-top: 0; }
.sf-legal-copy h2,
.sf-legal-copy h3 {
	color: #062238;
	font-size: clamp(24px, 2.4vw, 34px);
	line-height: 1.15;
	margin: 48px 0 17px;
	padding-top: 12px;
}

.sf-legal-copy h2:first-child,
.sf-legal-copy .sf-legal-updated + h3 { margin-top: 24px; }
.sf-legal-copy p { margin: 0 0 20px; }
.sf-legal-copy ul,
.sf-legal-copy ol { display: grid; gap: 10px; margin: 18px 0 28px; padding-left: 25px; }
.sf-legal-copy li::marker { color: #00a98d; font-weight: 950; }
.sf-legal-copy a { color: #075fca; font-weight: 800; overflow-wrap: anywhere; }
.sf-legal-copy strong { color: #062238; }

.sf-legal-updated {
	align-items: center;
	background: #e9f7f4;
	border-left: 4px solid #00a98d;
	color: #116854;
	display: inline-flex;
	font-size: 12px;
	font-weight: 950;
	margin-bottom: 12px !important;
	min-height: 38px;
	padding: 7px 12px;
	text-transform: uppercase;
}

.sf-legal-panel .sf-privacy-notice { margin: 0; padding: 0; width: auto; }
.sf-legal-panel .sf-privacy-notice > h2 { font-size: clamp(38px, 5vw, 70px); max-width: 940px; }
.sf-legal-panel .sf-privacy-intro { max-width: 850px; }
.sf-legal-panel .sf-privacy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sf-legal-panel .sf-privacy-grid article { border-color: #c9dfe7; padding: 22px; }

.sf-legal-rights {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 8px;
	overflow: hidden;
}

.sf-legal-rights article { background: #eef7f9; min-height: 230px; padding: 28px; }
.sf-legal-rights span { color: #008f79; font-size: 12px; font-weight: 950; }
.sf-legal-rights h3 { font-size: 24px; margin: 28px 0 10px; }
.sf-legal-rights p { color: #4e6a7a; line-height: 1.6; margin: 0; }

.sf-legal-contact {
	align-items: center;
	background: #062f47;
	color: #fff;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-top: 1px;
	padding: 25px 28px;
}

.sf-legal-contact > div { align-items: center; display: flex; gap: 15px; }
.sf-legal-contact svg { color: #68ebff; height: 28px; width: 28px; }
.sf-legal-contact span { display: grid; gap: 4px; }
.sf-legal-contact small { color: #b8d1dc; }
.sf-legal-contact a { background: #ffd04a; border-radius: 5px; color: #062238; font-weight: 950; padding: 14px 17px; text-decoration: none; }

@media (max-width: 980px) {
	.sf-legal-hero { grid-template-columns: 1fr; min-height: 470px; }
	.sf-legal-hero-mark { display: none; }
	.sf-legal-layout { grid-template-columns: 1fr; }
	.sf-legal-tabs { grid-template-columns: repeat(5, minmax(130px, 1fr)); overflow-x: auto; position: static; }
	.sf-legal-tabs > p { display: none; }
	.sf-legal-tabs button { border-left: 1px solid #cbdde4; border-top: 0; grid-template-columns: 22px minmax(0, 1fr); min-width: 150px; }
	.sf-legal-tabs button > svg:last-child { display: none; }
	.sf-legal-tabs button[aria-selected="true"] { box-shadow: inset 0 5px #ffd04a; }
}

@media (max-width: 760px) {
	.sf-legal-hero { min-height: 430px; padding: 132px 20px 52px; }
	.sf-legal-breadcrumb { margin-bottom: 26px; }
	.sf-legal-hero h1 { font-size: clamp(44px, 13vw, 62px); }
	.sf-legal-hero > div:first-child > p:last-child { font-size: 16px; }
	.sf-legal-layout { gap: 20px; padding: 20px 12px 0; }
	.sf-legal-tabs { gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
	.sf-legal-tabs button { border: 0; min-height: 64px; min-width: 0; padding: 10px; }
	.sf-legal-tabs button small { display: none; }
	.sf-legal-panel { min-height: 0; padding: 26px 20px; }
	.sf-legal-panel-head { margin-bottom: 26px; padding-bottom: 24px; }
	.sf-legal-panel-head h2,
	.sf-legal-panel .sf-privacy-notice > h2 { font-size: 38px; }
	.sf-legal-panel-head > p:last-child,
	.sf-legal-copy { font-size: 15px; }
	.sf-legal-copy h2,
	.sf-legal-copy h3 { font-size: 25px; margin-top: 38px; }
	.sf-legal-panel .sf-privacy-grid,
	.sf-legal-rights { grid-template-columns: 1fr; }
	.sf-legal-rights article { min-height: 190px; }
	.sf-legal-contact { align-items: stretch; flex-direction: column; }
	.sf-legal-contact a { text-align: center; }
}

@media (max-width: 1180px) {
	.sf-nav-language {
		align-items: center;
		background: #eef8fb;
		border: 1px solid #c8dfe8;
		border-radius: 5px;
		color: #083551;
		display: grid;
		font: inherit;
		font-weight: 850;
		gap: 10px;
		grid-template-columns: 22px 1fr auto;
		min-height: 46px;
		padding: 0 12px;
		text-align: left;
	}
}

@media (max-width: 760px) {
	.sf-language-dialog {
		max-height: calc(100vh - 20px);
		max-width: calc(100vw - 20px);
		padding: 24px 18px 18px;
	}

	.sf-language-dialog > header h2 {
		font-size: 36px;
	}

	.sf-language-list {
		grid-template-columns: 1fr;
		max-height: 56vh;
	}

	.sf-chat-panel {
		height: auto;
		width: auto;
	}

	.sf-chat-consent {
		padding: 20px;
	}

	.sf-chat-panel > footer span {
		display: none;
	}

	.sf-privacy-grid {
		grid-template-columns: 1fr;
	}
}

/* 4.3: single navigation, private member drive, statute reader and assistant dock. */
html { margin-top: 0 !important; }
.admin-bar .sf-header { top: 18px; }
.sf-topic-strip { display: none; }

@media (min-width: 1181px) {
	.sf-header {
		gap: 16px;
		grid-template-columns: 190px minmax(0, 1fr) auto;
		min-height: 84px;
		padding: 10px 14px 10px 22px;
		top: 18px;
		width: min(1660px, calc(100% - 40px));
	}
	.sf-logo img { max-height: 58px; width: 180px; }
	.sf-nav { gap: 4px; justify-content: flex-start; }
	.sf-nav-home { display: none; }
	.sf-nav-group > button,
	.sf-nav-direct { font-size: .78rem; min-height: 48px; padding: 10px 9px; }
	.sf-header-tools { gap: 9px; }
	.sf-icon-button,
	button.sf-lang { height: 48px; }
	.sf-login { min-height: 54px; padding-inline: 20px; }
	.sf-hero { padding-top: 136px; }
}

/* The translated desktop navigation collapses only when its real content no longer fits. */
@media (min-width: 1181px) {
	.sf-header.is-condensed {
		grid-template-columns: 180px minmax(0, 1fr) auto;
	}

	.sf-header.is-condensed .sf-menu-button {
		display: inline-flex;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.sf-header.is-condensed .sf-header-tools {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}

	.sf-header.is-condensed .sf-nav {
		align-items: stretch;
		background: #fff;
		border: 1px solid var(--line);
		border-radius: 8px;
		box-shadow: var(--shadow);
		display: none;
		grid-column: 1 / -1;
		grid-row: 2;
		inset: calc(100% + 8px) 0 auto;
		padding: 8px;
		position: absolute;
	}

	.sf-header.is-condensed .sf-nav.is-open { display: grid; }
	.sf-header.is-condensed .sf-nav-home { display: flex; }
	.sf-header.is-condensed .sf-nav-home,
	.sf-header.is-condensed .sf-nav-direct,
	.sf-header.is-condensed .sf-nav-group > button { justify-content: space-between; width: 100%; }
	.sf-header.is-condensed .sf-nav-panel { box-shadow: none; margin: 2px 0 8px; min-width: 0; position: static; width: 100%; }
	.sf-header.is-condensed .sf-nav-language { display: grid; }
}

html[data-sf-language]:not([data-sf-language="it"]) .sf-command h2,
html[data-sf-language]:not([data-sf-language="it"]) .sf-page-hero h1,
html[data-sf-language]:not([data-sf-language="it"]) .sf-detail-hero-copy h1,
html[data-sf-language]:not([data-sf-language="it"]) .sf-legal-hero h1,
html[data-sf-language]:not([data-sf-language="it"]) .sf-section-head h2 {
	hyphens: auto;
	overflow-wrap: anywhere;
}

html[data-sf-language]:not([data-sf-language="it"]) :is(.sf-actions a, .sf-card-actions a, .sf-card-actions button, .sf-command button, .sf-page-actions a) {
	height: auto;
	min-width: 0;
	white-space: normal;
}

html[data-sf-language]:not([data-sf-language="it"]) .sf-command {
	min-width: 0;
}

.sf-statute {
	margin: 0 auto;
	padding: clamp(68px, 8vw, 118px) max(22px, 4vw);
	width: min(1540px, 100%);
}

.sf-statute > header {
	align-items: end;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 34px;
}

.sf-statute > header h2 {
	font-size: clamp(42px, 6vw, 78px);
	line-height: .96;
	margin: 9px 0 16px;
	max-width: 900px;
}

.sf-statute > header p:not(.sf-kicker) {
	color: #526d7d;
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
}

.sf-statute > header > a,
.sf-member-documents > header > a,
.sf-member-documents-gate > a {
	align-items: center;
	background: #0b6dff;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-weight: 900;
	gap: 8px;
	min-height: 50px;
	padding: 0 18px;
	text-decoration: none;
}

.sf-pdf-shell {
	background: #061f31;
	border: 1px solid #174259;
	border-top: 5px solid #00cba8;
	box-shadow: 0 30px 80px rgba(3, 28, 45, .22);
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) 4px;
	min-height: 880px;
	overflow: hidden;
	position: relative;
}

.sf-pdf-shell:fullscreen { height: 100vh; min-height: 100vh; }

.sf-pdf-toolbar {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #c9dce5;
	display: flex;
	gap: 8px;
	justify-content: center;
	min-height: 64px;
	padding: 9px 16px;
}

.sf-pdf-toolbar button,
.sf-pdf-edge {
	align-items: center;
	background: #eff7fa;
	border: 1px solid #bed5df;
	border-radius: 6px;
	color: #063a5b;
	cursor: pointer;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.sf-pdf-toolbar button:hover,
.sf-pdf-edge:hover { background: #dff7f4; border-color: #00a98d; }
.sf-pdf-toolbar button:disabled,
.sf-pdf-edge:disabled { cursor: not-allowed; opacity: .35; }

.sf-pdf-toolbar label { align-items: center; color: #456374; display: flex; font-size: 13px; font-weight: 850; gap: 7px; }
.sf-pdf-toolbar input { border: 1px solid #bed5df; border-radius: 5px; font: inherit; font-weight: 900; height: 42px; text-align: center; width: 58px; }
.sf-pdf-toolbar output { color: #38586b; font-size: 12px; font-weight: 900; min-width: 44px; text-align: center; }
.sf-pdf-toolbar-separator { background: #d5e3e9; height: 28px; margin: 0 3px; width: 1px; }

.sf-pdf-stage {
	align-items: center;
	background: #0a2b40;
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) 58px;
	justify-items: center;
	min-height: 810px;
	overflow: auto;
	padding: 34px 18px;
	position: relative;
}

.sf-pdf-stage:focus-visible { outline: 4px solid #ffd04a; outline-offset: -4px; }
.sf-pdf-edge { background: rgba(255, 255, 255, .96); height: 52px; position: sticky; width: 46px; z-index: 2; }
.sf-pdf-edge.is-prev { left: 8px; }
.sf-pdf-edge.is-next { right: 8px; }

.sf-pdf-paper {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 600px;
	min-width: 0;
	position: relative;
}

.sf-pdf-paper.is-turning { animation: sf-page-turn .32s ease both; }
.sf-pdf-paper canvas { background: #fff; box-shadow: 0 20px 58px rgba(0, 0, 0, .36); display: block; max-width: none; }
.sf-pdf-loading { align-items: center; background: rgba(6, 31, 49, .92); color: #fff; display: flex; inset: 0; justify-content: center; position: absolute; z-index: 3; }
.sf-pdf-loading[hidden] { display: none; }
.sf-pdf-loading a { color: #66e6ff; }
.sf-pdf-progress { background: #163e54; height: 4px; }
.sf-pdf-progress span { background: #ffd04a; display: block; height: 100%; transition: width .25s ease; width: 8.33%; }

@keyframes sf-page-turn {
	from { opacity: .45; transform: perspective(1200px) rotateY(4deg) translateX(12px); }
	to { opacity: 1; transform: perspective(1200px) rotateY(0) translateX(0); }
}

.sf-member-documents,
.sf-member-documents-gate {
	margin: 34px auto 0;
	padding: clamp(56px, 7vw, 90px) max(22px, 4vw);
	width: min(1500px, 100%);
}

.sf-member-documents { background: #f2f8fa; }
.sf-member-documents > header { align-items: end; display: grid; gap: 28px; grid-template-columns: 1fr auto; margin-bottom: 30px; }
.sf-member-documents > header h2,
.sf-member-documents-gate h2 { font-size: clamp(40px, 6vw, 72px); line-height: .95; margin: 8px 0 13px; }
.sf-member-documents > header p:not(.sf-kicker),
.sf-member-documents-gate > p:not(.sf-kicker) { color: #526d7d; font-size: 17px; line-height: 1.5; margin: 0; }

.sf-member-documents-filter {
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) minmax(220px, .32fr);
	margin-bottom: 12px;
}

.sf-member-documents-filter label { align-items: center; background: #fff; border: 1px solid #bfd6e0; display: grid; grid-template-columns: 24px 1fr; padding: 0 14px; }
.sf-member-documents-filter label svg { color: #0b6dff; }
.sf-member-documents-filter input,
.sf-member-documents-filter select { background: #fff; border: 1px solid #bfd6e0; border-radius: 0; color: #062238; font: inherit; min-height: 54px; padding: 0 14px; width: 100%; }
.sf-member-documents-filter input { background: transparent; border: 0; outline: 0; padding: 0 8px; }

.sf-member-documents-head,
.sf-member-documents-list article {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1.7fr) minmax(150px, .55fr) 110px 110px;
}

.sf-member-documents-head { color: #627987; font-size: 10px; font-weight: 950; padding: 10px 18px; text-transform: uppercase; }
.sf-member-documents-list { display: grid; gap: 7px; }
.sf-member-documents-list article { background: #fff; border: 1px solid #c9dde5; min-height: 92px; padding: 13px 16px; }
.sf-member-documents-list article[hidden] { display: none; }
.sf-member-documents-list article > div { align-items: center; display: grid; gap: 13px; grid-template-columns: 42px minmax(0, 1fr); }
.sf-member-documents-list article > div > svg { background: #e7f6ff; color: #0b6dff; height: 42px; padding: 10px; width: 42px; }
.sf-member-documents-list article > div span { display: grid; }
.sf-member-documents-list article small { color: #0b7185; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.sf-member-documents-list article strong { font-size: 16px; }
.sf-member-documents-list article p { color: #607684; font-size: 12px; margin: 3px 0 0; }
.sf-member-documents-list article > span,
.sf-member-documents-list article time { color: #486476; font-size: 13px; font-weight: 750; }
.sf-member-documents-list article > a { align-items: center; background: #062f47; border-radius: 5px; color: #fff; display: flex; gap: 6px; justify-content: center; min-height: 44px; padding: 0 10px; text-decoration: none; }
.sf-member-documents-list article > a small { color: #9eeeff; }
.sf-document-missing { color: #7a8b94 !important; font-size: 11px !important; }
.sf-member-documents-empty { align-items: center; background: #fff; border: 1px dashed #9fbfcb; display: grid; justify-items: center; padding: 56px 20px; text-align: center; }
.sf-member-documents-empty svg { color: #0b6dff; height: 38px; width: 38px; }

.sf-member-documents-gate { background: #edf8fb; border-left: 6px solid #0b6dff; text-align: left; }
.sf-member-documents-gate > div { align-items: center; background: #062f47; color: #fff; display: flex; height: 58px; justify-content: center; width: 58px; }
.sf-member-documents-gate > a { margin-top: 24px; }

.sf-accessibility { bottom: 20px; right: 20px; z-index: 1006; }
.sf-accessibility-toggle {
	background: #062f47;
	border: 1px solid #174f6b;
	border-radius: 8px;
	box-shadow: 0 16px 44px rgba(2, 27, 43, .2);
	color: #fff;
	height: 56px;
	min-height: 56px;
	overflow: hidden;
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
	width: 56px;
}
.sf-accessibility-toggle::before { background: #00cba8; content: ""; height: 3px; inset: 0 0 auto; position: absolute; }
.sf-accessibility-toggle:hover { border-color: #00cba8; box-shadow: 0 18px 48px rgba(2, 27, 43, .28); transform: translateY(-2px); }
.sf-accessibility-glyph { color: #7eeeff; font-size: 18px; font-weight: 950; line-height: 1; }
.sf-accessibility-panel { border-radius: 8px; bottom: 68px; min-width: 270px; padding: 15px; }
.sf-accessibility-panel > strong { font-size: 18px; padding: 4px 4px 8px; }
.sf-accessibility-panel button,
.sf-accessibility-panel a { border-radius: 6px; min-height: 44px; }

.sf-chat { bottom: 20px; right: 88px; z-index: 1005; }
.sf-chat-toggle {
	background: #fff;
	border: 1px solid #b8d2dd;
	border-radius: 8px;
	box-shadow: 0 16px 44px rgba(2, 27, 43, .2);
	color: #062f47;
	display: grid;
	gap: 10px;
	grid-template-columns: 42px 1fr;
	height: 56px;
	padding: 6px 13px 6px 6px;
	text-align: left;
	width: 190px;
}
.sf-chat-toggle > .sf-chat-toggle-icon { align-items: center; background: #0b6dff; border-radius: 6px; clip-path: none; color: #fff; display: flex; height: 42px; justify-content: center; position: static; width: 42px; }
.sf-chat-toggle > .sf-chat-toggle-icon > span { display: none; }
.sf-chat-toggle > .sf-chat-toggle-copy { clip-path: none; display: grid; height: auto; overflow: visible; position: static; width: auto; }
.sf-chat-toggle-copy strong { font-size: 13px; line-height: 1.1; }
.sf-chat-toggle-copy small { align-items: center; color: #527080; display: flex; font-size: 10px; font-weight: 750; gap: 5px; }
.sf-chat-toggle-copy i { background: #00aa88; border-radius: 50%; height: 6px; width: 6px; }
.sf-chat-panel { border: 1px solid #abcbd8; border-radius: 8px; bottom: 70px; height: min(720px, calc(100vh - 118px)); right: -68px; width: min(470px, calc(100vw - 28px)); }
.sf-chat-head { background: #062f47 !important; border-bottom: 4px solid #00cba8; min-height: 88px; padding: 16px 18px !important; }
.sf-chat-avatar { background: #0b6dff; border: 0; border-radius: 8px; height: 50px; width: 50px; }
.sf-chat-head h2 { font-size: 21px !important; }
.sf-chat-head .sf-kicker { color: #7eeeff !important; }
.sf-chat-consent { align-content: start; background: #fff; gap: 12px; padding: 28px; }
.sf-chat-intro-mark { align-items: center; background: #e9f7ff; color: #0b6dff; display: flex; height: 62px; justify-content: center; width: 62px; }
.sf-chat-intro-mark svg { height: 28px; width: 28px; }
.sf-chat-consent > .sf-kicker { color: #008f79; margin: 5px 0 0; }
.sf-chat-consent > strong { font-size: 31px; line-height: 1; }
.sf-chat-consent label { border-radius: 6px; }
.sf-chat-consent > button { align-items: center; border-radius: 6px; display: flex; gap: 8px; justify-content: center; }
.sf-chat-log { background: #eef6f8; gap: 12px; padding: 18px; }
.sf-chat-log article { border: 1px solid #d4e4ea; border-radius: 8px; box-shadow: 0 7px 20px rgba(6, 47, 71, .07); padding: 13px 15px; }
.sf-chat-log article.is-user { background: #0b6dff; border-color: #0b6dff; }
.sf-chat-prompts { background: #f8fbfc; gap: 7px; padding: 11px 14px; }
.sf-chat-prompts button { align-items: center; border-radius: 6px; display: inline-flex; gap: 6px; min-height: 38px; }
.sf-chat-prompts button svg { height: 15px; width: 15px; }
.sf-chat-panel > form[data-sf-chat-form] { background: #fff; padding: 13px 14px; }
.sf-chat-panel textarea,
.sf-chat-panel > form[data-sf-chat-form] button { border-radius: 7px; }
.sf-chat-tools button { min-height: 42px; }

@media (max-width: 760px) {
	.admin-bar .sf-header { top: 8px; }
	.sf-statute { padding: 54px 14px; }
	.sf-statute > header,
	.sf-member-documents > header { align-items: start; grid-template-columns: 1fr; }
	.sf-statute > header > a,
	.sf-member-documents > header > a { justify-self: start; }
	.sf-pdf-shell { min-height: 650px; }
	.sf-pdf-toolbar { flex-wrap: wrap; min-height: 108px; }
	.sf-pdf-toolbar-separator { display: none; }
	.sf-pdf-stage { grid-template-columns: 1fr; min-height: 540px; overflow: auto; padding: 18px 8px 78px; }
	.sf-pdf-edge { bottom: 14px; position: absolute; }
	.sf-pdf-edge.is-prev { left: calc(50% - 58px); }
	.sf-pdf-edge.is-next { right: calc(50% - 58px); }
	.sf-pdf-paper { min-height: 420px; width: 100%; }
	.sf-member-documents,
	.sf-member-documents-gate { margin-top: 20px; padding: 50px 18px; }
	.sf-member-documents-filter { grid-template-columns: 1fr; }
	.sf-member-documents-head { display: none; }
	.sf-member-documents-list article { align-items: start; grid-template-columns: 1fr auto; padding: 16px; }
	.sf-member-documents-list article > div { grid-column: 1 / -1; }
	.sf-member-documents-list article > span,
	.sf-member-documents-list article time { align-self: center; }
	.sf-member-documents-list article > a { grid-column: 1 / -1; }
	.sf-accessibility { bottom: 78px; right: 12px; }
	.sf-accessibility-toggle { height: 50px; min-height: 50px; width: 50px; }
	.sf-chat { bottom: 78px; right: 70px; }
	.sf-chat-toggle { grid-template-columns: 38px; height: 50px; padding: 5px; width: 50px; }
	.sf-chat-toggle > .sf-chat-toggle-icon { height: 38px; width: 38px; }
	.sf-chat-toggle-copy { display: none !important; }
	.sf-chat-panel { bottom: auto; inset: 10px 10px 76px; max-height: none; width: auto; }
	.sf-chat-human { inset: 84px 0 0; padding: 18px; }
	.sf-chat-human-grid { grid-template-columns: 1fr; }
	.sf-chat-human-grid .is-wide { grid-column: auto; }
}

/* 4.7: one public navigation and a calmer, private member workspace. */
#wpadminbar { display: none !important; }
html[lang] { margin-top: 0 !important; }
.admin-bar .sf-header { top: 18px; }

.sf-member-panel {
	background: #f2f9fb;
	border: 1px solid #c8dfe7;
	box-shadow: 0 26px 70px rgba(6, 47, 71, .09);
	margin-inline: auto;
	padding: clamp(32px, 4vw, 58px);
	width: min(1540px, calc(100% - 48px));
}

.sf-member-identity {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	margin-bottom: 34px;
}

.sf-member-state {
	align-items: center;
	align-self: start;
	background: #fff4d2;
	border: 1px solid #e7c75f;
	color: #664b00;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	gap: 8px;
	min-height: 42px;
	padding: 8px 13px;
	text-transform: uppercase;
}

.sf-member-state.is-verified {
	background: #e7fbf6;
	border-color: #83d8c3;
	color: #06634f;
}

.sf-member-grid {
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 0;
}

.sf-member-grid a,
.sf-member-grid a:first-child,
.sf-member-grid a:not(:first-child) {
	align-items: center;
	background: #fff;
	border: 1px solid #c9dde5;
	display: grid;
	flex-direction: initial;
	gap: 15px;
	grid-template-columns: 46px minmax(0, 1fr);
	min-height: 104px;
	padding: 18px;
}

.sf-member-grid a:hover {
	border-color: #0b6dff;
	box-shadow: 0 14px 30px rgba(11, 109, 255, .1);
	transform: translateY(-2px);
}

.sf-member-grid a > svg {
	background: #e8f5ff;
	color: #0b6dff;
	height: 46px;
	padding: 11px;
	width: 46px;
}

.sf-member-grid a > span { display: grid; gap: 4px; }

.sf-blue-card {
	align-items: center;
	border-top: 1px solid #c9dde5;
	display: grid;
	gap: 18px;
	grid-column: 1 / -1;
	grid-template-columns: 92px minmax(0, 1fr);
	margin-top: 8px;
	padding-top: 24px;
}

.sf-blue-card > div {
	align-items: center;
	background: #063b70;
	color: #fff;
	display: flex;
	height: 72px;
	justify-content: center;
	width: 92px;
}

.sf-blue-card > div img { height: 100%; object-fit: contain; width: 100%; }
.sf-blue-card > div svg { height: 30px; width: 30px; }
.sf-blue-card > span { display: grid; gap: 3px; }
.sf-blue-card small { color: #087b93; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.sf-blue-card strong { color: #062238; font-size: 21px; }
.sf-blue-card p { color: #597383; font-size: 12px; margin: 0; }
.sf-myunpli-data {
	background: #fff;
	border: 1px solid #c9dde5;
	margin: 24px auto 34px;
	padding: clamp(26px, 4vw, 46px);
	width: min(1540px, calc(100% - 48px));
}
.sf-myunpli-data > header {
	align-items: end;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 24px;
}
.sf-myunpli-data h3 { color: #062238; font-size: clamp(30px, 4vw, 52px); line-height: 1; margin: 6px 0 10px; }
.sf-myunpli-data p { color: #5a7382; line-height: 1.5; margin: 0; max-width: 780px; }
.sf-myunpli-data > header a {
	align-items: center;
	background: #07344d;
	color: #fff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	gap: 8px;
	min-height: 46px;
	padding: 0 16px;
	text-decoration: none;
}
.sf-myunpli-data dl {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	background: #d9e8ee;
}
.sf-myunpli-data dl div { min-width: 0; background: #f7fbfd; padding: 15px 16px; }
.sf-myunpli-data dt { color: #587282; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.sf-myunpli-data dd { color: #062238; font-size: 14px; font-weight: 850; margin: 5px 0 0; overflow-wrap: anywhere; }
.sf-board-area {
	background: #063b70;
	border-top: 6px solid #17c9af;
	color: #fff;
	margin: 34px auto;
	padding: clamp(34px, 5vw, 68px);
	width: min(1540px, calc(100% - 48px));
}

.sf-board-area > header {
	align-items: end;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 30px;
}

.sf-board-area .sf-kicker { color: #66ebd7; }
.sf-board-area h2 { color: #fff; font-size: clamp(42px, 6vw, 76px); line-height: .96; margin: 8px 0 12px; }
.sf-board-area > header p:not(.sf-kicker) { color: #d8e9f0; font-size: 16px; margin: 0; }
.sf-board-area > header > a {
	align-items: center;
	background: #ffcf4a;
	color: #062238;
	display: inline-flex;
	font-weight: 900;
	gap: 8px;
	min-height: 50px;
	padding: 0 17px;
	text-decoration: none;
}

.sf-board-actions { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sf-board-actions > a {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(255,255,255,.2);
	color: #062238;
	display: grid;
	gap: 14px;
	grid-template-columns: 46px minmax(0,1fr);
	min-height: 110px;
	padding: 18px;
	text-decoration: none;
}
.sf-board-actions > a:hover { border-color: #ffcf4a; transform: translateY(-2px); }
.sf-board-actions > a > svg { background: #e8f5ff; color: #0b6dff; height: 46px; padding: 11px; width: 46px; }
.sf-board-actions > a span { display: grid; gap: 4px; }
.sf-board-actions > a strong { font-size: 15px; }
.sf-board-actions > a small { color: #5c7483; line-height: 1.35; }
.sf-member-profile {
	background: #fff;
	border: 1px solid #c8dce5;
	margin: 0 auto 28px;
	padding: clamp(24px, 4vw, 42px);
	width: min(1420px, calc(100% - 48px));
}
.sf-member-profile > header,
.sf-board-publish > header {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 24px;
}
.sf-member-profile > header h3,
.sf-board-publish > header h3 {
	font-size: clamp(32px, 4.8vw, 54px);
	line-height: 1;
	margin: 7px 0 10px;
}
.sf-member-profile > header p:not(.sf-kicker),
.sf-board-publish > header p:not(.sf-kicker) {
	color: #526d7d;
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
}
.sf-member-profile > header > span {
	background: #e8f5ff;
	color: #0b6dff;
	display: grid;
	height: 54px;
	place-items: center;
	width: 54px;
}
.sf-member-profile > header > span svg { height: 25px; width: 25px; }
.sf-member-profile form,
.sf-board-publish {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sf-member-profile label,
.sf-board-publish label {
	color: #294f66;
	display: grid;
	font-size: 13px;
	font-weight: 900;
	gap: 7px;
}
.sf-member-profile input,
.sf-board-publish input,
.sf-board-publish select,
.sf-board-publish textarea {
	background: #fff;
	border: 1px solid #bfd6e0;
	color: #062238;
	font: inherit;
	font-weight: 760;
	min-height: 50px;
	padding: 0 13px;
	width: 100%;
}
.sf-member-profile small {
	color: #647b88;
	font-size: 11px;
	font-weight: 800;
}
.sf-member-profile footer,
.sf-board-publish footer,
.sf-board-publish > header,
.sf-board-publish label:first-of-type,
.sf-board-publish label:nth-of-type(6),
.sf-board-publish label:nth-of-type(7) {
	grid-column: 1 / -1;
}
.sf-member-profile footer,
.sf-board-publish footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 4px;
}
.sf-member-profile button,
.sf-board-publish button {
	align-items: center;
	background: #0b6dff;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 950;
	gap: 8px;
	min-height: 50px;
	padding: 0 18px;
}
.sf-member-profile button[disabled],
.sf-board-publish button[disabled] {
	cursor: wait;
	opacity: .72;
}
.sf-member-profile [role="status"],
.sf-board-publish [role="status"] {
	color: #526d7d;
	font-size: 13px;
	font-weight: 850;
	margin: 0;
}
.sf-board-publish {
	background: #f7fbfd;
	border: 1px solid rgba(255,255,255,.28);
	margin-top: 22px;
	padding: clamp(20px, 3vw, 32px);
}
.sf-board-publish > header .sf-kicker { color: #0b7185; }
.sf-board-publish > header h3 { color: #062238; }
.sf-board-publish > header p:not(.sf-kicker) { color: #486476; }
.sf-member-grid a strong { font-size: 16px; }
.sf-member-grid a small { color: #5a7382; font-size: 12px; font-weight: 700; }

.sf-cultural-catalog {
	background: #f7fbfc;
	padding: 88px max(32px, calc((100vw - 1600px) / 2));
}

.sf-cultural-head {
	align-items: end;
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 0 0 42px;
}

.sf-cultural-head > div { max-width: 920px; }
.sf-cultural-head h2 { color: #062238; font-size: 54px; line-height: 1.02; margin: 8px 0 16px; }
.sf-cultural-head > div > p:last-child { color: #4c6b7d; font-size: 18px; line-height: 1.6; margin: 0; max-width: 760px; }

.sf-catalog-admin,
.sf-detail-back {
	align-items: center;
	background: #fff;
	border: 1px solid #bdd7e3;
	color: #063a58;
	display: inline-flex;
	font-weight: 850;
	gap: 9px;
	justify-content: center;
	min-height: 48px;
	padding: 10px 16px;
	text-decoration: none;
}

.sf-catalog-admin svg,
.sf-detail-back svg { height: 19px; width: 19px; }

.sf-cultural-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-cultural-card {
	background: #fff;
	border: 1px solid #c9dde5;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.sf-cultural-card:hover {
	border-color: #0b6dff;
	box-shadow: 0 22px 48px rgba(11, 63, 91, .12);
	transform: translateY(-4px);
}

.sf-cultural-media {
	aspect-ratio: 4 / 3;
	display: block;
	overflow: hidden;
	position: relative;
}

.sf-cultural-media::after {
	background: linear-gradient(180deg, transparent 55%, rgba(3, 28, 44, .78));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.sf-cultural-media img {
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
	width: 100%;
}

.sf-cultural-card:hover .sf-cultural-media img { transform: scale(1.035); }

.sf-cultural-media span {
	background: #00d5ad;
	bottom: 16px;
	color: #062238;
	font-size: 11px;
	font-weight: 950;
	left: 16px;
	padding: 8px 10px;
	position: absolute;
	text-transform: uppercase;
	z-index: 1;
}

.sf-cultural-card > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 25px;
}

.sf-cultural-card h3 { font-size: 27px; line-height: 1.08; margin: 0 0 12px; }
.sf-cultural-card h3 a { color: #062238; text-decoration: none; }
.sf-cultural-card p { color: #557182; font-size: 15px; line-height: 1.55; margin: 0 0 22px; }
.sf-cultural-open { align-items: center; color: #0b6dff; display: inline-flex; font-weight: 900; gap: 8px; margin-top: auto; text-decoration: none; }
.sf-cultural-open svg { height: 18px; width: 18px; }
.sf-cultural-tradition .sf-cultural-media span { background: #ffd052; }
.sf-cultural-food .sf-cultural-media span { background: #00d5ad; }

.sf-detail-aside .sf-detail-back { margin-top: 12px; width: 100%; }
.sf-detail-aside h2 { color: #062238; font-size: 26px; letter-spacing: 0; margin: 8px 0 12px; }

@media (max-width: 980px) {
	.sf-cultural-head h2 { font-size: 44px; }
	.sf-cultural-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.sf-cultural-catalog { padding: 58px 18px; }
	.sf-cultural-head { align-items: start; grid-template-columns: 1fr; margin-bottom: 30px; }
	.sf-cultural-head h2 { font-size: 36px; }
	.sf-cultural-grid { grid-template-columns: 1fr; }
	.sf-cultural-card h3 { font-size: 24px; }
}

@media (min-width: 1420px) {
	.sf-header {
		grid-template-columns: 220px minmax(0, 1fr) auto;
		min-height: 92px;
		padding: 12px 18px 12px 24px;
		width: min(1680px, calc(100% - 48px));
	}
	.sf-logo img { max-height: 68px; width: 210px; }
	.sf-nav { gap: 9px; justify-content: center; }
}

@media (max-width: 980px) {
	.sf-member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-myunpli-data dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-board-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-member-profile form,
	.sf-board-publish { grid-template-columns: 1fr; }
	.sf-member-profile footer,
	.sf-board-publish footer,
	.sf-board-publish > header,
	.sf-board-publish label:first-of-type,
	.sf-board-publish label:nth-of-type(6),
	.sf-board-publish label:nth-of-type(7) { grid-column: 1; }
}

@media (max-width: 640px) {
	.sf-member-panel { padding: 28px 18px; width: calc(100% - 24px); }
	.sf-member-identity { grid-template-columns: 72px minmax(0, 1fr); }
	.sf-member-avatar { height: 72px; width: 72px; }
	.sf-member-state { grid-column: 1 / -1; justify-self: start; margin-top: 12px; }
	.sf-member-grid { grid-template-columns: 1fr; }
	.sf-myunpli-data { padding: 24px 18px; width: calc(100% - 24px); }
	.sf-myunpli-data > header { align-items: start; grid-template-columns: 1fr; }
	.sf-myunpli-data > header a { justify-self: start; }
	.sf-myunpli-data dl { grid-template-columns: 1fr; }
	.sf-blue-card { align-items: start; grid-template-columns: 72px minmax(0, 1fr); }
	.sf-blue-card > div { height: 58px; width: 72px; }
	.sf-board-area { padding: 38px 18px; width: calc(100% - 24px); }
	.sf-board-area > header { align-items: start; grid-template-columns: 1fr; }
	.sf-board-area > header > a { justify-self: start; }
	.sf-board-actions { grid-template-columns: 1fr; }
	.sf-member-profile { padding: 24px 18px; width: calc(100% - 24px); }
	.sf-member-profile > header,
	.sf-board-publish > header { grid-template-columns: 1fr; }
	.sf-member-profile > header > span { display: none; }
	.sf-member-profile footer,
	.sf-board-publish footer { align-items: flex-start; flex-direction: column; }
}

/* Footer istituzionale 2026 */
.sf-footer {
	background: #0a3c70;
	color: #fff;
	display: block;
	padding: 0;
}

.sf-footer-main {
	display: grid;
	gap: clamp(30px, 4vw, 64px);
	grid-template-columns: minmax(280px, 1.25fr) repeat(3, minmax(170px, .8fr));
	margin: 0 auto;
	max-width: 1680px;
	padding: clamp(50px, 6vw, 82px) clamp(22px, 5vw, 76px);
}

.sf-footer .sf-footer-brand,
.sf-footer .sf-footer-column {
	min-width: 0;
}

.sf-footer .sf-footer-brand img {
	display: block;
	max-width: 280px;
	width: 100%;
}

.sf-footer .sf-footer-brand > p {
	color: #dceafa;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.45;
	margin: 24px 0 22px;
	max-width: 380px;
}

.sf-footer h3 {
	color: #fff;
	font-size: 15px;
	letter-spacing: .04em;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.sf-footer h3::after {
	background: #ffd052;
	content: "";
	display: block;
	height: 3px;
	margin-top: 9px;
	width: 30px;
}

.sf-footer h3.sf-footer-subtitle {
	margin-top: 32px;
}

.sf-footer nav,
.sf-footer address {
	display: grid;
	font-style: normal;
	gap: 10px;
}

.sf-footer address {
	color: #dceafa;
	line-height: 1.45;
}

.sf-footer a,
.sf-footer address span {
	color: #dceafa;
	font-size: 15px;
	line-height: 1.35;
	text-decoration: none;
}

.sf-footer a:hover,
.sf-footer a:focus-visible {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: #ffd052;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.sf-footer-column nav a {
	width: fit-content;
}

.sf-footer-column nav a svg {
	height: 13px;
	margin-left: 3px;
	vertical-align: -2px;
	width: 13px;
}

.sf-footer .sf-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 30px;
}

.sf-footer .sf-social-links a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 8px;
	box-shadow: 0 8px 20px rgba(2, 21, 39, .2);
	color: #fff;
	display: flex;
	height: 46px;
	justify-content: center;
	position: relative;
	transition: box-shadow .2s ease, filter .2s ease, transform .2s ease;
	width: 46px;
}

.sf-footer .sf-social-link--instagram {
	background: radial-gradient(circle at 31% 102%, #ffd600 0 22%, #ff7a00 36%, #ff0169 58%, #d300c5 76%, #7638fa 100%);
}

.sf-footer .sf-social-link--facebook {
	background: #1877f2;
}

	.sf-footer .sf-social-link--youtube {
		background: #ff0033;
	}

	.sf-footer .sf-social-link--tiktok {
		background: #050505;
	}

	.sf-footer .sf-social-link--whatsapp {
		background: #25d366;
	}

.sf-footer .sf-social-brand-icon {
	display: block;
	height: 23px;
	width: 23px;
}

.sf-footer .sf-social-links a:hover,
.sf-footer .sf-social-links a:focus-visible {
	box-shadow: 0 12px 24px rgba(2, 21, 39, .32);
	color: #fff;
	filter: brightness(1.08) saturate(1.05);
	text-decoration: none;
	transform: translateY(-3px);
}

.sf-footer .sf-social-links a:focus-visible {
	outline: 3px solid #ffd052;
	outline-offset: 3px;
}

.sf-contrast .sf-footer .sf-social-links a {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
	color: #fff;
	filter: none;
}

.sf-footer .sf-footer-legal {
	border-top: 1px solid rgba(255, 255, 255, .2);
	margin-top: 26px;
	padding-top: 22px;
}

.sf-footer-panorama {
	height: clamp(260px, 34vw, 570px);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.sf-footer-panorama::after {
	background: linear-gradient(180deg, rgba(6, 34, 56, .06), rgba(6, 34, 56, .62));
	content: "";
	inset: 0;
	position: absolute;
}

.sf-footer-panorama img {
	height: 100%;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.sf-footer-panorama figcaption {
	bottom: clamp(26px, 5vw, 66px);
	color: #fff;
	display: grid;
	left: clamp(22px, 5vw, 76px);
	position: absolute;
	z-index: 1;
}

.sf-footer-panorama figcaption span {
	color: #ffd052;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sf-footer-panorama figcaption strong {
	font-size: clamp(34px, 4.5vw, 72px);
	letter-spacing: 0;
	line-height: 1;
}

.sf-footer .sf-footer-bottom {
	align-items: center;
	background: #fff;
	border: 0;
	color: #0a3c70;
	display: flex;
	font-size: 13px;
	font-weight: 850;
	gap: 18px;
	justify-content: space-between;
	padding: 18px clamp(22px, 5vw, 76px);
}

@media (max-width: 1080px) {
	.sf-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-footer .sf-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	.sf-footer-main { gap: 38px; grid-template-columns: 1fr; padding: 48px 20px; }
	.sf-footer .sf-footer-brand { grid-column: auto; }
	.sf-footer .sf-footer-brand img { max-width: 230px; }
	.sf-footer .sf-footer-bottom { align-items: flex-start; flex-direction: column; padding: 18px 20px; }
	.sf-footer-panorama { height: 300px; }
}

@media (max-width: 980px) {
	.sf-contact-services > header,
	.sf-contact-map {
		grid-template-columns: 1fr;
	}

	.sf-contact-services > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-contact-map iframe {
		min-height: 390px;
	}
}

@media (max-width: 640px) {
	.sf-contact-services > div {
		grid-template-columns: 1fr;
	}

	.sf-contact-services article {
		min-height: 185px;
	}

	.sf-contact-map iframe {
		min-height: 330px;
	}
}

/* High contrast is a complete visual mode, not a color filter. */
html.sf-contrast {
	--ink: #fff;
	--blue: #7eeeff;
	--cyan: #7eeeff;
	--aqua: #7dffbd;
	--violet: #ff9cff;
	--sun: #ffff00;
	--paper: #000;
	--mist: #000;
	--line: #fff;
	color-scheme: dark;
}

.sf-contrast body,
.sf-contrast .sf-main,
.sf-contrast .sf-shortcode-shell {
	background: #000;
	color: #fff;
}

.sf-contrast .sf-logo-default {
	display: none;
}

.sf-contrast .sf-logo-contrast {
	display: block;
}

.sf-contrast .sf-header {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
}

.sf-contrast .sf-nav a,
.sf-contrast .sf-nav-home,
.sf-contrast .sf-nav-group > button,
.sf-contrast .sf-nav-direct {
	color: #fff;
}

.sf-contrast .sf-nav a:hover,
.sf-contrast .sf-nav-home:hover,
.sf-contrast .sf-nav-group > button:hover,
.sf-contrast .sf-nav-group > button[aria-expanded="true"] {
	background: #ffff00;
	color: #000;
}

.sf-contrast .sf-nav-panel {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
}

.sf-contrast .sf-nav-panel a,
.sf-contrast .sf-nav-panel a strong,
.sf-contrast .sf-nav-panel a svg {
	color: #fff;
}

.sf-contrast .sf-nav-panel a:hover,
.sf-contrast .sf-nav-panel a:hover strong,
.sf-contrast .sf-nav-panel a:hover svg {
	background: #ffff00;
	color: #000;
}

.sf-contrast .sf-icon-button,
.sf-contrast button.sf-lang,
.sf-contrast .sf-menu-button,
.sf-contrast .sf-accessibility-toggle,
.sf-contrast .sf-chat-toggle {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
	color: #fff;
}

.sf-contrast .sf-login,
.sf-contrast .sf-primary-action,
.sf-contrast .sf-contact-form button[type="submit"] {
	background: #ffff00;
	border: 2px solid #ffff00;
	box-shadow: none;
	color: #000;
}

.sf-contrast .sf-login svg,
.sf-contrast .sf-primary-action svg,
.sf-contrast .sf-contact-form button[type="submit"] svg {
	color: #000;
}

.sf-contrast h1,
.sf-contrast h2,
.sf-contrast h3,
.sf-contrast h4,
.sf-contrast h5,
.sf-contrast h6,
.sf-contrast p,
.sf-contrast li,
.sf-contrast dt,
.sf-contrast dd,
.sf-contrast address,
.sf-contrast label,
.sf-contrast time,
.sf-contrast .sf-contact-form > header p:not(.sf-kicker),
.sf-contrast .sf-contact-form label > small,
.sf-contrast .sf-cultural-card h3 a {
	color: #fff;
}

.sf-contrast .sf-kicker,
.sf-contrast main a:not(.sf-primary-action):not(.sf-login),
.sf-contrast .sf-contact-details address small {
	color: #7eeeff;
}

.sf-contrast :is(
	.sf-command,
	.sf-guide,
	.sf-glass-card,
	.sf-route-grid article,
	.sf-quick-grid a,
	.sf-now-grid article,
	.sf-inclusion-grid article,
	.sf-registry,
	.sf-registry-row,
	.sf-member-panel,
	.sf-member-grid a,
	.sf-member-documents-list article,
	.sf-member-documents-empty,
	.sf-content,
	.sf-home-categories,
	.sf-place-card,
	.sf-event-card,
	.sf-news-grid article,
	.sf-planner,
	.sf-planner-form,
	.sf-contact-layout,
	.sf-contact-form,
	.sf-contact-services article,
	.sf-contact-map,
	.sf-language-lab-copy,
	.sf-phrase-panel,
	.sf-access-grid article,
	.sf-editorial-body,
	.sf-global-dialog,
	.sf-detail-dialog,
	.sf-now,
	.sf-now-live,
	.sf-now-result,
	.sf-cultural-card,
	.sf-comment-shell,
	.sf-legal-shell,
	.sf-chat-panel,
	.sf-chat-consent,
	.sf-chat-log,
	.sf-topic-strip,
	.sf-footer-cta,
	.sf-booking,
	.sf-booking-closed,
	.sf-booking-closed-copy dl > div
) {
	background: #000;
	border-color: #fff;
	box-shadow: none;
	color: #fff;
}

.sf-contrast input,
.sf-contrast select,
.sf-contrast textarea,
.sf-contrast .sf-language-search,
.sf-contrast .sf-language-list button,
.sf-contrast .sf-accessibility-panel button,
.sf-contrast .sf-accessibility-panel a,
.sf-contrast .sf-chat-log article,
.sf-contrast .sf-chat-consent label {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
	color: #fff;
}

.sf-contrast input::placeholder,
.sf-contrast textarea::placeholder {
	color: #ddd;
	opacity: 1;
}

.sf-contrast option {
	background: #000;
	color: #fff;
}

.sf-contrast .sf-planner-intro,
.sf-contrast .sf-planner-result,
.sf-contrast .sf-planner-nav,
.sf-contrast .sf-journey-choice > span {
	background: #000;
	border: 2px solid #fff !important;
	color: #fff;
}

.sf-contrast .sf-planner-intro p,
.sf-contrast .sf-planner-live small,
.sf-contrast .sf-journey-block legend small,
.sf-contrast .sf-journey-choice small,
.sf-contrast .sf-plan-copy > p:not(.sf-kicker),
.sf-contrast .sf-plan-metrics small,
.sf-contrast .sf-plan-route li small,
.sf-contrast .sf-plan-route li time,
.sf-contrast .sf-plan-editor label {
	color: #fff;
}

.sf-contrast .sf-journey-choice input:checked + span {
	background: #ffff00;
	border-color: #fff !important;
	box-shadow: inset 6px 0 0 #fff;
	color: #000;
}

.sf-contrast .sf-journey-choice input:checked + span b,
.sf-contrast .sf-journey-choice input:checked + span small,
.sf-contrast .sf-journey-choice input:checked + span svg {
	color: #000;
}

.sf-contrast .sf-plan-route li > a,
.sf-contrast .sf-plan-actions a,
.sf-contrast .sf-plan-actions button {
	color: #fff;
}

.sf-contrast input[type="checkbox"],
.sf-contrast input[type="radio"] {
	accent-color: #ffff00;
}

.sf-contrast .sf-accessibility-panel {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
	color: #fff;
}

.sf-contrast .sf-accessibility-panel [aria-pressed="true"],
.sf-contrast .sf-language-list button[aria-selected="true"] {
	background: #ffff00;
	border-color: #ffff00;
	color: #000;
}

.sf-contrast .sf-accessibility-panel [aria-pressed="true"] *,
.sf-contrast .sf-language-list button[aria-selected="true"] * {
	color: #000;
}

.sf-contrast .sf-contact-details {
	background: #000;
	border-right: 2px solid #fff;
}

.sf-contrast .sf-contact-hours {
	background: #111;
	border-color: #ffff00;
}

.sf-contrast .sf-contact-map a {
	background: #ffff00;
	color: #000;
}

.sf-contrast .sf-contact-map a svg {
	color: #000;
}

html.sf-contrast body .sf-planner .sf-journey-choice > span {
	background-color: #000 !important;
	border: 2px solid #fff !important;
	color: #fff !important;
}

html.sf-contrast body .sf-planner .sf-journey-choice input:checked + span {
	background-color: #ffff00 !important;
	border-color: #fff !important;
	color: #000 !important;
}

html.sf-contrast body .sf-planner .sf-journey-choice input:checked + span :is(b, small, svg) {
	color: #000 !important;
}

.sf-contrast .sf-mobile-nav,
.sf-contrast .sf-footer,
.sf-contrast .sf-footer-main,
.sf-contrast .sf-footer-bottom {
	background: #000;
	border-color: #fff;
	color: #fff;
}

.sf-contrast .sf-mobile-nav a,
.sf-contrast .sf-mobile-nav button,
.sf-contrast .sf-footer a,
.sf-contrast .sf-footer p,
.sf-contrast .sf-footer address,
.sf-contrast .sf-footer-bottom span {
	color: #fff;
}

.sf-contrast .sf-chat-head {
	background: #000 !important;
	border-color: #ffff00;
}

.sf-contrast .sf-chat-toggle > .sf-chat-toggle-icon,
.sf-contrast .sf-chat-avatar,
.sf-contrast .sf-chat-intro-mark {
	background: #ffff00;
	color: #000;
}

.sf-contrast a:focus-visible,
.sf-contrast button:focus-visible,
.sf-contrast input:focus-visible,
.sf-contrast select:focus-visible,
.sf-contrast textarea:focus-visible {
	outline: 4px solid #ffff00;
	outline-offset: 4px;
}

@media (max-width: 980px) {
	.sf-contrast .sf-contact-details {
		border-bottom: 2px solid #fff;
		border-right: 0;
	}
}

/* Readable fallback for historical imported pages still held by edge caches. */
.plsf-imported-content-page {
	color: #304e64;
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.72;
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(34px, 5vw, 72px) clamp(18px, 4vw, 44px);
}

.plsf-imported-content-page > .plsf-page-hero {
	background-color: #063653;
	background-position: center;
	background-size: cover;
	border: 0;
	border-radius: 0;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: end;
	margin: 0 0 clamp(36px, 6vw, 72px);
	min-height: clamp(330px, 42vw, 560px);
	overflow: hidden;
	padding: clamp(30px, 6vw, 76px);
	position: relative;
}

.plsf-imported-content-page > .plsf-page-hero::before {
	background: linear-gradient(90deg, rgba(2, 20, 35, .9), rgba(2, 31, 51, .4));
	content: "";
	inset: 0;
	position: absolute;
}

.plsf-imported-content-page > .plsf-page-hero > * {
	color: #fff;
	max-width: 820px;
	position: relative;
	z-index: 1;
}

.plsf-imported-content-page > .plsf-page-hero h1 {
	font-size: clamp(2.7rem, 6vw, 6rem);
	line-height: .94;
	margin: 12px 0 18px;
}

.plsf-imported-content-page .plsf-imported-richtext {
	display: grid;
	gap: clamp(28px, 5vw, 56px);
}

.plsf-imported-content-page .plsf-imported-text-block {
	margin: 0 auto;
	max-width: 900px;
}

.plsf-imported-content-page .plsf-imported-text-block p {
	margin: 0 0 1.15em;
}

.sf-contrast .plsf-imported-content-page,
.sf-contrast .plsf-imported-content-page .plsf-imported-text-block p {
	background: #000;
	color: #fff;
}

/* 5.3: verified local directory and resilient floating navigation. */
body::before {
	background: #f6fbfd;
	content: "";
	height: 18px;
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 999;
}

:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero {
	min-height: clamp(520px, 68vh, 650px);
}

:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero > img {
	object-position: center 48%;
}

:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero-copy {
	max-width: 980px;
}

:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero-copy h1 {
	font-size: clamp(3.25rem, 6.2vw, 6.5rem);
	line-height: .92;
	max-width: 940px;
	overflow-wrap: normal;
}

:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-shortcode-shell {
	padding-top: clamp(58px, 7vw, 96px);
}

.sf-directory {
	scroll-margin-top: 124px;
}

.sf-directory-head {
	align-items: end;
	border-bottom: 1px solid #c9dfe7;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding-bottom: 30px;
}

.sf-directory-head > div:first-child {
	max-width: 820px;
}

.sf-directory-head h2 {
	font-size: clamp(2.7rem, 4.7vw, 4.9rem);
	line-height: .96;
	margin: 10px 0 16px;
	max-width: 760px;
}

.sf-directory-head > div:first-child > p:last-child {
	color: #526f80;
	font-size: 1.06rem;
	line-height: 1.62;
	margin: 0;
	max-width: 740px;
}

.sf-directory-head-actions {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: flex-end;
}

.sf-directory-total {
	border-left: 4px solid #00b995;
	display: grid;
	min-width: 132px;
	padding-left: 14px;
}

.sf-directory-total strong {
	color: #06304f;
	font-size: 2.15rem;
	line-height: 1;
}

.sf-directory-total small {
	color: #5a7382;
	font-size: .72rem;
	font-weight: 900;
	line-height: 1.2;
	margin-top: 5px;
	text-transform: uppercase;
}

.sf-directory-head .sf-outline-action {
	align-items: center;
	background: #fff;
	border: 1px solid #a9cbd9;
	border-radius: 6px;
	color: #073d5d;
	display: inline-flex;
	font-weight: 950;
	gap: 9px;
	justify-content: center;
	min-height: 50px;
	padding: 12px 16px;
	text-decoration: none;
	white-space: nowrap;
}

.sf-directory-head .sf-outline-action:hover {
	background: #e9f8fc;
	border-color: #0b6dff;
}

.sf-directory-head .sf-outline-action svg {
	height: 19px;
	width: 19px;
}

.sf-directory .sf-category-portals {
	margin: 20px 0 28px;
	padding: 0;
}

.sf-directory .sf-category-portals button {
	border-radius: 6px;
	min-height: 48px;
	padding: 10px 15px;
}

.sf-business-grid article {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0 22px 22px;
}

.sf-business-media {
	display: block;
	margin: 0 -22px 18px;
}

.sf-business-grid .sf-business-media img {
	border-radius: 0;
	margin: 0;
	max-width: none;
	width: 100%;
}

.sf-business-grid h3 a {
	color: var(--ink);
	text-decoration: none;
}

.sf-business-open {
	align-items: center;
	color: var(--blue);
	display: inline-flex;
	font-weight: 950;
	gap: 7px;
	margin-top: auto;
	padding-top: 12px;
	text-decoration: none;
}

.sf-business-open svg {
	height: 17px;
	width: 17px;
}

.sf-directory-empty {
	background: #f7fbfc;
	border: 1px solid #c9dfe7;
	border-left: 6px solid var(--blue);
	border-radius: 0;
	box-shadow: none;
	margin-top: 0;
	min-height: 150px;
	padding: clamp(22px, 3vw, 36px);
}

.sf-directory-empty .sf-kicker {
	margin: 0 0 8px;
}

.sf-directory-empty h3 {
	font-size: clamp(1.4rem, 2.2vw, 2rem);
	line-height: 1.08;
	margin: 0;
}

.sf-directory-empty p[data-sf-directory-empty-copy] {
	font-size: .96rem;
	line-height: 1.55;
	max-width: 760px;
}

.sf-directory-crosslink {
	align-items: center;
	background: #062f47;
	color: #fff;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-top: clamp(42px, 6vw, 72px);
	padding: clamp(30px, 5vw, 58px);
}

.sf-directory-crosslink .sf-kicker {
	color: #5ce7ff;
	margin: 0;
}

.sf-directory-crosslink h3 {
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.8rem);
	line-height: .98;
	margin: 10px 0 16px;
	max-width: 900px;
}

.sf-directory-crosslink p:not(.sf-kicker) {
	color: #c8dce6;
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
	max-width: 740px;
}

.sf-directory-crosslink > a {
	align-items: center;
	background: #ffd052;
	border: 1px solid #ffd052;
	border-radius: 6px;
	color: #062238;
	display: inline-flex;
	font-weight: 950;
	gap: 9px;
	justify-content: center;
	min-height: 52px;
	padding: 13px 18px;
	text-decoration: none;
	white-space: nowrap;
}

.sf-directory-crosslink > a:hover {
	background: #fff;
	border-color: #fff;
}

.sf-directory-crosslink > a svg {
	height: 19px;
	width: 19px;
}

.sf-contrast body::before {
	background: #000;
}

.sf-contrast .sf-directory-head,
.sf-contrast .sf-directory-empty,
.sf-contrast .sf-business-grid article {
	background: #000;
	border-color: #fff;
	color: #fff;
}

.sf-contrast .sf-directory-head .sf-outline-action,
.sf-contrast .sf-directory-crosslink > a {
	background: #ffff00;
	border-color: #ffff00;
	color: #000;
}

.sf-contrast .sf-directory-total strong,
.sf-contrast .sf-directory-total small,
.sf-contrast .sf-directory-head > div:first-child > p:last-child,
.sf-contrast .sf-directory-empty p,
.sf-contrast .sf-business-grid h3 a,
.sf-contrast .sf-business-grid p {
	color: #fff;
}

.sf-contrast .sf-directory-crosslink {
	background: #000;
	border: 2px solid #fff;
}

@media (max-width: 1180px) {
	body::before {
		height: 14px;
	}

	:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero-copy h1 {
		font-size: clamp(3rem, 8vw, 5.2rem);
	}

	.sf-directory-head {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.sf-directory-head-actions {
		justify-content: space-between;
	}

	.sf-directory-crosslink {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.sf-directory-crosslink > a {
		justify-self: start;
	}
}

@media (max-width: 760px) {
	body::before {
		height: 8px;
	}

	:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero {
		min-height: 610px;
	}

	:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-page-hero-copy h1 {
		font-size: clamp(2.75rem, 13vw, 3.55rem);
	}

	:is(.sf-page-attivita-locali, .sf-page-mangiare-dormire) .sf-shortcode-shell {
		padding-top: 52px;
	}

	.sf-directory {
		scroll-margin-top: 90px;
	}

	.sf-directory-head {
		gap: 24px;
	}

	.sf-directory-head h2 {
		font-size: clamp(2.4rem, 11vw, 3.15rem);
	}

	.sf-directory-head-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.sf-directory-empty {
		align-items: start;
		grid-template-columns: auto 1fr;
	}

	.sf-directory-empty > a {
		grid-column: 1 / -1;
	}

	.sf-directory-crosslink {
		gap: 24px;
		margin-inline: -18px;
		padding: 42px 22px;
	}

	.sf-directory-crosslink > a {
		justify-self: stretch;
		white-space: normal;
	}
}

/* 5.3.1: compact event dates, without full-height colour rails. */
body::before {
	height: 22px;
}

.sf-event-grid {
	align-items: stretch;
}

.sf-event-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sf-event-card > img {
	flex: 0 0 auto;
	height: auto;
	max-height: none;
}

.sf-event-date {
	background: #fff;
	border: 0;
	border-radius: 6px;
	border-top: 5px solid var(--sun);
	box-shadow: 0 14px 32px rgba(2, 27, 43, .22);
	left: 16px;
	min-height: 74px;
	padding: 9px 8px 8px;
	position: absolute;
	top: 16px;
	width: 68px;
	z-index: 2;
}

.sf-event-date strong {
	font-size: 2.05rem;
}

.sf-event-date span {
	color: #123b56;
	font-size: .68rem;
}

.sf-event-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 22px;
}

.sf-event-copy h3 {
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.04;
}

.sf-event-copy > p:not(.sf-kicker) {
	align-items: start;
	font-size: .82rem;
	grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
	line-height: 1.35;
}

.sf-event-copy .sf-card-actions {
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px;
	margin-top: auto;
	padding-top: 8px;
}

.sf-event-copy .sf-card-actions > a:first-child {
	background: #062f47;
	border-color: #062f47;
	color: #fff;
	grid-column: 1 / -1;
	justify-content: center;
}

.sf-event-copy .sf-card-actions > button:not(.sf-icon-button) {
	justify-content: center;
}

.sf-event-copy .sf-card-actions .sf-icon-button {
	height: 42px;
	min-height: 42px;
	width: 42px;
}

.sf-contrast .sf-event-date {
	background: #000;
	border: 2px solid #fff;
	border-top: 5px solid #ffff00;
}

.sf-contrast .sf-event-date strong,
.sf-contrast .sf-event-date span {
	color: #fff;
}

.sf-contrast .sf-event-copy .sf-card-actions > a:first-child {
	background: #ffff00;
	border-color: #ffff00;
	color: #000;
}

@media (max-width: 1180px) {
	body::before {
		height: 18px;
	}
}

@media (max-width: 760px) {
	body::before {
		height: 12px;
	}

	.sf-event-date {
		left: 12px;
		top: 12px;
	}

	.sf-event-copy {
		padding: 20px 18px;
	}
}

/* 5.3.2: direct access to the official privacy complaint procedure. */
.sf-legal-rights article {
	display: flex;
	flex-direction: column;
}

.sf-guarantor-complaint {
	align-items: center;
	align-self: flex-start;
	background: #ffd052;
	border: 1px solid #e3b62f;
	border-radius: 6px;
	color: #062238;
	display: inline-flex;
	font-size: .82rem;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	line-height: 1.2;
	margin-top: auto;
	min-height: 46px;
	padding: 10px 14px;
	text-decoration: none;
}

.sf-guarantor-complaint:hover {
	background: #fff;
	border-color: #0b6dff;
	color: #075fca;
}

.sf-guarantor-complaint svg {
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.sf-contrast .sf-guarantor-complaint,
.sf-contrast .sf-guarantor-complaint:hover {
	background: #ffff00;
	border-color: #ffff00;
	color: #000;
}

@media (max-width: 760px) {
	.sf-guarantor-complaint {
		align-self: stretch;
	}
}

/* 5.11.3: professional event detail and ticketing flow. */
.sf-detail-event {
	background: #f4f8fb;
}

.sf-event-hero {
	background: #062238;
	color: #fff;
	padding: 112px 0 0;
}

.sf-event-hero-inner {
	margin: 0 auto;
	width: min(1380px, calc(100% - 64px));
}

.sf-event-hero .sf-breadcrumb {
	margin-bottom: 22px;
}

.sf-event-hero .sf-breadcrumb a,
.sf-event-hero .sf-breadcrumb span {
	color: #dcecf5;
}

.sf-event-hero-layout {
	isolation: isolate;
	min-height: 520px;
	overflow: hidden;
	position: relative;
}

.sf-event-hero-layout::after {
	background: linear-gradient(90deg, rgba(4, 25, 41, .97) 0%, rgba(4, 25, 41, .86) 44%, rgba(4, 25, 41, .24) 78%, rgba(4, 25, 41, .08) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.sf-event-hero-layout > figure {
	inset: 0;
	margin: 0;
	position: absolute;
	z-index: -2;
}

.sf-event-hero-layout > figure img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.sf-event-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 520px;
	padding: 54px 58px;
	width: min(760px, 68%);
}

.sf-event-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 20px;
}

.sf-event-labels span {
	align-items: center;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 4px;
	display: inline-flex;
	font-size: .75rem;
	font-weight: 900;
	line-height: 1;
	min-height: 31px;
	padding: 7px 10px;
	text-transform: uppercase;
}

.sf-event-labels .is-scheduled {
	background: #0cc8a8;
	border-color: #0cc8a8;
	color: #062238;
}

.sf-event-labels .is-postponed {
	background: #ffd052;
	border-color: #ffd052;
	color: #062238;
}

.sf-event-labels .is-cancelled,
.sf-event-labels .is-sold_out {
	background: #e74455;
	border-color: #e74455;
	color: #fff;
}

.sf-event-hero-copy h1 {
	font-size: 4rem;
	line-height: 1.02;
	margin: 0;
	max-width: 720px;
}

.sf-event-lead {
	color: #edf7fb;
	font-size: 1.08rem;
	font-weight: 650;
	line-height: 1.6;
	margin: 22px 0 0;
	max-width: 660px;
}

.sf-event-primary-facts {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 32px 0 0;
}

.sf-event-primary-facts > div {
	border-left: 2px solid #17c3e6;
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	padding: 3px 10px 3px 13px;
}

.sf-event-primary-facts svg {
	grid-row: 1 / span 2;
	height: 19px;
	margin-top: 2px;
	width: 19px;
}

.sf-event-primary-facts dt {
	color: #a9c3d1;
	font-size: .72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.sf-event-primary-facts dd {
	font-size: .88rem;
	font-weight: 800;
	line-height: 1.35;
	margin: 5px 0 0;
}

.sf-event-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 34px;
}

.sf-event-hero-actions a,
.sf-event-hero-actions button {
	align-items: center;
	background: rgba(4, 25, 41, .62);
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 5px;
	color: #fff;
	display: inline-flex;
	font: inherit;
	font-size: .86rem;
	font-weight: 900;
	gap: 8px;
	justify-content: center;
	min-height: 48px;
	padding: 10px 16px;
	text-decoration: none;
}

.sf-event-hero-actions .sf-event-cta {
	background: #ffd052;
	border-color: #ffd052;
	color: #062238;
	min-width: 230px;
}

.sf-event-hero-actions a:hover,
.sf-event-hero-actions button:hover {
	background: #fff;
	border-color: #fff;
	color: #062238;
}

.sf-event-subnav {
	background: #fff;
	border-bottom: 1px solid #cfe0e9;
	box-shadow: 0 12px 28px rgba(6, 34, 56, .08);
}

.sf-event-subnav > div {
	align-items: stretch;
	display: flex;
	margin: 0 auto;
	overflow-x: auto;
	width: min(1240px, calc(100% - 64px));
}

.sf-event-subnav a,
.sf-event-subnav button {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	color: #173b51;
	display: inline-flex;
	flex: 0 0 auto;
	font: inherit;
	font-size: .85rem;
	font-weight: 900;
	gap: 8px;
	justify-content: center;
	min-height: 66px;
	padding: 10px 20px;
	text-decoration: none;
	white-space: nowrap;
}

.sf-event-subnav button {
	margin-left: auto;
}

.sf-event-subnav a:hover,
.sf-event-subnav button:hover {
	border-bottom-color: #0b6dff;
	color: #075fca;
}

.sf-event-information {
	background: #fff;
	margin: 0 auto;
	padding-bottom: 88px;
	padding-top: 88px;
	width: min(1240px, calc(100% - 64px));
}

.sf-detail-event .sf-detail-content {
	grid-template-columns: minmax(0, 1fr) 360px;
}

.sf-detail-event .sf-detail-body {
	font-size: 1.02rem;
	line-height: 1.75;
}

.sf-detail-event .sf-detail-body > :first-child {
	margin-top: 0;
}

.sf-detail-event .sf-detail-aside > section {
	background: #edf7fb;
	border: 1px solid #c8e0ec;
	border-radius: 6px;
	padding: 24px;
}

.sf-detail-event .sf-detail-aside h2 {
	font-size: 1.45rem;
	margin: 6px 0 12px;
}

#biglietti,
#informazioni-evento,
#luogo-evento,
.sf-detail-event .sf-detail-gallery {
	scroll-margin-top: 125px;
}

.sf-ticketing {
	background: #edf4f8;
	border: 0;
	margin: 0;
	padding: 0;
}

.sf-ticketing-shell {
	margin: 0 auto;
	padding: 82px 0 96px;
	width: min(1240px, calc(100% - 64px));
}

.sf-ticketing-heading {
	align-items: end;
	display: flex;
	gap: 48px;
	justify-content: space-between;
	margin-bottom: 34px;
}

.sf-ticketing-heading h2 {
	font-size: 3rem;
	line-height: 1.08;
	margin: 8px 0 12px;
}

.sf-ticketing-heading > div > p:last-child {
	color: #4c697b;
	font-weight: 650;
	line-height: 1.55;
	margin: 0;
	max-width: 720px;
}

.sf-ticketing-official {
	align-items: center;
	border-left: 3px solid #0cc8a8;
	display: grid;
	flex: 0 0 260px;
	grid-template-columns: 32px minmax(0, 1fr);
	padding: 8px 0 8px 16px;
}

.sf-ticketing-official svg {
	color: #008e78;
	grid-row: 1 / span 2;
	height: 24px;
	width: 24px;
}

.sf-ticketing-official strong {
	font-size: .9rem;
}

.sf-ticketing-official small {
	color: #607989;
	font-size: .74rem;
	font-weight: 750;
	margin-top: 3px;
}

.sf-ticketing-layout {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) 370px;
}

.sf-ticketing-form,
.sf-ticket-summary {
	background: #fff;
	border: 1px solid #c8dce7;
	border-radius: 6px;
}

.sf-ticketing-form {
	display: block;
	padding: 32px;
}

.sf-ticketing-step {
	align-items: center;
	border-bottom: 1px solid #d7e5ec;
	display: flex;
	gap: 14px;
	margin-bottom: 28px;
	padding-bottom: 24px;
}

.sf-ticketing-step > span {
	align-items: center;
	background: #0b6dff;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	flex: 0 0 38px;
	font-size: .9rem;
	font-weight: 950;
	height: 38px;
	justify-content: center;
}

.sf-ticketing-step h3 {
	font-size: 1.25rem;
	margin: 0;
}

.sf-ticketing-step p {
	color: #5e7786;
	font-size: .86rem;
	font-weight: 650;
	margin: 4px 0 0;
}

.sf-ticketing-fields {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-ticketing-fields label {
	color: #062238;
	display: grid;
	font-size: .83rem;
	font-weight: 900;
	gap: 8px;
}

.sf-ticketing-fields label:last-child {
	grid-column: 1 / -1;
	max-width: 280px;
}

.sf-ticketing input,
.sf-ticketing select,
.sf-ticketing textarea {
	background: #fff;
	border: 1px solid #9dbbc9;
	border-radius: 5px;
	box-sizing: border-box;
	font: inherit;
	min-height: 52px;
	padding: 11px 13px;
	width: 100%;
}

.sf-ticketing input:focus,
.sf-ticketing select:focus,
.sf-ticketing textarea:focus {
	border-color: #0b6dff;
	box-shadow: 0 0 0 3px rgba(11, 109, 255, .16);
	outline: 0;
}

.sf-ticketing-fields small {
	color: #607989;
	font-size: .72rem;
	font-weight: 700;
}

.sf-ticketing .sf-seat-map {
	border: 1px solid #c8dce7;
	border-radius: 5px;
	margin: 28px 0 0;
	padding: 22px;
}

.sf-ticketing .sf-seat-map legend {
	font-size: .95rem;
	font-weight: 950;
	padding: 0 8px;
}

.sf-ticketing .sf-consent {
	align-items: flex-start;
	color: #173b51;
	display: flex;
	font-size: .8rem;
	font-weight: 700;
	gap: 10px;
	line-height: 1.45;
	margin: 26px 0 0;
}

.sf-ticketing .sf-consent input {
	flex: 0 0 20px;
	height: 20px;
	margin: 1px 0 0;
	min-height: 20px;
	padding: 0;
	width: 20px;
}

.sf-ticketing .sf-consent a {
	color: #075fca;
}

.sf-ticketing-submit {
	align-items: center;
	display: flex;
	gap: 18px;
	margin-top: 22px;
}

.sf-ticketing-submit > button {
	align-items: center;
	background: #0b6dff;
	border: 1px solid #0b6dff;
	border-radius: 5px;
	color: #fff;
	display: inline-flex;
	font: inherit;
	font-size: .92rem;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	min-height: 52px;
	padding: 12px 22px;
}

.sf-ticketing-submit > button:hover {
	background: #062238;
	border-color: #062238;
}

.sf-ticketing-submit small {
	align-items: center;
	color: #607989;
	display: inline-flex;
	font-size: .7rem;
	font-weight: 700;
	gap: 6px;
	line-height: 1.35;
}

.sf-ticketing-submit small svg {
	flex: 0 0 auto;
	height: 16px;
	width: 16px;
}

.sf-ticketing [data-sf-ticket-status] {
	font-size: .84rem;
	font-weight: 800;
	margin: 18px 0 0;
}

.sf-ticket-summary {
	padding: 28px;
	position: sticky;
	top: 118px;
}

.sf-ticket-summary h3 {
	font-size: 1.5rem;
	line-height: 1.2;
	margin: 8px 0 24px;
}

.sf-ticket-summary dl {
	display: grid;
	gap: 16px;
	margin: 0;
}

.sf-ticket-summary dl > div {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
}

.sf-ticket-summary dl svg {
	color: #008caf;
	grid-row: 1 / span 2;
	height: 18px;
	margin-top: 2px;
	width: 18px;
}

.sf-ticket-summary dt {
	color: #607989;
	font-size: .69rem;
	font-weight: 900;
	text-transform: uppercase;
}

.sf-ticket-summary dd {
	font-size: .86rem;
	font-weight: 850;
	line-height: 1.35;
	margin: 4px 0 0;
}

.sf-ticket-summary dd small {
	color: #607989;
	display: block;
	font-size: .74rem;
	font-weight: 650;
	margin-top: 3px;
}

.sf-ticket-summary-price {
	align-items: end;
	border-bottom: 1px solid #d7e5ec;
	border-top: 1px solid #d7e5ec;
	display: flex;
	justify-content: space-between;
	margin: 24px 0;
	padding: 20px 0;
}

.sf-ticket-summary-price span {
	color: #607989;
	font-size: .75rem;
	font-weight: 800;
}

.sf-ticket-summary-price strong {
	font-size: 1.35rem;
}

.sf-ticket-availability > div {
	display: flex;
	font-size: .75rem;
	font-weight: 850;
	justify-content: space-between;
}

.sf-ticket-availability i {
	background: #dce8ee;
	border-radius: 2px;
	display: block;
	height: 6px;
	margin-top: 9px;
	overflow: hidden;
}

.sf-ticket-availability i span {
	background: #0cc8a8;
	display: block;
	height: 100%;
}

.sf-ticket-summary ul {
	border-top: 1px solid #d7e5ec;
	display: grid;
	gap: 11px;
	list-style: none;
	margin: 24px 0 0;
	padding: 20px 0 0;
}

.sf-ticket-summary li {
	align-items: center;
	color: #456477;
	display: flex;
	font-size: .74rem;
	font-weight: 750;
	gap: 9px;
}

.sf-ticket-summary li svg {
	color: #008e78;
	flex: 0 0 auto;
	height: 17px;
	width: 17px;
}

.sf-detail-event .sf-detail-gallery {
	margin-top: 0;
}

.sf-detail-event .sf-event-access {
	margin: 0;
	padding: 76px max(32px, calc((100% - 1240px) / 2));
}

.sf-contrast .sf-event-hero,
.sf-contrast .sf-event-hero-layout,
.sf-contrast .sf-ticketing,
.sf-contrast .sf-ticketing-shell,
.sf-contrast .sf-event-information {
	background: #000;
	color: #fff;
}

.sf-contrast .sf-event-hero-layout::after {
	background: rgba(0, 0, 0, .86);
}

.sf-contrast .sf-event-subnav,
.sf-contrast .sf-ticketing-form,
.sf-contrast .sf-ticket-summary,
.sf-contrast .sf-detail-event .sf-detail-aside > section {
	background: #000;
	border-color: #fff;
	color: #fff;
}

.sf-contrast .sf-event-subnav a,
.sf-contrast .sf-event-subnav button,
.sf-contrast .sf-ticketing-heading > div > p:last-child,
.sf-contrast .sf-ticketing-step p,
.sf-contrast .sf-ticketing-fields label,
.sf-contrast .sf-ticketing-fields small,
.sf-contrast .sf-ticketing .sf-consent,
.sf-contrast .sf-ticketing-submit small,
.sf-contrast .sf-ticket-summary dt,
.sf-contrast .sf-ticket-summary dd,
.sf-contrast .sf-ticket-summary dd small,
.sf-contrast .sf-ticket-summary-price span,
.sf-contrast .sf-ticket-summary li {
	color: #fff;
}

.sf-contrast .sf-ticketing input {
	background: #000;
	border-color: #fff;
	color: #fff;
}

.sf-contrast .sf-ticketing-submit > button,
.sf-contrast .sf-event-hero-actions .sf-event-cta {
	background: #ffff00;
	border-color: #ffff00;
	color: #000;
}

@media (max-width: 980px) {
	.sf-event-hero-copy {
		padding-left: 36px;
		padding-right: 36px;
		width: 82%;
	}

	.sf-event-hero-copy h1 {
		font-size: 3.25rem;
	}

	.sf-event-primary-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-detail-event .sf-detail-content,
	.sf-ticketing-layout {
		grid-template-columns: 1fr;
	}

	.sf-ticket-summary {
		position: static;
	}
}

@media (max-width: 760px) {
	.sf-event-hero {
		padding-top: 102px;
	}

	.sf-event-hero-inner {
		width: 100%;
	}

	.sf-event-hero .sf-breadcrumb {
		margin: 0 20px 15px;
	}

	.sf-event-hero-layout,
	.sf-event-hero-copy {
		min-height: 590px;
	}

	.sf-event-hero-layout::after {
		background: linear-gradient(0deg, rgba(4, 25, 41, .98) 0%, rgba(4, 25, 41, .86) 60%, rgba(4, 25, 41, .24) 100%);
	}

	.sf-event-hero-copy {
		justify-content: flex-end;
		padding: 40px 20px;
		width: 100%;
	}

	.sf-event-hero-copy h1 {
		font-size: 2.45rem;
	}

	.sf-event-lead {
		font-size: .95rem;
		line-height: 1.5;
	}

	.sf-event-primary-facts {
		grid-template-columns: 1fr;
		margin-top: 24px;
	}

	.sf-event-primary-facts > div:nth-child(3) {
		display: none;
	}

	.sf-event-hero-actions {
		margin-top: 24px;
		padding-right: 82px;
	}

	.sf-event-hero-actions .sf-event-cta {
		flex: 1 1 100%;
		min-width: 0;
	}

	.sf-event-hero-actions button {
		flex: 1 1 0;
	}

	.sf-event-subnav > div,
	.sf-event-information,
	.sf-ticketing-shell {
		width: calc(100% - 32px);
	}

	.sf-event-subnav a,
	.sf-event-subnav button {
		min-height: 56px;
		padding-left: 14px;
		padding-right: 14px;
	}

	.sf-event-subnav button {
		margin-left: 0;
	}

	.sf-event-information {
		padding-bottom: 58px;
		padding-top: 58px;
	}

	.sf-ticketing-shell {
		padding-bottom: 68px;
		padding-top: 64px;
	}

	.sf-ticketing-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 22px;
	}

	.sf-ticketing-heading h2 {
		font-size: 2.15rem;
	}

	.sf-ticketing-official {
		flex-basis: auto;
		width: 100%;
	}

	.sf-ticketing-form,
	.sf-ticket-summary {
		padding: 22px 18px;
	}

	.sf-ticketing-fields {
		grid-template-columns: 1fr;
	}

	.sf-ticketing-fields label:last-child {
		grid-column: auto;
		max-width: none;
	}

	.sf-ticketing-submit {
		align-items: stretch;
		flex-direction: column;
	}

	.sf-ticketing-submit > button {
		width: 100%;
	}

	.sf-detail-event .sf-event-access {
		padding: 56px 20px;
	}
}

/* Override finale per evitare che le regole storiche dell'area soci annullino la card 3D. */
.sf-member-card { display: block; width: min(1420px, calc(100% - 48px)); padding: 42px; }
.sf-member-card > header { max-width: 760px; margin-bottom: 30px; }
.sf-member-card-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .7fr); gap: 40px; align-items: center; }
.sf-membership-link form { grid-template-columns: 1fr; padding: 20px; border-left: 5px solid #0b6dff; background: #f1f8fb; }
@media (max-width: 980px) {
	.sf-member-card-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.sf-member-card { width: calc(100% - 24px); padding: 25px 14px; }
	.sf-membership-link { width: calc(100% - 24px); margin-bottom: 120px; }
	.sf-membership-link form { grid-template-columns: 1fr; padding: 15px 12px; }
}

/* Esperienze: griglia adattiva fino a quattro elementi, poi carosello. */
.sf-experience-showcase {
	margin-inline: auto;
	max-width: 100%;
	position: relative;
}

.sf-experience-showcase.is-static {
	width: min(100%, calc((var(--experience-count) * 340px) + ((var(--experience-count) - 1) * 18px)));
}

.sf-experience-showcase .sf-experience-grid {
	display: grid;
	gap: 18px;
	max-width: none;
}

.sf-experience-showcase.is-static .sf-experience-grid {
	grid-template-columns: repeat(var(--experience-count), minmax(0, 1fr));
}

.sf-experience-showcase.is-carousel .sf-experience-grid {
	cursor: grab;
	grid-auto-columns: minmax(250px, calc((100% - 54px) / 4));
	grid-auto-flow: column;
	grid-template-columns: none;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 12px 2px 22px;
	scroll-snap-type: x mandatory;
	scrollbar-color: #8db1c1 transparent;
	scrollbar-width: thin;
}

.sf-experience-showcase.is-carousel .sf-experience-grid.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.sf-experience-showcase.is-carousel .sf-experience-grid::-webkit-scrollbar { height: 5px; }
.sf-experience-showcase.is-carousel .sf-experience-grid::-webkit-scrollbar-track { background: transparent; }
.sf-experience-showcase.is-carousel .sf-experience-grid::-webkit-scrollbar-thumb { background: #8db1c1; border-radius: 5px; }

.sf-experience-showcase .sf-experience-card {
	align-content: end;
	aspect-ratio: 4 / 5;
	min-width: 0;
	padding: clamp(18px, 2vw, 24px);
	scroll-snap-align: start;
	transform: translateY(0);
	transition: box-shadow .35s ease, transform .35s ease;
}

.sf-experience-showcase.is-ready .sf-experience-card {
	animation: sf-experience-reveal .62s cubic-bezier(.2, .75, .25, 1) both;
	animation-delay: calc(var(--experience-index) * 65ms);
}

.sf-experience-showcase .sf-experience-card img {
	transition: filter .4s ease, transform .65s cubic-bezier(.2, .75, .25, 1);
}

.sf-experience-showcase .sf-experience-card:hover,
.sf-experience-showcase .sf-experience-card:focus-visible {
	box-shadow: 0 32px 86px rgba(3, 30, 56, .3);
	transform: translateY(-7px);
}

.sf-experience-showcase .sf-experience-card:hover img,
.sf-experience-showcase .sf-experience-card:focus-visible img {
	transform: scale(1.045);
}

.sf-experience-showcase .sf-experience-card:focus-visible {
	outline: 3px solid #ffd35a;
	outline-offset: 3px;
}

.sf-experience-showcase .sf-experience-card h3 {
	display: -webkit-box;
	font-size: clamp(1.55rem, 1.85vw, 2.25rem);
	font-weight: 1000;
	letter-spacing: 0;
	line-height: 1;
	margin: 9px 0 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.sf-experience-showcase .sf-experience-card p {
	display: -webkit-box;
	font-size: clamp(.9rem, 1vw, 1.02rem);
	font-weight: 820;
	line-height: 1.24;
	margin: 10px 0 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}

.sf-experience-controls {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin: 0 0 6px;
}

.sf-experience-controls output {
	align-items: baseline;
	color: #678496;
	display: flex;
	font-size: .76rem;
	font-weight: 900;
	gap: 7px;
	margin-right: 6px;
}

.sf-experience-controls output span:first-child {
	color: var(--ink);
	font-size: 1.3rem;
}

.sf-experience-controls button {
	align-items: center;
	background: #fff;
	border: 1px solid #bcd6e1;
	border-radius: 5px;
	color: #063b5b;
	cursor: pointer;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	padding: 0;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
	width: 48px;
}

.sf-experience-controls button:not(:disabled):hover {
	background: #063b5b;
	border-color: #063b5b;
	color: #fff;
}

.sf-experience-controls button:disabled { cursor: default; opacity: .34; }
.sf-experience-controls svg { height: 20px; width: 20px; }

@keyframes sf-experience-reveal {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1120px) {
	.sf-experience-showcase.is-carousel .sf-experience-grid {
		grid-auto-columns: minmax(250px, calc((100% - 36px) / 3));
	}

	.sf-experience-showcase.is-static[style*="--experience-count: 4"] .sf-experience-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.sf-experience-showcase.is-carousel .sf-experience-grid {
		gap: 12px;
		grid-auto-columns: min(82vw, 340px);
		margin-right: -18px;
		padding-right: 18px;
	}

	.sf-experience-showcase.is-static {
		width: 100%;
	}

	.sf-experience-showcase.is-static .sf-experience-grid {
		grid-template-columns: 1fr;
	}

	.sf-experience-showcase .sf-experience-card {
		aspect-ratio: 4 / 4.7;
	}

	.sf-experience-controls {
		justify-content: space-between;
	}

	.sf-experience-controls output { margin-right: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.sf-experience-showcase.is-ready .sf-experience-card { animation: none; }
	.sf-experience-showcase .sf-experience-card,
	.sf-experience-showcase .sf-experience-card img { transition: none; }
}

.sf-support-woocommerce {
	display: grid;
	grid-template-columns: minmax(150px, .55fr) minmax(190px, .85fr) auto;
	gap: 14px;
	align-items: end;
	padding: 18px;
	margin: 18px 0;
	border: 1px solid color-mix(in srgb, var(--sf-ink) 12%, transparent);
	background: #f7fbfa;
	border-radius: 8px;
}

.sf-support-woocommerce label {
	display: block;
	font-weight: 800;
	color: var(--sf-ink);
}

.sf-support-woocommerce input,
.sf-support-woocommerce select {
	width: 100%;
	min-height: 46px;
	margin-top: 6px;
	border: 1px solid color-mix(in srgb, var(--sf-ink) 20%, transparent);
	border-radius: 6px;
	background: #fff;
	padding: 0 12px;
	font: inherit;
}

.sf-support-woocommerce button {
	min-height: 46px;
	border: 0;
	border-radius: 6px;
	background: var(--sf-ink);
	color: #fff;
	font-weight: 900;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.sf-support-woocommerce small {
	grid-column: 1 / -1;
	color: var(--sf-muted);
}

.sf-support-alert {
	padding: 12px 14px;
	background: #fff4e5;
	border-left: 4px solid #d87b00;
	color: #6d3e00;
	font-weight: 800;
}

.sf-member-payments {
	margin: clamp(24px, 5vw, 54px) 0;
	padding: clamp(20px, 4vw, 36px);
	background: #f7fbfa;
	border: 1px solid color-mix(in srgb, var(--sf-ink) 10%, transparent);
	border-radius: 8px;
}

.sf-member-payments > header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.sf-member-payments > header h2,
.sf-member-payments > header p {
	margin: 0;
}

.sf-member-payments > header a {
	flex: 0 0 auto;
	text-decoration: none;
	font-weight: 900;
	color: var(--sf-ink);
	border: 1px solid color-mix(in srgb, var(--sf-ink) 18%, transparent);
	border-radius: 6px;
	padding: 10px 14px;
	background: #fff;
}

.sf-member-payment-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 12px;
}

.sf-member-payment-list article {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--sf-ink) 10%, transparent);
	border-radius: 8px;
	padding: 16px;
}

.sf-member-payment-list article > div,
.sf-member-payment-list footer {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
}

.sf-member-payment-list strong,
.sf-member-payment-list b {
	color: var(--sf-ink);
}

.sf-member-payment-list span {
	font-size: .82rem;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--sf-green);
}

.sf-member-payment-list p {
	min-height: 44px;
	margin: 12px 0;
	color: var(--sf-muted);
}

.sf-member-payment-list time {
	color: var(--sf-muted);
	font-size: .92rem;
}

@media (max-width: 760px) {
	.sf-support-woocommerce {
		grid-template-columns: 1fr;
	}

	.sf-member-payments > header {
		display: block;
	}

	.sf-member-payments > header a {
		display: inline-flex;
		margin-top: 14px;
	}
}

.sf-ticket-a4-shell,
.sf-my-tickets,
.sf-ticket-scanner {
	background: #f2f7f9;
	color: var(--ink);
	padding: 64px max(22px, calc((100% - 1240px) / 2)) 92px;
}

.sf-ticket-print-actions,
.sf-my-tickets > header,
.sf-ticket-scanner > header {
	align-items: end;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}

.sf-ticket-print-actions a,
.sf-ticket-print-actions button,
.sf-my-tickets > header a,
.sf-ticket-scanner > header a,
.sf-wallet-ticket aside a,
.sf-ticket-manual button,
.sf-ticket-camera-actions button,
.sf-ticket-scan-result button {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(4, 21, 37, .16);
	border-radius: 6px;
	color: var(--ink);
	display: inline-flex;
	font: inherit;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	min-height: 44px;
	padding: 10px 14px;
	text-decoration: none;
}

.sf-ticket-print-actions button,
.sf-ticket-camera-actions button:first-child,
.sf-ticket-manual button,
.sf-ticket-scan-result button {
	background: #0068ff;
	border-color: #0068ff;
	color: #fff;
}

.sf-ticket-a4 {
	background: #071018;
	border: 1px solid rgba(4, 21, 37, .18);
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(4, 21, 37, .22);
	color: #fff;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: min(1160px, 100%);
}

.sf-ticket-a4::before {
	background-image: linear-gradient(90deg, rgba(7, 16, 24, .96), rgba(7, 16, 24, .72), rgba(7, 16, 24, .9)), var(--sf-ticket-cover);
	background-position: center;
	background-size: cover;
	content: "";
	filter: saturate(1.14);
	inset: 0;
	position: absolute;
}

.sf-ticket-a4 > * {
	position: relative;
	z-index: 1;
}

.sf-ticket-a4-top,
.sf-ticket-a4-footer {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 24px;
}

.sf-ticket-a4-top {
	background: rgba(6, 104, 255, .22);
	border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.sf-ticket-a4-top div {
	align-items: center;
	display: flex;
	gap: 14px;
}

.sf-ticket-a4-top img {
	height: 36px;
	width: auto;
}

.sf-ticket-a4-top span,
.sf-ticket-a4-top strong,
.sf-ticket-a4-stub > span,
.sf-ticket-a4-footer {
	font-size: .75rem;
	font-weight: 950;
	letter-spacing: 0;
	text-transform: uppercase;
}

.sf-ticket-a4-top strong {
	background: #00d69a;
	border-radius: 999px;
	color: #03231b;
	padding: 8px 12px;
}

.sf-ticket-a4.is-pending_payment .sf-ticket-a4-top strong,
.sf-ticket-a4.is-cancelled .sf-ticket-a4-top strong,
.sf-ticket-a4.is-already_used .sf-ticket-a4-top strong {
	background: #ffd35a;
	color: #301f00;
}

.sf-ticket-a4-body {
	display: grid;
	grid-template-columns: minmax(310px, .95fr) minmax(360px, 1.25fr) 250px;
	min-height: 420px;
}

.sf-ticket-a4-info,
.sf-ticket-a4-stub {
	background: rgba(7, 16, 24, .78);
	padding: 30px 26px;
}

.sf-ticket-a4-info {
	border-right: 1px dashed rgba(255, 255, 255, .38);
}

.sf-ticket-a4-info h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: 1.04;
	margin: 8px 0 24px;
	overflow-wrap: anywhere;
}

.sf-ticket-a4-info dl,
.sf-ticket-a4-stub dl,
.sf-wallet-ticket dl,
.sf-ticket-scan-result dl {
	display: grid;
	gap: 12px;
	margin: 0;
}

.sf-ticket-a4-info dl {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-ticket-a4-info dt,
.sf-ticket-a4-stub dt,
.sf-wallet-ticket dt,
.sf-ticket-scan-result dt {
	color: rgba(255, 255, 255, .62);
	font-size: .66rem;
	font-weight: 950;
	text-transform: uppercase;
}

.sf-ticket-a4-info dd,
.sf-ticket-a4-stub dd,
.sf-wallet-ticket dd,
.sf-ticket-scan-result dd {
	font-weight: 850;
	line-height: 1.25;
	margin: 4px 0 0;
	overflow-wrap: anywhere;
}

.sf-ticket-a4-info small,
.sf-ticket-a4-stub small {
	color: rgba(255, 255, 255, .7);
	display: block;
	font-size: .72rem;
	font-weight: 700;
	margin-top: 4px;
}

.sf-ticket-a4-cover {
	display: grid;
	min-width: 0;
	overflow: hidden;
	position: relative;
}

.sf-ticket-a4-cover img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-ticket-a4-cover::after {
	background: linear-gradient(0deg, rgba(7, 16, 24, .82), rgba(7, 16, 24, .05) 54%);
	content: "";
	inset: 0;
	position: absolute;
}

.sf-ticket-a4-cover div {
	align-self: end;
	padding: 24px;
	position: absolute;
	z-index: 1;
}

.sf-ticket-a4-cover span {
	color: #00d5ff;
	display: block;
	font-size: .72rem;
	font-weight: 950;
	text-transform: uppercase;
}

.sf-ticket-a4-cover strong {
	display: block;
	font-size: 1.8rem;
	line-height: 1;
	margin-top: 6px;
	overflow-wrap: anywhere;
}

.sf-ticket-a4-stub {
	border-left: 1px dashed rgba(255, 255, 255, .38);
	display: grid;
	gap: 14px;
	justify-items: center;
	text-align: center;
}

.sf-ticket-a4-qr,
.sf-wallet-ticket aside > div {
	background: #fff;
	border-radius: 8px;
	padding: 10px;
}

.sf-ticket-a4-stub > strong,
.sf-wallet-ticket aside > strong {
	color: #00d5ff;
	font-size: 1rem;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.sf-ticket-a4-stub dl {
	justify-self: stretch;
	text-align: left;
}

.sf-ticket-a4-footer {
	background: rgba(255, 255, 255, .08);
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.sf-my-tickets > header h2,
.sf-ticket-scanner > header h2 {
	font-size: clamp(2rem, 4vw, 3.6rem);
	line-height: 1;
	margin: 6px 0 10px;
}

.sf-my-tickets > header p:not(.sf-kicker),
.sf-ticket-scanner > header p:not(.sf-kicker) {
	color: #557182;
	font-weight: 650;
	margin: 0;
	max-width: 680px;
}

.sf-ticket-wallet {
	display: grid;
	gap: 14px;
}

.sf-wallet-ticket {
	align-items: center;
	background: #fff;
	border: 1px solid #c8dce7;
	border-radius: 8px;
	display: grid;
	gap: 20px;
	grid-template-columns: 180px minmax(0, 1fr) 150px;
	padding: 14px;
}

.sf-wallet-ticket > img {
	aspect-ratio: 16 / 10;
	border-radius: 6px;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-wallet-ticket h3 {
	font-size: 1.25rem;
	line-height: 1.15;
	margin: 4px 0 14px;
	overflow-wrap: anywhere;
}

.sf-wallet-ticket dl {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-wallet-ticket dt,
.sf-ticket-scan-result dt {
	color: #607989;
}

.sf-wallet-ticket dd,
.sf-ticket-scan-result dd {
	color: var(--ink);
}

.sf-wallet-ticket aside {
	align-items: center;
	display: grid;
	gap: 8px;
	justify-items: center;
}

.sf-ticket-scanner-layout {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, .9fr) minmax(320px, .6fr);
}

.sf-ticket-camera,
.sf-ticket-manual,
.sf-ticket-scan-result {
	background: #fff;
	border: 1px solid #c8dce7;
	border-radius: 8px;
	padding: 18px;
}

.sf-ticket-camera {
	display: grid;
	min-height: 430px;
	overflow: hidden;
	position: relative;
}

.sf-ticket-camera video {
	background: #071018;
	border-radius: 6px;
	display: none;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-ticket-camera.is-active video {
	display: block;
}

.sf-ticket-camera.is-active .sf-ticket-camera-idle {
	display: none;
}

.sf-ticket-camera-idle {
	align-items: center;
	color: #587282;
	display: grid;
	gap: 12px;
	justify-items: center;
	place-self: center;
	text-align: center;
}

.sf-ticket-camera-idle svg {
	color: #0068ff;
	height: 64px;
	width: 64px;
}

.sf-ticket-camera-actions {
	bottom: 18px;
	display: flex;
	gap: 10px;
	left: 18px;
	position: absolute;
	right: 18px;
}

.sf-ticket-camera-actions button {
	flex: 1 1 0;
}

.sf-ticket-manual {
	align-self: start;
	display: grid;
	gap: 12px;
}

.sf-ticket-manual label {
	color: #062238;
	display: grid;
	font-size: .82rem;
	font-weight: 950;
	gap: 8px;
}

.sf-ticket-manual input {
	border: 1px solid #9dbbc9;
	border-radius: 5px;
	font: inherit;
	min-height: 52px;
	padding: 10px 12px;
}

.sf-ticket-scan-result {
	grid-column: 2;
}

.sf-ticket-scan-result header {
	border-left: 5px solid #a7b9c3;
	display: grid;
	gap: 5px;
	margin-bottom: 14px;
	padding-left: 13px;
}

.sf-ticket-scan-result header span {
	color: #617987;
	font-size: .72rem;
	font-weight: 950;
	text-transform: uppercase;
}

.sf-ticket-scan-result header strong {
	font-size: 1.2rem;
}

.sf-ticket-scan-result header small {
	color: #607989;
	font-size: .8rem;
	font-weight: 700;
}

.sf-ticket-scan-result p {
	color: #526d7d;
	font-weight: 800;
	margin: 14px 0 0;
}

.sf-ticket-scan-result.is-valid header {
	border-color: #00a878;
}

.sf-ticket-scan-result.is-valid header strong {
	color: #007a5c;
}

.sf-ticket-scan-result.is-checked_in header,
.sf-ticket-scan-result.is-already_used header,
.sf-ticket-scan-result.is-pending_payment header,
.sf-ticket-scan-result.is-cancelled header,
.sf-ticket-scan-result.is-invalid header {
	border-color: #ff3868;
}

.sf-ticket-scan-result.is-checked_in header strong,
.sf-ticket-scan-result.is-already_used header strong,
.sf-ticket-scan-result.is-pending_payment header strong,
.sf-ticket-scan-result.is-cancelled header strong,
.sf-ticket-scan-result.is-invalid header strong {
	color: #b00037;
}

@media (max-width: 980px) {
	.sf-ticket-a4-body,
	.sf-ticket-scanner-layout,
	.sf-wallet-ticket {
		grid-template-columns: 1fr;
	}

	.sf-ticket-a4-cover {
		min-height: 260px;
	}

	.sf-ticket-a4-info {
		border-right: 0;
		border-bottom: 1px dashed rgba(255, 255, 255, .38);
	}

	.sf-ticket-a4-stub {
		border-left: 0;
		border-top: 1px dashed rgba(255, 255, 255, .38);
	}

	.sf-ticket-scan-result {
		grid-column: auto;
	}
}

@media (max-width: 760px) {
	.sf-ticket-a4-shell,
	.sf-my-tickets,
	.sf-ticket-scanner {
		padding: 42px 14px 76px;
	}

	.sf-ticket-print-actions,
	.sf-my-tickets > header,
	.sf-ticket-scanner > header {
		align-items: stretch;
		flex-direction: column;
	}

	.sf-ticket-a4-top,
	.sf-ticket-a4-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.sf-ticket-a4-info dl,
	.sf-wallet-ticket dl {
		grid-template-columns: 1fr;
	}

	.sf-ticket-a4-info h1 {
		font-size: 1.7rem;
	}

	.sf-ticket-camera {
		min-height: 360px;
	}
}

@media print {
	@page {
		margin: 8mm;
		size: A4 landscape;
	}

	body {
		background: #fff !important;
	}

	#wpadminbar,
	.sf-header,
	.sf-footer,
	.sf-mobile-nav,
	.sf-accessibility,
	.sf-ticket-print-actions {
		display: none !important;
	}

	.sf-main,
	.sf-ticket-a4-shell {
		background: #fff !important;
		padding: 0 !important;
	}

	.sf-ticket-a4 {
		box-shadow: none !important;
		min-height: 188mm;
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
		width: 281mm;
	}
}

/* 5.21.0: booking meeting points, cleaner event sections and safer planner framing. */
.sf-booking-service label > span {
	grid-template-rows: auto auto auto;
}

.sf-booking-service em {
	color: #456477;
	font-size: .78rem;
	font-style: normal;
	font-weight: 760;
	grid-column: 2;
	line-height: 1.35;
	margin-top: 6px;
	overflow-wrap: anywhere;
}

.sf-booking-submit > div span + span {
	margin-top: 3px;
}

.sf-bookings-list dl > div.is-wide {
	background: #edf9fb;
	border-left: 4px solid #12bfa3;
}

.sf-planner {
	scroll-margin-top: 138px;
}

.sf-planner-intro {
	min-height: auto;
	padding-block: clamp(44px, 5vw, 76px);
}

.sf-planner-intro h2 {
	line-height: .98;
}

.sf-planner-stage {
	grid-template-columns: minmax(0, 1fr) minmax(360px, .74fr);
}

.sf-planner-result {
	align-self: start;
	max-height: calc(100vh - 150px);
	overflow: auto;
	top: 132px;
}

.admin-bar .sf-planner-result {
	max-height: calc(100vh - 170px);
	top: 150px;
}

.sf-plan-cover {
	aspect-ratio: 16 / 6;
}

.sf-plan-route li {
	grid-template-columns: 54px 34px minmax(0, 1fr) minmax(96px, auto);
}

.sf-plan-editor > div {
	grid-template-columns: minmax(0, 1fr) 42px;
}

.sf-plan-editor select {
	width: 100%;
}

.sf-detail-event .sf-detail-content {
	gap: clamp(32px, 4vw, 56px);
}

.sf-detail-event .sf-detail-aside {
	align-content: start;
	display: grid;
	gap: 16px;
}

.sf-event-information {
	padding-bottom: 66px;
	padding-top: 66px;
}

.sf-event-primary-facts > div {
	min-height: 66px;
}

.sf-event-grid {
	grid-auto-rows: 1fr;
}

.sf-event-card {
	height: 100%;
}

.sf-detail-event .sf-event-access.has-summary {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
	padding-bottom: 60px;
	padding-top: 60px;
}

.sf-event-access > div:first-child {
	max-width: 760px;
}

.sf-event-access h2 {
	font-size: clamp(2.25rem, 4vw, 4rem);
	line-height: 1.02;
	margin-bottom: 12px;
}

.sf-event-access p:last-child {
	color: #486778;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.55;
	margin-bottom: 0;
}

.sf-event-access dl {
	background: #fff;
	border: 1px solid #c8dce7;
	border-radius: 6px;
	display: grid;
	margin: 0;
	overflow: hidden;
}

.sf-event-access dl > div {
	padding: 16px 18px;
}

.sf-event-access dl > div + div {
	border-top: 1px solid #d7e5ec;
}

.sf-event-access dt {
	color: #607989;
	font-size: .7rem;
	font-weight: 950;
	text-transform: uppercase;
}

.sf-event-access dd {
	color: #062238;
	font-size: .95rem;
	font-weight: 850;
	line-height: 1.35;
	margin: 5px 0 0;
	overflow-wrap: anywhere;
}

.sf-ticket-summary dl {
	gap: 12px;
}

.sf-wallet-ticket small {
	color: #607989;
	display: block;
	font-size: .75rem;
	font-weight: 700;
	margin-top: 4px;
}

@media (max-width: 1180px) {
	.sf-planner-stage {
		grid-template-columns: 1fr;
	}

	.sf-planner-result {
		max-height: none;
		position: relative;
		top: auto;
	}
}

@media (max-width: 760px) {
	.sf-booking-service em {
		grid-column: 1 / -1;
	}

	.sf-detail-event .sf-event-access.has-summary {
		grid-template-columns: 1fr;
		padding: 52px 18px;
	}

	.sf-plan-route li {
		grid-template-columns: 42px 30px minmax(0, 1fr);
	}
}

/* 5.22.5: stronger phone layout, tuned for iPhone Safari and large-text mode. */
@media (max-width: 760px) {
	html,
	body,
	.sf-main {
		max-width: 100%;
		overflow-x: hidden;
	}

	body {
		padding-bottom: calc(112px + env(safe-area-inset-bottom));
	}

	body > .skiptranslate,
	iframe.skiptranslate,
	.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
	.VIpgJd-ZVi9od-ORHb-OEVmcd,
	.VIpgJd-ZVi9od-xl07Ob-OEVmcd {
		display: none !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}

	.sf-header {
		border-radius: 8px;
		min-height: 58px;
		padding: 6px 8px 6px 12px;
		top: max(8px, env(safe-area-inset-top));
		width: calc(100% - 16px);
	}

	.sf-logo img {
		max-height: 38px;
		width: min(132px, 43vw);
	}

	.sf-menu-button {
		border-radius: 7px;
		font-size: .82rem;
		gap: 6px;
		height: 42px;
		min-height: 42px;
		padding: 0 12px;
	}

	.sf-menu-button svg {
		height: 20px;
		width: 20px;
	}

	.sf-header .sf-nav {
		border-radius: 8px;
		left: 8px;
		max-height: calc(100dvh - 146px);
		overflow-y: auto;
		overscroll-behavior: contain;
		position: fixed;
		right: 8px;
		top: calc(66px + env(safe-area-inset-top));
	}

	.sf-nav a,
	.sf-nav-home,
	.sf-nav-direct,
	.sf-nav-group > button,
	.sf-nav-language {
		font-size: .82rem;
		min-height: 42px;
		padding: 10px 12px;
		white-space: normal;
	}

	.sf-nav-panel a {
		font-size: .84rem;
		min-height: 40px;
		padding: 10px;
	}

	.sf-page,
	.sf-band,
	.sf-shortcode-shell,
	.sf-editorial {
		padding-left: 16px;
		padding-right: 16px;
	}

	.sf-band {
		padding-bottom: clamp(42px, 12vw, 64px);
		padding-top: clamp(42px, 12vw, 64px);
	}

	.sf-kicker {
		font-size: .68rem;
		letter-spacing: .05em;
		line-height: 1.2;
	}

	.sf-hero {
		min-height: auto;
		overflow: visible;
		padding: calc(84px + env(safe-area-inset-top)) 18px 42px;
	}

	.sf-hero::before {
		bottom: 0;
		height: auto;
	}

	.sf-hero-inner {
		align-content: start;
		gap: 22px;
		min-height: auto;
	}

	.sf-hero h1,
	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1 {
		font-size: clamp(2.05rem, 9.2vw, 2.72rem);
		line-height: .98;
		margin-bottom: 16px;
		overflow-wrap: anywhere;
	}

	.sf-hero-copy > p:not(.sf-kicker),
	.sf-page-hero-copy > p:not(.sf-kicker),
	.sf-detail-hero-copy > p:not(.sf-kicker) {
		font-size: .98rem;
		line-height: 1.42;
		margin-bottom: 18px;
	}

	.sf-hero-badges {
		gap: 7px;
		margin-top: 16px;
	}

	.sf-hero-badges li {
		font-size: .72rem;
		padding: 7px 10px;
	}

	.sf-actions,
	.sf-page-actions,
	.sf-inline-actions {
		display: grid;
		gap: 8px;
		grid-template-columns: 1fr;
	}

	.sf-actions a,
	.sf-actions button,
	.sf-page-actions a,
	.sf-inline-actions a {
		font-size: .95rem;
		min-height: 46px;
		min-width: 0;
		padding: 10px 12px;
		text-align: center;
		white-space: normal;
		width: 100%;
	}

	.sf-command {
		border-radius: 8px;
		gap: 11px;
		margin-top: 8px;
		max-width: 100%;
		min-width: 0;
		padding: 18px 16px 76px;
		width: 100%;
	}

	.sf-command h2 {
		font-size: clamp(1.62rem, 7.2vw, 1.95rem);
		hyphens: none;
		line-height: 1.02;
		overflow-wrap: normal;
		text-wrap: balance;
		word-break: normal;
	}

	.sf-command-intro {
		font-size: .93rem;
		line-height: 1.35;
	}

	.sf-command form {
		gap: 8px;
	}

	.sf-command input,
	.sf-command select,
	.sf-guide input,
	.sf-guide select,
	.sf-booking-form input,
	.sf-booking-form select,
	.sf-booking-form textarea {
		font-size: 1rem;
		min-height: 46px;
		min-width: 0;
	}

	.sf-command input::placeholder,
	.sf-booking-form input::placeholder,
	.sf-booking-form textarea::placeholder {
		font-size: .92rem;
	}

	.sf-command button {
		font-size: .95rem;
		min-height: 46px;
	}

	.sf-command .sf-ai-answer {
		font-size: .9rem;
		line-height: 1.35;
		max-height: 8rem;
		overflow: auto;
	}

	.sf-prompt-chips,
	.sf-filter-scroll,
	.sf-search-suggestions,
	.sf-category-portals {
		-webkit-overflow-scrolling: touch;
		margin-inline: -16px;
		max-width: none;
		overflow-x: auto;
		padding: 10px 16px 12px;
		scroll-padding-inline: 16px;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		width: calc(100% + 32px);
	}

	.sf-prompt-chips::-webkit-scrollbar,
	.sf-filter-scroll::-webkit-scrollbar,
	.sf-search-suggestions::-webkit-scrollbar,
	.sf-category-portals::-webkit-scrollbar {
		display: none;
	}

	.sf-prompt-chips > *,
	.sf-filter-scroll > *,
	.sf-search-suggestions > *,
	.sf-category-portals > * {
		flex: 0 0 auto;
		max-width: 86vw;
		scroll-snap-align: start;
	}

	.sf-home-categories {
		border-radius: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: -12px 16px 0;
	}

	.sf-home-categories a {
		min-height: 88px;
		padding: 14px 13px;
	}

	.sf-home-categories strong {
		font-size: 1rem;
		line-height: 1.05;
	}

	.sf-home-categories span {
		font-size: .76rem;
	}

	.sf-section-head {
		margin-bottom: 20px;
	}

	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-membership-home-copy h2,
	.sf-tool-head h2,
	.sf-contact-services > header h2,
	.sf-contact-map h2 {
		font-size: clamp(1.82rem, 8.4vw, 2.45rem);
		line-height: 1;
		overflow-wrap: anywhere;
	}

	.sf-home-tool.sf-band {
		padding-bottom: 48px;
		padding-top: 48px;
	}

	.sf-now {
		margin-top: 0;
		padding: 48px 16px;
	}

	.sf-now-head {
		gap: 18px;
	}

	.sf-now-head h2 {
		font-size: clamp(2.15rem, 10vw, 3rem);
		line-height: .98;
	}

	.sf-now-live {
		min-width: 0;
		padding: 12px;
	}

	.sf-now-periods {
		display: flex;
		gap: 0;
		margin-top: 22px;
		overflow-x: auto;
		padding-bottom: 8px;
		scroll-snap-type: x proximity;
	}

	.sf-now-periods button {
		flex: 0 0 44%;
		min-height: 60px;
		padding: 10px 12px;
		scroll-snap-align: start;
	}

	.sf-now-result {
		padding: 14px;
	}

	.sf-now-results-grid {
		grid-template-columns: 1fr;
	}

	.sf-now-card {
		min-height: 0;
		padding: 18px;
	}

	.sf-now-card h3 {
		font-size: clamp(1.35rem, 7vw, 1.8rem);
	}

	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid {
		gap: 14px;
		grid-template-columns: 1fr;
	}

	.sf-place-card,
	.sf-event-card {
		display: flex;
		flex-direction: column;
	}

	.sf-place-media {
		aspect-ratio: 16 / 10;
		height: auto;
		min-height: 0;
	}

	.sf-place-copy,
	.sf-event-copy {
		gap: 10px;
		padding: 16px;
	}

	.sf-place-copy h3,
	.sf-event-copy h3,
	.sf-news-grid h3,
	.sf-saved-card h3 {
		font-size: 1.45rem;
		line-height: 1.08;
	}

	.sf-place-copy > p,
	.sf-event-copy > p,
	.sf-news-grid p,
	.sf-saved-card p {
		font-size: .92rem;
		line-height: 1.42;
	}

	.sf-card-actions,
	.sf-event-copy .sf-card-actions {
		display: grid;
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-card-actions a,
	.sf-card-actions button,
	.sf-event-copy .sf-card-actions a,
	.sf-event-copy .sf-card-actions button {
		justify-content: center;
		min-width: 0;
		white-space: normal;
		width: 100%;
	}

	.sf-card-actions .sf-icon-button,
	.sf-event-copy .sf-card-actions .sf-icon-button {
		width: 100%;
	}

	.sf-event-date {
		left: 12px;
		min-height: 64px;
		top: 12px;
		width: 58px;
	}

	.sf-event-date strong {
		font-size: 1.75rem;
	}

	.sf-event-hero-layout,
	.sf-event-hero-copy {
		min-height: min(650px, calc(100svh - 8px));
	}

	.sf-event-hero-copy {
		padding-bottom: calc(156px + env(safe-area-inset-bottom));
	}

	.sf-event-hero-copy h1 {
		font-size: clamp(2rem, 9.1vw, 2.65rem);
		line-height: 1;
	}

	.sf-event-copy > p:not(.sf-kicker) {
		grid-template-columns: auto minmax(0, 1fr);
		row-gap: 7px;
	}

	.sf-event-copy .sf-card-actions > a:first-child {
		grid-column: 1 / -1;
	}

	.sf-experience-showcase.is-static .sf-experience-grid,
	.sf-band > .sf-experience-grid {
		grid-template-columns: 1fr !important;
	}

	.sf-experience-grid > a,
	.sf-experience-grid > article,
	.sf-experience-showcase .sf-experience-card {
		aspect-ratio: auto;
		min-height: 320px;
		padding: 20px;
	}

	.sf-experience-grid h3,
	.sf-experience-showcase .sf-experience-card h3 {
		font-size: clamp(1.85rem, 9vw, 2.3rem);
		line-height: 1.02;
	}

	.sf-destination-page .sf-page-hero,
	.sf-detail-hero {
		min-height: min(520px, 76svh);
		padding: calc(88px + env(safe-area-inset-top)) 18px 36px;
	}

	.sf-detail-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sf-detail-actions button,
	.sf-detail-actions a {
		min-width: 0;
		white-space: normal;
		width: 100%;
	}

	.sf-detail-content {
		gap: 28px;
		padding: 44px 0 72px;
		width: calc(100% - 32px);
	}

	.sf-planner {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		margin-inline: -16px;
		width: calc(100% + 32px);
	}

	.sf-planner-intro {
		padding: 30px 20px;
	}

	.sf-planner-intro h2 {
		font-size: clamp(2.25rem, 10.5vw, 3.15rem);
		line-height: .98;
	}

	.sf-journey-block {
		padding: 24px 18px;
	}

	.sf-journey-block legend {
		grid-template-columns: 28px minmax(0, 1fr);
		margin-bottom: 14px;
	}

	.sf-journey-block legend b {
		font-size: 1.45rem;
	}

	.sf-journey-block legend small {
		font-size: .82rem;
	}

	.sf-journey-options-three,
	.sf-journey-options-four,
	.sf-journey-segments,
	.sf-journey-matrix {
		grid-template-columns: 1fr;
	}

	.sf-plan-route li {
		grid-template-columns: 42px 30px minmax(0, 1fr);
	}

	.sf-plan-route li > div {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-self: stretch;
	}

	.sf-plan-route button {
		width: 100%;
	}

	.sf-plan-actions {
		grid-template-columns: 1fr;
	}

	.sf-membership-home {
		gap: 20px;
	}

	.sf-membership-home figure img {
		max-height: 260px;
	}

	.sf-membership-home aside {
		gap: 12px;
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.sf-membership-home aside strong {
		font-size: 1.2rem;
		line-height: 1.12;
	}

	.sf-membership-home aside p {
		font-size: .96rem;
		line-height: 1.42;
	}

	.sf-membership-home aside a {
		justify-content: center;
		text-align: center;
		white-space: normal;
		width: 100%;
	}

	.sf-member-panel,
	.sf-register,
	.sf-member-card,
	.sf-membership-link {
		border-radius: 8px;
		gap: 20px;
		grid-template-columns: 1fr;
		margin: 22px auto;
		padding: 22px 16px;
		width: calc(100% - 24px);
	}

	.sf-member-identity {
		align-items: center;
		display: grid;
		gap: 12px;
		grid-template-columns: 56px minmax(0, 1fr);
		text-align: left;
	}

	.sf-member-avatar {
		height: 56px;
		width: 56px;
	}

	.sf-member-identity h2,
	.sf-register h2,
	.sf-member-card h3,
	.sf-membership-link h3 {
		font-size: clamp(1.65rem, 7.7vw, 2.15rem);
		line-height: 1.02;
		overflow-wrap: anywhere;
	}

	.sf-member-identity p:not(.sf-kicker),
	.sf-register p,
	.sf-member-card > header > p:last-child,
	.sf-membership-link p {
		font-size: .98rem;
		line-height: 1.42;
		overflow-wrap: anywhere;
	}

	.sf-member-state {
		grid-column: 1 / -1;
		justify-self: stretch;
		line-height: 1.25;
		padding: 12px;
	}

	.sf-member-grid {
		gap: 10px;
		grid-template-columns: 1fr;
	}

	.sf-member-grid a,
	.sf-member-grid a:first-child,
	.sf-member-grid a:not(:first-child) {
		align-items: center;
		display: grid;
		gap: 12px 14px;
		grid-template-columns: 52px minmax(0, 1fr);
		min-height: 86px;
		padding: 15px;
	}

	.sf-member-grid a svg {
		grid-row: 1 / 3;
		height: 26px;
		width: 26px;
	}

	.sf-member-grid a strong {
		font-size: 1.18rem;
		line-height: 1.08;
	}

	.sf-member-grid a small {
		font-size: .88rem;
		line-height: 1.25;
	}

	.sf-page-utility,
	.sf-breadcrumb,
	.sf-404-copy {
		max-width: 100%;
		min-width: 0;
		width: auto;
	}

	.sf-event-hero .sf-breadcrumb {
		max-width: calc(100% - 40px);
		width: auto;
	}

	.sf-event-subnav > div {
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		gap: 0;
		overflow: visible;
		padding-inline: 16px;
		width: 100%;
	}

	.sf-event-subnav a {
		flex: 1 1 33.333%;
		font-size: .72rem;
		min-width: 0;
		padding-inline: 8px;
		white-space: normal;
	}

	.sf-event-subnav button {
		flex: 1 0 100%;
		font-size: .75rem;
		gap: 7px;
		justify-content: center;
		min-width: 0;
		padding-inline: 10px;
		white-space: normal;
	}

	.sf-event-subnav button svg {
		height: 18px;
		width: 18px;
	}

	.sf-page-utility {
		display: grid;
		gap: 8px;
		grid-template-columns: 1fr;
	}

	.sf-page-utility a,
	.sf-page-utility button {
		justify-content: center;
		white-space: normal;
		width: 100%;
	}

	.sf-mobile-nav {
		box-shadow: 0 -14px 28px rgba(6, 47, 71, .12);
		min-height: 58px;
		padding-bottom: max(4px, env(safe-area-inset-bottom));
	}

	.sf-mobile-nav a,
	.sf-mobile-nav button {
		font-size: .58rem;
		gap: 2px;
		min-height: 52px;
		padding: 4px 2px;
	}

	.sf-mobile-nav svg {
		height: 18px;
		width: 18px;
	}

	.sf-chat {
		bottom: calc(64px + env(safe-area-inset-bottom));
		right: 44px;
	}

	.sf-accessibility {
		bottom: calc(64px + env(safe-area-inset-bottom));
		right: 6px;
	}

	.sf-chat-toggle,
	.sf-accessibility-toggle {
		border-radius: 8px;
		box-shadow: 0 8px 20px rgba(2, 27, 43, .22);
		height: 32px;
		min-height: 32px;
		min-width: 32px;
		width: 32px;
	}

	.sf-chat-toggle {
		padding: 3px;
	}

	.sf-chat-toggle > .sf-chat-toggle-icon {
		border-radius: 6px;
		height: 24px;
		width: 24px;
	}

	.sf-chat-toggle svg {
		height: 16px;
		width: 16px;
	}

	.sf-accessibility-glyph {
		font-size: 12px;
	}

	.sf-chat-panel {
		border-radius: 8px;
		bottom: calc(62px + env(safe-area-inset-bottom));
		inset-inline: 8px;
		top: calc(74px + env(safe-area-inset-top));
		width: auto;
	}

	.sf-accessibility-panel {
		bottom: 50px;
		max-width: calc(100vw - 24px);
		right: 0;
	}

	.sf-toast {
		bottom: calc(66px + env(safe-area-inset-bottom));
	}

	.sf-text {
		font-size: 106%;
	}

	.sf-text .sf-hero h1,
	.sf-text .sf-page-hero-copy h1,
	.sf-text .sf-detail-hero-copy h1 {
		font-size: clamp(2.35rem, 10vw, 3rem);
	}

	.sf-text .sf-command h2,
	.sf-text .sf-section-head h2,
	.sf-text .sf-home-intro h2,
	.sf-text .sf-membership-home-copy h2,
	.sf-text .sf-tool-head h2 {
		font-size: clamp(1.85rem, 8.4vw, 2.45rem);
	}
}

@media (max-width: 380px) {
	.sf-chat {
		right: 42px;
	}

	.sf-chat-toggle,
	.sf-accessibility-toggle {
		height: 32px;
		min-height: 32px;
		min-width: 32px;
		width: 32px;
	}
}

/* 5.22.9: stable translation, scroll-aware header and phone chat sheet. */
html,
html.translated-ltr,
html.translated-rtl {
	margin-top: 0 !important;
	scroll-padding-top: 104px;
}

body {
	top: 0 !important;
}

body > .skiptranslate,
iframe.skiptranslate,
.goog-te-banner-frame,
.goog-te-gadget-icon,
.goog-te-balloon-frame,
.VIpgJd-ZVi9od-aZ2wEe,
.VIpgJd-ZVi9od-aZ2wEe-OiiCO,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-xl07Ob-OEVmcd,
#goog-gt-tt,
.sf-google-translate {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	display: block !important;
	height: 1px !important;
	margin: -1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	position: absolute !important;
	visibility: hidden !important;
	white-space: nowrap !important;
	width: 1px !important;
}

html.sf-translation-busy,
html.sf-translation-busy body {
	scroll-behavior: auto !important;
}

html.sf-translation-busy *,
html.sf-translation-busy *::before,
html.sf-translation-busy *::after {
	animation-duration: .001ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: .001ms !important;
}

.sf-header {
	transition: transform .24s ease, opacity .18s ease, box-shadow .18s ease;
	will-change: transform;
}

.sf-header.is-hidden {
	opacity: .97;
	pointer-events: none;
	transform: translateX(-50%) translateY(calc(-100% - 24px));
}

.sf-header.has-open-menu,
.sf-header:focus-within {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0) !important;
}

.sf-header.is-pulled {
	animation: sf-header-pull .24s cubic-bezier(.2, .72, .2, 1) both;
}

@keyframes sf-header-pull {
	from {
		transform: translateX(-50%) translateY(-16px);
	}

	to {
		transform: translateX(-50%) translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sf-header,
	.sf-header.is-pulled {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 760px) {
	html,
	html.translated-ltr,
	html.translated-rtl {
		scroll-padding-top: 78px;
	}

	.sf-header.is-hidden {
		transform: translateX(-50%) translateY(calc(-100% - 14px));
	}

	.sf-header.has-open-menu .sf-nav,
	.sf-header .sf-nav.is-open {
		animation: sf-mobile-menu-drop .18s ease both;
		transform-origin: top center;
	}

	@keyframes sf-mobile-menu-drop {
		from {
			opacity: 0;
			transform: translateY(-10px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	body.sf-chat-open {
		overflow: hidden;
	}

	.sf-chat.is-open {
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1300;
	}

	.sf-chat.is-open .sf-chat-toggle {
		display: none;
	}

	.sf-chat.is-open .sf-chat-panel {
		border-bottom: 0;
		border-left: 0;
		border-radius: 16px 16px 0 0;
		border-right: 0;
		bottom: 0;
		box-shadow: 0 -18px 46px rgba(2, 27, 43, .28);
		box-sizing: border-box;
		display: grid;
		grid-template-rows: auto minmax(0, 1fr) auto auto auto;
		height: min(82vh, calc(100vh - 70px));
		height: min(82svh, calc(100svh - max(12px, env(safe-area-inset-top)) - 58px));
		inset: auto 0 0 0;
		max-height: calc(100vh - 70px);
		max-height: calc(100dvh - max(12px, env(safe-area-inset-top)) - 52px);
		max-width: none;
		min-height: min(560px, 72vh);
		min-height: min(560px, 72svh);
		position: fixed;
		right: auto;
		top: auto;
		width: 100vw;
	}

	.sf-chat.is-open .sf-chat-head {
		min-height: 72px;
		padding: 12px 14px !important;
	}

	.sf-chat.is-open .sf-chat-avatar {
		border-radius: 8px;
		height: 38px;
		width: 38px;
	}

	.sf-chat.is-open .sf-chat-head h2 {
		font-size: 1.05rem !important;
		line-height: 1.08;
		overflow-wrap: anywhere;
	}

	.sf-chat.is-open .sf-chat-head [data-sf-chat-status] {
		font-size: .68rem;
		line-height: 1.18;
	}

	.sf-chat.is-open .sf-chat-consent {
		align-content: start;
		overflow: auto;
		padding: 16px;
	}

	.sf-chat.is-open .sf-chat-consent > strong {
		font-size: 1.55rem;
		line-height: 1.02;
	}

	.sf-chat.is-open .sf-chat-log {
		min-height: 0;
		overscroll-behavior: contain;
		overflow-y: auto;
		padding: 12px;
	}

	.sf-chat.is-open .sf-chat-log article {
		max-width: 94%;
	}

	.sf-chat.is-open .sf-chat-prompts {
		min-height: 42px;
		overflow-x: auto;
	}

	.sf-chat.is-open .sf-chat-panel > form[data-sf-chat-form] {
		grid-template-columns: minmax(0, 1fr) 42px 42px;
		padding: 10px 10px max(10px, env(safe-area-inset-bottom));
	}

	.sf-chat.is-open .sf-chat-panel textarea {
		font-size: 16px;
		max-height: 86px;
		min-height: 44px;
	}

	.sf-chat.is-open .sf-chat-panel > form[data-sf-chat-form] button {
		height: 44px;
		width: 42px;
	}

	.sf-chat.is-open .sf-chat-tools {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.sf-chat.is-open .sf-chat-tools button {
		font-size: .68rem;
		min-height: 36px;
	}

	.sf-chat.is-open .sf-chat-panel > footer {
		font-size: .62rem;
		padding: 7px 10px;
	}

	.sf-chat.is-open .sf-chat-human {
		inset: 72px 0 0;
		padding: 14px;
	}
}

/* 5.23.0: luoghi puliti, margine percorso unico, tessera stile profilo. */
.sf-detail-place-meta {
	align-items: stretch;
	grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(170px, auto));
}

.sf-detail-place-meta > a,
.sf-detail-place-meta > button {
	margin: 18px 0;
	min-width: 0;
	white-space: nowrap;
}

.sf-detail-place-meta > div {
	min-height: 92px;
}

.sf-plan-route li.sf-plan-margin {
	grid-template-columns: 48px 34px minmax(0, 1fr);
	min-height: 64px;
}

.sf-plan-route li.sf-plan-margin .sf-route-node {
	background: #ffd35a;
	color: #062238;
}

.sf-plan-route li.sf-plan-margin strong {
	color: #ffefbd;
}

.sf-plan-route li.sf-plan-margin small {
	color: #c2d6df;
}

.sf-member-portal {
	background: #fff;
	border: 1px solid #c5dce5;
	box-shadow: 0 28px 78px rgba(6, 47, 71, .12);
	margin: 34px auto 60px;
	overflow: hidden;
	width: min(1640px, calc(100% - 48px));
}

.sf-member-portal > h1 {
	background: #174d82;
	color: #fff;
	font-size: clamp(2.2rem, 5vw, 4.8rem);
	line-height: .95;
	margin: 0;
	padding: 18px 24px 20px;
	text-align: center;
	text-transform: uppercase;
}

.sf-member-portal-layout {
	display: grid;
	grid-template-columns: minmax(350px, .9fr) minmax(0, 1.35fr);
}

.sf-member-portal-profile.sf-member-panel {
	align-self: stretch;
	background: #2e9bd0;
	border: 0;
	box-shadow: none;
	color: #fff;
	margin: 0;
	padding: clamp(28px, 4vw, 52px) clamp(20px, 3vw, 38px);
	width: 100%;
}

.sf-member-portal-profile .sf-member-identity {
	align-items: center;
	gap: 22px;
	grid-template-columns: clamp(112px, 14vw, 190px) minmax(0, 1fr);
	margin-bottom: 24px;
}

.sf-member-portal-profile .sf-member-avatar {
	border: 5px solid rgba(6, 47, 71, .22);
	border-radius: 50%;
	box-shadow: 0 12px 28px rgba(6, 47, 71, .25);
	height: clamp(112px, 14vw, 190px);
	overflow: hidden;
	width: clamp(112px, 14vw, 190px);
}

.sf-member-portal-profile .sf-member-identity > div:not(.sf-member-avatar) {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.sf-member-portal-profile .sf-kicker {
	color: #dff8ff;
	font-size: .9rem;
}

.sf-member-portal-profile .sf-member-identity h2,
.sf-member-portal-profile .sf-member-identity p:not(.sf-kicker) {
	background: #fff;
	box-shadow: 0 7px 16px rgba(6, 47, 71, .22);
	color: #145591;
	margin: 0;
	padding: 12px 16px;
}

.sf-member-portal-profile .sf-member-identity h2 {
	font-size: clamp(1.4rem, 2.6vw, 2.25rem);
	line-height: 1.03;
	text-transform: uppercase;
}

.sf-member-portal-profile .sf-member-identity p:not(.sf-kicker) {
	font-size: clamp(.98rem, 1.5vw, 1.3rem);
	font-weight: 900;
	overflow-wrap: anywhere;
}

.sf-member-portal-profile .sf-member-state {
	grid-column: 1 / -1;
	justify-self: start;
	margin-top: 6px;
}

.sf-member-quick-actions {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 28px 0 30px;
}

.sf-member-quick-actions a {
	align-items: center;
	background: #fff;
	box-shadow: 0 8px 18px rgba(6, 47, 71, .2);
	color: #145591;
	display: inline-flex;
	font-weight: 950;
	justify-content: center;
	min-height: 58px;
	padding: 10px 14px;
	text-align: center;
	text-decoration: none;
}

.sf-member-quick-actions a.is-support {
	background: #ff3434;
	color: #fff;
}

.sf-member-menu-title {
	color: #174d82;
	font-size: clamp(1.8rem, 3.7vw, 3.2rem);
	line-height: 1;
	margin: 0 0 18px;
	text-align: center;
	text-transform: uppercase;
}

.sf-member-portal-profile .sf-member-grid {
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-member-portal-profile .sf-member-grid a,
.sf-member-portal-profile .sf-member-grid a:first-child,
.sf-member-portal-profile .sf-member-grid a:not(:first-child) {
	background: #258fc4;
	border: 0;
	box-shadow: 0 8px 18px rgba(6, 47, 71, .16);
	color: #fff;
	grid-template-columns: 1fr;
	min-height: 74px;
	padding: 12px;
	text-align: center;
}

.sf-member-portal-profile .sf-member-grid a > svg {
	display: none;
}

.sf-member-portal-profile .sf-member-grid a strong {
	color: #fff;
	font-size: .95rem;
}

.sf-member-portal-profile .sf-member-grid a small {
	color: #dff8ff;
	font-size: .72rem;
}

.sf-member-portal-card {
	background: #fff;
	min-width: 0;
	padding: clamp(28px, 4vw, 52px);
}

.sf-member-portal-card .sf-member-card,
.sf-member-portal-card .sf-myunpli-data,
.sf-member-portal-card .sf-member-payments,
.sf-member-portal-card .sf-member-documents,
.sf-member-portal-card .sf-member-documents-gate,
.sf-member-portal-card .sf-board-area {
	margin: 0 0 22px;
	width: 100%;
}

.sf-member-portal-card .sf-member-card {
	background: #fff;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.sf-member-portal-card .sf-member-card > header {
	margin: 0 auto 24px;
	max-width: 820px;
	text-align: center;
}

.sf-member-portal-card .sf-member-card > header h3 {
	color: #13508c;
	font-size: clamp(2.1rem, 4.5vw, 4rem);
	text-transform: uppercase;
}

.sf-member-portal-card .sf-member-card-layout {
	grid-template-columns: 1fr;
	gap: 22px;
	justify-items: center;
}

.sf-member-portal-card .sf-member-card-stage {
	width: min(860px, 100%);
}

.sf-member-portal-card .sf-member-card-face > span:not(:only-child) {
	display: none;
}

.sf-member-card-front em {
	background: #0b4aa3;
	color: #fff;
	display: none;
	font-size: clamp(.75rem, 1.5vw, 1.2rem);
	font-style: normal;
	font-weight: 950;
	padding: 10px 46px;
	position: absolute;
	right: -42px;
	text-transform: uppercase;
	top: 22px;
	transform: rotate(45deg);
	z-index: 2;
}

.sf-member-card-stage.is-blue-card .sf-member-card-front em {
	display: block;
}

.sf-member-portal-card .sf-member-card-details {
	border: 0;
	max-width: 860px;
	padding: 0;
	width: 100%;
}

.sf-member-portal-card .sf-member-card-details > span,
.sf-member-portal-card .sf-member-card-details p {
	display: none;
}

.sf-member-portal-card .sf-member-card-details dl {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

.sf-member-portal-card .sf-member-card-details dl div {
	background: #f0f8fb;
	border: 0;
	padding: 12px 14px;
}

.sf-member-portal-card .sf-member-card-details a {
	display: none;
}

.sf-member-card-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 22px;
}

.sf-member-card-controls button {
	background: #0b6dff;
	border: 0;
	color: #fff;
	font-size: 1rem;
	min-height: 54px;
	padding: 0 24px;
}

.sf-member-card-controls button:nth-child(2) {
	background: #074f9f;
}

.sf-member-portal-card .sf-myunpli-data,
.sf-member-portal-card .sf-member-documents,
.sf-member-portal-card .sf-member-documents-gate {
	padding: clamp(22px, 3vw, 34px);
}

.sf-member-portal-card .sf-myunpli-data h3,
.sf-member-portal-card .sf-member-documents h2,
.sf-member-portal-card .sf-member-documents-gate h2 {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.plsf-map-canvas.leaflet-container,
.plsf-map-canvas .leaflet-container {
	min-height: 100%;
	width: 100%;
}

@media (max-width: 1180px) {
	.sf-detail-place-meta {
		grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(150px, auto));
	}

	.sf-detail-place-meta > button {
		grid-column: 2 / -1;
		margin-top: 0;
	}

	.sf-member-portal-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.sf-detail-place-meta {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.sf-detail-place-meta > a,
	.sf-detail-place-meta > button {
		margin: 10px 16px;
		width: calc(100% - 32px);
	}

	.sf-plan-route li.sf-plan-margin {
		grid-template-columns: 42px 30px minmax(0, 1fr);
	}

	.sf-member-portal {
		margin: 18px auto 100px;
		width: calc(100% - 18px);
	}

	.sf-member-portal > h1 {
		font-size: clamp(2rem, 12vw, 3rem);
		padding: 16px 12px;
	}

	.sf-member-portal-profile.sf-member-panel {
		padding: 24px 16px;
	}

	.sf-member-portal-profile .sf-member-identity {
		gap: 14px;
		grid-template-columns: 86px minmax(0, 1fr);
	}

	.sf-member-portal-profile .sf-member-avatar {
		height: 86px;
		width: 86px;
	}

	.sf-member-portal-profile .sf-member-identity h2 {
		font-size: 1.25rem;
	}

	.sf-member-portal-profile .sf-member-identity p:not(.sf-kicker) {
		font-size: .85rem;
	}

	.sf-member-quick-actions,
	.sf-member-portal-profile .sf-member-grid {
		grid-template-columns: 1fr;
	}

	.sf-member-portal-card {
		padding: 24px 14px;
	}

	.sf-member-portal-card .sf-member-card > header h3 {
		font-size: 2rem;
	}

	.sf-member-card-controls {
		align-items: stretch;
		flex-direction: column;
	}

	.sf-member-card-controls button {
		width: 100%;
	}

	.sf-member-portal-card .sf-member-card-details dl,
	.sf-member-portal-card .sf-myunpli-data dl {
		grid-template-columns: 1fr;
	}
}

/* 5.23.1: hard mobile containment for phone Safari/Chrome viewports. */
@media (max-width: 520px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
		width: 100%;
	}

	.sf-main,
	.sf-hero,
	.sf-hero-inner,
	.sf-hero-copy,
	.sf-command,
	.sf-band,
	.sf-page,
	.sf-explorer,
	.sf-filterbar,
	.sf-place-grid,
	.sf-place-card,
	.sf-detail,
	.sf-detail-hero,
	.sf-detail-hero-copy,
	.sf-detail-content,
	.sf-detail-body,
	.sf-membership-home,
	.sf-experience-grid,
	.sf-home-categories,
	.sf-now,
	.sf-now-inner {
		max-width: 100%;
		min-width: 0;
	}

	.sf-header {
		gap: 10px;
		grid-template-columns: minmax(0, 1fr) auto;
		left: 10px;
		min-height: 68px;
		padding: 8px 10px 8px 14px;
		right: 10px;
		top: calc(8px + env(safe-area-inset-top));
		transform: none;
		width: auto;
	}

	.sf-header-tools {
		display: none;
	}

	.sf-logo {
		min-width: 0;
	}

	.sf-logo img {
		max-height: 44px;
		width: min(152px, 48vw);
	}

	.sf-menu-button {
		display: inline-flex;
		font-size: .95rem;
		min-height: 46px;
		padding: 9px 12px;
		white-space: nowrap;
	}

	.sf-nav,
	.sf-header.is-condensed .sf-nav {
		left: 10px;
		max-height: calc(100svh - 96px);
		overflow-y: auto;
		right: 10px;
		top: calc(86px + env(safe-area-inset-top));
		width: auto;
	}

	.sf-hero {
		overflow: hidden;
		padding-left: 18px;
		padding-right: 18px;
	}

	.sf-hero h1,
	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1,
	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-command h2 {
		max-width: 100%;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.sf-hero h1 {
		font-size: clamp(2rem, 10.2vw, 2.55rem);
		line-height: .98;
	}

	.sf-hero-copy > p:not(.sf-kicker) {
		font-size: .95rem;
		line-height: 1.38;
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.sf-command {
		overflow: hidden;
		padding: 18px 16px 72px;
	}

	.sf-command h2 {
		font-size: clamp(1.62rem, 8.2vw, 2.05rem);
		text-wrap: auto;
	}

	.sf-command form {
		display: grid;
		grid-template-columns: 1fr;
	}

	.sf-command input,
	.sf-command select,
	.sf-command button {
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.sf-prompt-chips,
	.sf-filter-scroll,
	.sf-search-suggestions,
	.sf-category-portals {
		margin-inline: 0;
		max-width: 100%;
		overflow-x: auto;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	.sf-prompt-chips > *,
	.sf-filter-scroll > *,
	.sf-search-suggestions > *,
	.sf-category-portals > * {
		max-width: calc(100vw - 44px);
	}

	.sf-destination-page .sf-page-hero {
		padding-left: 18px;
		padding-right: 18px;
	}

	.sf-page-hero-copy h1 {
		font-size: clamp(2.05rem, 10vw, 2.8rem);
		line-height: .98;
	}

	.sf-tool-head {
		align-items: stretch;
		display: grid;
		gap: 14px;
		grid-template-columns: 1fr;
	}

	.sf-tool-head h2 {
		font-size: clamp(2rem, 9.6vw, 2.65rem);
		line-height: 1;
	}

	.sf-segmented {
		max-width: 100%;
		width: 100%;
	}

	.sf-filterbar {
		display: grid;
		gap: 12px;
		grid-template-columns: 1fr;
	}

	.sf-search-field,
	.sf-near-button {
		max-width: 100%;
		width: 100%;
	}

	.sf-place-copy h3 {
		font-size: clamp(1.38rem, 7vw, 1.75rem);
		overflow-wrap: break-word;
	}

	.sf-detail-hero {
		overflow: hidden;
		padding-left: 18px;
		padding-right: 18px;
	}

	.sf-detail-hero-copy h1 {
		font-size: clamp(2rem, 10.5vw, 2.7rem);
		line-height: 1;
	}

	.sf-detail-hero-copy > p:not(.sf-kicker) {
		font-size: .96rem;
		line-height: 1.42;
		max-width: 100%;
	}

	.sf-detail-actions {
		grid-template-columns: 1fr;
	}

	.sf-detail-place-meta,
	.sf-detail-meta.sf-detail-place-meta {
		display: grid;
		gap: 10px;
		grid-template-columns: 1fr;
		padding: 14px 16px 18px;
	}

	.sf-detail-place-meta > div,
	.sf-detail-place-meta > a,
	.sf-detail-place-meta > button {
		margin: 0;
		width: 100%;
	}

	.sf-detail-place-meta > a,
	.sf-detail-place-meta > button {
		min-height: 52px;
		white-space: normal;
	}

	.sf-detail-content {
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
		width: calc(100% - 32px);
	}

	.sf-detail-body {
		overflow-wrap: break-word;
	}
}

/* 5.23.2 final override: keep every mobile surface inside the viewport. */
@media (max-width: 900px) {
	html,
	body {
		max-width: 100% !important;
		overflow-x: clip !important;
		width: 100% !important;
	}

	body {
		padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
	}

	.sf-main,
	.sf-main > *,
	.sf-main * {
		box-sizing: border-box;
		min-width: 0;
	}

	.sf-main,
	.sf-page,
	.sf-band,
	.sf-shortcode-shell,
	.sf-editorial,
	.sf-hero,
	.sf-hero-inner,
	.sf-hero-copy,
	.sf-command,
	.sf-home-categories,
	.sf-explorer,
	.sf-filterbar,
	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid,
	.sf-detail,
	.sf-detail-hero,
	.sf-detail-hero-copy,
	.sf-detail-meta,
	.sf-detail-content,
	.sf-detail-body,
	.sf-member-portal,
	.sf-member-portal-card,
	.sf-member-portal-profile,
	.sf-member-portal-actions,
	.sf-membership-home,
	.sf-ticketing,
	.sf-booking-form,
	.sf-planner {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.sf-header,
	.admin-bar .sf-header {
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		min-height: 64px !important;
		padding: 8px 10px 8px 14px !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		top: calc(8px + env(safe-area-inset-top)) !important;
		transform: translateY(0) !important;
		width: auto !important;
	}

	.sf-header.is-hidden {
		transform: translateY(calc(-100% - 16px)) !important;
	}

	.sf-header.has-open-menu,
	.sf-header:focus-within,
	.sf-header.is-pulled {
		transform: translateY(0) !important;
	}

	.sf-logo {
		min-width: 0 !important;
	}

	.sf-logo img {
		height: auto !important;
		max-height: 42px !important;
		object-fit: contain;
		width: min(145px, 46vw) !important;
	}

	.sf-header-tools {
		display: none !important;
	}

	.sf-menu-button {
		display: inline-flex !important;
		font-size: .9rem !important;
		gap: 6px !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		height: 44px !important;
		justify-self: end !important;
		max-width: 38vw !important;
		min-height: 44px !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding: 0 11px !important;
		white-space: nowrap !important;
	}

	.sf-menu-button span:not(.screen-reader-text) {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.sf-header .sf-nav,
	.sf-header.is-condensed .sf-nav {
		left: max(10px, env(safe-area-inset-left)) !important;
		max-height: calc(100dvh - 92px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		top: calc(78px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}

	.sf-hero,
	.sf-page-hero,
	.sf-detail-hero {
		overflow: hidden !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.sf-hero-inner,
	.sf-page-hero-copy,
	.sf-detail-hero-copy,
	.sf-tool-head,
	.sf-section-head,
	.sf-home-intro,
	.sf-command {
		width: 100% !important;
	}

	.sf-hero h1,
	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1,
	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-command h2 {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		text-wrap: auto !important;
		word-break: normal !important;
	}

	.sf-hero h1 {
		font-size: clamp(2.15rem, 11vw, 3.15rem) !important;
		line-height: .98 !important;
	}

	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1 {
		font-size: clamp(2.05rem, 9.4vw, 3rem) !important;
		line-height: 1 !important;
	}

	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-command h2 {
		font-size: clamp(1.8rem, 7.8vw, 2.45rem) !important;
		line-height: 1.02 !important;
	}

	.sf-hero-copy > p:not(.sf-kicker),
	.sf-page-hero-copy > p:not(.sf-kicker),
	.sf-detail-hero-copy > p:not(.sf-kicker),
	.sf-command-intro,
	.sf-detail-body,
	.sf-member-portal-card p,
	.sf-place-copy > p,
	.sf-event-copy > p {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.sf-actions,
	.sf-page-actions,
	.sf-inline-actions,
	.sf-detail-actions,
	.sf-card-actions,
	.sf-command form,
	.sf-guide form,
	.sf-filterbar {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-actions a,
	.sf-actions button,
	.sf-page-actions a,
	.sf-inline-actions a,
	.sf-detail-actions a,
	.sf-detail-actions button,
	.sf-card-actions a,
	.sf-card-actions button,
	.sf-command input,
	.sf-command select,
	.sf-command button,
	.sf-guide input,
	.sf-guide select,
	.sf-guide button,
	.sf-search-field,
	.sf-near-button {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		width: 100% !important;
	}

	.sf-prompt-chips,
	.sf-filter-scroll,
	.sf-search-suggestions,
	.sf-category-portals {
		margin-inline: 0 !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	.sf-prompt-chips > *,
	.sf-filter-scroll > *,
	.sf-search-suggestions > *,
	.sf-category-portals > * {
		flex: 0 0 auto;
		max-width: calc(100vw - 40px) !important;
	}

	.sf-home-categories,
	.sf-place-grid,
	.sf-event-grid,
	.sf-news-grid,
	.sf-experience-grid,
	.sf-member-portal-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.sf-home-categories a,
	.sf-place-card,
	.sf-event-card,
	.sf-news-grid article,
	.sf-experience-grid a,
	.sf-member-portal-card {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}

	.sf-place-copy,
	.sf-event-copy,
	.sf-news-grid article > div,
	.sf-saved-card {
		min-width: 0 !important;
	}

	.sf-place-copy h3,
	.sf-event-copy h3,
	.sf-news-grid h3,
	.sf-saved-card h3 {
		font-size: clamp(1.55rem, 7vw, 2rem) !important;
		overflow-wrap: anywhere !important;
	}

	.sf-detail-place-meta,
	.sf-detail-meta.sf-detail-place-meta,
	.sf-detail-meta {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 14px 16px 18px !important;
	}

	.sf-detail-place-meta > div,
	.sf-detail-place-meta > a,
	.sf-detail-place-meta > button,
	.sf-detail-meta > div,
	.sf-detail-meta > a,
	.sf-detail-meta > button {
		margin: 0 !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.sf-mobile-nav {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
	}

	.sf-mobile-nav a,
	.sf-mobile-nav button {
		min-width: 0 !important;
	}

	.sf-chat {
		bottom: calc(66px + env(safe-area-inset-bottom)) !important;
		right: 52px !important;
	}

	.sf-accessibility {
		bottom: calc(66px + env(safe-area-inset-bottom)) !important;
		right: 8px !important;
	}

	body.sf-chat-open {
		overflow: hidden !important;
	}

	.sf-chat.is-open {
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		top: auto !important;
	}

	.sf-chat.is-open .sf-chat-panel {
		border-bottom: 0 !important;
		border-left: 0 !important;
		border-radius: 14px 14px 0 0 !important;
		border-right: 0 !important;
		bottom: 0 !important;
		box-sizing: border-box;
		height: min(82dvh, calc(100dvh - 60px)) !important;
		inset: auto 0 0 0 !important;
		max-height: calc(100dvh - 48px) !important;
		max-width: none !important;
		min-height: min(500px, 70dvh) !important;
		position: fixed !important;
		right: auto !important;
		top: auto !important;
		width: 100vw !important;
	}
}

@media (max-width: 430px) {
	.sf-header,
	.admin-bar .sf-header {
		left: 8px !important;
		right: 8px !important;
	}

	.sf-logo img {
		width: min(132px, 42vw) !important;
	}

	.sf-menu-button {
		font-size: .86rem !important;
		max-width: 34vw !important;
		padding-inline: 9px !important;
	}

	.sf-kicker {
		font-size: .64rem !important;
		line-height: 1.22 !important;
	}

	.sf-hero h1 {
		font-size: clamp(2rem, 10vw, 2.55rem) !important;
	}

	.sf-page-hero h1,
	.sf-page-hero-copy h1,
	.sf-detail-hero-copy h1 {
		font-size: clamp(1.9rem, 9.2vw, 2.45rem) !important;
	}

	.sf-tool-head h2,
	.sf-section-head h2,
	.sf-home-intro h2,
	.sf-command h2 {
		font-size: clamp(1.62rem, 7.4vw, 2.05rem) !important;
	}

	.sf-hero-copy > p:not(.sf-kicker),
	.sf-page-hero-copy > p:not(.sf-kicker),
	.sf-detail-hero-copy > p:not(.sf-kicker),
	.sf-command-intro {
		font-size: .95rem !important;
		line-height: 1.4 !important;
	}

	.sf-hero,
	.sf-page-hero,
	.sf-detail-hero {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* 5.25: final layer for commercial activity tools. */
.sf-business-grid article {
	gap: 10px;
}

.sf-business-grid article > p:not(.sf-kicker) {
	color: #4b6676;
	line-height: 1.55;
}

.sf-business-offer {
	align-items: center;
	background: #fff5cf;
	border: 1px solid #f3d36f;
	border-radius: 6px;
	color: #5b4300;
	display: flex;
	font-size: .84rem;
	font-weight: 950;
	gap: 8px;
	line-height: 1.3;
	padding: 10px 12px;
}

.sf-business-tags,
.sf-business-quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sf-business-tags span,
.sf-business-quick a {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: .74rem;
	font-weight: 900;
	gap: 6px;
	min-height: 34px;
	padding: 8px 10px;
	text-decoration: none;
}

.sf-business-tags span {
	background: #eef8f3;
	border: 1px solid #c5e4d7;
	color: #09684f;
}

.sf-business-quick a {
	background: #eef6fb;
	border: 1px solid #c8dfe8;
	color: #083551;
}

.sf-business-tags svg,
.sf-business-quick svg,
.sf-business-offer svg {
	flex: 0 0 auto;
	height: 15px;
	width: 15px;
}

.sf-business-dashboard > form {
	background: transparent;
	border: 0;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
	padding: 0;
}

.sf-business-status {
	align-items: end;
	display: grid;
	gap: 8px;
	justify-items: end;
	max-width: 320px;
}

.sf-business-status span {
	background: #e7fff5;
	border: 1px solid #a6e2cc;
	border-radius: 999px;
	color: #075a46;
	font-size: .72rem;
	font-weight: 950;
	padding: 8px 11px;
	text-transform: uppercase;
}

.sf-business-status strong {
	color: #083551;
	font-size: .95rem;
	line-height: 1.25;
	text-align: right;
}

.sf-business-dashboard fieldset {
	background: #fff;
	border: 1px solid #c7dce5;
	border-radius: 7px;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	min-width: 0;
	padding: 24px;
}

.sf-business-dashboard legend {
	background: #062f47;
	border-radius: 999px;
	color: #fff;
	font-size: .76rem;
	font-weight: 950;
	padding: 8px 12px;
	text-transform: uppercase;
}

.sf-business-dashboard fieldset label,
.sf-menu-manager > form label {
	color: #294f66;
	display: grid;
	font-size: .82rem;
	font-weight: 850;
	gap: 7px;
	grid-column: auto;
	min-width: 0;
}

.sf-business-dashboard fieldset label:nth-of-type(3),
.sf-business-dashboard fieldset label:nth-of-type(4),
.sf-business-dashboard fieldset label:last-child,
.sf-business-dashboard .sf-business-categories {
	grid-column: 1 / -1;
}

.sf-business-dashboard form input,
.sf-business-dashboard form textarea {
	border-radius: 6px;
	color: #062238;
	line-height: 1.35;
	min-width: 0;
}

.sf-business-categories {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-business-categories label {
	position: relative;
}

.sf-business-categories input {
	opacity: 0;
	position: absolute;
}

.sf-business-categories span {
	align-items: center;
	background: #f3fafc;
	border: 1px solid #bfd9e3;
	border-radius: 6px;
	color: #083551;
	display: flex;
	font-size: .84rem;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	min-height: 48px;
	padding: 10px;
}

.sf-business-categories input:checked + span {
	background: #0b6dff;
	border-color: #0b6dff;
	color: #fff;
}

.sf-menu-manager {
	background: #fff;
	border: 1px solid #c7dce5;
	border-radius: 7px;
	margin-top: 18px;
	padding: 24px;
}

.sf-menu-manager [data-sf-menu-items] article {
	border-radius: 6px;
	grid-template-columns: minmax(0, 1fr) auto auto;
}

.sf-menu-manager article strong {
	color: #062238;
	font-size: 1rem;
	white-space: nowrap;
}

.sf-menu-manager > form {
	border-radius: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-menu-manager > form label:nth-of-type(1),
.sf-menu-manager > form label:nth-of-type(3),
.sf-menu-manager > form label:nth-of-type(5),
.sf-menu-manager > form label:nth-of-type(6),
.sf-menu-manager > form > div,
.sf-menu-manager > form > [role="status"] {
	grid-column: 1 / -1;
}

.sf-business-offer-box {
	background: #fff5cf;
	border: 1px solid #f3d36f;
	border-radius: 7px;
	color: #4b3800;
}

.sf-business-offer-box h2 {
	color: #4b3800;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	letter-spacing: 0;
	line-height: 1.05;
	margin: 8px 0 10px;
}

.sf-digital-menu > header p:not(.sf-kicker) {
	color: #4c6878;
	line-height: 1.55;
	margin: -14px 0 24px;
	max-width: 720px;
}

.sf-digital-menu article {
	border-radius: 7px;
}

.sf-menu-thumb {
	align-items: center;
	background: #e8f7fb;
	border: 1px solid #bfdde7;
	border-radius: 6px;
	color: #0b6dff;
	display: inline-flex;
	height: 80px;
	justify-content: center;
	overflow: hidden;
	width: 90px;
}

.sf-digital-menu .sf-menu-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sf-menu-thumb svg {
	height: 26px;
	width: 26px;
}

.sf-menu-category {
	color: #087e6a;
	font-size: .74rem;
	font-weight: 950;
	margin: 0 0 5px;
	text-transform: uppercase;
}

@media (max-width: 760px) {
	.sf-business-dashboard fieldset,
	.sf-business-categories,
	.sf-menu-manager > form {
		grid-template-columns: 1fr;
	}

	.sf-business-dashboard fieldset label:nth-of-type(3),
	.sf-business-dashboard fieldset label:nth-of-type(4),
	.sf-business-dashboard fieldset label:last-child,
	.sf-business-dashboard .sf-business-categories,
	.sf-menu-manager > form label:nth-of-type(1),
	.sf-menu-manager > form label:nth-of-type(3),
	.sf-menu-manager > form label:nth-of-type(5),
	.sf-menu-manager > form label:nth-of-type(6),
	.sf-menu-manager > form > div,
	.sf-menu-manager > form > [role="status"] {
		grid-column: 1;
	}

	.sf-business-status {
		align-items: start;
		justify-items: start;
		max-width: none;
	}

	.sf-business-status strong {
		text-align: left;
	}

	.sf-digital-menu article {
		grid-template-columns: 70px minmax(0, 1fr);
	}

	.sf-menu-thumb {
		height: 70px;
		width: 70px;
	}

	.sf-digital-menu article > strong {
		grid-column: 2;
		justify-self: start;
	}
}

/* 5.23.6 absolute final guard: wins over every historical mobile block above. */
html body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

html body .sf-member-card-turner,
html body .sf-member-card-inner,
html body .sf-member-card-face,
html body .sf-member-card-face > img {
	border-radius: 24px !important;
	overflow: hidden !important;
}

html body .sf-footer-contact-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 10px !important;
	max-width: 100% !important;
}

html body .sf-footer-copy-button,
html body .sf-contact-details address button {
	box-sizing: border-box !important;
	white-space: normal !important;
}

html body .sf-footer-copy-button > span {
	color: inherit !important;
	display: inline !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-contact-details address button > span {
	display: grid !important;
	gap: 3px !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-contact-details address button strong,
html body .sf-contact-details address button em {
	color: #062238 !important;
	display: block !important;
	font-style: normal !important;
	line-height: 1.25 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-contact-details address button strong {
	font-size: 1rem !important;
	font-weight: 950 !important;
}

html body .sf-contact-details address button em {
	color: #5f7484 !important;
	font-size: .82rem !important;
	font-weight: 800 !important;
}

@media (max-width: 900px) {
	html body .sf-header.has-open-menu .sf-nav,
	html body .sf-header .sf-nav.is-open {
		box-sizing: border-box !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		max-height: min(72dvh, calc(100dvh - 128px)) !important;
		max-width: calc(100vw - 20px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		top: calc(74px + env(safe-area-inset-top)) !important;
		transform: none !important;
		width: auto !important;
	}
}

@media (max-width: 760px) {
	html body .sf-footer {
		padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
	}

	html body .sf-footer-main {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	html body .sf-footer .sf-footer-brand img {
		max-width: min(260px, 82vw) !important;
	}

	html body .sf-footer-copy-button {
		flex: 1 1 150px !important;
		min-height: 48px !important;
		min-width: 0 !important;
	}

	html body .sf-contact-details {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}

	html body .sf-contact-details address button {
		min-height: 68px !important;
		padding: 13px 14px !important;
		width: 100% !important;
	}

	html body .sf-member-card-turner,
	html body .sf-member-card-inner,
	html body .sf-member-card-face,
	html body .sf-member-card-face > img {
		border-radius: 16px !important;
	}
}
/* 5.25.2 EOF guard: tessera Safari-safe, senza flip 3D che specchia il fronte. */
html body .sf-member-card-stage {
	perspective: none !important;
}

html body .sf-member-card-inner,
html body .sf-member-card-stage.is-flipped .sf-member-card-inner {
	transform: none !important;
	transform-style: flat !important;
	transition: none !important;
}

html body .sf-member-card-face {
	backface-visibility: visible !important;
	-webkit-backface-visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	transition: opacity .18s ease, visibility .18s ease !important;
	visibility: visible !important;
	z-index: 1 !important;
}

html body .sf-member-card-back,
html body .sf-member-card-stage.is-flipped .sf-member-card-front {
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
	z-index: 0 !important;
}

html body .sf-member-card-stage.is-flipped .sf-member-card-back {
	opacity: 1 !important;
	pointer-events: auto !important;
	visibility: visible !important;
	z-index: 2 !important;
}

/* 5.25.5: il menu resta fisso su desktop; l'auto-hide vale solo su mobile. */
@media (min-width: 761px) {
	html body .sf-header.is-hidden {
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translateX(-50%) translateY(0) !important;
	}
}

/* 5.25.7: area soci a pannelli, senza pagina infinita. */
html body .sf-member-dashboard-hero {
	padding: clamp(22px, 3vw, 40px) !important;
}

html body .sf-member-dashboard-main {
	align-content: start !important;
	gap: 0 !important;
	min-height: min(720px, 70vh);
}

html body .sf-member-portal-pane {
	display: block;
	min-width: 0;
	scroll-margin-top: 140px;
	width: 100%;
}

html body .sf-member-portal-pane[hidden] {
	display: none !important;
}

html body .sf-member-dashboard[data-sf-member-dashboard] .sf-member-portal-pane:not(:first-child):not(.is-active) {
	display: none !important;
}

html body .sf-member-portal-pane > section,
html body .sf-member-dashboard-main .sf-member-profile,
html body .sf-member-dashboard-main .sf-my-bookings,
html body .sf-member-dashboard-main .sf-member-card,
html body .sf-member-dashboard-main .sf-membership-link,
html body .sf-member-dashboard-main .sf-myunpli-data,
html body .sf-member-dashboard-main .sf-member-payments,
html body .sf-member-dashboard-main .sf-member-documents,
html body .sf-member-dashboard-main .sf-member-documents-gate,
html body .sf-member-dashboard-main .sf-board-area,
html body .sf-member-dashboard-main .sf-business-dashboard {
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

html body .sf-member-section-links a.is-active,
html body .sf-member-section-links a[aria-current="page"],
html body .sf-member-dashboard-actions a.is-active,
html body .sf-member-dashboard-actions a[aria-current="page"] {
	background: #fff !important;
	border-color: #0b6dff !important;
	box-shadow: inset 4px 0 0 #0b6dff, 0 12px 26px rgba(7, 52, 77, .1) !important;
	color: #062238 !important;
}

html body .sf-member-dashboard-actions a.is-active,
html body .sf-member-dashboard-actions a[aria-current="page"] {
	background: #ffd052 !important;
	box-shadow: 0 14px 32px rgba(2, 21, 39, .18) !important;
}

@media (max-width: 900px) {
	html body .sf-member-dashboard-main {
		min-height: auto;
	}

	html body .sf-member-portal-pane {
		scroll-margin-top: 112px;
	}
}

/* 5.26.2: footer identitario compatto a sinistra. */
html body .sf-footer-main {
	align-items: start !important;
	gap: clamp(34px, 4vw, 64px) !important;
	grid-template-columns: minmax(300px, .94fr) minmax(170px, .64fr) minmax(190px, .72fr) minmax(170px, .64fr) !important;
	padding-bottom: clamp(44px, 4.6vw, 66px) !important;
	padding-top: clamp(44px, 5vw, 70px) !important;
}

html body .sf-footer .sf-footer-brand {
	align-items: flex-start !important;
	display: grid !important;
	justify-items: start !important;
	max-width: 460px !important;
	text-align: left !important;
}

html body .sf-footer .sf-footer-brand img {
	max-width: min(310px, 100%) !important;
	width: 100% !important;
}

html body .sf-footer-brand-title {
	color: #fff !important;
	font-size: clamp(1.28rem, 1.7vw, 1.72rem) !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	line-height: 1.02 !important;
	margin: 20px 0 14px !important;
	max-width: 360px !important;
	text-transform: uppercase !important;
}

html body .sf-footer .sf-footer-brand > p.sf-footer-tagline {
	color: rgba(220, 234, 250, .84) !important;
	font-size: 1rem !important;
	line-height: 1.45 !important;
	margin: 0 0 18px !important;
	max-width: 520px !important;
	text-align: left !important;
}

html body .sf-footer .sf-footer-brand address {
	gap: 2px !important;
}

html body .sf-footer .sf-footer-brand address,
html body .sf-footer .sf-footer-brand address a,
html body .sf-footer .sf-footer-brand address span {
	color: #fff !important;
	font-size: clamp(.96rem, 1vw, 1.08rem) !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	line-height: 1.32 !important;
}

html body .sf-footer .sf-footer-brand address a {
	text-decoration: underline !important;
	text-decoration-color: rgba(255, 255, 255, .75) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 4px !important;
}

html body .sf-footer .sf-footer-brand .sf-social-links {
	gap: 8px !important;
	margin-top: 22px !important;
}

html body .sf-footer .sf-social-links a {
	border-radius: 7px !important;
	height: 42px !important;
	width: 42px !important;
}

html body .sf-footer .sf-social-brand-icon {
	height: 21px !important;
	width: 21px !important;
}

html body .sf-footer .sf-footer-column {
	padding-top: 10px !important;
}

html body .sf-footer h3 {
	font-size: .86rem !important;
	margin-bottom: 14px !important;
}

html body .sf-footer nav {
	gap: 9px !important;
}

html body .sf-footer a,
html body .sf-footer address span {
	font-size: .94rem !important;
}

html body .sf-footer-legal {
	border-top: 1px solid rgba(255, 255, 255, .18) !important;
	margin-top: 24px !important;
	padding-top: 22px !important;
}

@media (max-width: 1180px) {
	html body .sf-footer-main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}

	html body .sf-footer .sf-footer-brand {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 760px) {
	html body .sf-footer-main {
		grid-template-columns: 1fr !important;
		padding-bottom: 42px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		padding-top: 42px !important;
	}

	html body .sf-footer .sf-footer-brand img {
		max-width: min(270px, 82vw) !important;
	}

	html body .sf-footer-brand-title {
		font-size: clamp(1.22rem, 6vw, 1.55rem) !important;
	}

	html body .sf-footer .sf-footer-brand address,
	html body .sf-footer .sf-footer-brand address a,
	html body .sf-footer .sf-footer-brand address span {
		font-size: clamp(1rem, 5vw, 1.28rem) !important;
		overflow-wrap: anywhere !important;
	}
}

/* 5.26.7: footer piu compatto con PEC su una riga quando lo spazio lo permette. */
html body .sf-footer-main {
	gap: clamp(26px, 3vw, 44px) !important;
	grid-template-columns: minmax(430px, 1.04fr) minmax(150px, .62fr) minmax(170px, .68fr) minmax(160px, .62fr) !important;
	padding-bottom: clamp(32px, 3.5vw, 48px) !important;
	padding-top: clamp(32px, 3.8vw, 50px) !important;
}

html body .sf-footer .sf-footer-brand {
	max-width: 520px !important;
}

html body .sf-footer .sf-footer-brand img {
	max-width: min(245px, 100%) !important;
}

html body .sf-footer-brand-title {
	font-size: clamp(1.08rem, 1.28vw, 1.34rem) !important;
	line-height: 1.03 !important;
	margin: 16px 0 12px !important;
	max-width: 340px !important;
}

html body .sf-footer .sf-footer-brand address {
	gap: 1px !important;
}

html body .sf-footer .sf-footer-brand address,
html body .sf-footer .sf-footer-brand address a,
html body .sf-footer .sf-footer-brand address span {
	font-size: 14px !important;
	line-height: 1.22 !important;
}

html body .sf-footer-contact-line--pec {
	letter-spacing: -.01em !important;
	white-space: nowrap !important;
}

html body .sf-footer .sf-footer-brand .sf-social-links {
	gap: 7px !important;
	margin-top: 18px !important;
}

html body .sf-footer .sf-social-links a {
	height: 36px !important;
	width: 36px !important;
}

html body .sf-footer .sf-social-brand-icon {
	height: 18px !important;
	width: 18px !important;
}

html body .sf-footer .sf-footer-column {
	padding-top: 4px !important;
}

html body .sf-footer h3 {
	font-size: .78rem !important;
	margin-bottom: 11px !important;
}

html body .sf-footer h3::after {
	height: 2px !important;
	margin-top: 7px !important;
	width: 26px !important;
}

html body .sf-footer h3.sf-footer-subtitle {
	margin-top: 22px !important;
}

html body .sf-footer nav {
	gap: 7px !important;
}

html body .sf-footer a,
html body .sf-footer address span {
	font-size: 14px !important;
	line-height: 1.22 !important;
}

html body .sf-footer-legal {
	margin-top: 18px !important;
	padding-top: 16px !important;
}

@media (max-width: 1180px) {
	html body .sf-footer-main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}
}

@media (max-width: 760px) {
	html body .sf-footer-main {
		gap: 28px !important;
		padding: 34px 22px !important;
	}

	html body .sf-footer .sf-footer-brand img {
		max-width: min(220px, 76vw) !important;
	}

	html body .sf-footer-brand-title {
		font-size: clamp(1.08rem, 5vw, 1.32rem) !important;
		margin-top: 14px !important;
	}

	html body .sf-footer .sf-footer-brand address,
	html body .sf-footer .sf-footer-brand address a,
	html body .sf-footer .sf-footer-brand address span {
		font-size: 14px !important;
		line-height: 1.25 !important;
	}

	html body .sf-footer-contact-line--pec {
		white-space: normal !important;
	}
}

/* 5.26.3: Sostienici e FAQ aggiornate. */
html body .sf-page-sostienici.sf-page-without-hero,
html body .sf-page-faq.sf-page-without-hero {
	background: #f1f8fa;
	padding-top: clamp(108px, 12vw, 150px);
}

html body .sf-page-sostienici .sf-shortcode-shell,
html body .sf-page-faq .sf-shortcode-shell {
	background: transparent;
	padding: 0 max(20px, calc((100% - 1240px) / 2)) clamp(58px, 7vw, 88px);
}

html body .sf-support-hub-v2,
html body .sf-faq-hub {
	color: #061a2d;
	display: grid;
	gap: 18px;
}

html body .sf-support-hero,
html body .sf-faq-hero {
	align-items: end;
	background: #07344d;
	border-top: 5px solid #18bfa2;
	color: #fff;
	display: grid;
	gap: clamp(24px, 4vw, 56px);
	grid-template-columns: minmax(0, 1.3fr) minmax(260px, .58fr);
	padding: clamp(30px, 5vw, 58px);
}

html body .sf-support-hero h2,
html body .sf-faq-hero h2 {
	color: #fff;
	font-size: clamp(2.2rem, 5vw, 5.2rem);
	letter-spacing: 0;
	line-height: .96;
	margin: 10px 0 16px;
	max-width: 880px;
}

html body .sf-support-hero p,
html body .sf-faq-hero p {
	color: rgba(232, 246, 251, .9);
	font-size: clamp(1rem, 1.4vw, 1.32rem);
	font-weight: 780;
	line-height: 1.42;
	margin: 0;
	max-width: 790px;
}

html body .sf-support-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

html body .sf-support-hero-actions a,
html body .sf-faq-final a,
html body .sf-support-actions a {
	align-items: center;
	background: #ffd052;
	color: #061a2d;
	display: inline-flex;
	font-weight: 950;
	gap: 8px;
	min-height: 48px;
	padding: 12px 18px;
	text-decoration: none;
}

html body .sf-support-hero-actions a + a {
	background: #fff;
}

html body .sf-support-hero-actions svg,
html body .sf-faq-final svg,
html body .sf-support-actions svg {
	height: 20px;
	width: 20px;
}

html body .sf-support-code {
	background: #fff;
	border: 1px solid #c9dfe7;
	display: grid;
	gap: 10px;
	padding: 22px;
}

html body .sf-support-code.is-hero {
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 22px 52px rgba(2, 21, 39, .22);
}

html body .sf-support-code span {
	color: #5d7483;
	font-size: .78rem;
	font-weight: 950;
	letter-spacing: .04em;
	text-transform: uppercase;
}

html body .sf-support-code strong {
	color: #061a2d;
	font-size: clamp(2rem, 4vw, 3.8rem);
	letter-spacing: .02em;
	line-height: .95;
}

html body .sf-support-code button {
	align-items: center;
	background: #0068ff;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 950;
	gap: 8px;
	justify-content: center;
	min-height: 46px;
	padding: 10px 14px;
}

html body .sf-support-code small {
	color: #0b7d68;
	font-weight: 850;
	min-height: 18px;
}

html body .sf-support-paths {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

html body .sf-support-paths a {
	background: #fff;
	border: 1px solid #c9dfe7;
	color: #061a2d;
	display: grid;
	gap: 12px;
	min-height: 224px;
	padding: 22px;
	text-decoration: none;
}

html body .sf-support-paths a > span,
html body .sf-faq-topics a > i,
html body .sf-faq-section > header > i {
	align-items: center;
	background: #eaf7fb;
	color: #0068ff;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

html body .sf-support-paths svg,
html body .sf-faq-topics svg,
html body .sf-faq-section > header svg {
	height: 23px;
	width: 23px;
}

html body .sf-support-paths strong {
	font-size: 1.22rem;
	font-weight: 950;
	line-height: 1.05;
}

html body .sf-support-paths small {
	color: #587383;
	font-size: .94rem;
	font-weight: 780;
	line-height: 1.36;
}

html body .sf-support-paths b {
	align-self: end;
	color: #0068ff;
	font-size: .9rem;
	font-weight: 950;
}

html body .sf-support-tax,
html body .sf-support-donate,
html body .sf-support-reasons,
html body .sf-support-actions,
html body .sf-faq-final {
	background: #fff;
	border: 1px solid #c9dfe7;
	padding: clamp(24px, 4vw, 40px);
}

html body .sf-support-tax {
	align-items: center;
	display: grid;
	gap: clamp(22px, 4vw, 48px);
	grid-template-columns: minmax(0, 1fr) minmax(270px, .44fr);
}

html body .sf-support-tax h2,
html body .sf-support-donate h2,
html body .sf-support-reasons h2,
html body .sf-support-actions h2 {
	font-size: clamp(1.9rem, 3.4vw, 3.5rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 6px 0 12px;
}

html body .sf-support-tax p,
html body .sf-support-donate header p,
html body .sf-support-actions p {
	color: #587383;
	font-size: 1.02rem;
	font-weight: 760;
	line-height: 1.45;
	margin: 0;
}

html body .sf-support-tax ol {
	display: grid;
	gap: 8px;
	margin: 18px 0 0;
	padding-left: 20px;
}

html body .sf-support-tax li {
	font-weight: 850;
}

html body .sf-support-methods {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

html body .sf-support-method {
	align-items: center;
	background: #f3fafb;
	border: 1px solid #c9dfe7;
	color: #061a2d;
	display: grid;
	gap: 14px;
	grid-template-columns: 50px minmax(0, 1fr) auto;
	padding: 16px;
	text-decoration: none;
}

html body .sf-support-method-icon {
	align-items: center;
	background: #e5f7f2;
	color: #0b7d68;
	display: inline-flex;
	height: 50px;
	justify-content: center;
	width: 50px;
}

html body .sf-support-method strong,
html body .sf-support-empty strong {
	display: block;
	font-size: 1.1rem;
	font-weight: 950;
}

html body .sf-support-method small {
	color: #587383;
	display: block;
	font-weight: 760;
	line-height: 1.35;
	margin-top: 4px;
}

html body .sf-support-method b {
	align-items: center;
	background: #0068ff;
	color: #fff;
	display: inline-flex;
	font-size: .9rem;
	font-weight: 950;
	gap: 6px;
	min-height: 42px;
	padding: 9px 12px;
}

html body .sf-support-empty {
	background: #f3fafb;
	border: 1px dashed #b7d8e3;
	margin-top: 18px;
	padding: 18px;
}

html body .sf-support-empty p {
	color: #587383;
	font-weight: 760;
}

html body .sf-support-empty a {
	color: #0068ff;
	font-weight: 950;
}

html body .sf-support-reasons > div {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body .sf-support-reasons article {
	background: #f3fafb;
	border-left: 4px solid #18bfa2;
	padding: 18px;
}

html body .sf-support-reasons article span {
	color: #10c7e9;
	display: block;
	font-size: 2rem;
	font-weight: 1000;
	line-height: 1;
	margin-bottom: 12px;
}

html body .sf-support-reasons article p {
	color: #061a2d;
	font-weight: 880;
	line-height: 1.35;
	margin: 0;
}

html body .sf-support-actions,
html body .sf-faq-final {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

html body .sf-support-actions > div:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

html body .sf-support-actions a:last-child {
	background: #07344d;
	color: #fff;
}

html body .sf-faq-hero aside {
	background: #fff;
	color: #061a2d;
	display: grid;
	gap: 12px;
	padding: 22px;
}

html body .sf-faq-hero aside > span {
	align-items: center;
	background: #e5f7f2;
	color: #0b7d68;
	display: inline-flex;
	height: 52px;
	justify-content: center;
	width: 52px;
}

html body .sf-faq-hero aside strong {
	font-size: 1.2rem;
	line-height: 1.1;
}

html body .sf-faq-hero aside a {
	background: #0068ff;
	color: #fff;
	font-weight: 950;
	padding: 12px 14px;
	text-align: center;
	text-decoration: none;
}

html body .sf-faq-topics {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

html body .sf-faq-topics a {
	align-items: center;
	background: #fff;
	border: 1px solid #c9dfe7;
	color: #061a2d;
	display: flex;
	font-weight: 950;
	gap: 12px;
	min-height: 70px;
	padding: 12px;
	text-decoration: none;
}

html body .sf-faq-sections {
	display: grid;
	gap: 14px;
}

html body .sf-faq-section {
	background: #fff;
	border: 1px solid #c9dfe7;
	padding: clamp(20px, 3vw, 30px);
	scroll-margin-top: 130px;
}

html body .sf-faq-section > header {
	align-items: center;
	display: flex;
	gap: 14px;
	margin-bottom: 16px;
}

html body .sf-faq-section h3,
html body .sf-faq-final h3 {
	font-size: clamp(1.55rem, 2.4vw, 2.45rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 4px 0 0;
}

html body .sf-faq-list {
	display: grid;
	gap: 8px;
}

html body .sf-faq-item {
	background: #f8fcfd;
	border: 1px solid #d3e5ec;
}

html body .sf-faq-item summary {
	align-items: center;
	color: #061a2d;
	cursor: pointer;
	display: flex;
	font-size: 1.04rem;
	font-weight: 950;
	gap: 14px;
	justify-content: space-between;
	list-style: none;
	padding: 16px 18px;
}

html body .sf-faq-item summary::-webkit-details-marker {
	display: none;
}

html body .sf-faq-item summary svg {
	color: #0068ff;
	flex: 0 0 auto;
	height: 20px;
	transition: transform .2s ease;
	width: 20px;
}

html body .sf-faq-item[open] summary svg {
	transform: rotate(180deg);
}

html body .sf-faq-item > div {
	border-top: 1px solid #d3e5ec;
	color: #587383;
	font-weight: 760;
	line-height: 1.5;
	padding: 0 18px 16px;
}

html body .sf-faq-item > div p {
	margin: 14px 0 0;
}

html body .sf-faq-item a {
	color: #0068ff;
	font-weight: 950;
}

html body .sf-faq-final p {
	color: #587383;
	font-weight: 760;
	margin: 8px 0 0;
}

html body .sf-faq-final a {
	flex: 0 0 auto;
}

@media (max-width: 1020px) {
	html body .sf-support-hero,
	html body .sf-faq-hero,
	html body .sf-support-tax {
		grid-template-columns: 1fr;
	}

	html body .sf-support-paths,
	html body .sf-faq-topics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html body .sf-support-reasons > div {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	html body .sf-page-sostienici.sf-page-without-hero,
	html body .sf-page-faq.sf-page-without-hero {
		padding-top: 96px;
	}

	html body .sf-page-sostienici .sf-shortcode-shell,
	html body .sf-page-faq .sf-shortcode-shell {
		padding-left: 16px;
		padding-right: 16px;
	}

	html body .sf-support-hero,
	html body .sf-faq-hero,
	html body .sf-support-tax,
	html body .sf-support-donate,
	html body .sf-support-reasons,
	html body .sf-support-actions,
	html body .sf-faq-final {
		padding: 22px;
	}

	html body .sf-support-hero h2,
	html body .sf-faq-hero h2 {
		font-size: clamp(2.1rem, 14vw, 3.7rem);
	}

	html body .sf-support-paths,
	html body .sf-faq-topics {
		grid-template-columns: 1fr;
	}

	html body .sf-support-method {
		grid-template-columns: 44px minmax(0, 1fr);
	}

	html body .sf-support-method b {
		grid-column: 1 / -1;
		justify-content: center;
	}

	html body .sf-support-actions,
	html body .sf-faq-final {
		align-items: stretch;
		flex-direction: column;
	}

	html body .sf-support-actions > div:last-child,
	html body .sf-support-actions a,
	html body .sf-faq-final a {
		width: 100%;
	}
}

/* 5.26.4: avvisi sito configurabili da WordPress. */
html body.sf-announcement-open {
	overflow: hidden;
}

html body .sf-site-notice[hidden] {
	display: none !important;
}

html body .sf-site-notice {
	color: #062238;
	font-family: inherit;
	letter-spacing: 0;
	z-index: 2400;
}

html body .sf-site-notice__panel {
	background: rgba(255, 255, 255, .98);
	border: 1px solid #c7ddea;
	box-shadow: 0 24px 70px rgba(3, 22, 37, .22);
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	overflow: hidden;
	padding: 18px;
}

html body .sf-site-notice__panel::before {
	background: linear-gradient(90deg, #10c7e9, #18bfa2, #ffca42);
	content: "";
	grid-column: 1 / -1;
	height: 5px;
	margin: -18px -18px 0;
}

html body .sf-site-notice--service .sf-site-notice__panel::before {
	background: linear-gradient(90deg, #0b6dff, #22d3ee);
}

html body .sf-site-notice--urgent .sf-site-notice__panel::before {
	background: linear-gradient(90deg, #ff3b30, #ff9f1c, #ffd35a);
}

html body .sf-site-notice--quiet .sf-site-notice__panel::before {
	background: linear-gradient(90deg, #b7c9d6, #e7f0f6);
}

html body .sf-site-notice__copy {
	min-width: 0;
}

html body .sf-site-notice__copy > p:first-child {
	color: #009dc2;
	font-size: .74rem;
	font-weight: 1000;
	letter-spacing: .08em;
	line-height: 1.1;
	margin: 0 0 7px;
	text-transform: uppercase;
}

html body .sf-site-notice__copy h2 {
	color: #061a2d;
	font-size: clamp(1.35rem, 2vw, 2rem);
	font-weight: 1000;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

html body .sf-site-notice__copy div {
	color: #486a7d;
	font-size: .98rem;
	font-weight: 760;
	line-height: 1.45;
	margin-top: 8px;
	max-width: 760px;
}

html body .sf-site-notice__copy div p {
	margin: 0;
}

html body .sf-site-notice__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

html body .sf-site-notice__actions a,
html body .sf-site-notice__close {
	align-items: center;
	border: 1px solid #c7ddea;
	border-radius: 6px;
	display: inline-flex;
	font-size: .93rem;
	font-weight: 950;
	justify-content: center;
	line-height: 1.1;
	min-height: 44px;
	padding: 12px 15px;
	text-decoration: none;
	white-space: nowrap;
}

html body .sf-site-notice__primary {
	background: #ffca42;
	border-color: #ffca42;
	color: #061a2d;
}

html body .sf-site-notice__secondary {
	background: #062238;
	border-color: #062238;
	color: #fff;
}

html body .sf-site-notice--service .sf-site-notice__primary {
	background: #0b6dff;
	border-color: #0b6dff;
	color: #fff;
}

html body .sf-site-notice--urgent .sf-site-notice__primary {
	background: #ff9f1c;
	border-color: #ff9f1c;
	color: #061a2d;
}

html body .sf-site-notice--quiet .sf-site-notice__primary {
	background: #eef5f9;
	border-color: #c8d9e4;
	color: #062238;
}

html body .sf-site-notice__close {
	appearance: none;
	background: #fff;
	color: #062238;
	cursor: pointer;
	height: 44px;
	padding: 0;
	width: 44px;
}

html body .sf-site-notice__close svg {
	height: 20px;
	width: 20px;
}

html body .sf-site-notice--top {
	left: 50%;
	max-width: 1080px;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 14px;
	transform: translate(-50%, -125%);
	transition: opacity .22s ease, transform .22s ease;
	width: calc(100% - 28px);
}

html body .sf-site-notice--top.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

html body .sf-site-notice--top .sf-site-notice__panel {
	border-radius: 8px;
	pointer-events: auto;
}

html body .sf-site-notice--modal,
html body .sf-site-notice--fullscreen {
	align-items: center;
	background: rgba(3, 24, 39, .72);
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	padding: 24px;
	position: fixed;
	transition: opacity .22s ease;
}

html body .sf-site-notice--modal.is-visible,
html body .sf-site-notice--fullscreen.is-visible {
	opacity: 1;
}

html body .sf-site-notice--modal .sf-site-notice__panel {
	border-radius: 8px;
	max-width: 760px;
	transform: translateY(18px) scale(.98);
	transition: transform .22s ease;
	width: 100%;
}

html body .sf-site-notice--modal.is-visible .sf-site-notice__panel,
html body .sf-site-notice--fullscreen.is-visible .sf-site-notice__panel {
	transform: translateY(0) scale(1);
}

html body .sf-site-notice--fullscreen .sf-site-notice__panel {
	align-content: center;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(238, 250, 253, .98)),
		linear-gradient(90deg, #10c7e9, #18bfa2, #ffca42);
	min-height: min(720px, calc(100vh - 48px));
	max-width: 1180px;
	padding: clamp(26px, 5vw, 62px);
	transform: translateY(18px) scale(.98);
	width: min(1180px, 100%);
}

html body .sf-site-notice--fullscreen .sf-site-notice__panel::before {
	margin: calc(clamp(26px, 5vw, 62px) * -1) calc(clamp(26px, 5vw, 62px) * -1) 0;
}

html body .sf-site-notice--fullscreen .sf-site-notice__copy h2 {
	font-size: clamp(2.2rem, 5vw, 5.2rem);
}

html body .sf-site-notice--fullscreen .sf-site-notice__copy div {
	font-size: clamp(1rem, 1.4vw, 1.28rem);
	max-width: 780px;
}

/* 5.26.9: schede attivita con logo/placeholder e banner vuoto davvero nascosto quando non serve. */
html body .sf-directory-empty[hidden],
html body .sf-business-grid article[hidden] {
	display: none !important;
}

html body .sf-business-media {
	align-items: center;
	background: #eef8fb;
	display: flex;
	min-height: 180px;
	overflow: hidden;
}

html body .sf-business-media--placeholder {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(231, 248, 253, .96)),
		linear-gradient(90deg, #10c7e9, #18bfa2, #ffca42);
	justify-content: center;
	padding: 24px;
}

html body .sf-business-grid .sf-business-media--placeholder img {
	height: auto;
	max-height: 96px;
	object-fit: contain;
	width: min(220px, 78%);
}

html body .sf-directory-empty > .sf-directory-empty-logo {
	align-items: center;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(3, 30, 56, .08);
	display: flex;
	height: 74px;
	justify-content: center;
	padding: 10px;
	width: 118px;
}

html body .sf-directory-empty > .sf-directory-empty-logo img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* 5.26.8: il menu completo resta visibile su desktop; il pulsante Menu e valido solo per schermi piccoli. */
@media (min-width: 1024px) {
	html body .sf-header,
	html body .sf-header.is-condensed {
		gap: 14px !important;
		grid-template-columns: 190px minmax(0, 1fr) auto !important;
		left: 50% !important;
		min-height: 84px !important;
		padding: 10px 14px 10px 22px !important;
		right: auto !important;
		transform: translateX(-50%) translateY(0) !important;
		width: min(1760px, calc(100% - 40px)) !important;
	}

	html body .sf-header .sf-menu-button,
	html body .sf-header.is-condensed .sf-menu-button {
		display: none !important;
	}

	html body .sf-header .sf-nav,
	html body .sf-header.is-condensed .sf-nav {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		display: flex !important;
		gap: 4px !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		inset: auto !important;
		justify-content: center !important;
		left: auto !important;
		margin: 0 !important;
		max-height: none !important;
		max-width: none !important;
		overflow: visible !important;
		padding: 0 !important;
		position: static !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		width: auto !important;
	}

	html body .sf-header .sf-nav-home,
	html body .sf-header.is-condensed .sf-nav-home,
	html body .sf-header .sf-nav-language,
	html body .sf-header.is-condensed .sf-nav-language {
		display: none !important;
	}

	html body .sf-header .sf-header-tools,
	html body .sf-header.is-condensed .sf-header-tools {
		display: flex !important;
		grid-column: 3 !important;
		grid-row: 1 !important;
		justify-self: end !important;
	}
}

@media (max-width: 760px) {
	html body .sf-site-notice--top {
		top: 10px;
		width: calc(100% - 20px);
	}

	html body .sf-site-notice__panel,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel {
		grid-template-columns: 1fr;
		padding: 16px;
	}

	html body .sf-site-notice__panel::before,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel::before {
		margin: -16px -16px 0;
	}

	html body .sf-site-notice__actions {
		justify-content: stretch;
	}

	html body .sf-site-notice__actions a {
		flex: 1 1 100%;
		white-space: normal;
	}

	html body .sf-site-notice__close {
		position: absolute;
		right: 10px;
		top: 10px;
	}

html body .sf-site-notice__copy {
	padding-right: 46px;
}
}

/* 5.26.11: rifiniture finali richieste su header, footer, avvisi e area attivita. */
@media (min-width: 1024px) {
	html body .sf-header,
	html body .sf-header.is-condensed,
	html body .admin-bar .sf-header,
	html body .admin-bar .sf-header.is-condensed {
		display: grid !important;
		grid-template-columns: 220px minmax(0, 1fr) auto !important;
		left: 50% !important;
		min-height: 86px !important;
		padding: 10px 16px 10px 24px !important;
		position: fixed !important;
		right: auto !important;
		top: 30px !important;
		transform: translateX(-50%) !important;
		width: min(1760px, calc(100% - 48px)) !important;
	}

	html body:not(.admin-bar) .sf-header,
	html body:not(.admin-bar) .sf-header.is-condensed {
		top: 24px !important;
	}

	html body .sf-header.is-hidden,
	html body .sf-header.is-pulled {
		opacity: 1 !important;
		transform: translateX(-50%) !important;
		visibility: visible !important;
	}

	html body .sf-header .sf-menu-button,
	html body .sf-header.is-condensed .sf-menu-button {
		display: none !important;
	}

	html body .sf-header .sf-nav,
	html body .sf-header.is-condensed .sf-nav {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		display: flex !important;
		gap: 4px !important;
		grid-column: 2 !important;
		justify-content: center !important;
		max-height: none !important;
		overflow: visible !important;
		padding: 0 !important;
		position: static !important;
		transform: none !important;
		width: auto !important;
	}

	html body .sf-header .sf-nav-home,
	html body .sf-header .sf-nav-language,
	html body .sf-header.is-condensed .sf-nav-home,
	html body .sf-header.is-condensed .sf-nav-language {
		display: none !important;
	}

	html body .sf-header .sf-header-tools,
	html body .sf-header.is-condensed .sf-header-tools {
		display: flex !important;
		grid-column: 3 !important;
		justify-self: end !important;
	}
}

@media (max-width: 760px) {
	html body .sf-header {
		transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
	}

	html body .sf-header.is-hidden {
		opacity: 0 !important;
		transform: translateY(-118%) !important;
		visibility: hidden !important;
	}

	html body .sf-header.has-open-menu,
	html body .sf-header:focus-within,
	html body .sf-header.is-pulled {
		opacity: 1 !important;
		transform: translateY(0) !important;
		visibility: visible !important;
	}
}

html body .sf-place-copy small[data-sf-distance]:empty,
html body .sf-place-duration,
html body [data-sf-visit-minutes],
html body .sf-card-duration {
	display: none !important;
}

html body .sf-footer-main {
	align-items: start !important;
	gap: clamp(24px, 2.8vw, 42px) !important;
	grid-template-columns: minmax(390px, .92fr) minmax(150px, .5fr) minmax(170px, .58fr) minmax(170px, .56fr) !important;
	padding: clamp(34px, 3.6vw, 52px) max(34px, calc((100% - 1380px) / 2)) clamp(32px, 3vw, 46px) !important;
}

html body .sf-footer .sf-footer-brand {
	max-width: 500px !important;
	text-align: left !important;
}

html body .sf-footer .sf-footer-brand img {
	max-width: 235px !important;
}

html body .sf-footer-brand-title {
	font-size: clamp(1.02rem, 1.18vw, 1.26rem) !important;
	margin: 14px 0 10px !important;
	max-width: 320px !important;
}

html body .sf-footer .sf-footer-brand address,
html body .sf-footer .sf-footer-brand address a,
html body .sf-footer .sf-footer-brand address span {
	font-size: 13px !important;
	line-height: 1.2 !important;
}

html body .sf-footer-contact-line--pec {
	display: inline-block !important;
	max-width: 100% !important;
	overflow-wrap: normal !important;
	white-space: nowrap !important;
}

html body .sf-footer .sf-social-links a {
	height: 34px !important;
	width: 34px !important;
}

html body .sf-footer .sf-social-brand-icon {
	height: 17px !important;
	width: 17px !important;
}

html body .sf-footer h3 {
	font-size: .76rem !important;
	margin-bottom: 10px !important;
}

html body .sf-footer nav {
	gap: 6px !important;
}

html body .sf-footer a,
html body .sf-footer address span {
	font-size: 13px !important;
}

html body .sf-footer-panorama {
	height: clamp(160px, 18vw, 250px) !important;
}

html body .sf-site-notice__brand {
	align-items: center;
	background: #fff;
	border: 1px solid #d6e9f1;
	border-radius: 8px;
	display: inline-flex;
	height: 74px;
	justify-content: center;
	margin-bottom: 14px;
	padding: 10px 14px;
	width: 148px;
}

html body .sf-site-notice__brand img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

html body .sf-business-map-link {
	align-items: center;
	align-self: end;
	background: #eef8ff;
	border: 1px solid #c9e4f3;
	border-radius: 6px;
	color: #08324d;
	display: inline-flex;
	font-weight: 850;
	gap: 8px;
	min-height: 46px;
	padding: 10px 14px;
	text-decoration: none;
}

html body .sf-business-map-link svg {
	height: 19px;
	width: 19px;
}

@media (max-width: 1180px) {
	html body .sf-footer-main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}
}

@media (max-width: 760px) {
	html body .sf-footer-main {
		gap: 24px !important;
		grid-template-columns: 1fr !important;
		padding: 30px 20px !important;
	}

	html body .sf-footer .sf-footer-brand img {
		max-width: 200px !important;
	}

	html body .sf-footer .sf-footer-brand address,
	html body .sf-footer .sf-footer-brand address a,
	html body .sf-footer .sf-footer-brand address span {
		font-size: 13px !important;
	}

	html body .sf-footer-contact-line--pec {
		white-space: normal !important;
	}
}

/* 5.26.14: mobile finale per filtri, planner, footer e strumenti flottanti. */
:root {
	--sf-mobile-nav-height: 86px;
}

html body .sf-destination-page.sf-page.sf-page-without-hero {
	background: #f1f8fa;
	padding-top: clamp(126px, 12vw, 168px) !important;
}

@media (max-width: 900px) {
	html,
	body {
		max-width: 100% !important;
		overflow-x: hidden !important;
		width: 100% !important;
	}

	body {
		padding-bottom: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 32px) !important;
	}

	html body .sf-main {
		max-width: 100% !important;
		overflow: visible !important;
		width: 100% !important;
	}

	html body .sf-main,
	html body .sf-main > *,
	html body .sf-page,
	html body .sf-band,
	html body .sf-shortcode-shell,
	html body .sf-explorer,
	html body .sf-registry,
	html body .sf-filterbar,
	html body .sf-registry-filter,
	html body .sf-place-grid,
	html body .sf-directory,
	html body .sf-planner,
	html body .sf-planner-stage,
	html body .sf-planner-form,
	html body .sf-planner-result,
	html body .sf-plan-copy,
	html body .sf-plan-route,
	html body .sf-footer,
	html body .sf-footer-main,
	html body .sf-footer-bottom {
		box-sizing: border-box !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body img,
	html body video,
	html body iframe,
	html body canvas {
		max-width: 100% !important;
	}

	html body .sf-filterbar,
	html body .sf-registry-filter,
	html body .sf-member-documents-filter {
		display: grid !important;
		gap: 12px !important;
		grid-template-columns: minmax(0, 1fr) !important;
		margin: 18px 0 22px !important;
		overflow: visible !important;
		padding: 0 !important;
	}

	html body .sf-filter-scroll {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		overflow: visible !important;
		padding: 0 !important;
		width: 100% !important;
	}

	html body .sf-filter-scroll > *,
	html body .sf-filter-scroll button {
		flex: 0 1 auto !important;
		max-width: 100% !important;
		min-height: 42px !important;
		min-width: 0 !important;
		white-space: normal !important;
	}

	html body .sf-search-field,
	html body .sf-search-field input,
	html body .sf-registry-filter select,
	html body .sf-member-documents-filter select {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body .sf-registry {
		overflow-x: hidden !important;
	}

	html body .sf-mobile-nav {
		align-items: stretch !important;
		background: rgba(255, 255, 255, .96) !important;
		border-top: 1px solid rgba(0, 104, 255, .14) !important;
		box-shadow: 0 -16px 34px rgba(6, 47, 71, .14) !important;
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		left: 0 !important;
		min-height: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom)) !important;
		padding: 8px max(6px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-right)) !important;
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		z-index: 1200 !important;
	}

	html body .sf-mobile-nav a,
	html body .sf-mobile-nav button {
		font-size: .68rem !important;
		gap: 4px !important;
		line-height: 1.08 !important;
		min-height: 60px !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding: 6px 2px !important;
		text-align: center !important;
	}

	html body .sf-mobile-nav svg {
		height: 24px !important;
		width: 24px !important;
	}

	html body .sf-chat,
	html body .sf-accessibility {
		bottom: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 18px) !important;
		position: fixed !important;
		z-index: 1210 !important;
	}

	html body .sf-chat {
		right: max(72px, calc(env(safe-area-inset-right) + 72px)) !important;
	}

	html body .sf-accessibility {
		right: max(14px, calc(env(safe-area-inset-right) + 14px)) !important;
	}

	html body .sf-chat-toggle,
	html body .sf-accessibility-toggle {
		border-radius: 14px !important;
		height: 54px !important;
		min-height: 54px !important;
		min-width: 54px !important;
		width: 54px !important;
	}

	html body .sf-chat-toggle {
		grid-template-columns: 44px !important;
		padding: 5px !important;
	}

	html body .sf-chat-toggle > .sf-chat-toggle-icon {
		border-radius: 10px !important;
		height: 44px !important;
		width: 44px !important;
	}

	html body .sf-chat-toggle-copy {
		display: none !important;
	}

	html body .sf-accessibility-glyph {
		font-size: 18px !important;
	}

	html body .sf-accessibility-panel {
		bottom: 64px !important;
		max-height: min(70dvh, 520px) !important;
		max-width: calc(100vw - 24px) !important;
		overflow: auto !important;
		right: 0 !important;
	}

	html body .sf-chat-panel {
		inset: calc(12px + env(safe-area-inset-top)) 10px calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 12px) 10px !important;
		max-height: none !important;
		width: auto !important;
	}

	html body .sf-toast {
		bottom: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 18px) !important;
	}
}

@media (max-width: 760px) {
	html body .sf-destination-page.sf-page.sf-page-without-hero {
		padding-top: calc(112px + env(safe-area-inset-top)) !important;
	}

	html body .sf-page-pianifica .sf-shortcode-shell {
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	html body .sf-page-pianifica .sf-planner {
		border-left: 0 !important;
		border-radius: 0 !important;
		border-right: 0 !important;
		margin: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	html body .sf-planner-intro {
		padding: 34px 20px 32px !important;
	}

	html body .sf-planner-intro h2 {
		font-size: clamp(2.35rem, 11.5vw, 3.45rem) !important;
		line-height: 1.02 !important;
	}

	html body .sf-planner-intro > div:first-child > p:last-child {
		font-size: clamp(1rem, 4.9vw, 1.2rem) !important;
		line-height: 1.45 !important;
	}

	html body .sf-journey-block {
		padding: 24px 18px !important;
	}

	html body .sf-plan-copy {
		padding: 26px 20px 30px !important;
	}

	html body .sf-plan-copy h3 {
		font-size: clamp(2rem, 9.6vw, 2.8rem) !important;
		line-height: 1.05 !important;
		overflow-wrap: anywhere !important;
	}

	html body .sf-plan-copy > p:not(.sf-kicker) {
		font-size: clamp(1rem, 4.8vw, 1.15rem) !important;
		line-height: 1.45 !important;
	}

	html body .sf-plan-metrics {
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) !important;
		margin: 20px 0 !important;
	}

	html body .sf-plan-metrics > span {
		border-left: 0 !important;
		border-top: 1px solid rgba(255, 255, 255, .16) !important;
		grid-template-columns: 28px minmax(0, 1fr) !important;
		padding: 10px 0 0 !important;
	}

	html body .sf-plan-metrics > span:first-child {
		border-top: 0 !important;
		padding-top: 0 !important;
	}

	html body .sf-plan-metrics b {
		font-size: 1.05rem !important;
	}

	html body .sf-plan-metrics small {
		font-size: .78rem !important;
	}

	html body .sf-plan-route li,
	html body .sf-plan-route li.sf-plan-margin {
		gap: 10px !important;
		grid-template-columns: 54px 42px minmax(0, 1fr) !important;
		min-height: 0 !important;
		padding: 14px 0 !important;
	}

	html body .sf-plan-route li time {
		font-size: .82rem !important;
	}

	html body .sf-plan-route .sf-route-node {
		border-radius: 8px !important;
		font-size: .88rem !important;
		height: 34px !important;
		width: 34px !important;
	}

	html body .sf-plan-route li:not(:last-child) .sf-route-node::after {
		height: calc(100% + 30px) !important;
		left: 16px !important;
		top: 34px !important;
	}

	html body .sf-plan-route li strong {
		font-size: clamp(1.05rem, 5vw, 1.32rem) !important;
		line-height: 1.15 !important;
		overflow-wrap: anywhere !important;
	}

	html body .sf-plan-route li small {
		font-size: .9rem !important;
		line-height: 1.28 !important;
	}

	html body .sf-plan-route li > div {
		display: grid !important;
		gap: 8px !important;
		grid-column: 1 / -1 !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		justify-self: stretch !important;
	}

	html body .sf-plan-route button {
		min-height: 44px !important;
		width: 100% !important;
	}

	html body .sf-footer {
		overflow: visible !important;
	}

	html body .sf-footer-main {
		display: grid !important;
		gap: 26px !important;
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 34px 22px 28px !important;
	}

	html body .sf-footer .sf-footer-brand,
	html body .sf-footer .sf-footer-column {
		grid-column: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body .sf-footer .sf-footer-brand img {
		margin: 0 auto 18px !important;
		max-width: min(220px, 72vw) !important;
	}

	html body .sf-footer-brand-title {
		font-size: clamp(1.18rem, 5.4vw, 1.42rem) !important;
		line-height: 1.08 !important;
		max-width: 100% !important;
	}

	html body .sf-footer .sf-footer-brand address,
	html body .sf-footer .sf-footer-brand address a,
	html body .sf-footer .sf-footer-brand address span {
		font-size: clamp(.9rem, 4.3vw, 1.02rem) !important;
		line-height: 1.34 !important;
		overflow-wrap: anywhere !important;
		white-space: normal !important;
	}

	html body .sf-footer-contact-line,
	html body .sf-footer-contact-line--pec {
		display: inline !important;
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		white-space: normal !important;
		word-break: break-word !important;
	}

	html body .sf-footer h3 {
		font-size: .86rem !important;
		line-height: 1.2 !important;
		margin-bottom: 10px !important;
	}

	html body .sf-footer h3.sf-footer-subtitle {
		margin-top: 20px !important;
	}

	html body .sf-footer nav {
		gap: 9px !important;
	}

	html body .sf-footer a,
	html body .sf-footer address span {
		font-size: clamp(.92rem, 4.3vw, 1.06rem) !important;
		line-height: 1.3 !important;
		overflow-wrap: anywhere !important;
	}

	html body .sf-footer-column nav a {
		max-width: 100% !important;
		width: auto !important;
	}

	html body .sf-footer .sf-social-links {
		gap: 10px !important;
		margin-top: 20px !important;
	}

	html body .sf-footer .sf-social-links a {
		height: 48px !important;
		width: 48px !important;
	}

	html body .sf-footer-panorama {
		height: 260px !important;
		min-height: 260px !important;
	}

	html body .sf-footer-panorama img {
		height: 100% !important;
		min-height: 260px !important;
	}

	html body .sf-footer .sf-footer-bottom {
		display: grid !important;
		gap: 10px !important;
		padding: 20px 22px calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 30px) !important;
	}
}

/* 5.26.18: attività locali più minimali e scorrevoli. */
html body .sf-page-attivita-locali .sf-shortcode-shell {
	padding-top: clamp(34px, 5vw, 64px) !important;
}

html body .sf-directory {
	display: grid !important;
	gap: 18px !important;
}

html body .sf-directory-head.sf-directory-head--minimal {
	align-items: center !important;
	border-bottom: 1px solid #d5e7ee !important;
	gap: 18px !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	padding-bottom: 18px !important;
}

html body .sf-directory-head.sf-directory-head--minimal h2 {
	font-size: clamp(1.95rem, 3.9vw, 3.2rem) !important;
	line-height: 1.02 !important;
	margin: 7px 0 0 !important;
	max-width: 720px !important;
}

html body .sf-directory-head.sf-directory-head--minimal > div:first-child > p:last-child {
	display: none !important;
}

html body .sf-directory-head.sf-directory-head--minimal .sf-directory-head-actions {
	gap: 12px !important;
}

html body .sf-directory-head.sf-directory-head--minimal .sf-directory-total {
	border-left-width: 3px !important;
	min-width: 92px !important;
	padding-left: 10px !important;
}

html body .sf-directory-head.sf-directory-head--minimal .sf-directory-total strong {
	font-size: 1.55rem !important;
}

html body .sf-directory-head.sf-directory-head--minimal .sf-directory-total small {
	font-size: .62rem !important;
}

html body .sf-directory-head.sf-directory-head--minimal .sf-outline-action {
	min-height: 42px !important;
	padding: 9px 12px !important;
}

html body .sf-directory .sf-category-portals {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 4px !important;
	overflow: visible !important;
	padding: 0 !important;
}

html body .sf-directory .sf-category-portals button {
	border-radius: 6px !important;
	font-size: .8rem !important;
	min-height: 40px !important;
	padding: 8px 11px !important;
	white-space: normal !important;
}

html body .sf-business-packages,
html body .sf-directory-crosslink {
	display: none !important;
}

html body .sf-business-grid {
	gap: 14px !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
}

html body .sf-business-grid article {
	background: #fff !important;
	border: 1px solid #d6e8ef !important;
	border-radius: 8px !important;
	box-shadow: 0 10px 24px rgba(3, 30, 56, .06) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 9px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 12px !important;
}

html body .sf-business-grid article[hidden] {
	display: none !important;
}

html body .sf-business-media {
	align-items: center !important;
	aspect-ratio: 16 / 10 !important;
	background: #f5fbfd !important;
	border: 1px solid #e0edf2 !important;
	border-radius: 7px !important;
	display: flex !important;
	justify-content: center !important;
	margin: 0 0 6px !important;
	overflow: hidden !important;
	padding: 14px !important;
}

html body .sf-business-grid .sf-business-media img,
html body .sf-business-grid img {
	aspect-ratio: auto !important;
	border-radius: 0 !important;
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	max-height: 120px !important;
	max-width: 100% !important;
	object-fit: contain !important;
	width: 100% !important;
}

html body .sf-business-grid .sf-kicker {
	font-size: .68rem !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}

html body .sf-business-grid h3 {
	font-size: clamp(1.15rem, 2.2vw, 1.42rem) !important;
	line-height: 1.08 !important;
	margin: 0 !important;
}

html body .sf-business-grid article > p:not(.sf-kicker),
html body .sf-business-tags,
html body .sf-business-offer {
	display: none !important;
}

html body .sf-business-quick {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px !important;
	margin-top: 2px !important;
}

html body .sf-business-quick a,
html body .sf-business-open {
	align-items: center !important;
	border-radius: 6px !important;
	display: inline-flex !important;
	font-size: .76rem !important;
	font-weight: 900 !important;
	gap: 6px !important;
	min-height: 36px !important;
	padding: 8px 10px !important;
	text-decoration: none !important;
}

html body .sf-business-quick a {
	background: #f3f9fc !important;
	border: 1px solid #d2e5ed !important;
	color: #083551 !important;
}

html body .sf-business-open {
	background: #0b6dff !important;
	border: 1px solid #0b6dff !important;
	color: #fff !important;
	justify-content: center !important;
	margin-top: auto !important;
	width: 100% !important;
}

html body .sf-business-quick svg,
html body .sf-business-open svg {
	height: 15px !important;
	width: 15px !important;
}

html body .sf-directory-empty {
	align-items: center !important;
	background: #f8fcfd !important;
	border: 1px solid #d6e8ef !important;
	border-left: 0 !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: 16px !important;
	grid-template-columns: auto minmax(0, 1fr) !important;
	margin-top: 4px !important;
	min-height: 0 !important;
	padding: 18px !important;
}

html body .sf-directory-empty-logo {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid #d8e9ef !important;
	border-radius: 8px !important;
	display: flex !important;
	height: 64px !important;
	justify-content: center !important;
	padding: 10px !important;
	width: 64px !important;
}

html body .sf-directory-empty-logo img {
	height: 100% !important;
	object-fit: contain !important;
	width: 100% !important;
}

html body .sf-directory-empty h3 {
	font-size: clamp(1.15rem, 2.2vw, 1.45rem) !important;
	line-height: 1.12 !important;
}

html body .sf-directory-empty p[data-sf-directory-empty-copy] {
	font-size: .88rem !important;
	line-height: 1.42 !important;
	margin: 6px 0 0 !important;
}

@media (max-width: 760px) {
	html body .sf-page-attivita-locali .sf-shortcode-shell {
		padding-left: 16px !important;
		padding-right: 16px !important;
		padding-top: 28px !important;
	}

	html body .sf-directory-head.sf-directory-head--minimal {
		align-items: start !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .sf-directory-head.sf-directory-head--minimal .sf-directory-head-actions {
		align-items: center !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		width: 100% !important;
	}

	html body .sf-directory .sf-category-portals {
		flex-wrap: nowrap !important;
		margin-left: -16px !important;
		margin-right: -16px !important;
		overflow-x: auto !important;
		padding: 0 16px 6px !important;
		scrollbar-width: none !important;
	}

	html body .sf-directory .sf-category-portals::-webkit-scrollbar {
		display: none !important;
	}

	html body .sf-directory .sf-category-portals button {
		flex: 0 0 auto !important;
	}

	html body .sf-business-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .sf-business-grid article {
		padding: 11px !important;
	}

	html body .sf-business-media {
		max-height: 156px !important;
	}

	html body .sf-business-grid .sf-business-media img,
	html body .sf-business-grid img {
		max-height: 112px !important;
	}

	html body .sf-business-quick a {
		flex: 1 1 auto !important;
		justify-content: center !important;
		min-width: 94px !important;
	}

	html body .sf-directory-empty {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .sf-directory-empty-logo {
		display: none !important;
	}
}

/* 5.26.21 EOF guard: Sostienici deve restare compatta dopo i blocchi storici. */
html body .sf-page-sostienici.sf-page-without-hero {
	padding-top: clamp(92px, 10vw, 124px) !important;
}

html body .sf-page-sostienici .sf-shortcode-shell {
	padding-bottom: clamp(58px, 7vw, 90px) !important;
}

@media (max-width: 700px) {
	html body .sf-page-sostienici.sf-page-without-hero {
		padding-top: 86px !important;
	}

	html body .sf-page-sostienici .sf-shortcode-shell {
		padding-left: 14px !important;
		padding-right: 14px !important;
		padding-bottom: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 34px) !important;
	}
}

/* 5.26.22: Sostienici ridisegnata, meno testo e senza spazi vuoti. */
html body .sf-page-sostienici.sf-page-without-hero {
	background: #f2f9fb !important;
	padding-top: clamp(82px, 9vw, 112px) !important;
}

html body .sf-page-sostienici .sf-shortcode-shell {
	padding-left: max(16px, calc((100% - 1180px) / 2)) !important;
	padding-right: max(16px, calc((100% - 1180px) / 2)) !important;
	padding-bottom: clamp(44px, 6vw, 72px) !important;
}

html body .sf-support-hub-v4 {
	color: #061a2d !important;
	display: grid !important;
	gap: 14px !important;
	margin: 0 auto !important;
	max-width: 1180px !important;
	width: 100% !important;
}

html body .sf-support-spark {
	align-items: stretch !important;
	background: #07344d !important;
	border: 1px solid #cfe2ea !important;
	border-radius: 8px !important;
	border-top: 5px solid #16c7b1 !important;
	box-shadow: 0 18px 50px rgba(7, 52, 77, .08) !important;
	color: #fff !important;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: minmax(0, .95fr) minmax(330px, .72fr) !important;
	overflow: hidden !important;
}

html body .sf-support-spark-copy {
	display: grid !important;
	gap: 16px !important;
	padding: clamp(24px, 4vw, 46px) !important;
}

html body .sf-support-spark .sf-kicker,
html body .sf-support-tax-compact .sf-kicker,
html body .sf-support-member-strip .sf-kicker {
	color: #1ad8ee !important;
	font-size: .76rem !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

html body .sf-support-spark h2 {
	color: #fff !important;
	font-size: clamp(2.4rem, 6vw, 5.4rem) !important;
	line-height: .95 !important;
	margin: 0 !important;
	max-width: 650px !important;
}

html body .sf-support-spark-copy > p:not(.sf-kicker) {
	color: rgba(232, 247, 252, .9) !important;
	font-size: clamp(1rem, 1.4vw, 1.22rem) !important;
	font-weight: 780 !important;
	line-height: 1.42 !important;
	margin: 0 !important;
	max-width: 650px !important;
}

html body .sf-support-quick-links {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: auto !important;
}

html body .sf-support-quick-links a,
html body .sf-support-member-strip a {
	align-items: center !important;
	background: #ffd052 !important;
	border-radius: 6px !important;
	color: #061a2d !important;
	display: inline-flex !important;
	font-weight: 950 !important;
	gap: 8px !important;
	min-height: 44px !important;
	padding: 10px 14px !important;
	text-decoration: none !important;
}

html body .sf-support-quick-links a:nth-child(2),
html body .sf-support-quick-links a:nth-child(3) {
	background: rgba(255, 255, 255, .1) !important;
	border: 1px solid rgba(255, 255, 255, .22) !important;
	color: #fff !important;
}

html body .sf-support-quick-links svg,
html body .sf-support-member-strip svg,
html body .sf-support-payment button svg,
html body .sf-support-code button svg {
	flex: 0 0 auto !important;
	height: 18px !important;
	width: 18px !important;
}

html body .sf-support-donation-card {
	background: #fff !important;
	color: #061a2d !important;
	display: grid !important;
	gap: 12px !important;
	padding: clamp(18px, 3vw, 26px) !important;
}

html body .sf-support-donation-card > span {
	color: #0b7d68 !important;
	font-size: .76rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

html body .sf-support-donation-card h3 {
	font-size: clamp(1.45rem, 2.4vw, 2.2rem) !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}

html body .sf-support-donation-card > p {
	color: #587383 !important;
	font-size: .94rem !important;
	font-weight: 760 !important;
	line-height: 1.38 !important;
	margin: 0 !important;
}

html body .sf-support-payment {
	background: #f5fafc !important;
	border: 1px solid #d4e7ee !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: 11px !important;
	margin: 0 !important;
	padding: 12px !important;
}

html body .sf-support-amounts {
	display: grid !important;
	gap: 7px !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

html body .sf-support-amounts button {
	background: #fff !important;
	border: 1px solid #bed7e2 !important;
	border-radius: 6px !important;
	color: #061a2d !important;
	cursor: pointer !important;
	font: inherit !important;
	font-weight: 950 !important;
	min-height: 42px !important;
	padding: 0 8px !important;
}

html body .sf-support-amounts button.is-selected {
	background: #0068ff !important;
	border-color: #0068ff !important;
	color: #fff !important;
}

html body .sf-support-payment-fields {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: .55fr 1fr !important;
}

html body .sf-support-payment-fields > div:last-child {
	grid-column: 1 / -1 !important;
}

html body .sf-support-payment label {
	color: #061a2d !important;
	display: grid !important;
	font-size: .78rem !important;
	font-weight: 950 !important;
	gap: 5px !important;
	margin: 0 !important;
}

html body .sf-support-payment input,
html body .sf-support-payment select {
	background: #fff !important;
	border: 1px solid #bfd7e1 !important;
	border-radius: 6px !important;
	font: inherit !important;
	font-size: .94rem !important;
	min-height: 44px !important;
	padding: 0 11px !important;
	width: 100% !important;
}

html body .sf-support-payment > button {
	align-items: center !important;
	background: #0068ff !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: #fff !important;
	display: inline-flex !important;
	font: inherit !important;
	font-weight: 950 !important;
	gap: 8px !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 0 15px !important;
	width: 100% !important;
}

html body .sf-support-payment small {
	color: #587383 !important;
	font-size: .8rem !important;
	font-weight: 760 !important;
	line-height: 1.3 !important;
}

html body .sf-support-tax-compact,
html body .sf-support-member-strip {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid #cfe2ea !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 38px rgba(7, 52, 77, .06) !important;
	display: grid !important;
	gap: 18px !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	padding: clamp(18px, 3vw, 28px) !important;
}

html body .sf-support-tax-compact h2,
html body .sf-support-member-strip h2 {
	color: #061a2d !important;
	font-size: clamp(1.55rem, 2.7vw, 2.55rem) !important;
	line-height: 1.05 !important;
	margin: 5px 0 7px !important;
}

html body .sf-support-tax-compact p {
	color: #587383 !important;
	font-weight: 760 !important;
	line-height: 1.42 !important;
	margin: 0 !important;
}

html body .sf-support-code {
	background: #f6fbfd !important;
	border: 1px solid #d1e5ed !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: 8px !important;
	min-width: min(280px, 100%) !important;
	padding: 16px !important;
}

html body .sf-support-code span {
	color: #5d7483 !important;
	font-size: .72rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
}

html body .sf-support-code strong {
	color: #061a2d !important;
	font-size: clamp(1.7rem, 3.4vw, 2.6rem) !important;
	line-height: 1 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-support-code button {
	align-items: center !important;
	background: #07344d !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: #fff !important;
	display: inline-flex !important;
	font: inherit !important;
	font-weight: 950 !important;
	gap: 8px !important;
	justify-content: center !important;
	min-height: 40px !important;
	padding: 8px 12px !important;
}

html body .sf-support-code small {
	color: #0b7d68 !important;
	font-size: .78rem !important;
	font-weight: 850 !important;
	min-height: 16px !important;
}

html body .sf-support-member-strip {
	background: #07344d !important;
	color: #fff !important;
}

html body .sf-support-member-strip h2 {
	color: #fff !important;
	margin-bottom: 0 !important;
}

@media (max-width: 860px) {
	html body .sf-support-spark,
	html body .sf-support-tax-compact,
	html body .sf-support-member-strip {
		grid-template-columns: 1fr !important;
	}

	html body .sf-support-member-strip a {
		justify-content: center !important;
		width: 100% !important;
	}
}

@media (max-width: 700px) {
	html body .sf-page-sostienici.sf-page-without-hero {
		padding-top: 72px !important;
	}

	html body .sf-page-sostienici .sf-shortcode-shell {
		padding-left: 12px !important;
		padding-right: 12px !important;
		padding-bottom: calc(var(--sf-mobile-nav-height) + env(safe-area-inset-bottom) + 26px) !important;
	}

	html body .sf-support-hub-v4 {
		gap: 10px !important;
	}

	html body .sf-support-spark h2 {
		font-size: clamp(2.25rem, 12vw, 3.5rem) !important;
	}

	html body .sf-support-quick-links {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	html body .sf-support-quick-links a {
		justify-content: center !important;
	}

	html body .sf-support-payment-fields,
	html body .sf-support-amounts {
		grid-template-columns: 1fr 1fr !important;
	}
}

/* 5.26.23: la home mostra solo contenuti reali e adatta "Cosa vedere adesso" a luoghi/eventi. */
html body .sf-now[hidden] {
	display: none !important;
}

html body .sf-now {
	margin-top: 0 !important;
	padding: clamp(42px, 6vw, 78px) clamp(16px, 5vw, 72px) !important;
}

html body .sf-now-results-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)) !important;
}

html body .sf-now-card {
	min-height: 0 !important;
}

html body .sf-now-card--event {
	background: linear-gradient(135deg, #fff 0%, #f2fbff 100%) !important;
	border-color: rgba(12, 111, 255, .22) !important;
}

html body .sf-now-card--event .sf-now-card-index {
	color: var(--blue) !important;
}

html body .sf-now-actions a {
	white-space: normal !important;
}

html body .sf-planner-empty {
	background: #f7fcff !important;
	border: 1px solid rgba(0, 104, 255, .14) !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: 10px !important;
	margin: 0 auto !important;
	max-width: 780px !important;
	min-height: 0 !important;
	padding: clamp(22px, 5vw, 42px) !important;
	text-align: center !important;
}

html body .sf-planner-empty > div {
	color: var(--blue) !important;
	margin: 0 auto !important;
}

html body .sf-planner-empty h2 {
	font-size: clamp(2rem, 5vw, 3rem) !important;
	line-height: 1 !important;
	margin: 0 !important;
}

html body .sf-planner-empty p:not(.sf-kicker) {
	color: #496578 !important;
	margin: 0 auto !important;
	max-width: 520px !important;
}

@media (max-width: 760px) {
	html body .sf-now {
		padding: 34px 14px !important;
	}

	html body .sf-now-head h2 {
		font-size: clamp(2rem, 9vw, 2.65rem) !important;
	}

	html body .sf-now-periods button {
		flex-basis: 62% !important;
	}

	html body .sf-now-result {
		margin-top: 18px !important;
		padding: 12px !important;
	}

	html body .sf-now-card {
		gap: 12px !important;
		padding: 16px !important;
	}

	html body .sf-now-card h3 {
		font-size: clamp(1.22rem, 6vw, 1.55rem) !important;
	}

	html body .sf-now-card p:not(.sf-kicker) {
		font-size: .9rem !important;
		line-height: 1.45 !important;
	}
}

/* 5.26.24: bandiere lingua stabili e avvisi pubblici leggibili in ogni formato. */
html body .sf-language-flag[data-flag] {
	align-items: center !important;
	display: inline-grid !important;
	flex: 0 0 auto !important;
	font-size: 0 !important;
	height: 1.3em !important;
	line-height: 1 !important;
	min-width: 1.55em !important;
	overflow: visible !important;
	place-items: center !important;
	text-rendering: auto !important;
	white-space: nowrap !important;
}

html body .sf-language-flag[data-flag]::before {
	content: attr(data-flag);
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
	font-size: 18px !important;
	line-height: 1 !important;
	text-rendering: auto !important;
}

html body .sf-language-list .sf-language-flag[data-flag]::before {
	font-size: 20px !important;
}

html body button.sf-lang,
html body .sf-nav-language {
	overflow: hidden !important;
}

html body button.sf-lang > strong,
html body .sf-nav-language > strong {
	letter-spacing: 0 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

html body .sf-site-notice {
	isolation: isolate !important;
	max-width: none !important;
	z-index: 5000 !important;
}

html body .sf-site-notice__panel {
	align-items: center !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: clamp(12px, 1.8vw, 22px) !important;
	grid-template-columns: 136px minmax(0, 1fr) auto !important;
	max-height: calc(100dvh - 32px) !important;
	overflow: auto !important;
	padding: clamp(16px, 2vw, 24px) !important;
	position: relative !important;
	width: 100% !important;
}

html body .sf-site-notice__panel::before {
	grid-column: 1 / -1 !important;
	margin: calc(clamp(16px, 2vw, 24px) * -1) calc(clamp(16px, 2vw, 24px) * -1) 0 !important;
}

html body .sf-site-notice__brand {
	align-self: center !important;
	grid-column: auto !important;
	grid-row: auto !important;
	height: 64px !important;
	margin: 0 !important;
	width: 136px !important;
}

html body .sf-site-notice__copy {
	min-width: 0 !important;
	padding-right: 0 !important;
}

html body .sf-site-notice__copy h2,
html body .sf-site-notice__copy div,
html body .sf-site-notice__copy div p {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
}

html body .sf-site-notice__actions {
	align-items: center !important;
	align-self: center !important;
	display: flex !important;
	flex: 0 0 auto !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
	min-width: min(260px, 28vw) !important;
}

html body .sf-site-notice__actions a,
html body .sf-site-notice__close {
	max-width: 100% !important;
	text-align: center !important;
}

html body .sf-site-notice__close {
	flex: 0 0 44px !important;
	position: static !important;
}

html body .sf-site-notice--top {
	top: max(12px, env(safe-area-inset-top)) !important;
	width: min(1120px, calc(100vw - 24px)) !important;
}

html body.admin-bar .sf-site-notice--top {
	top: max(46px, calc(env(safe-area-inset-top) + 38px)) !important;
}

html body .sf-site-notice--modal,
html body .sf-site-notice--fullscreen {
	overflow: auto !important;
	padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
}

html body .sf-site-notice--modal .sf-site-notice__panel {
	width: min(780px, 100%) !important;
}

html body .sf-site-notice--fullscreen .sf-site-notice__panel {
	grid-template-columns: minmax(120px, .24fr) minmax(0, 1fr) auto !important;
	min-height: min(680px, calc(100dvh - 36px)) !important;
	max-width: min(1160px, 100%) !important;
}

html body .sf-site-notice--fullscreen .sf-site-notice__copy h2 {
	font-size: clamp(2rem, 5vw, 4.7rem) !important;
	line-height: .96 !important;
}

@media (max-width: 900px) {
	html body .sf-site-notice__panel,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel {
		grid-template-columns: minmax(0, 1fr) auto !important;
	}

	html body .sf-site-notice__brand {
		display: none !important;
	}

	html body .sf-site-notice__copy {
		grid-column: 1 / -1 !important;
		padding-right: 48px !important;
	}

	html body .sf-site-notice__actions {
		grid-column: 1 / -1 !important;
		justify-content: stretch !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	html body .sf-site-notice__actions a {
		flex: 1 1 180px !important;
		min-width: 0 !important;
		white-space: normal !important;
	}

	html body .sf-site-notice__close {
		position: absolute !important;
		right: 12px !important;
		top: 12px !important;
	}
}

@media (max-width: 600px) {
	html body .sf-site-notice--top {
		top: max(8px, env(safe-area-inset-top)) !important;
		width: calc(100vw - 16px) !important;
	}

	html body.admin-bar .sf-site-notice--top {
		top: max(52px, calc(env(safe-area-inset-top) + 46px)) !important;
	}

	html body .sf-site-notice--modal,
	html body .sf-site-notice--fullscreen {
		align-items: flex-start !important;
		padding: max(10px, env(safe-area-inset-top)) 10px max(86px, calc(76px + env(safe-area-inset-bottom))) !important;
	}

	html body .sf-site-notice__panel,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel {
		border-radius: 8px !important;
		max-height: calc(100dvh - 20px) !important;
		min-height: 0 !important;
		padding: 14px !important;
	}

	html body .sf-site-notice__panel::before,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel::before {
		margin: -14px -14px 0 !important;
	}

	html body .sf-site-notice__copy > p:first-child {
		font-size: .66rem !important;
		line-height: 1.15 !important;
	}

	html body .sf-site-notice__copy h2,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy h2 {
		font-size: clamp(1.45rem, 8vw, 2.4rem) !important;
		line-height: 1 !important;
	}

	html body .sf-site-notice__copy div {
		font-size: .92rem !important;
		line-height: 1.38 !important;
	}

	html body .sf-site-notice__actions {
		gap: 8px !important;
	}

	html body .sf-site-notice__actions a {
		min-height: 42px !important;
		padding: 10px 12px !important;
	}
}

/* 5.26.25: tesseramento home più diretto, meno testo e tessera senza smussi. */
html body .sf-membership-home {
	align-items: center !important;
	gap: clamp(22px, 4vw, 54px) !important;
	grid-template-columns: minmax(0, .88fr) minmax(280px, .52fr) !important;
	max-width: 1280px !important;
	padding-bottom: clamp(46px, 6vw, 82px) !important;
	padding-top: clamp(46px, 6vw, 82px) !important;
}

html body .sf-membership-home-copy {
	align-content: center !important;
	display: grid !important;
	gap: clamp(14px, 1.8vw, 20px) !important;
	justify-items: start !important;
	min-width: 0 !important;
}

html body .sf-membership-home-copy .sf-kicker {
	color: #008fb8 !important;
	margin: 0 !important;
}

html body .sf-membership-home-copy h2 {
	color: #041525 !important;
	font-size: clamp(2.9rem, 5.6vw, 5.55rem) !important;
	line-height: .92 !important;
	margin: 0 !important;
	max-width: 760px !important;
	overflow-wrap: anywhere !important;
}

html body .sf-membership-home-copy > p:not(.sf-kicker) {
	color: #486474 !important;
	font-size: clamp(1.08rem, 1.45vw, 1.32rem) !important;
	font-weight: 850 !important;
	line-height: 1.42 !important;
	margin: 0 !important;
	max-width: 590px !important;
}

html body .sf-membership-home ul,
html body .sf-membership-home aside {
	display: none !important;
}

html body .sf-membership-home-steps {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin: 2px 0 0 !important;
	max-width: 620px !important;
	width: 100% !important;
}

html body .sf-membership-home-steps span {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid rgba(0, 104, 255, .18) !important;
	border-left: 5px solid #18c6a5 !important;
	color: #062238 !important;
	display: grid !important;
	font-size: .9rem !important;
	font-weight: 950 !important;
	gap: 10px !important;
	grid-template-columns: auto minmax(0, 1fr) !important;
	line-height: 1.18 !important;
	min-height: 58px !important;
	padding: 10px 12px !important;
}

html body .sf-membership-home-steps b {
	color: #0068ff !important;
	font-size: .82rem !important;
	font-weight: 1000 !important;
	letter-spacing: 0 !important;
}

html body .sf-membership-home .sf-actions {
	margin-top: 4px !important;
}

html body .sf-membership-home .sf-actions a:first-child {
	background: #0068ff !important;
	box-shadow: 0 16px 34px rgba(0, 104, 255, .22) !important;
	color: #fff !important;
}

html body .sf-membership-home .sf-actions a:not(:first-child) {
	background: #fff !important;
	border: 1px solid rgba(0, 104, 255, .22) !important;
	box-shadow: none !important;
	color: #062238 !important;
}

html body .sf-membership-home-card,
html body .sf-membership-home figure {
	align-self: center !important;
	display: grid !important;
	gap: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
}

html body .sf-membership-home figure img {
	aspect-ratio: 1199 / 754 !important;
	background: #fff !important;
	border: 1px solid #bcd5df !important;
	border-radius: 0 !important;
	box-shadow: 0 18px 42px rgba(6, 47, 71, .16) !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	width: 100% !important;
}

html body .sf-membership-home figcaption {
	align-items: center !important;
	background: #062238 !important;
	color: #fff !important;
	display: flex !important;
	font-size: .78rem !important;
	font-weight: 950 !important;
	gap: 12px !important;
	justify-content: space-between !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	padding: 10px 12px !important;
}

html body .sf-membership-home figcaption span {
	color: #bfe9f6 !important;
	font-size: .72rem !important;
	text-align: right !important;
}

@media (max-width: 900px) {
	html body .sf-membership-home {
		gap: 22px !important;
		grid-template-columns: 1fr !important;
		padding-bottom: 48px !important;
		padding-top: 48px !important;
	}

	html body .sf-membership-home-copy h2 {
		font-size: clamp(2.35rem, 9vw, 3.75rem) !important;
		max-width: 100% !important;
	}

	html body .sf-membership-home-copy > p:not(.sf-kicker) {
		max-width: 100% !important;
	}

	html body .sf-membership-home-steps {
		grid-template-columns: 1fr !important;
		max-width: 100% !important;
	}

	html body .sf-membership-home figure {
		width: min(100%, 560px) !important;
	}
}

@media (max-width: 520px) {
	html body .sf-membership-home {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	html body .sf-membership-home-copy {
		gap: 12px !important;
	}

	html body .sf-membership-home-copy h2 {
		font-size: clamp(2.05rem, 10.4vw, 2.8rem) !important;
		line-height: .96 !important;
	}

	html body .sf-membership-home-copy > p:not(.sf-kicker) {
		font-size: .98rem !important;
		line-height: 1.36 !important;
	}

	html body .sf-membership-home-steps span {
		min-height: 50px !important;
	}

	html body .sf-membership-home .sf-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	html body .sf-membership-home .sf-actions a {
		width: 100% !important;
	}

	html body .sf-membership-home figcaption {
		align-items: flex-start !important;
		display: grid !important;
	}

	html body .sf-membership-home figcaption span {
		text-align: left !important;
	}
}

/* 5.26.26: selettore lingua leggibile, con bandiere indipendenti dalle opzioni. */
html body .sf-language-dialog {
	max-height: calc(100dvh - 32px) !important;
	max-width: min(780px, calc(100vw - 28px)) !important;
	overflow: auto !important;
	padding: clamp(20px, 3vw, 30px) !important;
	width: min(780px, calc(100vw - 28px)) !important;
}

html body .sf-language-dialog > header {
	padding-right: 58px !important;
}

html body .sf-language-dialog > header h2 {
	font-size: clamp(2.15rem, 4.5vw, 3.5rem) !important;
	line-height: 1 !important;
	margin: 6px 0 8px !important;
}

html body .sf-language-dialog > header > p:not(.sf-kicker) {
	font-size: clamp(.98rem, 1.25vw, 1.08rem) !important;
	line-height: 1.35 !important;
	max-width: 62ch !important;
}

html body .sf-language-search {
	border-radius: 6px !important;
	margin: 18px 0 12px !important;
	min-height: 52px !important;
}

html body .sf-language-search input {
	min-width: 0 !important;
}

html body .sf-language-list {
	gap: 8px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-height: min(48dvh, 390px) !important;
	overflow: auto !important;
	padding: 2px 6px 2px 2px !important;
}

html body .sf-language-list button {
	align-items: center !important;
	border-radius: 6px !important;
	gap: 10px !important;
	grid-template-columns: 34px minmax(0, 1fr) auto !important;
	min-height: 58px !important;
	overflow: hidden !important;
	padding: 10px 12px !important;
}

html body .sf-language-list button > .sf-language-flag {
	justify-self: center !important;
	min-width: 28px !important;
}

html body .sf-language-list button > strong {
	display: block !important;
	font-size: .95rem !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .sf-language-list button > small {
	align-items: center !important;
	background: #eef8fb !important;
	border: 1px solid #d1e6ef !important;
	border-radius: 999px !important;
	color: #24546b !important;
	display: inline-flex !important;
	font-size: .68rem !important;
	font-weight: 950 !important;
	justify-content: center !important;
	line-height: 1 !important;
	min-width: 38px !important;
	padding: 6px 8px !important;
}

html body .sf-language-list button[aria-selected="true"] > small {
	background: #0068ff !important;
	border-color: #0068ff !important;
	color: #fff !important;
}

@media (max-width: 640px) {
	html body .sf-language-dialog {
		max-height: calc(100dvh - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		padding: 18px 14px 14px !important;
		width: calc(100vw - 20px) !important;
	}

	html body .sf-language-dialog > header {
		padding-right: 52px !important;
	}

	html body .sf-language-dialog > header h2 {
		font-size: clamp(2rem, 11vw, 2.8rem) !important;
	}

	html body .sf-language-list {
		grid-template-columns: 1fr !important;
		max-height: 54dvh !important;
	}

	html body .sf-language-list button {
		grid-template-columns: 34px minmax(0, 1fr) auto !important;
		min-height: 56px !important;
	}
}

/* 5.26.27: avviso top sotto l'header, senza bloccare menu e lingua. */
html body .sf-site-notice {
	z-index: 1400 !important;
}

html body .sf-site-notice--top {
	top: calc(max(12px, env(safe-area-inset-top)) + 86px) !important;
	z-index: 900 !important;
}

html body.admin-bar .sf-site-notice--top {
	top: calc(max(46px, calc(env(safe-area-inset-top) + 38px)) + 86px) !important;
}

html body .sf-site-notice--modal,
html body .sf-site-notice--fullscreen {
	z-index: 2400 !important;
}

@media (max-width: 900px) {
	html body .sf-site-notice--top {
		top: calc(8px + env(safe-area-inset-top) + 76px) !important;
	}

	html body.admin-bar .sf-site-notice--top {
		top: calc(max(52px, calc(env(safe-area-inset-top) + 46px)) + 76px) !important;
	}
}

/* 5.26.28: respiro corretto tra Oculus Room, header fisso e footer. */
html body .sf-immersive {
	margin-bottom: clamp(44px, 6vw, 78px) !important;
	margin-top: clamp(30px, 4.5vw, 58px) !important;
	scroll-margin-top: calc(124px + env(safe-area-inset-top)) !important;
}

html body .sf-immersive + .sf-footer {
	margin-top: 0 !important;
}

html body .sf-immersive h2 {
	max-width: 760px !important;
}

@media (max-width: 760px) {
	html body .sf-immersive {
		margin-bottom: 34px !important;
		margin-top: 24px !important;
		scroll-margin-top: calc(96px + env(safe-area-inset-top)) !important;
	}
}

/* 5.26.29: pagine San Fratello rifatte senza contenuti importati vecchi. */
html body .sf-feature-page.sf-destination-page.sf-page-without-hero {
	background: #f2f8fa !important;
	box-sizing: border-box !important;
	max-width: none !important;
	overflow-x: hidden !important;
	padding: 124px 0 76px !important;
	width: 100% !important;
}

html body .sf-feature-layout,
html body .sf-feature-layout * {
	box-sizing: border-box !important;
}

html body .sf-feature-layout {
	display: grid !important;
	gap: 28px !important;
	width: 100% !important;
}

html body .sf-feature-hero {
	align-items: stretch !important;
	background: #062238 !important;
	border-radius: 8px !important;
	color: #fff !important;
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .8fr) !important;
	margin: 0 auto !important;
	min-height: 540px !important;
	overflow: hidden !important;
	padding: 42px !important;
	position: relative !important;
	width: min(1320px, calc(100% - 44px)) !important;
}

html body .sf-feature-layout--landscapes .sf-feature-hero {
	background: #053f4f !important;
}

html body .sf-feature-layout--language .sf-feature-hero {
	background: #112842 !important;
}

html body .sf-feature-layout--about .sf-feature-hero {
	background: #07344d !important;
}

html body .sf-feature-copy {
	align-content: center !important;
	display: grid !important;
	gap: 18px !important;
	min-width: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

html body .sf-feature-copy .sf-breadcrumb,
html body .sf-feature-copy .sf-breadcrumb a,
html body .sf-feature-copy .sf-breadcrumb span {
	color: rgba(255, 255, 255, .78) !important;
}

html body .sf-feature-copy .sf-kicker,
html body .sf-feature-strip .sf-kicker,
html body .sf-feature-board .sf-kicker {
	color: #2fe4cf !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
}

html body .sf-feature-copy h1 {
	color: #fff !important;
	font-size: 5.25rem !important;
	letter-spacing: 0 !important;
	line-height: .95 !important;
	margin: 0 !important;
	max-width: 860px !important;
	overflow-wrap: anywhere !important;
}

html body .sf-feature-copy > p:not(.sf-kicker) {
	color: #d9ebf2 !important;
	font-size: 1.22rem !important;
	font-weight: 850 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	max-width: 680px !important;
}

html body .sf-feature-chips {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 4px !important;
}

html body .sf-feature-chips span {
	background: rgba(255, 255, 255, .1) !important;
	border: 1px solid rgba(255, 255, 255, .24) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: .82rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	padding: 9px 12px !important;
	white-space: nowrap !important;
}

html body .sf-feature-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 12px !important;
}

html body .sf-feature-actions a {
	align-items: center !important;
	border-radius: 7px !important;
	display: inline-flex !important;
	font-size: .98rem !important;
	font-weight: 950 !important;
	gap: 8px !important;
	justify-content: center !important;
	line-height: 1.1 !important;
	min-height: 50px !important;
	padding: 14px 18px !important;
	text-decoration: none !important;
}

html body .sf-feature-actions a.is-primary {
	background: #ffca45 !important;
	color: #061f2f !important;
}

html body .sf-feature-actions a.is-secondary {
	background: rgba(255, 255, 255, .1) !important;
	border: 1px solid rgba(255, 255, 255, .32) !important;
	color: #fff !important;
}

html body .sf-feature-actions a svg,
html body .sf-feature-actions a i {
	flex: 0 0 auto !important;
	height: 20px !important;
	width: 20px !important;
}

html body .sf-feature-media {
	align-self: stretch !important;
	background: #0b2839 !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 8px !important;
	margin: 0 !important;
	min-height: 360px !important;
	overflow: hidden !important;
}

html body .sf-feature-media img {
	display: block !important;
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

html body .sf-feature-cards {
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	margin: 0 auto !important;
	width: min(1320px, calc(100% - 44px)) !important;
}

html body .sf-feature-cards article {
	background: #fff !important;
	border: 1px solid #cfe1e9 !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: 12px !important;
	min-height: 210px !important;
	padding: 22px !important;
}

html body .sf-feature-cards article > span:first-child {
	align-items: center !important;
	background: #e9fbf8 !important;
	border-radius: 8px !important;
	color: #087b8f !important;
	display: inline-flex !important;
	height: 46px !important;
	justify-content: center !important;
	width: 46px !important;
}

html body .sf-feature-cards article > span:first-child svg,
html body .sf-feature-cards article > span:first-child i {
	height: 24px !important;
	width: 24px !important;
}

html body .sf-feature-cards h2 {
	color: #061f2f !important;
	font-size: 1.25rem !important;
	letter-spacing: 0 !important;
	line-height: 1.15 !important;
	margin: 0 !important;
}

html body .sf-feature-cards p {
	color: #526d7b !important;
	font-size: .98rem !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	margin: 0 !important;
}

html body .sf-feature-strip,
html body .sf-feature-board {
	background: #fff !important;
	border: 1px solid #cfe1e9 !important;
	border-radius: 8px !important;
	margin: 0 auto !important;
	padding: 34px !important;
	width: min(1320px, calc(100% - 44px)) !important;
}

html body .sf-feature-strip {
	border-left: 6px solid #ffca45 !important;
	display: grid !important;
	gap: 10px !important;
}

html body .sf-feature-strip h2,
html body .sf-feature-board > header h2 {
	color: #061f2f !important;
	font-size: 2.25rem !important;
	letter-spacing: 0 !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}

html body .sf-feature-strip p:not(.sf-kicker) {
	color: #526d7b !important;
	font-size: 1.05rem !important;
	font-weight: 850 !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	max-width: 760px !important;
}

html body .sf-feature-board {
	display: grid !important;
	gap: 22px !important;
	padding: 0 !important;
	overflow: hidden !important;
}

html body .sf-feature-board > header {
	padding: 30px 34px 0 !important;
}

html body .sf-feature-board .sf-board {
	background: transparent !important;
	padding: 0 34px 34px !important;
}

html body .sf-feature-board .sf-board > header {
	display: none !important;
}

html body .sf-feature-board .sf-board-grid {
	max-width: none !important;
}

@media (max-width: 1120px) {
	html body .sf-feature-hero {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
		padding: 34px !important;
	}

	html body .sf-feature-copy h1 {
		font-size: 4.2rem !important;
	}

	html body .sf-feature-media {
		aspect-ratio: 16 / 9 !important;
		min-height: 0 !important;
	}

	html body .sf-feature-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 700px) {
	html body .sf-feature-page.sf-destination-page.sf-page-without-hero {
		padding: 104px 0 calc(120px + env(safe-area-inset-bottom)) !important;
	}

	html body .sf-feature-layout {
		gap: 18px !important;
	}

	html body .sf-feature-hero,
	html body .sf-feature-cards,
	html body .sf-feature-strip,
	html body .sf-feature-board {
		width: calc(100% - 28px) !important;
	}

	html body .sf-feature-hero {
		gap: 20px !important;
		padding: 22px !important;
	}

	html body .sf-feature-copy {
		gap: 14px !important;
	}

	html body .sf-feature-copy .sf-breadcrumb {
		display: none !important;
	}

	html body .sf-feature-copy h1 {
		font-size: 3.05rem !important;
		line-height: .98 !important;
	}

	html body .sf-feature-copy > p:not(.sf-kicker) {
		font-size: 1rem !important;
		line-height: 1.42 !important;
	}

	html body .sf-feature-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	html body .sf-feature-actions a {
		width: 100% !important;
	}

	html body .sf-feature-media {
		aspect-ratio: 4 / 3 !important;
	}

	html body .sf-feature-cards {
		grid-template-columns: 1fr !important;
	}

	html body .sf-feature-cards article {
		grid-template-columns: 48px minmax(0, 1fr) !important;
		min-height: 0 !important;
		padding: 18px !important;
	}

	html body .sf-feature-cards article > span:first-child {
		grid-row: 1 / span 2 !important;
	}

	html body .sf-feature-cards h2 {
		font-size: 1.12rem !important;
	}

	html body .sf-feature-strip,
	html body .sf-feature-board {
		padding: 22px !important;
	}

	html body .sf-feature-strip h2,
	html body .sf-feature-board > header h2 {
		font-size: 2rem !important;
	}

	html body .sf-feature-board {
		padding: 0 !important;
	}

	html body .sf-feature-board > header {
		padding: 22px 22px 0 !important;
	}

	html body .sf-feature-board .sf-board {
		padding: 0 22px 22px !important;
	}
}

@media (max-width: 430px) {
	html body .sf-feature-copy h1 {
		font-size: 2.62rem !important;
	}

	html body .sf-feature-chips span {
		font-size: .76rem !important;
		padding: 8px 10px !important;
	}

	html body .sf-feature-cards article {
		padding: 16px !important;
	}
}

/* 5.26.30: avvisi pubblici compatti, leggibili e coerenti in ogni modalita. */
html body.sf-announcement-open {
	overflow: hidden !important;
}

html body .sf-site-notice[hidden] {
	display: none !important;
}

html body .sf-site-notice {
	box-sizing: border-box !important;
	color: #061f2f !important;
	font-family: inherit !important;
	isolation: isolate !important;
	letter-spacing: 0 !important;
	pointer-events: none !important;
	z-index: 5200 !important;
}

html body .sf-site-notice.is-visible {
	pointer-events: auto !important;
}

html body .sf-site-notice *,
html body .sf-site-notice *::before,
html body .sf-site-notice *::after {
	box-sizing: border-box !important;
}

html body .sf-site-notice__panel {
	align-items: center !important;
	background: #ffffff !important;
	border: 1px solid #cfe1e9 !important;
	border-radius: 8px !important;
	box-shadow: 0 24px 80px rgba(4, 24, 39, .24) !important;
	color: #061f2f !important;
	display: grid !important;
	gap: 16px !important;
	grid-auto-rows: min-content !important;
	grid-template-columns: 112px minmax(0, 1fr) auto !important;
	margin: 0 auto !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding: 20px !important;
	position: relative !important;
	transform: none !important;
	width: 100% !important;
}

html body .sf-site-notice__panel::before {
	background: linear-gradient(90deg, #13c9ec, #14c8aa, #ffd151) !important;
	content: "" !important;
	display: block !important;
	grid-column: 1 / -1 !important;
	height: 5px !important;
	margin: -20px -20px 0 !important;
	position: static !important;
	width: auto !important;
}

html body .sf-site-notice--service .sf-site-notice__panel::before,
html body .sf-site-notice--urgent .sf-site-notice__panel::before,
html body .sf-site-notice--quiet .sf-site-notice__panel::before {
	background: linear-gradient(90deg, #13c9ec, #14c8aa, #ffd151) !important;
}

html body .sf-site-notice__brand {
	align-items: center !important;
	align-self: center !important;
	background: #ffffff !important;
	border: 1px solid #d8e8ef !important;
	border-radius: 8px !important;
	display: flex !important;
	height: 66px !important;
	justify-content: center !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: 10px !important;
	width: 112px !important;
}

html body .sf-site-notice__brand img {
	display: block !important;
	height: auto !important;
	max-height: 46px !important;
	max-width: 92px !important;
	object-fit: contain !important;
	width: auto !important;
}

html body .sf-site-notice__copy {
	color: #3f5969 !important;
	display: grid !important;
	gap: 6px !important;
	min-width: 0 !important;
	padding: 0 !important;
}

html body .sf-site-notice__copy > p:first-child {
	color: #0787a3 !important;
	font-size: .72rem !important;
	font-weight: 1000 !important;
	letter-spacing: .08em !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

html body .sf-site-notice__copy h2 {
	color: #061f2f !important;
	font-size: 1.34rem !important;
	font-weight: 1000 !important;
	letter-spacing: 0 !important;
	line-height: 1.08 !important;
	margin: 0 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
}

html body .sf-site-notice--modal .sf-site-notice__copy h2,
html body .sf-site-notice--fullscreen .sf-site-notice__copy h2 {
	font-size: 1.34rem !important;
	line-height: 1.08 !important;
}

html body .sf-site-notice__copy div,
html body .sf-site-notice__copy div p {
	color: #415d6d !important;
	font-size: 1rem !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: 1.38 !important;
	margin: 0 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
}

html body .sf-site-notice--modal .sf-site-notice__copy div,
html body .sf-site-notice--modal .sf-site-notice__copy div p,
html body .sf-site-notice--fullscreen .sf-site-notice__copy div,
html body .sf-site-notice--fullscreen .sf-site-notice__copy div p {
	font-size: 1rem !important;
	line-height: 1.38 !important;
}

html body .sf-site-notice__actions {
	align-items: center !important;
	align-self: center !important;
	display: flex !important;
	flex: 0 0 auto !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	grid-column: auto !important;
	justify-content: flex-end !important;
	margin: 0 !important;
	min-width: 0 !important;
	position: static !important;
	width: auto !important;
}

html body .sf-site-notice__actions a,
html body .sf-site-notice__close {
	align-items: center !important;
	border-radius: 7px !important;
	display: inline-flex !important;
	font-size: .95rem !important;
	font-weight: 950 !important;
	justify-content: center !important;
	letter-spacing: 0 !important;
	line-height: 1.08 !important;
	margin: 0 !important;
	min-height: 44px !important;
	position: static !important;
	text-align: center !important;
	text-decoration: none !important;
	transform: none !important;
	white-space: nowrap !important;
}

html body .sf-site-notice__actions a {
	padding: 12px 16px !important;
}

html body .sf-site-notice__primary,
html body .sf-site-notice--service .sf-site-notice__primary,
html body .sf-site-notice--urgent .sf-site-notice__primary,
html body .sf-site-notice--quiet .sf-site-notice__primary {
	background: #ffca45 !important;
	border: 1px solid #ffca45 !important;
	color: #061f2f !important;
}

html body .sf-site-notice__secondary {
	background: #eef8fb !important;
	border: 1px solid #cfe1e9 !important;
	color: #07344d !important;
}

html body .sf-site-notice__close {
	appearance: none !important;
	background: #ffffff !important;
	border: 1px solid #cfe1e9 !important;
	color: #07344d !important;
	cursor: pointer !important;
	flex: 0 0 44px !important;
	height: 44px !important;
	padding: 0 !important;
	width: 44px !important;
}

html body .sf-site-notice__close svg {
	height: 19px !important;
	width: 19px !important;
}

html body .sf-site-notice--top {
	background: transparent !important;
	display: block !important;
	left: 50% !important;
	max-width: none !important;
	opacity: 0 !important;
	padding: 0 !important;
	position: fixed !important;
	right: auto !important;
	top: calc(max(12px, env(safe-area-inset-top)) + 92px) !important;
	transform: translate(-50%, -16px) !important;
	transition: opacity .2s ease, transform .2s ease !important;
	width: min(1060px, calc(100vw - 32px)) !important;
}

html body.admin-bar .sf-site-notice--top {
	top: calc(max(46px, env(safe-area-inset-top)) + 86px) !important;
}

html body .sf-site-notice--top.is-visible {
	opacity: 1 !important;
	transform: translate(-50%, 0) !important;
}

html body .sf-site-notice--top .sf-site-notice__panel {
	grid-template-columns: 112px minmax(0, 1fr) auto !important;
	max-height: calc(100dvh - 140px) !important;
	overflow: auto !important;
	width: 100% !important;
}

html body .sf-site-notice--modal,
html body .sf-site-notice--fullscreen {
	align-items: center !important;
	background: rgba(4, 22, 35, .68) !important;
	backdrop-filter: blur(6px) !important;
	display: grid !important;
	inset: 0 !important;
	justify-items: center !important;
	opacity: 0 !important;
	overflow: auto !important;
	padding: max(22px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
	position: fixed !important;
	transition: opacity .2s ease !important;
	visibility: hidden !important;
}

html body .sf-site-notice--modal.is-visible,
html body .sf-site-notice--fullscreen.is-visible {
	opacity: 1 !important;
	visibility: visible !important;
}

html body .sf-site-notice--modal .sf-site-notice__panel,
html body .sf-site-notice--fullscreen .sf-site-notice__panel {
	grid-template-columns: 118px minmax(0, 1fr) !important;
	max-height: calc(100dvh - 44px) !important;
	max-width: 760px !important;
	min-height: 0 !important;
	overflow: auto !important;
	padding: 24px !important;
	transform: translateY(12px) !important;
	transition: transform .2s ease !important;
	width: min(760px, calc(100vw - 36px)) !important;
}

html body .sf-site-notice--modal .sf-site-notice__panel::before,
html body .sf-site-notice--fullscreen .sf-site-notice__panel::before {
	margin: -24px -24px 0 !important;
}

html body .sf-site-notice--modal.is-visible .sf-site-notice__panel,
html body .sf-site-notice--fullscreen.is-visible .sf-site-notice__panel {
	transform: translateY(0) !important;
}

html body .sf-site-notice--modal .sf-site-notice__actions,
html body .sf-site-notice--fullscreen .sf-site-notice__actions {
	grid-column: 2 !important;
	justify-content: flex-start !important;
	width: 100% !important;
}

html body .sf-site-notice--modal .sf-site-notice__close,
html body .sf-site-notice--fullscreen .sf-site-notice__close {
	position: absolute !important;
	right: 14px !important;
	top: 14px !important;
}

html body .sf-site-notice--modal .sf-site-notice__copy,
html body .sf-site-notice--fullscreen .sf-site-notice__copy {
	padding-right: 52px !important;
}

@media (max-width: 900px) {
	html body .sf-site-notice--top {
		top: calc(max(10px, env(safe-area-inset-top)) + 86px) !important;
		width: calc(100vw - 24px) !important;
	}

	html body.admin-bar .sf-site-notice--top {
		top: calc(max(46px, env(safe-area-inset-top)) + 78px) !important;
	}

	html body .sf-site-notice--top .sf-site-notice__panel {
		grid-template-columns: minmax(0, 1fr) auto !important;
		padding: 16px !important;
	}

	html body .sf-site-notice--top .sf-site-notice__panel::before {
		margin: -16px -16px 0 !important;
	}

	html body .sf-site-notice--top .sf-site-notice__brand {
		display: none !important;
	}

	html body .sf-site-notice--top .sf-site-notice__copy {
		grid-column: 1 / -1 !important;
		padding-right: 52px !important;
	}

	html body .sf-site-notice--top .sf-site-notice__actions {
		grid-column: 1 / -1 !important;
		justify-content: flex-start !important;
		width: 100% !important;
	}

	html body .sf-site-notice--top .sf-site-notice__actions a {
		white-space: normal !important;
	}

	html body .sf-site-notice--top .sf-site-notice__close {
		position: absolute !important;
		right: 12px !important;
		top: 12px !important;
	}
}

@media (max-width: 700px) {
	html body .sf-site-notice--modal,
	html body .sf-site-notice--fullscreen {
		align-items: start !important;
		padding: max(12px, env(safe-area-inset-top)) 12px max(96px, calc(86px + env(safe-area-inset-bottom))) !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__panel,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel {
		grid-template-columns: 1fr !important;
		max-height: calc(100dvh - 108px) !important;
		max-width: none !important;
		padding: 18px !important;
		width: calc(100vw - 24px) !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__panel::before,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel::before {
		margin: -18px -18px 0 !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__brand,
	html body .sf-site-notice--fullscreen .sf-site-notice__brand {
		height: 60px !important;
		width: 106px !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__copy,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy {
		padding-right: 48px !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__actions,
	html body .sf-site-notice--fullscreen .sf-site-notice__actions {
		grid-column: 1 !important;
		justify-content: flex-start !important;
	}

	html body .sf-site-notice__copy h2 {
		font-size: 1.18rem !important;
		line-height: 1.12 !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__copy h2,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy h2 {
		font-size: 1.18rem !important;
		line-height: 1.12 !important;
	}

	html body .sf-site-notice__copy div,
	html body .sf-site-notice__copy div p {
		font-size: .95rem !important;
		line-height: 1.36 !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__copy div,
	html body .sf-site-notice--modal .sf-site-notice__copy div p,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy div,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy div p {
		font-size: .95rem !important;
		line-height: 1.36 !important;
	}

	html body .sf-site-notice__actions a {
		flex: 1 1 150px !important;
		min-height: 42px !important;
		padding: 10px 12px !important;
		white-space: normal !important;
	}
}

@media (max-width: 430px) {
	html body .sf-site-notice--top {
		top: calc(max(8px, env(safe-area-inset-top)) + 78px) !important;
		width: calc(100vw - 18px) !important;
	}

	html body.admin-bar .sf-site-notice--top {
		top: calc(max(46px, env(safe-area-inset-top)) + 68px) !important;
	}

	html body .sf-site-notice--top .sf-site-notice__panel,
	html body .sf-site-notice--modal .sf-site-notice__panel,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel {
		padding: 14px !important;
	}

	html body .sf-site-notice--top .sf-site-notice__panel::before,
	html body .sf-site-notice--modal .sf-site-notice__panel::before,
	html body .sf-site-notice--fullscreen .sf-site-notice__panel::before {
		margin: -14px -14px 0 !important;
	}

	html body .sf-site-notice--top .sf-site-notice__copy {
		padding-right: 46px !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__copy,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy {
		padding-right: 0 !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__brand,
	html body .sf-site-notice--fullscreen .sf-site-notice__brand {
		display: none !important;
	}

	html body .sf-site-notice__copy > p:first-child {
		font-size: .66rem !important;
	}

	html body .sf-site-notice__copy h2 {
		font-size: 1.08rem !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__copy h2,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy h2 {
		font-size: 1.08rem !important;
	}

	html body .sf-site-notice__copy div,
	html body .sf-site-notice__copy div p {
		font-size: .9rem !important;
	}

	html body .sf-site-notice--modal .sf-site-notice__copy div,
	html body .sf-site-notice--modal .sf-site-notice__copy div p,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy div,
	html body .sf-site-notice--fullscreen .sf-site-notice__copy div p {
		font-size: .9rem !important;
	}

	html body .sf-site-notice__actions {
		gap: 7px !important;
	}

html body .sf-site-notice__close {
		height: 42px !important;
		width: 42px !important;
	}
}

/* 5.26.31: luoghi dinamici leggibili anche con testi incollati o una sola scheda. */
html body .sf-explorer,
html body .sf-place-grid,
html body .sf-place-card,
html body .sf-place-copy,
html body .sf-place-copy > *,
html body .sf-now-results-grid,
html body .sf-now-card,
html body .sf-now-card > div {
	min-width: 0 !important;
}

html body .sf-place-grid {
	align-items: stretch !important;
	display: grid !important;
	gap: 20px !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
	max-width: 100% !important;
}

html body .sf-home-tool .sf-place-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)) !important;
}

html body .sf-place-card {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

html body .sf-place-copy {
	align-content: start !important;
	display: grid !important;
	gap: 12px !important;
	padding: 20px !important;
}

html body .sf-place-copy h3 {
	color: #061f2f !important;
	font-size: 1.65rem !important;
	line-height: 1.06 !important;
	margin: 0 !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}

html body .sf-place-copy > p {
	color: #496578 !important;
	display: -webkit-box !important;
	font-size: .98rem !important;
	font-weight: 780 !important;
	-webkit-line-clamp: 4 !important;
	line-clamp: 4 !important;
	-webkit-box-orient: vertical !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	max-width: 100% !important;
	overflow: hidden !important;
	overflow-wrap: break-word !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
	word-break: normal !important;
}

html body .sf-explorer.is-compact .sf-place-copy > p {
	-webkit-line-clamp: 3 !important;
	line-clamp: 3 !important;
}

html body .sf-place-copy small[data-sf-distance]:empty {
	display: none !important;
}

html body .sf-place-copy .sf-card-actions {
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin-top: 2px !important;
}

html body .sf-place-copy .sf-card-actions a,
html body .sf-place-copy .sf-card-actions button {
	justify-content: center !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-align: center !important;
	white-space: normal !important;
	width: 100% !important;
}

html body .sf-now-results-grid--single {
	grid-template-columns: minmax(0, 1fr) !important;
	margin-inline: auto !important;
	max-width: 980px !important;
	width: 100% !important;
}

html body .sf-now-card {
	overflow: hidden !important;
}

html body .sf-now-results-grid--single .sf-now-card {
	gap: 16px !important;
	grid-template-columns: 72px minmax(0, 1fr) !important;
	min-height: 0 !important;
	padding: 22px !important;
}

html body .sf-now-card h3 {
	overflow-wrap: break-word !important;
	white-space: normal !important;
}

html body .sf-now-card p:not(.sf-kicker) {
	display: -webkit-box !important;
	-webkit-line-clamp: 4 !important;
	line-clamp: 4 !important;
	-webkit-box-orient: vertical !important;
	max-width: 100% !important;
	overflow: hidden !important;
	overflow-wrap: break-word !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
	word-break: normal !important;
}

html body .sf-now-results-grid--single .sf-now-actions {
	grid-column: 2 !important;
	justify-content: flex-start !important;
}

html body .sf-now-actions a {
	min-width: min(100%, 180px) !important;
	overflow: hidden !important;
	text-align: center !important;
	white-space: normal !important;
}

@supports selector(.sf-place-grid:has(.sf-place-card:only-child)) {
	html body .sf-place-grid:has(.sf-place-card:only-child) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-card {
		display: grid !important;
		grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr) !important;
		margin-inline: auto !important;
		max-width: 1040px !important;
		width: 100% !important;
	}

	html body .sf-home-tool .sf-place-grid:has(.sf-place-card:only-child) .sf-place-card {
		max-width: 920px !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-media {
		aspect-ratio: auto !important;
		height: 100% !important;
		min-height: 260px !important;
	}
}

@media (max-width: 900px) {
	html body .sf-place-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
	}

	@supports selector(.sf-place-grid:has(.sf-place-card:only-child)) {
		html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-card {
			display: flex !important;
			flex-direction: column !important;
			max-width: 560px !important;
		}

		html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-media {
			aspect-ratio: 16 / 10 !important;
			height: auto !important;
			min-height: 0 !important;
		}
	}
}

@media (max-width: 700px) {
	html body .sf-place-grid {
		gap: 14px !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .sf-place-card {
		max-width: 100% !important;
	}

	html body .sf-place-copy {
		padding: 16px !important;
	}

	html body .sf-place-copy h3 {
		font-size: 1.42rem !important;
		line-height: 1.08 !important;
	}

	html body .sf-place-copy > p {
		font-size: .92rem !important;
		-webkit-line-clamp: 4 !important;
		line-clamp: 4 !important;
		line-height: 1.42 !important;
	}

	html body .sf-place-copy .sf-card-actions {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	html body .sf-now-results-grid--single {
		max-width: 100% !important;
	}

	html body .sf-now-results-grid--single .sf-now-card {
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 16px !important;
	}

	html body .sf-now-results-grid--single .sf-now-card-index {
		font-size: 2.2rem !important;
	}

	html body .sf-now-results-grid--single .sf-now-actions {
		grid-column: 1 !important;
	}

	html body .sf-now-actions {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
	}

	html body .sf-now-actions a {
		min-width: 0 !important;
		width: 100% !important;
	}
}

/* 5.26.32: scheda luogo singola compatta e senza colonna vuota. */
@supports selector(.sf-place-grid:has(.sf-place-card:only-child)) {
	html body .sf-place-grid:has(.sf-place-card:only-child) {
		justify-items: center !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-card {
		align-items: stretch !important;
		border-color: rgba(0, 104, 255, .18) !important;
		display: grid !important;
		grid-template-columns: minmax(300px, .46fr) minmax(0, 1fr) !important;
		height: auto !important;
		max-width: 1120px !important;
		min-height: 0 !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-media {
		aspect-ratio: auto !important;
		height: clamp(280px, 30vw, 390px) !important;
		min-height: 0 !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-copy {
		align-content: center !important;
		gap: 14px !important;
		padding: clamp(22px, 3vw, 34px) !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-copy h3 {
		font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
		letter-spacing: 0 !important;
	}

	html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-copy > p {
		-webkit-line-clamp: 5 !important;
		line-clamp: 5 !important;
		max-width: 58ch !important;
	}
}

@media (max-width: 900px) {
	@supports selector(.sf-place-grid:has(.sf-place-card:only-child)) {
		html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-card {
			display: flex !important;
			flex-direction: column !important;
			max-width: 580px !important;
		}

		html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-media {
			aspect-ratio: 16 / 10 !important;
			height: auto !important;
		}

		html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-copy {
			padding: 18px !important;
		}

		html body .sf-place-grid:has(.sf-place-card:only-child) .sf-place-copy h3 {
			font-size: clamp(1.45rem, 8vw, 2rem) !important;
		}
	}
}

/* 5.26.33: WordPress segnala esplicitamente quando il catalogo contiene una sola scheda. */
html body .sf-place-grid.is-single {
	grid-template-columns: minmax(0, 1fr) !important;
	justify-items: center !important;
}

html body .sf-place-grid.is-single .sf-place-card {
	align-items: stretch !important;
	border-color: rgba(0, 104, 255, .18) !important;
	display: grid !important;
	grid-template-columns: minmax(300px, .46fr) minmax(0, 1fr) !important;
	height: auto !important;
	max-width: 1120px !important;
	min-height: 0 !important;
	width: 100% !important;
}

html body .sf-place-grid.is-single .sf-place-media {
	aspect-ratio: auto !important;
	height: clamp(280px, 30vw, 390px) !important;
	min-height: 0 !important;
}

html body .sf-place-grid.is-single .sf-place-copy {
	align-content: center !important;
	gap: 14px !important;
	padding: clamp(22px, 3vw, 34px) !important;
}

html body .sf-place-grid.is-single .sf-place-copy h3 {
	font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
	letter-spacing: 0 !important;
}

html body .sf-place-grid.is-single .sf-place-copy > p {
	-webkit-line-clamp: 5 !important;
	line-clamp: 5 !important;
	max-width: 58ch !important;
}

@media (max-width: 900px) {
	html body .sf-place-grid.is-single .sf-place-card {
		display: flex !important;
		flex-direction: column !important;
		max-width: 580px !important;
	}

	html body .sf-place-grid.is-single .sf-place-media {
		aspect-ratio: 16 / 10 !important;
		height: auto !important;
	}

	html body .sf-place-grid.is-single .sf-place-copy {
		padding: 18px !important;
	}

	html body .sf-place-grid.is-single .sf-place-copy h3 {
		font-size: clamp(1.45rem, 8vw, 2rem) !important;
	}
}

/* 5.26.35: orari e chiusure dei luoghi leggibili senza appesantire le schede. */
html body .sf-place-schedule {
	display: grid !important;
	gap: 7px !important;
	margin: 2px 0 0 !important;
	min-width: 0 !important;
}

html body .sf-place-schedule > span {
	align-items: center !important;
	background: #f3fbff !important;
	border: 1px solid rgba(8, 119, 255, .14) !important;
	border-radius: 6px !important;
	color: #123a54 !important;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: 20px auto minmax(0, 1fr) !important;
	line-height: 1.25 !important;
	min-height: 40px !important;
	min-width: 0 !important;
	padding: 8px 10px !important;
}

html body .sf-place-schedule > span.is-closed {
	background: #fff8ea !important;
	border-color: rgba(255, 185, 46, .38) !important;
	color: #4b3b11 !important;
}

html body .sf-place-schedule svg {
	color: #0877ff !important;
	height: 18px !important;
	width: 18px !important;
}

html body .sf-place-schedule .is-closed svg {
	color: #d88700 !important;
}

html body .sf-place-schedule strong {
	color: inherit !important;
	font-family: var(--display) !important;
	font-size: .78rem !important;
	font-weight: 1000 !important;
	text-transform: uppercase !important;
}

html body .sf-place-schedule em {
	color: inherit !important;
	font-size: .86rem !important;
	font-style: normal !important;
	font-weight: 850 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .sf-place-schedule--dialog {
	margin: 14px 0 !important;
}

html body .sf-place-grid.is-single .sf-place-schedule {
	max-width: 58ch !important;
}

html body .sf-place-grid.is-single .sf-place-schedule em {
	white-space: normal !important;
}

html body .sf-detail-place .sf-detail-aside > section {
	border-radius: 6px !important;
}

html body .sf-detail-place .sf-detail-aside > section .sf-kicker {
	color: #0877ff !important;
}

@media (max-width: 700px) {
	html body .sf-place-schedule > span {
		align-items: start !important;
		grid-template-columns: 20px minmax(0, 1fr) !important;
	}

	html body .sf-place-schedule strong,
	html body .sf-place-schedule em {
		grid-column: 2 !important;
	}

	html body .sf-place-schedule em {
		white-space: normal !important;
	}
}

/* 5.26.36: tesseramento home piu netto, compatto e leggibile su tutti gli schermi. */
html body .sf-membership-home.sf-membership-home-v2 {
	align-items: center !important;
	background:
		linear-gradient(90deg, rgba(6, 34, 56, .045) 1px, transparent 1px) 0 0 / 34px 34px,
		linear-gradient(135deg, #fbfeff 0%, #edf9f4 48%, #fff6df 100%) !important;
	border-bottom: 1px solid rgba(0, 104, 255, .08) !important;
	border-top: 1px solid rgba(0, 104, 255, .08) !important;
	display: grid !important;
	gap: clamp(24px, 4vw, 64px) !important;
	grid-template-columns: minmax(0, .82fr) minmax(300px, .58fr) !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding: clamp(42px, 6vw, 86px) max(7vw, 30px) !important;
	position: relative !important;
	width: 100% !important;
}

html body .sf-membership-home.sf-membership-home-v2::before {
	background: linear-gradient(90deg, #12c7e8 0%, #18c6a5 38%, #ffd056 68%, #ff8a1c 100%) !important;
	content: "" !important;
	height: 7px !important;
	left: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy {
	align-content: center !important;
	display: grid !important;
	gap: 18px !important;
	justify-items: start !important;
	max-width: 680px !important;
	min-width: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy .sf-kicker {
	color: #008fb8 !important;
	font-size: 1rem !important;
	letter-spacing: 0 !important;
	line-height: 1.1 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
	color: #031525 !important;
	font-size: 5.35rem !important;
	line-height: .9 !important;
	margin: 0 !important;
	max-width: 7.2em !important;
	overflow-wrap: anywhere !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy > p:not(.sf-kicker) {
	color: #3f6275 !important;
	font-size: 1.32rem !important;
	font-weight: 900 !important;
	line-height: 1.38 !important;
	margin: 0 !important;
	max-width: 34ch !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 4px !important;
	width: 100% !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions a {
	border-radius: 6px !important;
	font-size: 1rem !important;
	gap: 8px !important;
	justify-content: center !important;
	min-height: 56px !important;
	padding: 0 22px !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions a svg {
	flex: 0 0 20px !important;
	height: 20px !important;
	width: 20px !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions a:first-child {
	background: #0068ff !important;
	box-shadow: 0 18px 34px rgba(0, 104, 255, .22) !important;
	color: #fff !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions a:not(:first-child) {
	background: #fff !important;
	border: 1px solid rgba(0, 104, 255, .24) !important;
	box-shadow: none !important;
	color: #062238 !important;
}

html body .sf-membership-home-visual {
	align-self: center !important;
	display: grid !important;
	gap: 12px !important;
	justify-self: stretch !important;
	min-width: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

html body .sf-membership-home-visual::before {
	background: #062238 !important;
	bottom: 56px !important;
	content: "" !important;
	left: -18px !important;
	min-height: 132px !important;
	position: absolute !important;
	right: 34px !important;
	transform: skewY(-3deg) !important;
	z-index: -1 !important;
}

html body .sf-membership-home-v2 .sf-membership-home-card,
html body .sf-membership-home-v2 figure.sf-membership-home-card {
	align-self: center !important;
	background: #062238 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 0 24px 54px rgba(6, 47, 71, .18) !important;
	display: grid !important;
	gap: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 12px !important;
	width: 100% !important;
}

html body .sf-membership-home-v2 figure.sf-membership-home-card img {
	aspect-ratio: 1199 / 754 !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	height: auto !important;
	object-fit: contain !important;
	width: 100% !important;
}

html body .sf-membership-home-v2 figure.sf-membership-home-card figcaption {
	align-items: center !important;
	background: transparent !important;
	border-top: 1px solid rgba(255, 255, 255, .18) !important;
	color: #fff !important;
	display: flex !important;
	font-size: .84rem !important;
	font-weight: 950 !important;
	gap: 12px !important;
	justify-content: space-between !important;
	line-height: 1.2 !important;
	margin: 10px 0 0 !important;
	padding: 10px 2px 0 !important;
}

html body .sf-membership-home-v2 figure.sf-membership-home-card figcaption span {
	color: #bfe9f6 !important;
	font-size: .78rem !important;
	text-align: right !important;
}

html body .sf-membership-home-flow {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	min-width: 0 !important;
	position: relative !important;
	z-index: 2 !important;
}

html body .sf-membership-home-flow span {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid rgba(0, 104, 255, .16) !important;
	border-radius: 6px !important;
	box-shadow: 0 14px 28px rgba(6, 47, 71, .09) !important;
	color: #062238 !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 36px minmax(0, 1fr) !important;
	min-height: 58px !important;
	min-width: 0 !important;
	padding: 10px 12px !important;
}

html body .sf-membership-home-flow b {
	align-items: center !important;
	background: #e6fbf4 !important;
	color: #007b68 !important;
	display: inline-flex !important;
	font-size: .82rem !important;
	font-weight: 1000 !important;
	height: 36px !important;
	justify-content: center !important;
	line-height: 1 !important;
	width: 36px !important;
}

html body .sf-membership-home-flow strong {
	color: #062238 !important;
	display: block !important;
	font-size: .94rem !important;
	font-weight: 1000 !important;
	line-height: 1.16 !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

@media (max-width: 1180px) {
	html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
		font-size: 4.45rem !important;
	}
}

@media (max-width: 900px) {
	html body .sf-membership-home.sf-membership-home-v2 {
		grid-template-columns: 1fr !important;
		padding: 42px max(20px, env(safe-area-inset-right)) 54px max(20px, env(safe-area-inset-left)) !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy {
		max-width: 720px !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
		font-size: 3.75rem !important;
		max-width: 8em !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy > p:not(.sf-kicker) {
		font-size: 1.14rem !important;
		max-width: 42ch !important;
	}

	html body .sf-membership-home-visual {
		justify-self: start !important;
		max-width: 620px !important;
		width: 100% !important;
	}
}

@media (max-width: 560px) {
	html body .sf-membership-home.sf-membership-home-v2 {
		gap: 22px !important;
		padding: 34px max(16px, env(safe-area-inset-right)) 42px max(16px, env(safe-area-inset-left)) !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy {
		gap: 14px !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy .sf-kicker {
		font-size: .88rem !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
		font-size: 2.75rem !important;
		line-height: .94 !important;
		max-width: 100% !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy > p:not(.sf-kicker) {
		font-size: 1rem !important;
		line-height: 1.34 !important;
		max-width: 100% !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-actions a {
		min-height: 52px !important;
		width: 100% !important;
	}

	html body .sf-membership-home-visual::before {
		display: none !important;
	}

	html body .sf-membership-home-visual {
		max-width: 296px !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-card,
	html body .sf-membership-home-v2 figure.sf-membership-home-card {
		padding: 8px !important;
		width: min(100%, 296px) !important;
	}

	html body .sf-membership-home-v2 figure.sf-membership-home-card figcaption {
		display: none !important;
	}

	html body .sf-membership-home-v2 figure.sf-membership-home-card figcaption span {
		text-align: left !important;
	}

	html body .sf-membership-home-flow {
		display: none !important;
	}
}

/* 5.26.40: pagina pubblica di creazione profilo piu compatta e leggibile. */
html body .sf-register.sf-register-v2[data-sf-register] {
	align-items: stretch !important;
	background: #fff !important;
	border: 1px solid rgba(11, 109, 255, .16) !important;
	border-radius: 8px !important;
	box-shadow: 0 22px 70px rgba(6, 47, 71, .1) !important;
	display: grid !important;
	gap: 26px !important;
	grid-template-columns: minmax(250px, .64fr) minmax(0, 1fr) !important;
	margin: 30px auto 132px !important;
	overflow: visible !important;
	padding: 22px !important;
	width: min(1240px, calc(100% - 48px)) !important;
}

html body .sf-register.sf-register-v2[data-sf-register] > div:first-child {
	align-content: end !important;
	background: #062238 !important;
	border-radius: 6px !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08) !important;
	color: #fff !important;
	display: grid !important;
	gap: 14px !important;
	min-height: 380px !important;
	padding: 28px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-kicker {
	color: #1cd4f4 !important;
	font-size: .88rem !important;
	letter-spacing: .16em !important;
	margin: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] h2 {
	color: #fff !important;
	font-size: 3.2rem !important;
	line-height: .94 !important;
	margin: 0 !important;
	max-width: 7.5em !important;
	overflow-wrap: normal !important;
}

html body .sf-register.sf-register-v2[data-sf-register] > div:first-child p:not(.sf-kicker) {
	color: #cfe7f1 !important;
	font-size: 1rem !important;
	font-weight: 850 !important;
	line-height: 1.38 !important;
	margin: 0 !important;
	max-width: 31ch !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form {
	align-content: start !important;
	display: grid !important;
	gap: 12px 14px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	min-width: 0 !important;
	padding: 2px 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types,
html body .sf-register.sf-register-v2[data-sf-register] .sf-consent,
html body .sf-register.sf-register-v2[data-sf-register] form > button,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-register-status] {
	grid-column: 1 / -1 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types {
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types label {
	display: block !important;
	min-width: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label > span {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid #cde1e9 !important;
	border-radius: 6px !important;
	color: #062238 !important;
	cursor: pointer !important;
	display: grid !important;
	gap: 2px 10px !important;
	grid-template-columns: 30px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	min-height: 70px !important;
	padding: 12px !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label > span > i,
html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label > span > svg {
	color: #0877ff !important;
	grid-row: 1 / 3 !important;
	height: 24px !important;
	width: 24px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types strong {
	display: block !important;
	font-size: 1rem !important;
	font-weight: 1000 !important;
	line-height: 1.1 !important;
	min-width: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types small {
	color: #587282 !important;
	display: block !important;
	font-size: .75rem !important;
	font-weight: 850 !important;
	line-height: 1.18 !important;
	min-width: 0 !important;
	white-space: normal !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types input:checked + span {
	background: #eef7ff !important;
	border-color: #0b6dff !important;
	box-shadow: inset 0 0 0 1px #0b6dff !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form > label,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] label,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register] label {
	color: #062238 !important;
	display: grid !important;
	font-size: .9rem !important;
	font-weight: 1000 !important;
	gap: 6px !important;
	line-height: 1.15 !important;
	min-width: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] input {
	background: #fbfdff !important;
	border: 1px solid #bfd8e3 !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
	color: #062238 !important;
	font-size: 1rem !important;
	min-height: 48px !important;
	padding: 10px 12px !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] input:focus-visible {
	border-color: #0b6dff !important;
	box-shadow: 0 0 0 3px rgba(11, 109, 255, .14) !important;
	outline: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] label > small {
	color: #587282 !important;
	font-size: .78rem !important;
	font-weight: 850 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register],
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] {
	background: #f6fbfd !important;
	border: 1px solid #d5e8f0 !important;
	border-left: 0 !important;
	border-radius: 8px !important;
	display: grid !important;
	gap: 12px !important;
	grid-column: 1 / -1 !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	padding: 14px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register][hidden],
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register][hidden] {
	display: none !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] p {
	background: #fff !important;
	border-left: 3px solid #18c6a5 !important;
	border-radius: 6px !important;
	color: #496879 !important;
	font-size: .82rem !important;
	font-weight: 850 !important;
	grid-column: 1 / -1 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 10px 12px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-consent {
	align-items: flex-start !important;
	background: #fff !important;
	border: 1px solid #d5e8f0 !important;
	border-radius: 6px !important;
	display: flex !important;
	gap: 10px !important;
	margin: 2px 0 0 !important;
	padding: 10px 12px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-consent input {
	flex: 0 0 18px !important;
	height: 18px !important;
	margin: 2px 0 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	width: 18px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-consent span {
	color: #062238 !important;
	font-size: .95rem !important;
	font-weight: 950 !important;
	line-height: 1.3 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form > button {
	align-items: center !important;
	background: #0b6dff !important;
	border: 0 !important;
	border-radius: 6px !important;
	box-shadow: 0 14px 30px rgba(11, 109, 255, .18) !important;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 1rem !important;
	font-weight: 1000 !important;
	gap: 8px !important;
	justify-content: center !important;
	min-height: 54px !important;
	padding: 0 18px !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form > button svg,
html body .sf-register.sf-register-v2[data-sf-register] form > button i {
	height: 21px !important;
	width: 21px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-register-status] {
	color: #08705e !important;
	font-size: .92rem !important;
	font-weight: 900 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	min-height: 22px !important;
}

@media (max-width: 980px) {
	html body .sf-register.sf-register-v2[data-sf-register] {
		grid-template-columns: 1fr !important;
		margin-top: 24px !important;
		width: calc(100% - 32px) !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] > div:first-child {
		align-content: start !important;
		min-height: 0 !important;
		padding: 24px !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] h2 {
		font-size: 2.55rem !important;
		max-width: 9em !important;
	}
}

@media (max-width: 680px) {
	html body .sf-register.sf-register-v2[data-sf-register] {
		border-left: 0 !important;
		border-right: 0 !important;
		box-shadow: none !important;
		gap: 14px !important;
		margin: 18px auto max(142px, calc(112px + env(safe-area-inset-bottom))) !important;
		padding: 14px !important;
		width: 100% !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] > div:first-child {
		padding: 20px !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] h2 {
		font-size: 2.18rem !important;
		line-height: .96 !important;
		max-width: 100% !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] > div:first-child p:not(.sf-kicker) {
		font-size: .96rem !important;
		max-width: 100% !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] form,
	html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types,
	html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register],
	html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] {
		grid-template-columns: 1fr !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label > span {
		grid-template-columns: 28px minmax(0, 1fr) !important;
		min-height: 58px !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] input {
		min-height: 50px !important;
	}

html body .sf-register.sf-register-v2[data-sf-register] form > button {
		min-height: 56px !important;
	}
}

/* 5.26.41: tessera socio digitale compatta, collegata ai link ufficiali MyUNPLI. */
html body .sf-member-card.sf-member-card-v2 {
	background: #f8fcff !important;
	border: 1px solid #cfe2eb !important;
	border-left: 5px solid #0b6dff !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	display: grid !important;
	gap: clamp(18px, 2.4vw, 30px) !important;
	margin-bottom: clamp(20px, 3vw, 34px) !important;
	padding: clamp(20px, 3vw, 34px) !important;
	width: 100% !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 > header,
html body .sf-member-card.sf-member-card-v2 > header {
	margin: 0 !important;
	max-width: none !important;
	text-align: left !important;
}

html body .sf-member-card.sf-member-card-v2 > header .sf-kicker {
	color: #0895b5 !important;
	font-size: .85rem !important;
	letter-spacing: .08em !important;
	margin: 0 0 8px !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 > header h3,
html body .sf-member-card.sf-member-card-v2 > header h3 {
	color: #062238 !important;
	font-size: clamp(2.25rem, 4.4vw, 4.5rem) !important;
	letter-spacing: 0 !important;
	line-height: .92 !important;
	margin: 0 !important;
	text-transform: none !important;
}

html body .sf-member-card.sf-member-card-v2 > header p:last-child {
	color: #506d7d !important;
	font-size: clamp(1rem, 1.2vw, 1.2rem) !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
	margin: 12px 0 0 !important;
	max-width: 620px !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-layout,
html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-layout {
	align-items: stretch !important;
	display: grid !important;
	gap: clamp(18px, 3vw, 38px) !important;
	grid-template-columns: minmax(280px, .95fr) minmax(260px, .55fr) !important;
	justify-items: stretch !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-stage,
html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-stage {
	align-content: start !important;
	display: grid !important;
	max-width: none !important;
	min-width: 0 !important;
	width: 100% !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-turner,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-inner,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-face,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-face > img {
	border-radius: 4px !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-turner {
	aspect-ratio: 1199 / 754 !important;
	background: #fff !important;
	border: 1px solid #bbd3df !important;
	box-shadow: 0 18px 44px rgba(6, 47, 71, .14) !important;
	min-height: 0 !important;
	width: 100% !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-face {
	background: #fff !important;
	border: 0 !important;
	overflow: hidden !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-face > img {
	background: #fff !important;
	object-fit: contain !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-face > .sf-member-card-ticket,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-face > .sf-member-card-ticket {
	background: linear-gradient(90deg, rgba(6, 34, 56, .94), rgba(6, 34, 56, .74)) !important;
	bottom: 0 !important;
	box-sizing: border-box !important;
	color: #fff !important;
	display: grid !important;
	gap: 2px !important;
	left: 0 !important;
	padding: clamp(10px, 1.8vw, 18px) clamp(12px, 2vw, 22px) !important;
	position: absolute !important;
	right: 0 !important;
	text-align: left !important;
	z-index: 4 !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-ticket small {
	color: #61e4d0 !important;
	font-size: clamp(.64rem, .8vw, .82rem) !important;
	font-weight: 1000 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-ticket strong {
	color: #fff !important;
	font-size: clamp(1rem, 1.55vw, 1.6rem) !important;
	font-weight: 1000 !important;
	line-height: 1.02 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-ticket b {
	color: #ffd35a !important;
	font-size: clamp(.8rem, 1vw, 1.05rem) !important;
	font-weight: 1000 !important;
	line-height: 1.1 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-controls {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: flex-start !important;
	margin-top: 12px !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-controls button {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid #b9d3df !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	color: #07344d !important;
	display: inline-flex !important;
	font-size: .88rem !important;
	font-weight: 950 !important;
	gap: 8px !important;
	min-height: 42px !important;
	padding: 0 13px !important;
	width: auto !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-controls button:nth-child(2) {
	background: #07344d !important;
	border-color: #07344d !important;
	color: #fff !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-details,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-details {
	align-content: start !important;
	background: #fff !important;
	border: 1px solid #cfe2eb !important;
	border-radius: 0 !important;
	display: grid !important;
	gap: 16px !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: clamp(16px, 2vw, 24px) !important;
	width: 100% !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-details > span,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-details > span {
	align-items: center !important;
	background: #e3fbf4 !important;
	border: 1px solid #bdeedf !important;
	border-radius: 4px !important;
	color: #08705e !important;
	display: inline-flex !important;
	font-size: .78rem !important;
	font-weight: 1000 !important;
	gap: 8px !important;
	padding: 8px 10px !important;
	text-transform: uppercase !important;
	width: fit-content !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dl,
html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-details dl {
	display: grid !important;
	gap: 1px !important;
	grid-template-columns: 1fr !important;
	margin: 0 !important;
	width: 100% !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dl div {
	background: #f2f8fb !important;
	border: 0 !important;
	display: grid !important;
	gap: 4px !important;
	padding: 12px 14px !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dt {
	color: #627d8d !important;
	font-size: .68rem !important;
	font-weight: 950 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dd {
	color: #062238 !important;
	font-size: 1.2rem !important;
	font-weight: 1000 !important;
	line-height: 1.08 !important;
	margin: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-details p,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-details p {
	color: #587282 !important;
	display: block !important;
	font-size: .9rem !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-actions {
	display: grid !important;
	gap: 9px !important;
	grid-template-columns: 1fr !important;
	margin-top: 2px !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-actions a,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-actions a {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid #bdd6e1 !important;
	border-radius: 4px !important;
	color: #07344d !important;
	display: inline-flex !important;
	font-size: .94rem !important;
	font-weight: 1000 !important;
	gap: 8px !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 0 14px !important;
	text-decoration: none !important;
	width: 100% !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-actions a.sf-member-card-primary {
	background: #0b6dff !important;
	border-color: #0b6dff !important;
	color: #fff !important;
}

@media (max-width: 940px) {
	html body .sf-member-card.sf-member-card-v2 .sf-member-card-layout,
	html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-layout {
		grid-template-columns: 1fr !important;
	}

	html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dl {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 680px) {
	html body .sf-member-card.sf-member-card-v2 {
		border-left-width: 0 !important;
		margin-bottom: max(28px, calc(116px + env(safe-area-inset-bottom))) !important;
		padding: 16px !important;
	}

	html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 > header h3,
	html body .sf-member-card.sf-member-card-v2 > header h3 {
		font-size: clamp(2rem, 12vw, 3.1rem) !important;
	}

	html body .sf-member-card.sf-member-card-v2 > header p:last-child {
		font-size: .98rem !important;
	}

	html body .sf-member-card.sf-member-card-v2 .sf-member-card-ticket {
		padding: 9px 11px !important;
	}

	html body .sf-member-card.sf-member-card-v2 .sf-member-card-controls {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	html body .sf-member-card.sf-member-card-v2 .sf-member-card-controls button {
		justify-content: center !important;
		width: 100% !important;
	}

	html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dl {
		grid-template-columns: 1fr !important;
	}
}

/* 5.26.42: tesseramento e tessera socio piu asciutti, senza card molli e senza testo che invade. */
html body .sf-membership-home.sf-membership-home-v2 {
	background:
		linear-gradient(90deg, rgba(6, 34, 56, .035) 1px, transparent 1px) 0 0 / 42px 42px,
		linear-gradient(135deg, #fbfeff 0%, #f0fbf7 54%, #fff8e8 100%) !important;
	gap: clamp(22px, 3.4vw, 52px) !important;
	grid-template-columns: minmax(0, .7fr) minmax(280px, 520px) !important;
	padding: clamp(36px, 5vw, 68px) max(7vw, 28px) !important;
}

html body .sf-membership-home.sf-membership-home-v2::before {
	height: 5px !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy {
	gap: 14px !important;
	max-width: 620px !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
	font-size: clamp(3.2rem, 6.2vw, 5.9rem) !important;
	line-height: .9 !important;
	max-width: 6.5em !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy > p:not(.sf-kicker) {
	font-size: clamp(1.04rem, 1.2vw, 1.24rem) !important;
	line-height: 1.32 !important;
	max-width: 32ch !important;
}

html body .sf-membership-home-visual {
	justify-self: end !important;
	max-width: 520px !important;
}

html body .sf-membership-home-visual::before {
	bottom: 28px !important;
	left: -12px !important;
	min-height: 104px !important;
	right: 22px !important;
	transform: none !important;
}

html body .sf-membership-home-v2 .sf-membership-home-card,
html body .sf-membership-home-v2 figure.sf-membership-home-card {
	padding: 10px !important;
}

html body .sf-membership-home-v2 figure.sf-membership-home-card img {
	border-radius: 0 !important;
	max-height: 330px !important;
}

html body .sf-membership-home-flow {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .sf-membership-home-flow span {
	box-shadow: none !important;
	gap: 8px !important;
	grid-template-columns: 32px minmax(0, 1fr) !important;
	min-height: 50px !important;
	padding: 9px 10px !important;
}

html body .sf-membership-home-flow b {
	font-size: .76rem !important;
	height: 32px !important;
	width: 32px !important;
}

html body .sf-membership-home-flow strong {
	font-size: .86rem !important;
}

html body .sf-member-card.sf-member-card-v2 {
	background: #fff !important;
	border-left-width: 0 !important;
	position: relative !important;
}

html body .sf-member-card.sf-member-card-v2::before {
	background: linear-gradient(90deg, #12c7e8, #18c6a5 42%, #ffd056 72%, #ff8a1c) !important;
	content: "" !important;
	height: 5px !important;
	left: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
}

html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 > header h3,
html body .sf-member-card.sf-member-card-v2 > header h3 {
	font-size: clamp(2rem, 3.4vw, 3.35rem) !important;
	max-width: 12ch !important;
}

html body .sf-member-card.sf-member-card-v2 > header p:last-child {
	max-width: 46ch !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-layout,
html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-layout {
	grid-template-columns: minmax(300px, .82fr) minmax(260px, .42fr) !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-turner {
	box-shadow: 0 14px 34px rgba(6, 47, 71, .12) !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details {
	gap: 12px !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dl div {
	padding: 10px 12px !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dd {
	font-size: 1.08rem !important;
}

html body .sf-member-card.sf-member-card-v2 .sf-member-card-actions a {
	min-height: 44px !important;
}

html body .sf-member-card.sf-member-card-v2 > header .sf-kicker,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-ticket small,
html body .sf-member-card.sf-member-card-v2 .sf-member-card-details dt {
	letter-spacing: 0 !important;
}

@media (max-width: 980px) {
	html body .sf-membership-home.sf-membership-home-v2 {
		grid-template-columns: 1fr !important;
	}

	html body .sf-membership-home-visual {
		justify-self: start !important;
		max-width: 480px !important;
	}

	html body .sf-member-card.sf-member-card-v2 .sf-member-card-layout,
	html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 .sf-member-card-layout {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 640px) {
	html body .sf-membership-home.sf-membership-home-v2 {
		padding: 30px max(16px, env(safe-area-inset-right)) 38px max(16px, env(safe-area-inset-left)) !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
		font-size: clamp(2.5rem, 12vw, 3.4rem) !important;
		max-width: 100% !important;
	}

	html body .sf-membership-home-v2 .sf-membership-home-copy > p:not(.sf-kicker) {
		max-width: 100% !important;
	}

	html body .sf-membership-home-visual {
		max-width: 310px !important;
	}

	html body .sf-membership-home-flow {
		display: none !important;
	}

	html body .sf-member-card.sf-member-card-v2 {
		margin-bottom: max(34px, calc(124px + env(safe-area-inset-bottom))) !important;
		padding: 16px !important;
	}

	html body .sf-member-portal-card .sf-member-card.sf-member-card-v2 > header h3,
html body .sf-member-card.sf-member-card-v2 > header h3 {
		font-size: clamp(2rem, 10.4vw, 2.8rem) !important;
		max-width: 100% !important;
	}
}

/* 5.26.43: guardia finale per overflow, lingua, avvisi, luoghi e area soci. */
html,
body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

html body *,
html body *::before,
html body *::after {
	box-sizing: border-box !important;
}

html body .sf-main,
html body .sf-main > *,
html body .sf-page,
html body .sf-band,
html body .sf-shortcode-shell,
html body .sf-explorer,
html body .sf-member-panel,
html body .sf-register,
html body .sf-place-card,
html body .sf-place-copy,
html body .sf-feature-layout,
html body .sf-feature-hero,
html body .sf-feature-card {
	min-width: 0 !important;
}

html body .sf-honeypot {
	block-size: 1px !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	inline-size: 1px !important;
	left: 0 !important;
	margin: 0 !important;
	opacity: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	top: auto !important;
	transform: scale(0) !important;
	white-space: nowrap !important;
}

html body .sf-honeypot input {
	border: 0 !important;
	block-size: 1px !important;
	inline-size: 1px !important;
	min-height: 1px !important;
	min-width: 1px !important;
	padding: 0 !important;
	width: 1px !important;
}

html body .sf-home-categories {
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: min(1180px, calc(100% - 32px)) !important;
	overflow: visible !important;
	width: 100% !important;
}

html body .sf-home-categories a {
	min-width: 0 !important;
	overflow: hidden !important;
}

html body .sf-home-categories a strong,
html body .sf-home-categories a span {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
}

html body .sf-site-notice,
html body .sf-site-notice__panel,
html body .sf-site-notice__copy,
html body .sf-site-notice__actions {
	max-width: 100% !important;
	min-width: 0 !important;
}

html body .sf-site-notice--top {
	left: max(12px, env(safe-area-inset-left)) !important;
	right: max(12px, env(safe-area-inset-right)) !important;
	transform: none !important;
	width: auto !important;
}

html body .sf-site-notice__panel {
	align-items: center !important;
	display: grid !important;
	gap: 16px !important;
	grid-template-columns: 92px minmax(0, 1fr) auto !important;
	overflow: hidden !important;
	padding: 18px !important;
}

html body .sf-site-notice__copy h2,
html body .sf-site-notice__copy div,
html body .sf-site-notice__copy div p {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
}

html body .sf-site-notice__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	justify-content: flex-end !important;
}

html body .sf-site-notice__actions a,
html body .sf-site-notice__close {
	border-radius: 6px !important;
	min-height: 46px !important;
	min-width: 46px !important;
	white-space: normal !important;
}

html body .sf-site-notice--modal,
html body .sf-site-notice--fullscreen {
	padding: 14px !important;
}

html body .sf-site-notice--modal .sf-site-notice__panel,
html body .sf-site-notice--fullscreen .sf-site-notice__panel {
	max-height: calc(100dvh - 28px) !important;
	overflow: auto !important;
	width: min(760px, calc(100vw - 28px)) !important;
}

html body .sf-language-dialog {
	color: #061f2f !important;
	max-height: calc(100dvh - 28px) !important;
	overflow: auto !important;
	width: min(840px, calc(100vw - 28px)) !important;
}

html body .sf-language-list {
	align-items: stretch !important;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)) !important;
	max-height: min(52dvh, 430px) !important;
	overflow: auto !important;
	padding: 2px 6px 2px 2px !important;
}

html body .sf-language-list button {
	align-items: center !important;
	background: #fff !important;
	color: #062238 !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 38px minmax(0, 1fr) 44px !important;
	min-height: 58px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 10px 12px !important;
	text-align: left !important;
}

html body .sf-language-list button[aria-selected="true"] {
	background: #eaf7ff !important;
}

html body .sf-language-list button > .sf-language-flag[data-flag] {
	font-size: 0 !important;
	justify-self: center !important;
	min-width: 34px !important;
}

html body .sf-language-list button > .sf-language-flag[data-flag]::before,
html body .sf-language-flag[data-sf-current-language-flag][data-flag]::before {
	content: attr(data-flag) !important;
	display: inline-block !important;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
	font-size: 20px !important;
	line-height: 1 !important;
}

html body .sf-language-list button > strong,
html body .sf-language-list button > small {
	opacity: 1 !important;
	visibility: visible !important;
}

html body .sf-language-list button > strong {
	color: #062238 !important;
	display: block !important;
	font-size: .96rem !important;
	font-weight: 950 !important;
	line-height: 1.15 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .sf-language-list button > small {
	color: #355e72 !important;
	display: inline-flex !important;
	justify-content: center !important;
	min-width: 40px !important;
}

html body .sf-place-grid.is-single {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	justify-items: center !important;
	width: 100% !important;
}

html body .sf-place-grid.is-single .sf-place-card {
	display: grid !important;
	grid-template-columns: minmax(270px, .42fr) minmax(0, 1fr) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: min(100%, 1020px) !important;
	overflow: hidden !important;
	width: 100% !important;
}

html body .sf-place-grid.is-single .sf-place-copy {
	align-content: center !important;
	max-width: 100% !important;
	overflow: hidden !important;
	padding: clamp(20px, 3vw, 32px) !important;
}

html body .sf-place-copy > p,
html body .sf-place-copy h3,
html body .sf-place-schedule,
html body .sf-place-schedule em,
html body .sf-place-schedule strong {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
	word-break: normal !important;
}

html body .sf-place-schedule em {
	overflow: visible !important;
	text-overflow: clip !important;
}

html body .sf-place-copy .sf-card-actions {
	max-width: 100% !important;
	width: 100% !important;
}

html body .sf-member-panel:not(.sf-member-portal-profile) {
	background: #fff !important;
	border: 1px solid rgba(0, 104, 255, .16) !important;
	border-radius: 8px !important;
	box-shadow: 0 18px 42px rgba(6, 47, 71, .08) !important;
	display: grid !important;
	gap: clamp(16px, 2vw, 24px) !important;
	margin: 22px auto 16px !important;
	max-width: min(1120px, calc(100% - 48px)) !important;
	overflow: hidden !important;
	padding: clamp(18px, 3vw, 30px) !important;
	width: 100% !important;
}

html body .sf-member-identity {
	align-items: center !important;
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: 64px minmax(0, 1fr) !important;
}

html body .sf-member-identity h2 {
	font-size: clamp(2.2rem, 4.5vw, 4.1rem) !important;
	line-height: .95 !important;
	margin: 0 !important;
	max-width: 12ch !important;
	overflow-wrap: anywhere !important;
}

html body .sf-member-identity p:not(.sf-kicker) {
	color: #4b6678 !important;
	font-size: clamp(.98rem, 1.3vw, 1.12rem) !important;
	font-weight: 850 !important;
	line-height: 1.38 !important;
	margin: 10px 0 0 !important;
	max-width: 38ch !important;
}

html body .sf-member-grid {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .sf-member-grid a {
	background: #f6fbff !important;
	border: 1px solid #cfe3ec !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #062238 !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 34px minmax(0, 1fr) !important;
	justify-content: start !important;
	min-height: 76px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 14px !important;
	text-align: left !important;
}

html body .sf-member-grid a svg {
	color: #0068ff !important;
	height: 24px !important;
	width: 24px !important;
}

html body .sf-member-grid a span,
html body .sf-member-grid a strong,
html body .sf-member-grid a small {
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .sf-register.sf-register-v2[data-sf-register] {
	background: #fff !important;
	border: 1px solid rgba(0, 104, 255, .16) !important;
	border-radius: 8px !important;
	box-shadow: 0 18px 42px rgba(6, 47, 71, .08) !important;
	display: grid !important;
	gap: 18px !important;
	grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr) !important;
	margin: 16px auto max(70px, calc(var(--sf-mobile-nav-height, 86px) + env(safe-area-inset-bottom) + 22px)) !important;
	max-width: min(1120px, calc(100% - 48px)) !important;
	overflow: hidden !important;
	padding: 18px !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] > div:first-child {
	align-content: center !important;
	background: linear-gradient(180deg, #07344d 0%, #062238 100%) !important;
	border-radius: 6px !important;
	color: #fff !important;
	display: grid !important;
	min-height: 0 !important;
	padding: clamp(20px, 3vw, 30px) !important;
}

html body .sf-register.sf-register-v2[data-sf-register] > div:first-child h2 {
	color: #fff !important;
	font-size: clamp(2rem, 4vw, 3.45rem) !important;
	line-height: .98 !important;
	margin: 5px 0 10px !important;
	max-width: 9ch !important;
	overflow-wrap: anywhere !important;
}

html body .sf-register.sf-register-v2[data-sf-register] > div:first-child p:not(.sf-kicker) {
	color: rgba(255, 255, 255, .78) !important;
	font-size: 1rem !important;
	line-height: 1.42 !important;
	max-width: 26ch !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form {
	display: grid !important;
	gap: 13px 14px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	min-width: 0 !important;
	padding: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types,
html body .sf-register.sf-register-v2[data-sf-register] .sf-consent,
html body .sf-register.sf-register-v2[data-sf-register] form > button,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-register-status] {
	grid-column: 1 / -1 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label > span {
	align-items: center !important;
	background: #f7fbff !important;
	border: 1px solid #cfe2eb !important;
	border-radius: 6px !important;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	min-height: 66px !important;
	overflow: hidden !important;
	padding: 12px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types input:checked + span {
	background: #eaf4ff !important;
	border-color: #0068ff !important;
	box-shadow: inset 4px 0 0 #0068ff !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types small {
	display: none !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types strong {
	font-size: .98rem !important;
	line-height: 1.1 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form > label,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] label,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register] label {
	gap: 6px !important;
	min-width: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] input {
	border-radius: 5px !important;
	min-height: 50px !important;
	min-width: 0 !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register],
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register] {
	background: #f2f8fd !important;
	border-left: 5px solid #0068ff !important;
	display: grid !important;
	gap: 12px !important;
	grid-column: 1 / -1 !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	padding: 14px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register][hidden],
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register][hidden] {
	display: none !important;
}

html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] p {
	grid-column: 1 / -1 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-consent {
	align-items: center !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	margin-top: 2px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-consent input {
	height: 20px !important;
	width: 20px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form > button {
	border-radius: 6px !important;
	min-height: 54px !important;
	width: 100% !important;
}

@media (max-width: 1180px) {
	html body .sf-header {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		max-width: none !important;
		min-width: 0 !important;
		overflow: visible !important;
		padding: 10px 12px !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		transform: none !important;
		width: auto !important;
	}

	html body .sf-header .sf-logo {
		max-width: min(220px, 48vw) !important;
		min-width: 0 !important;
		width: auto !important;
	}

	html body .sf-header .sf-logo img {
		height: auto !important;
		max-width: 100% !important;
		object-fit: contain !important;
		width: 100% !important;
	}

	html body .sf-header .sf-header-tools {
		display: none !important;
	}

	html body .sf-header .sf-menu-button {
		display: inline-flex !important;
		grid-column: 2 !important;
		justify-self: end !important;
		max-width: min(178px, 42vw) !important;
		min-width: 0 !important;
		overflow: hidden !important;
		white-space: nowrap !important;
	}

	html body .sf-header .sf-nav,
	html body .sf-header.is-condensed .sf-nav {
		background: #fff !important;
		border: 1px solid #cfe1ea !important;
		border-radius: 8px !important;
		box-shadow: 0 18px 42px rgba(6, 47, 71, .16) !important;
		display: none !important;
		left: 0 !important;
		max-height: calc(100dvh - 112px) !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		padding: 10px !important;
		position: absolute !important;
		right: 0 !important;
		top: calc(100% + 8px) !important;
		transform: none !important;
		width: 100% !important;
	}

	html body .sf-header.has-open-menu .sf-nav,
	html body .sf-header .sf-nav.is-open {
		display: grid !important;
	}

	html body .sf-nav a,
	html body .sf-nav-home,
	html body .sf-nav-direct,
	html body .sf-nav-group > button,
	html body .sf-nav-language {
		border-radius: 6px !important;
		justify-content: start !important;
		min-width: 0 !important;
		overflow: hidden !important;
		text-align: left !important;
		white-space: normal !important;
		width: 100% !important;
	}
}

@media (max-width: 900px) {
	html body {
		padding-bottom: calc(var(--sf-mobile-nav-height, 86px) + env(safe-area-inset-bottom) + 26px) !important;
	}

	html body .sf-main,
	html body .sf-page,
	html body .sf-shortcode-shell,
	html body .sf-explorer,
	html body .sf-directory,
	html body .sf-registry,
	html body .sf-footer {
		max-width: 100vw !important;
		overflow-x: hidden !important;
		width: 100% !important;
	}

	html body .sf-home-categories {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: 1fr !important;
		max-width: calc(100% - 24px) !important;
	}

	html body .sf-mobile-nav {
		box-sizing: border-box !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		left: 0 !important;
		margin: 0 !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding-left: max(6px, env(safe-area-inset-left)) !important;
		padding-right: max(6px, env(safe-area-inset-right)) !important;
		right: 0 !important;
		transform: none !important;
		width: 100vw !important;
	}

	html body .sf-mobile-nav a,
	html body .sf-mobile-nav button {
		min-width: 0 !important;
		overflow: hidden !important;
		padding-left: 2px !important;
		padding-right: 2px !important;
	}

	html body .sf-chat,
	html body .sf-accessibility {
		bottom: calc(var(--sf-mobile-nav-height, 86px) + env(safe-area-inset-bottom) + 16px) !important;
		max-width: calc(100vw - 24px) !important;
		transform: none !important;
	}

	html body .sf-chat {
		right: calc(env(safe-area-inset-right) + 82px) !important;
	}

	html body .sf-accessibility {
		right: calc(env(safe-area-inset-right) + 14px) !important;
	}

	html body .sf-chat-toggle,
	html body .sf-accessibility-toggle {
		border-radius: 14px !important;
		height: 54px !important;
		min-height: 54px !important;
		min-width: 54px !important;
		width: 54px !important;
	}

	html body .sf-site-notice--top {
		top: calc(82px + env(safe-area-inset-top)) !important;
	}

	html body .sf-site-notice__panel {
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 14px !important;
	}

	html body .sf-site-notice__brand {
		display: none !important;
	}

	html body .sf-site-notice__actions {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 48px !important;
		justify-content: stretch !important;
		width: 100% !important;
	}

	html body .sf-site-notice__actions a {
		width: 100% !important;
	}

	html body .sf-place-grid.is-single .sf-place-card {
		display: flex !important;
		flex-direction: column !important;
		max-width: 560px !important;
	}

	html body .sf-place-grid.is-single .sf-place-media {
		aspect-ratio: 16 / 10 !important;
		height: auto !important;
		min-height: 0 !important;
	}

	html body .sf-place-copy .sf-card-actions {
		grid-template-columns: 1fr !important;
	}

	html body .sf-member-panel:not(.sf-member-portal-profile),
	html body .sf-register.sf-register-v2[data-sf-register] {
		max-width: calc(100% - 24px) !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] {
		grid-template-columns: 1fr !important;
		margin-bottom: max(84px, calc(var(--sf-mobile-nav-height, 86px) + env(safe-area-inset-bottom) + 30px)) !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] form,
	html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types,
	html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register],
	html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register],
	html body .sf-member-grid {
		grid-template-columns: 1fr !important;
	}

	html body .sf-member-identity {
		grid-template-columns: 54px minmax(0, 1fr) !important;
	}

	html body .sf-member-identity h2,
	html body .sf-register.sf-register-v2[data-sf-register] > div:first-child h2 {
		font-size: clamp(2rem, 10vw, 2.75rem) !important;
		max-width: 100% !important;
	}
}

@media (max-width: 640px) {
	html body .sf-header {
		top: calc(10px + env(safe-area-inset-top)) !important;
	}

	html body .sf-header .sf-logo {
		max-width: min(178px, 48vw) !important;
	}

	html body .sf-header .sf-menu-button {
		font-size: .9rem !important;
		min-height: 46px !important;
		padding: 0 12px !important;
	}

	html body .sf-language-dialog {
		max-height: calc(100dvh - 20px) !important;
		padding: 18px 14px 14px !important;
		width: calc(100vw - 20px) !important;
	}

	html body .sf-language-dialog > header h2 {
		font-size: clamp(2rem, 10vw, 2.75rem) !important;
	}

	html body .sf-language-list {
		grid-template-columns: 1fr !important;
		max-height: 52dvh !important;
	}

	html body .sf-language-list button {
		grid-template-columns: 36px minmax(0, 1fr) 42px !important;
		padding: 9px 10px !important;
	}

	html body .sf-chat {
		right: calc(env(safe-area-inset-right) + 76px) !important;
	}

	html body .sf-chat-toggle,
	html body .sf-accessibility-toggle {
		height: 52px !important;
		min-height: 52px !important;
		min-width: 52px !important;
		width: 52px !important;
	}

	html body .sf-member-grid a {
		grid-template-columns: 30px minmax(0, 1fr) !important;
		min-height: 66px !important;
	}

	html body .sf-register.sf-register-v2[data-sf-register] {
		padding: 14px !important;
	}
}

html body .sf-membership-home.sf-membership-home-v2 {
	gap: clamp(18px, 3vw, 42px) !important;
	grid-template-columns: minmax(0, .78fr) minmax(260px, 430px) !important;
	min-height: 0 !important;
	padding: clamp(34px, 4.8vw, 58px) max(7vw, 28px) !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy {
	gap: 12px !important;
	max-width: 560px !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
	font-size: clamp(3rem, 5vw, 5.05rem) !important;
	line-height: .92 !important;
	max-width: 8ch !important;
}

html body .sf-membership-home-v2 .sf-membership-home-copy > p:not(.sf-kicker) {
	font-size: clamp(1rem, 1.1vw, 1.16rem) !important;
	line-height: 1.34 !important;
	max-width: 28ch !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions {
	margin-top: 8px !important;
}

html body .sf-membership-home-v2 .sf-membership-home-actions a {
	min-height: 52px !important;
}

html body .sf-membership-home-visual {
	justify-self: end !important;
	max-width: 430px !important;
}

html body .sf-membership-home-v2 figure.sf-membership-home-card {
	box-shadow: 0 18px 38px rgba(6, 47, 71, .16) !important;
	padding: 9px !important;
}

html body .sf-membership-home-v2 figure.sf-membership-home-card img {
	max-height: 270px !important;
}

html body .sf-membership-home-visual::before {
	display: none !important;
}

html body .sf-membership-home-flow {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .sf-membership-home-flow span {
	background: #fff !important;
	box-shadow: none !important;
	grid-template-columns: 30px minmax(0, 1fr) !important;
	min-height: 48px !important;
	padding: 8px 9px !important;
}

html body .sf-membership-home-flow b {
	font-size: .74rem !important;
	height: 30px !important;
	width: 30px !important;
}

html body .sf-membership-home-flow strong {
	font-size: .82rem !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

@media (max-width: 900px) {
	html body .sf-membership-home.sf-membership-home-v2 {
		grid-template-columns: 1fr !important;
		padding: 34px max(18px, env(safe-area-inset-right)) 44px max(18px, env(safe-area-inset-left)) !important;
	}

	html body .sf-membership-home-visual {
		justify-self: start !important;
		max-width: 390px !important;
	}
}

@media (max-width: 560px) {
	html body .sf-membership-home-v2 .sf-membership-home-copy h2 {
		font-size: clamp(2.45rem, 11vw, 3.25rem) !important;
		max-width: 100% !important;
	}

	html body .sf-membership-home-visual {
		max-width: 290px !important;
	}

	html body .sf-membership-home-v2 figure.sf-membership-home-card img {
		max-height: 210px !important;
	}
}

/* 5.26.45: area soci, campi form dentro il contenitore su ogni schermo. */
html body .sf-register.sf-register-v2[data-sf-register],
html body .sf-register.sf-register-v2[data-sf-register] *,
html body .sf-member-panel,
html body .sf-member-panel * {
	box-sizing: border-box !important;
	min-width: 0;
}

html body .sf-register.sf-register-v2[data-sf-register] form,
html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register],
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register] {
	max-width: 100% !important;
	overflow: visible !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] form > label,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-member-register] label,
html body .sf-register.sf-register-v2[data-sf-register] [data-sf-business-register] label {
	display: grid !important;
	max-width: 100% !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body .sf-register.sf-register-v2[data-sf-register] select,
html body .sf-register.sf-register-v2[data-sf-register] textarea {
	display: block !important;
	max-width: 100% !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label {
	max-width: 100% !important;
	overflow: hidden !important;
	position: relative !important;
	width: 100% !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types input[type="radio"] {
	appearance: none !important;
	height: 100% !important;
	inset: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	opacity: 0 !important;
	position: absolute !important;
	width: 100% !important;
	z-index: 2 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-register-types > label > span {
	position: relative !important;
	z-index: 1 !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-consent input[type="checkbox"] {
	appearance: auto !important;
	flex: 0 0 20px !important;
	height: 20px !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 20px !important;
	width: 20px !important;
}

html body .sf-register.sf-register-v2[data-sf-register] .sf-honeypot input {
	height: 1px !important;
	min-height: 0 !important;
	width: 1px !important;
}

@media (max-width: 720px) {
	html body .sf-register.sf-register-v2[data-sf-register] {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: calc(100vw - 20px) !important;
		width: calc(100vw - 20px) !important;
	}
}

/* Portal usability update 2026-09-08 */
/* Tesseramento: palette e pulsanti del portale attuale, immagine in evidenza. */
html body #tesseramento.sf-membership-home-v2 {
	align-items: center !important;
	background: var(--paper) !important;
	border-bottom: 1px solid var(--line) !important;
	border-top: 0 !important;
	box-shadow: none !important;
	display: grid !important;
	gap: clamp(28px, 3vw, 56px) !important;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding: clamp(44px, 5vw, 80px) clamp(22px, 4vw, 80px) !important;
	position: relative !important;
	width: 100% !important;
}

html body #tesseramento.sf-membership-home-v2::before,
html body #tesseramento .sf-membership-home-visual::before {
	display: none !important;
}

html body #tesseramento .sf-membership-home-copy {
	align-content: center !important;
	display: grid !important;
	gap: 22px !important;
	justify-items: start !important;
	max-width: 760px !important;
	min-width: 0 !important;
	text-align: left !important;
}

html body #tesseramento .sf-membership-home-copy .sf-kicker {
	color: var(--blue) !important;
	font-size: 1rem !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

html body #tesseramento .sf-membership-home-copy .sf-kicker:empty {
	display: none !important;
}

html body #tesseramento .sf-membership-home-copy h2 {
	color: var(--ink) !important;
	font-size: clamp(2.4rem, 3.1vw, 4rem) !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	margin: 0 !important;
	max-width: 12em !important;
	overflow-wrap: normal !important;
	text-transform: uppercase !important;
	word-break: normal !important;
}

html body #tesseramento .sf-membership-home-copy > p:not(.sf-kicker) {
	color: #496477 !important;
	font-size: clamp(1rem, 1.1vw, 1.2rem) !important;
	font-weight: 500 !important;
	line-height: 1.58 !important;
	margin: 0 auto !important;
	max-width: 760px !important;
}

html body #tesseramento .sf-membership-home-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	justify-content: flex-start !important;
	margin-top: 16px !important;
	width: 100% !important;
}

html body #tesseramento .sf-membership-home-actions a,
html body #tesseramento .sf-membership-home-actions a:first-child,
html body #tesseramento .sf-membership-home-actions a:not(:first-child) {
	background: var(--paper) !important;
	border: 0 !important;
	border-radius: var(--radius) !important;
	box-shadow: none !important;
	color: var(--ink) !important;
	font-size: 1.05rem !important;
	font-weight: 850 !important;
	gap: 10px !important;
	justify-content: flex-start !important;
	min-height: 52px !important;
	min-width: 0 !important;
	padding: 12px 22px !important;
	text-align: left !important;
}

html body #tesseramento .sf-membership-home-actions a:hover,
html body #tesseramento .sf-membership-home-actions a:focus-visible {
	background: var(--mist) !important;
	color: var(--ink) !important;
	transform: translateY(-1px) !important;
}

html body #tesseramento .sf-membership-home-actions a,
html body #tesseramento .sf-membership-home-actions a:not(:first-child) {
 border: 1px solid var(--line) !important;
 justify-content: center !important;
 text-align: center !important;
}
html body #tesseramento .sf-membership-home-actions a:first-child {
 background: linear-gradient(135deg, var(--blue), var(--violet)) !important;
 color: #fff !important;
 box-shadow: 0 16px 38px rgba(0, 104, 255, .22) !important;
}
html body #tesseramento .sf-membership-home-actions a:focus-visible {
 outline: 3px solid var(--blue) !important;
 outline-offset: 4px !important;
}
html body #tesseramento .sf-membership-home-actions a svg {
 display: block !important;
 flex: 0 0 20px;
 width: 20px;
 height: 20px;
}

html body #tesseramento .sf-membership-home-visual {
	align-self: center !important;
	display: grid !important;
	gap: 10px !important;
	justify-self: stretch !important;
	max-width: none !important;
	min-width: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

html body #tesseramento .sf-membership-home-card,
html body #tesseramento figure.sf-membership-home-card {
	background: var(--paper) !important;
	border: 0 !important;
	border-radius: var(--radius) !important;
	box-shadow: 0 16px 30px rgba(21, 66, 116, .16) !important;
	display: block !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 100% !important;
}

html body #tesseramento figure.sf-membership-home-card img {
	aspect-ratio: 1920 / 849 !important;
	background: var(--paper) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
	width: 100% !important;
}

html body #tesseramento figure.sf-membership-home-card figcaption,
html body #tesseramento .sf-membership-home-flow {
	display: none !important;
}


@media (max-width: 980px) {
 html body #tesseramento.sf-membership-home-v2 { grid-template-columns: 1fr !important; gap: 28px !important; padding: 40px 22px !important; }
 html body #tesseramento .sf-membership-home-visual { max-width: none !important; width: 100% !important; }
}
@media (max-width: 760px) {
 html body #tesseramento.sf-membership-home-v2 { padding: 34px 18px !important; }
 html body #tesseramento .sf-membership-home-copy h2 { font-size: clamp(2rem, 8vw, 2.8rem) !important; }
 html body #tesseramento .sf-membership-home-copy > p:not(.sf-kicker) { font-size: 1rem !important; }
 html body #tesseramento .sf-membership-home-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
 html body #tesseramento .sf-membership-home-actions a { width: 100% !important; min-width: 0 !important; }
}

/* Mobile: apertura panoramica 16:9, contenuti dopo il video. */
@media (max-width: 760px) {
 html body .sf-main > section.sf-hero {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: calc(80px + env(safe-area-inset-top)) 0 32px !important;
 }
 html body .sf-main > .sf-hero > .sf-hero-media {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  z-index: 0 !important;
 }
 html body .sf-main > .sf-hero::before,
 html body .sf-main > .sf-hero::after,
 html body .sf-main > .sf-hero > .sf-hero-layer,
 html body .sf-main > .sf-hero > .sf-hero-scroll {
  display: none !important;
 }
 html body .sf-main > .sf-hero > .sf-hero-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: 26px 18px 0 !important;
  margin: 0 !important;
  gap: 28px !important;
 }
 html body .sf-main > .sf-hero .sf-hero-copy > p:not(.sf-kicker) {
  font-weight: 500 !important;
  line-height: 1.5 !important;
  max-width: none !important;
 }
}

/* Oculus Room: gerarchia editoriale e percorsi immersivi distinti. */
html body .sf-page-oculus-room .sf-editorial {
 padding: clamp(40px, 6vw, 88px) 22px !important;
}
html body .sf-page-oculus-room .sf-editorial-body {
 display: grid !important;
 grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
 gap: 20px 28px !important;
 max-width: 1120px !important;
 margin: 0 auto !important;
}
html body .sf-page-oculus-room .sf-editorial-body > * {
 grid-column: 1 / -1;
 min-width: 0;
 margin: 0 !important;
}
html body .sf-page-oculus-room .sf-editorial-body :is(h2, h3) {
 color: var(--ink) !important;
 font-size: clamp(1.6rem, 2.6vw, 2.5rem) !important;
 line-height: 1.15 !important;
 letter-spacing: -.025em !important;
 padding-top: 38px !important;
 max-width: 26ch !important;
 text-wrap: balance;
}
html body .sf-page-oculus-room .sf-editorial-body > :first-child {
 padding-top: 0 !important;
 font-size: clamp(2rem, 3.5vw, 3.4rem) !important;
 max-width: 24ch !important;
}
html body .sf-page-oculus-room .sf-editorial-body p {
 color: #496477 !important;
 font-size: clamp(1rem, 1.15vw, 1.125rem) !important;
 font-weight: 400 !important;
 line-height: 1.75 !important;
 max-width: 78ch !important;
}
html body .sf-page-oculus-room .sf-editorial-body strong {
 color: #15374b !important;
 font-weight: 650 !important;
}
html body .sf-page-oculus-room .sf-editorial-body > p:has(> strong:first-child + br) {
 grid-column: span 1;
 align-self: stretch;
 padding: clamp(22px, 3vw, 36px) !important;
 background: #fff !important;
 border: 1px solid var(--line);
 border-top: 4px solid var(--aqua);
 border-radius: var(--radius);
 box-shadow: 0 14px 40px rgba(3, 30, 56, .06);
 max-width: none !important;
}
html body .sf-page-oculus-room .sf-editorial-body > p:has(> strong:first-child + br) + p:has(> strong:first-child + br) {
 border-top-color: var(--violet);
}
html body .sf-page-oculus-room .sf-editorial-body > p:has(> strong:first-child + br) > strong:first-child {
 display: inline-block;
 font-size: 1.3rem;
 line-height: 1.3;
 margin-bottom: 12px;
 font-weight: 800 !important;
}
html body .sf-page-oculus-room .sf-oculus-story {
 max-width: 1120px !important;
 margin: 0 auto 60px !important;
 padding: 32px !important;
 border: 1px solid var(--line);
 border-radius: var(--radius);
 background: #fff;
}
html body .sf-page-oculus-room .sf-oculus-story p {
 font-weight: 400 !important;
 line-height: 1.6 !important;
}
html body .sf-page-oculus-room .sf-oculus-story .sf-primary-action {
 background: linear-gradient(135deg, var(--blue), var(--violet)) !important;
 color: #fff !important;
 border-radius: var(--radius) !important;
}
@media (max-width: 760px) {
 html body .sf-page-oculus-room .sf-editorial { padding: 36px 18px !important; }
 html body .sf-page-oculus-room .sf-editorial-body { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
 html body .sf-page-oculus-room .sf-editorial-body > p:has(> strong:first-child + br) { grid-column: 1 !important; }
 html body .sf-page-oculus-room .sf-oculus-story { margin: 0 18px 36px !important; padding: 22px !important; }
}
html body .sf-page-oculus-room .sf-page-hero h1 {
 font-size: clamp(2.8rem, 6vw, 5.5rem) !important;
 line-height: 1.05 !important;
}
html body .sf-page-oculus-room .sf-page-hero-copy > p:not(.sf-kicker) {
 font-weight: 500 !important;
 max-width: 52ch !important;
 line-height: 1.55 !important;
}
html body .sf-page-oculus-room .sf-editorial-body :is(h2, h3) {
 scroll-margin-top: 130px;
}

html body .sf-site-notice--top.is-visible { left: max(12px, env(safe-area-inset-left)) !important; right: max(12px, env(safe-area-inset-right)) !important; transform: none !important; width: auto !important; }

/* Public catalogues: clear next steps and consistent cards. */
html body .sf-catalogue-welcome { max-width: 1180px; margin: 0 auto; padding: 140px 24px 72px; }
html body .sf-catalogue-welcome h1 { color: var(--ink); font-size: clamp(2.2rem,4vw,4rem); line-height:1.08; max-width:22ch; margin:16px 0 24px; text-wrap:balance; }
html body .sf-catalogue-welcome > p:not(.sf-kicker) { max-width:70ch; color:#496477; font-size:1.1rem; line-height:1.7; font-weight:400; }
html body .sf-catalogue-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:36px; }
html body .sf-catalogue-cards article { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:0 16px 48px rgba(3,30,56,.08); }
html body .sf-catalogue-cards article > img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
html body .sf-catalogue-cards article > div { padding:28px; }
html body .sf-catalogue-cards h2 { color:var(--ink); font-size:1.9rem; line-height:1.15; margin:12px 0; }
html body .sf-catalogue-cards p:not(.sf-kicker) { color:#496477; line-height:1.7; font-weight:400; }
html body .sf-catalogue-cards a,html body .sf-catalogue-links a { display:inline-flex; align-items:center; min-height:48px; padding:12px 18px; background:linear-gradient(135deg,var(--blue),var(--violet)); color:#fff; border-radius:var(--radius); font-weight:750; text-decoration:none; }
html body .sf-catalogue-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
html body .sf-catalogue-links a + a { background:#fff; color:var(--ink); border:1px solid var(--line); }
@media(max-width:760px) {
 html body .sf-catalogue-welcome { padding:96px 18px 36px; }
 html body .sf-catalogue-cards { grid-template-columns:1fr; gap:20px; }
 html body .sf-catalogue-cards article > div { padding:22px; }
}

@media (min-width: 1181px) and (max-width: 1400px) {
	html body .sf-header {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		max-width: none !important;
		min-width: 0 !important;
		overflow: visible !important;
		padding: 10px 12px !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		transform: none !important;
		width: auto !important;
	}

	html body .sf-header .sf-logo {
		max-width: min(220px, 48vw) !important;
		min-width: 0 !important;
		width: auto !important;
	}

	html body .sf-header .sf-logo img {
		height: auto !important;
		max-width: 100% !important;
		object-fit: contain !important;
		width: 100% !important;
	}

	html body .sf-header .sf-header-tools {
		display: none !important;
	}

	html body .sf-header .sf-menu-button {
		display: inline-flex !important;
		grid-column: 2 !important;
		justify-self: end !important;
		max-width: min(178px, 42vw) !important;
		min-width: 0 !important;
		overflow: hidden !important;
		white-space: nowrap !important;
	}

	html body .sf-header .sf-nav,
	html body .sf-header.is-condensed .sf-nav {
		background: #fff !important;
		border: 1px solid #cfe1ea !important;
		border-radius: 8px !important;
		box-shadow: 0 18px 42px rgba(6, 47, 71, .16) !important;
		display: none !important;
		left: 0 !important;
		max-height: calc(100dvh - 112px) !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		padding: 10px !important;
		position: absolute !important;
		right: 0 !important;
		top: calc(100% + 8px) !important;
		transform: none !important;
		width: 100% !important;
	}

	html body .sf-header.has-open-menu .sf-nav,
	html body .sf-header .sf-nav.is-open {
		display: grid !important;
	}

	html body .sf-nav a,
	html body .sf-nav-home,
	html body .sf-nav-direct,
	html body .sf-nav-group > button,
	html body .sf-nav-language {
		border-radius: 6px !important;
		justify-content: start !important;
		min-width: 0 !important;
		overflow: hidden !important;
		text-align: left !important;
		white-space: normal !important;
		width: 100% !important;
	}
}

html body .sf-catalogue-welcome { padding-top: 36px; }
@media (min-width: 761px) and (max-width: 1400px) {
 html body .sf-header { grid-template-columns: minmax(100px,1fr) auto auto !important; }
 html body .sf-header .sf-header-tools { display:flex !important; grid-column:2 !important; grid-row:1 !important; gap:6px !important; }
 html body .sf-header .sf-menu-button { grid-column:3 !important; grid-row:1 !important; }
 html body .sf-header .sf-logo { max-width:160px !important; }
}
/* Filtered results must not be made visible again by card layout rules. */
html body #content [data-sf-places] [hidden],
html body #content [data-sf-events] [hidden] { display: none !important; }

/* PEC mobile: etichetta e indirizzo completi sulla stessa riga. */
@media (max-width: 760px) {
 html body .sf-footer .sf-footer-brand address a.sf-footer-contact-line--pec {
  display: block !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(10px, 3.2vw, 15px) !important;
  letter-spacing: -.015em !important;
  line-height: 1.6 !important;
  max-width: 100% !important;
 }
}

/* Official MyUNPLI member card — 20260908 */
html body #tesseramento.sf-unpli-card{padding:clamp(20px,4vw,48px);border:1px solid #dce6f4;border-radius:28px;background:linear-gradient(135deg,#f0f8ff,#fff 60%,#f3efff);box-shadow:0 16px 48px #123a6010;overflow:hidden;color:#10334e}
html body .sf-unpli-card>header{display:block;margin:0 0 28px;background:none;padding:0;position:static}
html body .sf-unpli-card>header h3{font-size:clamp(28px,3.5vw,44px);line-height:1.12;letter-spacing:-.035em;margin:8px 0 12px;color:#10334e}
html body .sf-unpli-card>header p{max-width:60ch;font-size:16px;font-weight:400;color:#536b80}
html body .sf-unpli-card .sf-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#345de0}
html body .sf-unpli-card-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:28px;align-items:start}
html body .sf-unpli-artwork{min-width:0}
html body .sf-unpli-artwork figure{margin:0;padding:16px;background:#fff;border:1px solid #e0e7f0;border-radius:20px;box-shadow:0 12px 24px #173b5c12}
html body .sf-unpli-artwork img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;position:static;transform:none;border-radius:0}
html body .sf-unpli-artwork figcaption{font-size:12px;color:#667b8e;text-align:center;margin-top:12px}
html body .sf-unpli-artwork details{margin-top:14px;background:#fff;border:1px solid #dce6f4;border-radius:14px;padding:16px}
html body .sf-unpli-artwork summary{cursor:pointer;font-size:15px;font-weight:700;color:#23466b}
html body .sf-unpli-artwork details[open] summary{margin-bottom:16px}
html body .sf-unpli-info{min-width:0;background:#fff;border:1px solid #e0e7f0;border-radius:20px;padding:24px}
html body .sf-unpli-status{display:inline-flex;align-items:center;gap:8px;background:#eaf8f2;color:#1d6b50;padding:8px 12px;border-radius:30px;font-size:12px;font-weight:700}
html body .sf-unpli-card svg{width:20px;height:20px;flex-shrink:0}
html body .sf-unpli-info dl{margin:24px 0;display:grid;gap:16px}
html body .sf-unpli-info dl>div{padding-bottom:14px;border-bottom:1px solid #edf1f6}
html body .sf-unpli-info dt{font-size:12px;color:#64798d;margin:0 0 4px;font-weight:500}
html body .sf-unpli-info dd{font-size:18px;color:#10334e;margin:0;font-weight:700;overflow-wrap:anywhere}
html body .sf-unpli-info .sf-unpli-sync{font-size:12px;line-height:1.5;color:#64798d;font-weight:400}
html body .sf-unpli-actions{display:grid;gap:12px;margin-top:22px}
html body .sf-unpli-card a{font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#3454c8;text-decoration:none;line-height:1.4}
html body .sf-unpli-card a.sf-unpli-primary{padding:14px 20px;background:linear-gradient(110deg,#176aff,#713eff);color:#fff;border-radius:12px;box-shadow:0 8px 20px #345ee026}
html body .sf-unpli-card a:focus-visible,html body .sf-unpli-card summary:focus-visible{outline:3px solid #176aff;outline-offset:4px}
html body .sf-unpli-document{background:linear-gradient(145deg,#0d345a,#244aa2);color:#fff;padding:clamp(24px,4vw,40px);border-radius:20px;min-height:280px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}
html body .sf-unpli-document>span svg{width:40px;height:40px;color:#a9ceff}
html body .sf-unpli-document .sf-kicker{color:#b9d4ff;margin:0}
html body .sf-unpli-document h4{font-size:28px;line-height:1.2;color:#fff;margin:0}
html body .sf-unpli-document>p:not(.sf-kicker){font-size:15px;line-height:1.6;font-weight:400;color:#e0eafe;margin:0 0 8px}
@media(max-width:760px){html body .sf-unpli-card-layout{grid-template-columns:minmax(0,1fr);gap:20px}html body #tesseramento.sf-unpli-card{border-radius:20px;padding:20px 16px}html body .sf-unpli-artwork figure{padding:10px}html body .sf-unpli-info{padding:20px}html body .sf-unpli-info dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}html body .sf-unpli-info dd{font-size:16px}}

/* Compact public registry page titles — 20260908. */
html body #content .sf-page.sf-page-without-hero:is(.sf-page-bacheca-avvisi,.sf-page-amministrazione-trasparente){padding-top:140px!important;padding-bottom:48px!important;min-height:0!important}
html body #content :is(.sf-page-bacheca-avvisi,.sf-page-amministrazione-trasparente) .sf-shortcode-shell{padding-top:0!important;padding-bottom:0!important;margin-top:0!important}
html body #content .sf-registry-intro{position:static;display:block;background:none;border:0;box-shadow:none;min-height:0;padding:0;margin:0 0 28px;text-align:left}
html body #content .sf-registry-intro .sf-kicker{color:#3462cf;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;margin:0 0 10px}
html body #content .sf-registry-intro h1{display:block!important;color:#10334e;font-size:clamp(30px,4vw,52px);line-height:1.1;letter-spacing:-.035em;margin:0 0 14px;font-weight:800;overflow-wrap:normal}
html body #content .sf-registry-intro>p:not(.sf-kicker){color:#526b80;font-size:16px;font-weight:400;line-height:1.6;max-width:65ch;margin:0}
html body #content :is(.sf-page-bacheca-avvisi,.sf-page-amministrazione-trasparente) .sf-registry{margin-top:0!important}
@media(max-width:760px){html body #content .sf-page.sf-page-without-hero:is(.sf-page-bacheca-avvisi,.sf-page-amministrazione-trasparente){padding-top:calc(112px + env(safe-area-inset-top))!important;padding-bottom:32px!important}html body #content .sf-registry-intro{margin-bottom:22px}html body #content .sf-registry-intro>p:not(.sf-kicker){font-size:15px}}
