/* ConcordatoFacile - shared chrome styles (nav, footer overrides,
   WhatsApp CTA, opacity rescue, cookie consent). Extracted from the Carrd head. */

		/*
		=====================================================
		--- STYLES FOR DESKTOP STICKY TOP MENU ---
		=====================================================
		*/
		.desktop-top-menu {
		display: none;
		}
		
		@media (min-width: 769px) {
		.desktop-top-menu {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		position: sticky;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1001;
		background: linear-gradient(to right, #542CF2, #703FFC);
		padding: 10px 24px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.15);
		flex-wrap: wrap;
		}
		
		.desktop-top-menu button {
		padding: 8px 18px;
		border-radius: 6px;
		cursor: pointer;
		font-size: 14px;
		font-weight: 600;
		font-family: 'Manrope', sans-serif;
		transition: all 0.2s ease;
		white-space: nowrap;
		border: 2px solid rgba(255,255,255,0.5);
		background-color: transparent;
		color: #fff;
		}
		
		.desktop-top-menu button:hover {
		background-color: rgba(255,255,255,0.15);
		border-color: #fff;
		}
		
		.desktop-top-menu button.btn-cta-desktop {
		background-color: #28a745;
		color: white;
		border: 2px solid #28a745;
		}
		
		.desktop-top-menu button.btn-cta-desktop:hover {
		background-color: #218838;
		border-color: #218838;
		transform: translateY(-1px);
		box-shadow: 0 4px 8px rgba(0,0,0,0.15);
		}
		
		.desktop-top-menu button.btn-cta2-desktop {
		background-color: #e8820c;
		color: black;
		border: 2px solid #e8820c;
		}
		
		.desktop-top-menu button.btn-cta2-desktop:hover {
		background-color: #FF7547;
		border-color: #FF7547;
		transform: translateY(-1px);
		box-shadow: 0 4px 8px rgba(0,0,0,0.15);
		}
		
		/* --- ALTRO DROPDOWN --- */
		.desktop-altro-wrapper {
		position: relative;
		display: inline-flex;
		}
		
		.desktop-altro-dropdown {
		position: absolute;
		top: calc(100% + 8px);
		left: 50%;
		background: linear-gradient(135deg, #542CF2, #703FFC);
		border: 1px solid rgba(255,255,255,0.2);
		border-radius: 8px;
		box-shadow: 0 8px 24px rgba(40, 10, 100, 0.35);
		padding: 6px;
		display: flex;
		flex-direction: column;
		gap: 2px;
		min-width: 240px;
		opacity: 0;
		visibility: hidden;
		transform: translateX(-50%) translateY(-4px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s 0.2s;
		z-index: 1002;
		}
		
		.desktop-altro-dropdown.show {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%) translateY(0);
		transition: opacity 0.2s ease, transform 0.2s ease;
		}
		
		.desktop-altro-dropdown button {
		width: 100%;
		text-align: left;
		border: 2px solid transparent;
		border-radius: 5px;
		padding: 10px 14px;
		}
		
		.desktop-altro-dropdown button:hover {
		background-color: rgba(255,255,255,0.18);
		border-color: transparent;
		}
		
		/* Hide mobile elements entirely on desktop */
		.mobile-bottom-nav,
		.mobile-more-overlay,
		.mobile-more-panel {
		display: none !important;
		}
		}
		
		/*
		=====================================================
		--- MOBILE BOTTOM NAVIGATION BAR ---
		Altezza FISSA in px, su tutti i browser.
		NIENTE env(safe-area-inset-bottom): su questa pagina
		(senza viewport-fit=cover) dovrebbe valere sempre 0,
		ma alcuni browser Android (es. Firefox) riportano
		comunque l'altezza della barra di sistema e questo
		gonfiava la navbar spingendo i bottoni verso l'alto.
		=====================================================
		*/
		:root {
		--cf-nav-h: 53px;
		}
		
		.mobile-bottom-nav {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1001;
		display: flex;
		align-items: stretch;
		justify-content: space-around;
		box-sizing: border-box;
		height: var(--cf-nav-h);
		padding: 0;
		overflow: hidden;
		background: linear-gradient(to right, #1a0d42, #2a1570);
		box-shadow: 0 -4px 16px rgba(40, 10, 100, 0.35);
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		}
		
		.mobile-bottom-nav .nav-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex: 1 1 0;
		min-width: 0;
		padding: 4px 2px 6px;
		cursor: pointer;
		text-decoration: none;
		border: none;
		background: transparent;
		-webkit-tap-highlight-color: transparent;
		position: relative;
		gap: 2px;
		outline: none;
		}
		
		/* La voce con l'etichetta piu' lunga riceve un po' piu' di spazio */
		.mobile-bottom-nav .nav-item.nav-cta2 {
		flex: 1.4 1 0;
		}
		
		.mobile-bottom-nav .nav-item:active {
		background-color: rgba(255,255,255,0.1);
		}
		
		.mobile-bottom-nav .nav-item:active .nav-emoji {
		animation: navTap 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
		}
		
		@keyframes navTap {
		0% { transform: scale(1); }
		40% { transform: scale(0.75); }
		100% { transform: scale(1); }
		}
		
		.mobile-bottom-nav .nav-item .nav-emoji {
		font-size: 18px;
		line-height: 1;
		}
		
		.mobile-bottom-nav .nav-item .nav-label {
		font-size: 11px;
		font-weight: 600;
		color: rgba(255,255,255,0.85);
		letter-spacing: 0.01em;
		text-align: center;
		line-height: 1.1;
		font-family: -apple-system, 'Manrope', sans-serif;
		/* sempre su UNA riga: niente a-capo ereditato dal
		"word-wrap: break-word" globale di Carrd */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
		word-break: normal;
		overflow-wrap: normal;
		}
		
		.mobile-bottom-nav .nav-item.nav-cta .nav-label {
		font-weight: 700;
		}
		
		.mobile-bottom-nav .nav-item.nav-cta2 .nav-label {
		font-weight: 700;
		font-size: 10px;
		letter-spacing: -0.02em;
		}
		
		.mobile-bottom-nav .nav-item.nav-altro .nav-emoji {
		color: #fff;
		}
		
		.mobile-bottom-nav .nav-item.nav-altro.active .nav-label {
		color: #fff;
		font-weight: 700;
		}
		
		/*
		=====================================================
		--- "ALTRO" (MORE) PANEL ---
		=====================================================
		*/
		.mobile-more-overlay {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.2);
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
		z-index: 1002;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0s 0.3s;
		-webkit-tap-highlight-color: transparent;
		}
		
		.mobile-more-overlay.show {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s ease;
		}
		
		.mobile-more-panel {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1003;
		background: rgba(50, 20, 140, 0.92);
		-webkit-backdrop-filter: saturate(200%) blur(30px);
		backdrop-filter: saturate(200%) blur(30px);
		border-radius: 18px 18px 0 0;
		transform: translateY(100%);
		transition: transform 0.36s cubic-bezier(0.32, 0.72, 0, 1);
		box-shadow: 0 -8px 40px rgba(30, 5, 80, 0.3);
		}
		
		.mobile-more-panel.show {
		transform: translateY(0);
		}
		
		.mobile-more-panel .panel-handle {
		width: 36px;
		height: 4px;
		background: rgba(255, 255, 255, 0.3);
		border-radius: 100px;
		margin: 8px auto 4px;
		}
		
		.mobile-more-panel .panel-items {
		padding: 8px 14px 18px;
		display: flex;
		flex-direction: column;
		gap: 6px;
		}
		
		.mobile-more-panel .panel-item {
		display: flex;
		align-items: center;
		gap: 14px;
		padding: 14px 16px;
		border-radius: 13px;
		cursor: pointer;
		border: none;
		background: rgba(255, 255, 255, 0.12);
		font-family: -apple-system, 'Manrope', sans-serif;
		font-size: 15px;
		font-weight: 600;
		color: #fff;
		-webkit-tap-highlight-color: transparent;
		text-align: left;
		width: 100%;
		transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.15s ease;
		text-decoration: none;
		box-sizing: border-box;
		}
		
		.mobile-more-panel .panel-item:active {
		background-color: rgba(255, 255, 255, 0.22);
		transform: scale(0.97);
		}
		
		.mobile-more-panel .panel-item .panel-emoji {
		font-size: 21px;
		flex-shrink: 0;
		}
		
		/* --- HIDE OLD FLOATING BUBBLE & PANEL --- */
		.menu-bubble,
		.menu-panel {
		display: none !important;
		}
		
		/* --- MOBILE BODY PADDING (valore fisso, niente env() e niente JS) --- */
		@media (max-width: 768px) {
		body {
		padding-bottom: var(--cf-nav-h);
		}
		}
		/* footer globale: annulla il flush-to-bottom di Carrd sull'ultimo box della sezione (che altrimenti si sovrappone al footer condiviso) */
		.site-main > .inner > .active > .full:last-child { margin-bottom: 0 !important; }
		
		/*
		=====================================================
		--- WHATSAPP FLOATING CTA ---
		Fixed bottom-left. Button LEFT, tooltip RIGHT.
		Desktop: 24px from edges.
		Mobile: lifted above bottom nav via --nav-height.
		=====================================================
		*/
		
		.wa-cta-wrap {
		position: fixed;
		bottom: 24px;
		left: 20px;
		z-index: 999;
		display: flex;
		align-items: flex-end;
		gap: 12px;
		transition: opacity 0.25s ease;
		}
		
		/* --- Floating Button --- */
		.wa-cta-btn {
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: none;
		cursor: pointer;
		background: #25D366;
		box-shadow:
		0 4px 14px rgba(37, 211, 102, 0.4),
		0 2px 6px rgba(0, 0, 0, 0.15);
		display: flex;
		align-items: center;
		justify-content: center;
		-webkit-tap-highlight-color: transparent;
		transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
		box-shadow 0.25s ease;
		position: relative;
		flex-shrink: 0;
		outline: none;
		text-decoration: none;
		}
		
		.wa-cta-btn:hover {
		transform: scale(1.08);
		box-shadow:
		0 6px 20px rgba(37, 211, 102, 0.5),
		0 3px 8px rgba(0, 0, 0, 0.18);
		}
		
		.wa-cta-btn:active {
		transform: scale(0.95);
		}
		
		.wa-cta-btn svg {
		width: 32px;
		height: 32px;
		fill: #fff;
		flex-shrink: 0;
		}
		
		/* --- Pulse ring --- */
		.wa-cta-btn::before {
		content: '';
		position: absolute;
		inset: -4px;
		border-radius: 50%;
		border: 2px solid rgba(37, 211, 102, 0.5);
		animation: waPulse 2.5s ease-out infinite;
		pointer-events: none;
		}
		
		@keyframes waPulse {
		0% { transform: scale(1); opacity: 0.6; }
		70% { transform: scale(1.35); opacity: 0; }
		100% { transform: scale(1.35); opacity: 0; }
		}
		
		/* --- Notification badge --- */
		.wa-cta-badge {
		position: absolute;
		top: -2px;
		right: -2px;
		width: 18px;
		height: 18px;
		background: #e8820c;
		border: 2px solid #fff;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: -apple-system, 'Roboto', sans-serif;
		font-size: 10px;
		font-weight: 700;
		color: #fff;
		pointer-events: none;
		line-height: 1;
		}
		
		.wa-cta-badge.hide { display: none; }
		
		/* --- Tooltip bubble (appears to the RIGHT of the button) --- */
		.wa-cta-tooltip {
		background: #fff;
		color: #1a1a2e;
		font-family: -apple-system, 'Roboto', sans-serif;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.4;
		padding: 12px 16px;
		border-radius: 12px;
		border-bottom-left-radius: 4px;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.08);
		max-width: 220px;
		position: relative;
		opacity: 0;
		transform: translateX(8px);
		animation: waTooltipIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 3.5s forwards;
		pointer-events: none;
		}
		
		.wa-cta-tooltip.dismissed {
		animation: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		display: none !important;
		}
		
		@keyframes waTooltipIn {
		to { opacity: 1; transform: translateX(0); }
		}
		
		.wa-cta-tooltip .tooltip-title {
		font-weight: 600;
		font-size: 13px;
		color: #25D366;
		margin-bottom: 3px;
		display: flex;
		align-items: center;
		gap: 5px;
		}
		
		.wa-cta-tooltip .tooltip-body {
		color: #555;
		font-size: 13px;
		font-weight: 400;
		}
		
		.wa-cta-tooltip-close {
		position: absolute;
		top: 6px;
		right: 8px;
		width: 20px;
		height: 20px;
		border: none;
		background: transparent;
		color: #aaa;
		font-size: 16px;
		line-height: 1;
		cursor: pointer;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		pointer-events: auto;
		-webkit-tap-highlight-color: transparent;
		}
		
		.wa-cta-tooltip-close:hover {
		color: #666;
		background: rgba(0, 0, 0, 0.05);
		}
		
		/*
		=====================================================
		--- MOBILE: anchor above the bottom nav ---
		=====================================================
		*/
		@media (max-width: 768px) {
		.wa-cta-wrap {
		bottom: calc(var(--nav-height, 64px) + 14px);
		left: 14px;
		gap: 10px;
		}
		
		.wa-cta-btn {
		width: 52px;
		height: 52px;
		}
		
		.wa-cta-btn svg {
		width: 27px;
		height: 27px;
		}
		
		.wa-cta-tooltip {
		max-width: 180px;
		padding: 10px 13px;
		}
		
		.wa-cta-tooltip .tooltip-title { font-size: 12px; }
		.wa-cta-tooltip .tooltip-body { font-size: 12px; }
		}
		
		[data-scroll-id].is-inactive {
		opacity: 1 !important;
		transform: none !important;
		transition: opacity .4s ease, transform .4s ease !important;
		}
		
		#cf-cc,#cf-cc *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
		#cf-cc-banner,#cf-cc-modal-wrap{position:fixed;z-index:2147483647;color:#1a1a1a}
		#cf-cc-banner{left:50%;top:50%;max-width:560px;width:calc(100% - 32px);background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08);padding:22px;font-size:14px;line-height:1.5;transform:translate(-50%,calc(-50% + 24px));opacity:0;transition:opacity .25s,transform .25s}
		#cf-cc-banner.cf-show{transform:translate(-50%,-50%);opacity:1}
		#cf-cc-banner h2{font-size:16px;margin:0 0 8px;font-weight:700}
		#cf-cc-banner p{margin:0 0 14px;color:#333}
		#cf-cc-banner a{color:#1e40af;text-decoration:underline}
		.cf-cc-actions{display:flex;flex-wrap:wrap;gap:8px}
		.cf-cc-actions button{flex:1 1 140px;min-height:42px;padding:10px 14px;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:transform .05s,box-shadow .15s,background .15s}
		.cf-cc-actions button:active{transform:scale(.98)}
		.cf-cc-btn-accept{background:#16a34a;color:#fff}
		.cf-cc-btn-accept:hover{background:#15803d}
		.cf-cc-btn-reject{background:#e5e7eb;color:#111827}
		.cf-cc-btn-reject:hover{background:#d1d5db}
		.cf-cc-btn-prefs{background:#fff;color:#1a1a1a;border-color:#d1d5db}
		.cf-cc-btn-prefs:hover{background:#f3f4f6}
		.cf-cc-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;background:transparent;cursor:pointer;font-size:20px;color:#6b7280;border-radius:6px}
		.cf-cc-close:hover{background:#f3f4f6;color:#111}
		#cf-cc-modal-wrap{inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:16px}
		#cf-cc-modal-wrap.cf-show{display:flex}
		#cf-cc-modal{background:#fff;border-radius:14px;max-width:640px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}
		#cf-cc-modal header{padding:20px 22px 14px;border-bottom:1px solid #e5e7eb;position:relative}
		#cf-cc-modal h2{margin:0 0 4px;font-size:18px;font-weight:700}
		#cf-cc-modal header p{margin:0;font-size:13px;color:#4b5563}
		#cf-cc-modal .cf-cc-body{padding:8px 22px;overflow-y:auto}
		.cf-cc-cat{border-bottom:1px solid #f1f5f9;padding:14px 0}
		.cf-cc-cat:last-child{border-bottom:none}
		.cf-cc-cat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
		.cf-cc-cat-name{font-weight:600;font-size:14.5px}
		.cf-cc-cat-desc{font-size:13px;color:#4b5563;margin-top:6px;line-height:1.45}
		.cf-cc-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
		.cf-cc-switch input{opacity:0;width:0;height:0}
		.cf-cc-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:999px;transition:.2s}
		.cf-cc-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
		input:checked+.cf-cc-slider{background:#16a34a}
		input:checked+.cf-cc-slider:before{transform:translateX(18px)}
		input:disabled+.cf-cc-slider{background:#16a34a;opacity:.55;cursor:not-allowed}
		#cf-cc-modal footer{padding:14px 22px 18px;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px}
		#cf-cc-modal footer button{flex:1 1 160px;min-height:44px;padding:10px 14px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent}
		#cf-cc-backdrop{position:fixed;inset:0;z-index:2147483646;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
		#cf-cc-backdrop.cf-show{opacity:1;visibility:visible;transition:opacity .25s}
		#cf-cc-fab{position:fixed;right:14px;bottom:14px;z-index:2147483646;width:40px;height:40px;border-radius:50%;border:none;background:#1a1a1a;color:#fff;cursor:pointer;font-size:18px;box-shadow:0 4px 14px rgba(0,0,0,.25);display:none}
		#cf-cc-fab:hover{background:#000}
		@media (max-width:480px){#cf-cc-banner{padding:18px}.cf-cc-actions button{flex:1 1 100%}#cf-cc-modal footer button{flex:1 1 100%}}
		@media (max-width:768px){#cf-cc-fab{bottom:calc(var(--nav-height,64px) + 14px)}}
		

/* --- active-page nav indicator (multi-page). Theme-robust: white text on the
   purple desktop bar -> white pill; dark-purple more-panel -> translucent tint. --- */
.desktop-top-menu > button.cf-nav-active:not(.btn-cta-desktop):not(.btn-cta2-desktop){background:#fff;color:#7E57C2;border-color:#fff;}
.mobile-bottom-nav .nav-item.cf-nav-active:not(.nav-cta):not(.nav-cta2) .nav-label{font-weight:700;}
.mobile-more-panel .panel-item.cf-nav-active{background:rgba(255,255,255,.16);font-weight:700;border-radius:10px;}
