/**
 * WordPress + Specia overrides — typography & contrast fix.
 */

.preview-banner {
	display: none !important;
}

:root {
	--text-body: #2a3444;
	--muted: #4a5568;
}

body.smb-theme {
	background: var(--cream) !important;
	font-family: var(--font-sans) !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--text-body) !important;
	-webkit-font-smoothing: antialiased;
}

body.smb-theme #page.smb-site {
	background: transparent;
}

body.smb-theme .site-content.smb-content-wrap {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

/* Hide legacy Specia chrome */
body.smb-theme #specia-footer,
body.smb-theme .footer-sidebar,
body.smb-theme .footer-copyright,
body.smb-theme .top-scroll,
body.smb-theme .specia-breadcrumb,
body.smb-theme .page-title-section {
	display: none !important;
}

/* ── Global typography reset (wins over Specia + WP blocks) ── */
body.smb-theme h1,
body.smb-theme h2,
body.smb-theme h3,
body.smb-theme h4,
body.smb-theme h5,
body.smb-theme h6 {
	font-family: var(--font-serif) !important;
	color: var(--navy) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

body.smb-theme p,
body.smb-theme li,
body.smb-theme td,
body.smb-theme dd,
body.smb-theme blockquote {
	font-family: var(--font-sans) !important;
	font-size: 1rem !important;
	color: var(--text-body) !important;
}

body.smb-theme .section-label {
	font-size: 0.75rem !important;
	letter-spacing: 0.18em !important;
	color: var(--gold) !important;
}

/* ── Sezioni scure (navy) — testo chiaro ── */
body.smb-theme .topbar,
body.smb-theme .topbar a {
	color: rgba(255, 255, 255, 0.88) !important;
}

body.smb-theme .topbar-booking {
	color: var(--gold) !important;
}

body.smb-theme .hero,
body.smb-theme .page-hero,
body.smb-theme .media-showcase-caption,
body.smb-theme .video-full-overlay,
body.smb-theme .video-full-overlay .overlay-inner,
body.smb-theme .video-section-text,
body.smb-theme .section-navy,
body.smb-theme .site-footer,
body.smb-theme .profile-cta-band,
body.smb-theme .echolight-showcase-hero,
body.smb-theme .echolight-showcase-copy {
	color: rgba(255, 255, 255, 0.9) !important;
}

body.smb-theme .hero h1,
body.smb-theme .hero h2,
body.smb-theme .page-hero h1,
body.smb-theme .media-showcase-caption h2,
body.smb-theme .video-full-overlay h2,
body.smb-theme .video-section-text h2,
body.smb-theme .section-navy h1,
body.smb-theme .section-navy h2,
body.smb-theme .section-navy h3,
body.smb-theme .site-footer h4,
body.smb-theme .profile-cta-band h2,
body.smb-theme .service-card.highlight h3,
body.smb-theme .echolight-showcase-copy h2 {
	color: #fff !important;
}

body.smb-theme .hero p,
body.smb-theme .hero li,
body.smb-theme .hero .section-label,
body.smb-theme .page-hero p,
body.smb-theme .page-hero .section-label,
body.smb-theme .media-showcase-caption p,
body.smb-theme .video-full-overlay p,
body.smb-theme .video-section-text p,
body.smb-theme .video-section-text .section-label,
body.smb-theme .section-navy p,
body.smb-theme .section-navy li,
body.smb-theme .site-footer p,
body.smb-theme .site-footer li,
body.smb-theme .profile-cta-band p,
body.smb-theme .service-card.highlight p,
body.smb-theme .echolight-lead,
body.smb-theme .echolight-pills li {
	color: rgba(255, 255, 255, 0.88) !important;
}

body.smb-theme .hero .section-label,
body.smb-theme .page-hero .section-label,
body.smb-theme .media-showcase-caption .section-label,
body.smb-theme .video-full-overlay .section-label {
	color: var(--gold-light) !important;
}

body.smb-theme .video-full-echolight {
	background-color: var(--navy);
	background-image: linear-gradient(155deg, var(--navy) 0%, var(--navy-soft) 55%, #0a1f38 100%);
}

body.smb-theme .profile-cta-band .section-label {
	color: var(--gold-light) !important;
}

body.smb-theme .echolight-showcase-copy .section-label {
	color: var(--gold-light) !important;
}

body.smb-theme .echolight-device-card figcaption {
	color: rgba(255, 255, 255, 0.78) !important;
}

body.smb-theme .site-footer a {
	color: rgba(255, 255, 255, 0.82) !important;
}

body.smb-theme .site-footer a:hover {
	color: var(--gold-light) !important;
}

body.smb-theme .hero-lead {
	font-size: 1.0625rem !important;
	color: rgba(255, 255, 255, 0.9) !important;
}

body.smb-theme .hero-trust,
body.smb-theme .hero-trust li {
	font-size: 0.875rem !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

body.smb-theme .hero h1 {
	font-size: clamp(2rem, 4.5vw, 3.25rem) !important;
}

body.smb-theme .page-hero h1 {
	font-size: clamp(1.875rem, 3.5vw, 2.75rem) !important;
}

body.smb-theme .page-hero p {
	font-size: 1.0625rem !important;
}

/* ── Sezioni chiare (crema/bianco) ── */
body.smb-theme .section-cream .lead,
body.smb-theme .section-white .lead,
body.smb-theme .section-cream p,
body.smb-theme .section-white p,
body.smb-theme .content-split p,
body.smb-theme .content-split li,
body.smb-theme .service-card p,
body.smb-theme .metric-item,
body.smb-theme .advantage-item,
body.smb-theme .advantage-item div,
body.smb-theme .location-card p,
body.smb-theme .hero-card p,
body.smb-theme .hero-card ol,
body.smb-theme .hero-card li,
body.smb-theme .lead-profile,
body.smb-theme .timeline-item p,
body.smb-theme .profile-highlight p,
body.smb-theme .profile-highlight h2 {
	color: var(--text-body) !important;
}

body.smb-theme .profile-highlight h2 {
	font-size: clamp(1.375rem, 2.5vw, 1.875rem) !important;
	margin-bottom: 1rem !important;
}

body.smb-theme .section-subtitle,
body.smb-theme .map-section-lead {
	color: var(--muted) !important;
	font-size: 1.0625rem !important;
}

body.smb-theme .section-cream .lead {
	color: var(--muted) !important;
	font-size: 1.125rem !important;
}

/* WP menu current item */
body.smb-theme .main-nav .current-menu-item > a,
body.smb-theme .main-nav .current_page_item > a {
	color: var(--navy) !important;
	border-bottom-color: var(--gold);
}

/* WordPress editor content */
body.smb-theme .smb-page-content.content-block,
body.smb-theme .smb-entry-content {
	max-width: 820px;
	margin: 0 auto;
}

body.smb-theme .smb-entry-content p,
body.smb-theme .smb-entry-content li {
	font-size: 1.0625rem !important;
	line-height: 1.8 !important;
	color: var(--text-body) !important;
}

body.smb-theme .smb-entry-content h1 {
	font-size: clamp(1.375rem, 2.5vw, 1.875rem) !important;
	margin: 2rem 0 1rem !important;
}

body.smb-theme .smb-entry-content h2 {
	font-size: clamp(1.25rem, 2vw, 1.625rem) !important;
	margin: 2rem 0 0.875rem !important;
}

body.smb-theme .smb-entry-content h3 {
	font-size: clamp(1.125rem, 1.8vw, 1.375rem) !important;
	margin: 1.5rem 0 0.75rem !important;
}

body.smb-theme .smb-entry-content h4,
body.smb-theme .smb-entry-content h5,
body.smb-theme .smb-entry-content h6 {
	font-size: 1.0625rem !important;
	margin: 1.25rem 0 0.5rem !important;
}

body.smb-theme .smb-entry-content ul,
body.smb-theme .smb-entry-content ol {
	padding-left: 1.25rem;
	margin: 1rem 0;
}

body.smb-theme .smb-entry-content img,
body.smb-theme .smb-entry-content video,
body.smb-theme .smb-entry-content iframe {
	max-width: 100% !important;
	height: auto;
	border-radius: var(--radius-lg);
}

body.smb-theme .smb-entry-content .wp-video,
body.smb-theme .smb-entry-content .wp-video-shortcode,
body.smb-theme .smb-entry-content div[style*="width"] {
	width: 100% !important;
	max-width: 100% !important;
}

body.smb-theme .smb-entry-content .wp-block-video,
body.smb-theme .smb-entry-content .wp-block-image {
	margin: 1.5rem 0;
}

/* Neutralize WP block color classes that make text invisible */
body.smb-theme .has-very-light-gray-color,
body.smb-theme .has-white-color,
body.smb-theme .has-cyan-bluish-gray-color,
body.smb-theme .has-pale-cyan-blue-color {
	color: var(--text-body) !important;
}

body.smb-theme .has-small-font-size {
	font-size: 0.9375rem !important;
}

body.smb-theme .has-medium-font-size {
	font-size: 1.125rem !important;
}

body.smb-theme .has-large-font-size,
body.smb-theme .has-x-large-font-size,
body.smb-theme .has-huge-font-size,
body.smb-theme .has-larger-font-size {
	font-size: clamp(1.25rem, 2.5vw, 1.75rem) !important;
	line-height: 1.3 !important;
}

body.smb-theme .smb-notice-box,
body.smb-theme .smb-entry-content .notice-box {
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-left: 4px solid var(--gold);
	border-radius: var(--radius-lg);
	padding: 1.25rem 1.5rem;
	color: #78350f !important;
	font-size: 1rem !important;
}

body.smb-theme .smb-lead {
	font-size: 1.125rem !important;
	color: var(--text-body) !important;
	line-height: 1.8;
}

/* Buttons */
body.smb-theme a.smb-btn-booking,
body.smb-theme .smb-btn.smb-btn-booking {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8125rem 1.625rem;
	border-radius: var(--radius);
	font-weight: 600;
	font-size: 0.9375rem !important;
	text-decoration: none;
	background: var(--booking);
	color: #fff !important;
	border: 1px solid var(--booking);
	box-shadow: var(--shadow-btn-booking) !important;
	text-transform: none !important;
	transition: background 0.25s var(--ease-out), border-color 0.25s, transform 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
}

body.smb-theme a.smb-btn-booking:hover {
	background: var(--booking-hover);
	border-color: var(--booking-hover);
	transform: translateY(-3px);
	box-shadow: 0 14px 36px rgba(26, 107, 92, 0.42) !important;
}

body.smb-theme .bt-primary,
body.smb-theme a.bt-primary,
body.smb-theme .header_btn a {
	background: var(--booking) !important;
	background-image: none !important;
	border: 1px solid var(--booking) !important;
	border-radius: var(--radius) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	filter: none !important;
	transform: none !important;
	font-size: 0.9375rem !important;
}

body.smb-theme .bt-effect-1 > span {
	animation: none !important;
}

.logo .smb-logo-img {
	height: 52px;
	width: auto;
}
