/*
 * Istituti Atlante - pagine interne nello stile della home (inc/pagine.php)
 * Caricato su tutte le pagine tranne la home nuova. Si appoggia ad atlante.css (caricato prima).
 */

:root {
	--p-navy-950: #04122b;
	--p-navy-900: #061a3a;
	--p-navy: #0b3a6e;
	--p-blue: #1c5fa8;
	--p-gold: #e8b52f;
	--p-gold-2: #f7d77c;
	--p-ink: #0f1d33;
	--p-text: #2b3440;
	--p-muted: #5b6b82;
	--p-line: #e3e9f2;
	--p-bg: #f5f7fb;
	--p-radius: 20px;
	--p-shadow: 0 1px 2px rgba(6, 26, 58, .06), 0 12px 32px -8px rgba(6, 26, 58, .16);
	--p-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ==========================================================================
   BARRA IN ALTO + HEADER
   ========================================================================== */
body .header_top_bar {
	background: var(--p-navy-950) !important;
	border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
}
body:not(.home) #header .header_default {
	box-shadow: 0 1px 0 var(--p-line);
}

/* ==========================================================================
   FASCIA DEL TITOLO
   ========================================================================== */
body:not(.home) .entry-header {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-top: 64px !important;
	padding-bottom: 60px !important;
	background:
		radial-gradient(70% 120% at 100% 0%, rgba(232, 181, 47, .28), transparent 55%),
		radial-gradient(60% 120% at 0% 100%, rgba(28, 95, 168, .7), transparent 60%),
		linear-gradient(135deg, var(--p-navy-900), var(--p-navy) 70%) !important;
	text-align: center;
}
body:not(.home) .entry-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 48px 48px;
	-webkit-mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, #000 20%, transparent 75%);
	mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, #000 20%, transparent 75%);
}
body:not(.home) .entry-header .entry-title-left,
body:not(.home) .entry-header .entry-title {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}
body:not(.home) .entry-header .entry-title-right {
	display: none;
}
body:not(.home) .entry-header .entry-title h1,
body:not(.home) .entry-header .entry-title .h1 {
	max-width: 920px;
	margin: 0 auto !important;
	font-family: Montserrat, sans-serif !important;
	font-size: clamp(26px, 3.4vw, 44px) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -.02em !important;
	color: #fff !important;
	text-shadow: none !important;
	animation: atl-p-up .7s var(--p-ease) both;
}
body:not(.home) .entry-header .entry-title::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	margin: 20px auto 0;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--p-gold), var(--p-gold-2));
	animation: atl-p-grow .8s .2s var(--p-ease) both;
}

/* briciole di pane: riga sottile e pulita */
.stm_lms_breadcrumbs .stm_breadcrumbs_unit,
.stm_breadcrumbs_unit {
	background: #fff !important;
	border-bottom: 1px solid var(--p-line) !important;
	padding: 12px 0 !important;
}
.stm_breadcrumbs_unit .navxtBreads {
	font-size: 13.5px !important;
	color: var(--p-muted) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.stm_breadcrumbs_unit .navxtBreads * {
	text-transform: none !important;
}
.stm_breadcrumbs_unit .navxtBreads a {
	color: var(--p-blue) !important;
	font-weight: 600;
}
.stm_breadcrumbs_unit .navxtBreads .current-item {
	color: var(--p-ink);
}

/* ==========================================================================
   TESTI DELLE PAGINE (editor classico / vecchie pagine)
   ========================================================================== */
/* indirizzi web e parole lunghissime vanno a capo invece di uscire dallo schermo del telefono */
body:not(.home) #main :is(p, li, td, blockquote, h1, h2, h3, h4, h5, h6) {
	overflow-wrap: break-word;
}
body.page:not(.home) #main > .container > .post_type_exist,
body.page:not(.home) #main > .container > .text_block {
	padding-top: 48px;
	padding-bottom: 24px;
}
/* le pagine solo testo hanno una colonna di lettura comoda; quelle Elementor restano larghe */
body.page:not(.home):not(.elementor-page) #main > .container > .post_type_exist,
body.page:not(.home):not(.elementor-page) #main > .container > .text_block {
	max-width: 900px;
	margin: 0 auto;
}
body.page:not(.home):not(.elementor-page) .post_type_exist,
body.page:not(.home):not(.elementor-page) .text_block,
body.single-post .post_details_wr .text_block,
body.single-post .stm_post_info + .text_block,
body.single-post .blog_layout_list .text_block {
	font-size: 17px;
	line-height: 1.75;
	color: var(--p-text);
}
body.page:not(.home):not(.elementor-page) .post_type_exist p,
body.page:not(.home):not(.elementor-page) .post_type_exist li {
	font-size: 17px !important;
	line-height: 1.75 !important;
	color: var(--p-text);
}
body.page:not(.home):not(.elementor-page) .post_type_exist p {
	margin: 0 0 18px;
}
body.page:not(.home) .post_type_exist h2,
body.page:not(.home) .post_type_exist h3,
body.page:not(.home) .post_type_exist h4,
body.single-post .text_block h2,
body.single-post .text_block h3,
body.single-post .text_block h4 {
	font-family: Montserrat, sans-serif !important;
	color: var(--p-navy-900) !important;
	text-transform: none !important;
	letter-spacing: -.01em !important;
	line-height: 1.25 !important;
}
body.page:not(.home):not(.elementor-page) .post_type_exist h2,
body.single-post .text_block h2 {
	position: relative;
	margin: 44px 0 16px !important;
	padding-left: 18px;
	font-size: clamp(23px, 2.4vw, 30px) !important;
	font-weight: 800 !important;
}
body.page:not(.home):not(.elementor-page) .post_type_exist h2::before,
body.single-post .text_block h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 5px;
	border-radius: 5px;
	background: linear-gradient(var(--p-gold), var(--p-gold-2));
}
body.page:not(.home):not(.elementor-page) .post_type_exist h3,
body.single-post .text_block h3 {
	margin: 34px 0 12px !important;
	font-size: clamp(19px, 1.9vw, 23px) !important;
	font-weight: 700 !important;
}
body.page:not(.home):not(.elementor-page) .post_type_exist h4,
body.single-post .text_block h4 {
	margin: 24px 0 8px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
}
/* il primo titolo dopo la locandina non ha bisogno di tanto spazio */
body.page:not(.home) .post_type_exist > h2:first-child,
body.page:not(.home) .post_type_exist > p:first-child + h2 {
	margin-top: 28px !important;
}

/* vecchie pagine (testo importato da Duda): le righe tutte in grassetto sono sottotitoli */
body:not(.home) .dmNewParagraph div:has(> strong:only-child):not(:has(div)),
body:not(.home) .dmNewParagraph div:has(> span > strong:only-child):not(:has(div)) {
	margin-top: 1.4em;
	margin-bottom: .2em;
	font-family: Montserrat, sans-serif;
	font-size: 20px;
	line-height: 1.35;
	color: var(--p-navy-900);
}
body:not(.home) .dmNewParagraph div:has(> strong:only-child):not(:has(div)) strong,
body:not(.home) .dmNewParagraph div:has(> span > strong:only-child):not(:has(div)) span {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 700;
}
body:not(.home) .dmNewParagraph a:not([class]) {
	color: var(--p-blue) !important;
	font-weight: 600;
	text-decoration: underline !important;
	text-decoration-color: rgba(28, 95, 168, .35) !important;
	text-underline-offset: 3px;
}
body:not(.home) .dmDividerWrapper {
	margin: 18px 0 22px !important;
}
body:not(.home) .dmDividerWrapper hr,
body:not(.home) .dmDividerWrapper .dmDivider {
	border: 0 !important;
	border-top: 1px solid var(--p-line) !important;
}
@media (max-width: 767px) {
	body:not(.home) .dmNewParagraph div:has(> strong:only-child):not(:has(div)),
	body:not(.home) .dmNewParagraph div:has(> span > strong:only-child):not(:has(div)) {
		font-size: 18px;
	}
}

/* link nel testo */
body.page:not(.home):not(.elementor-page) .post_type_exist p a:not([class]),
body.page:not(.home):not(.elementor-page) .post_type_exist li a:not([class]),
body.single-post .text_block p a:not([class]) {
	color: var(--p-blue) !important;
	font-weight: 600;
	text-decoration: underline !important;
	text-decoration-color: rgba(28, 95, 168, .35) !important;
	text-underline-offset: 3px;
	transition: text-decoration-color .2s ease;
}
body.page:not(.home):not(.elementor-page) .post_type_exist p a:not([class]):hover,
body.single-post .text_block p a:not([class]):hover {
	text-decoration-color: var(--p-blue) !important;
}

/* elenchi puntati con il pallino oro */
body.page:not(.home):not(.elementor-page) .post_type_exist ul:not([class]),
body.single-post .text_block ul:not([class]) {
	margin: 0 0 22px !important;
	padding: 0 !important;
	list-style: none !important;
}
body.page:not(.home):not(.elementor-page) .post_type_exist ul:not([class]) > li,
body.single-post .text_block ul:not([class]) > li {
	position: relative;
	margin: 0 0 10px !important;
	padding-left: 28px !important;
	list-style: none !important;
}
body.page:not(.home):not(.elementor-page) .post_type_exist ul:not([class]) > li::before,
body.single-post .text_block ul:not([class]) > li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: .62em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--p-gold);
	box-shadow: 0 0 0 4px rgba(232, 181, 47, .2);
}
body.page:not(.home):not(.elementor-page) .post_type_exist ol:not([class]) {
	padding-left: 22px !important;
}

/* citazioni */
body.page:not(.home) .post_type_exist blockquote,
body.single-post .text_block blockquote {
	margin: 28px 0 !important;
	padding: 22px 26px !important;
	border: 0 !important;
	border-left: 5px solid var(--p-gold) !important;
	border-radius: 0 16px 16px 0;
	background: var(--p-bg) !important;
	font-size: 18px;
	font-style: normal;
	color: var(--p-navy-900);
}

/* tabelle: scorrono di lato su telefono invece di uscire dallo schermo */
body:not(.home) .post_type_exist table,
body.single-post .text_block table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	border-radius: 14px;
	box-shadow: inset 0 0 0 1px var(--p-line);
	-webkit-overflow-scrolling: touch;
}
body:not(.home) .post_type_exist th,
body:not(.home) .post_type_exist td,
body.single-post .text_block th,
body.single-post .text_block td {
	padding: 12px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--p-line) !important;
	font-size: 15.5px;
	text-align: left;
	vertical-align: top;
}
body:not(.home) .post_type_exist th,
body.single-post .text_block th {
	background: var(--p-bg);
	font-weight: 700;
	color: var(--p-navy-900);
}

/* ==========================================================================
   IMMAGINI NEI CONTENUTI: mai più larghe dello schermo, angoli tondi, mai deformate
   ========================================================================== */
body:not(.home) #main img {
	max-width: 100%;
	height: auto;
}
body:not(.home) .post_type_exist img,
body.single-post .text_block img {
	border-radius: 18px;
}
/* la locandina in testa alla pagina: grande, con ombra */
body:not(.home) .post_type_exist > p:first-child > img:only-child,
body:not(.home) .post_type_exist > p:first-child > a:only-child > img,
body:not(.home) .post_type_exist > figure:first-child img {
	display: block;
	width: auto; /* mai allargata oltre la sua risoluzione: le foto piccole si sgranavano */
	max-width: 100%;
	margin: 0 auto 8px;
	border-radius: 22px;
	box-shadow: 0 30px 60px -28px rgba(6, 26, 58, .45);
}
body:not(.home) .post_type_exist .alignleft {
	float: left;
	margin: 6px 24px 16px 0;
}
body:not(.home) .post_type_exist .alignright {
	float: right;
	margin: 6px 0 16px 24px;
}
body:not(.home) .post_type_exist .aligncenter {
	display: block;
	margin: 16px auto;
}
body:not(.home) .post_type_exist figure,
body:not(.home) .post_type_exist .wp-caption {
	max-width: 100% !important;
}
body:not(.home) .post_type_exist figcaption,
body:not(.home) .post_type_exist .wp-caption-text {
	margin-top: 8px;
	font-size: 14px;
	color: var(--p-muted);
	text-align: center;
}
/* gallerie classiche [gallery]: griglia ordinata con miniature quadrate */
body:not(.home) .gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(160px, 100%), 1fr));
	gap: 12px;
	margin: 24px 0 !important;
}
body:not(.home) .gallery .gallery-item {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
body:not(.home) .gallery .gallery-item img {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 0 !important;
	border-radius: 14px !important;
	transition: transform .4s var(--p-ease), box-shadow .4s var(--p-ease);
}
body:not(.home) .gallery .gallery-item a:hover img {
	transform: scale(1.03);
	box-shadow: var(--p-shadow);
}
body:not(.home) .gallery br {
	display: none;
}
/* video incorporati (YouTube ecc.) sempre in proporzione */
body:not(.home) .post_type_exist iframe[src*="youtube"],
body:not(.home) .post_type_exist iframe[src*="vimeo"],
body.single-post .text_block iframe[src*="youtube"] {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 18px;
}
/* mappe Google incorporate */
body:not(.home) iframe[src*="google.com/maps"] {
	width: 100% !important;
	border: 0 !important;
	border-radius: 18px;
	box-shadow: var(--p-shadow);
}

/* ==========================================================================
   PULSANTI DEL TEMA nelle pagine interne: arrotondati e coerenti
   ========================================================================== */
body:not(.home) #main .btn.btn-default,
body:not(.home) #main .button:not(.xoo-wsc-ft-btn),
body:not(.home) #main input[type="submit"] {
	border-radius: 999px !important;
	font-family: Montserrat, sans-serif !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transition: transform .25s var(--p-ease), box-shadow .25s var(--p-ease), background-color .2s ease !important;
}
body:not(.home) #main .btn.btn-default:hover,
body:not(.home) #main .button:not(.xoo-wsc-ft-btn):hover {
	transform: translateY(-2px);
}

/* ==========================================================================
   ARTICOLI (blog)
   ========================================================================== */
body.single-post #main > .container {
	max-width: 960px;
}
body.single-post .post_thumbnail img,
body.single-post .blog_layout_list .post_thumbnail img {
	width: 100%;
	border-radius: 22px;
	box-shadow: 0 30px 60px -28px rgba(6, 26, 58, .45);
}
body.single-post .stm_post_info h1,
body.single-post h1.post_title,
body.single-post .entry-title h1 {
	text-transform: none !important;
}
/* elenco articoli e categorie: schede uniformi */
body.blog .post_list_content_unit,
body.archive .post_list_content_unit,
body.blog .stm_post_unit,
body.archive .stm_post_unit {
	border-radius: var(--p-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--p-shadow);
	transition: transform .35s var(--p-ease), box-shadow .35s var(--p-ease);
}
body.blog .post_list_content_unit:hover,
body.archive .post_list_content_unit:hover {
	transform: translateY(-4px);
}

/* emoji di WordPress: restano piccole e in riga col testo */
body:not(.home) img.emoji,
body:not(.home) #main img.emoji {
	display: inline !important;
	width: 1em !important;
	height: 1em !important;
	max-width: none !important;
	margin: 0 .07em !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	vertical-align: -0.1em !important;
}

/* ex H1 dentro il testo (diventati H2 per Google): stesso aspetto grande */
body:not(.home) h2.atl-was-h1 {
	font-size: clamp(26px, 3vw, 36px) !important;
	font-weight: 800 !important;
	padding-left: 0 !important;
}
body:not(.home) h2.atl-was-h1::before {
	display: none !important;
}

/* ==========================================================================
   MAPPE GOOGLE (bloccate fino al consenso cookie: segnaposto + link, vedi pagine.js)
   ========================================================================== */
body:not(.home) iframe.atl-map {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: 340px !important;
	margin: 8px 0 0;
	border: 0 !important;
	border-radius: 18px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='%23e8b52f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center 42% / 56px no-repeat,
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 32px 32px,
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 32px 32px,
		linear-gradient(135deg, var(--p-navy-900), var(--p-navy));
	box-shadow: var(--p-shadow);
}
.atl-map-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 28px;
	padding: 10px 18px;
	border-radius: 999px;
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--p-navy-900) !important;
	background: linear-gradient(135deg, var(--p-gold-2), var(--p-gold));
	text-decoration: none !important;
	box-shadow: 0 8px 18px -8px rgba(232, 181, 47, .7);
}
.atl-map-link::after {
	content: "\2192";
}
@media (max-width: 767px) {
	body:not(.home) iframe.atl-map {
		height: 240px !important;
	}
}

/* ==========================================================================
   FAQ (plugin Ultimate FAQ): schede bianche con il simbolo oro
   ========================================================================== */
body:not(.home) .ewd-ufaq-faq-div {
	margin: 0 0 12px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--p-line), 0 6px 18px -12px rgba(6, 26, 58, .25) !important;
	overflow: hidden;
	transition: box-shadow .3s ease;
}
body:not(.home) .ewd-ufaq-faq-div:hover {
	box-shadow: inset 0 0 0 1px rgba(28, 95, 168, .35), 0 10px 24px -12px rgba(6, 26, 58, .3) !important;
}
body:not(.home) .ewd-ufaq-faq-title,
body:not(.home) .ewd-ufaq-faq-title a,
body:not(.home) .ewd-ufaq-faq-title .ewd-ufaq-post-margin {
	background: transparent !important;
	border: 0 !important;
	color: var(--p-navy-900) !important;
	text-decoration: none !important;
}
body:not(.home) .ewd-ufaq-faq-title,
body:not(.home) .ewd-ufaq-faq-title .ewd-ufaq-faq-title-text,
body:not(.home) .ewd-ufaq-faq-title .ewd-ufaq-clear {
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
body:not(.home) .ewd-ufaq-faq-title .ewd-ufaq-clear {
	display: none !important;
}
body:not(.home) .ewd-ufaq-faq-title a {
	margin: 0 !important;
	min-height: 0 !important;
	display: flex !important;
	align-items: center;
	gap: 14px;
	padding: 18px 20px !important;
}
body:not(.home) .ewd-ufaq-post-margin-symbol {
	display: grid !important;
	place-items: center;
	flex: none;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(232, 181, 47, .2) !important;
	color: #8a5a00 !important;
	font-size: 15px !important;
	line-height: 1 !important;
	float: none !important;
}
body:not(.home) .ewd-ufaq-faq-title-text {
	float: none !important;
	flex: 1;
	width: auto !important;
}
body:not(.home) .ewd-ufaq-faq-title h4 {
	margin: 0 !important;
	font-family: Montserrat, sans-serif !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	color: var(--p-navy-900) !important;
}
body:not(.home) .ewd-ufaq-faq-body {
	padding: 0 20px 18px 68px !important;
	background: transparent !important;
}
body:not(.home) .ewd-ufaq-faq-body p,
body:not(.home) .ewd-ufaq-faq-body span[style] {
	font-family: inherit !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--p-text) !important;
}
body:not(.home) .ewd-ufaq-expand-collapse-div {
	margin-bottom: 16px !important;
	font-weight: 600;
	color: var(--p-blue);
}
@media (max-width: 767px) {
	body:not(.home) .ewd-ufaq-faq-body {
		padding: 0 16px 16px !important;
	}
	body:not(.home) .ewd-ufaq-faq-title a {
		padding: 16px !important;
	}
	body:not(.home) .ewd-ufaq-faq-title h4 {
		font-size: 16px !important;
	}
}

/* ==========================================================================
   NEGOZIO E PRODOTTI
   ========================================================================== */
/* colonna laterale con solo il calendario: via, il contenuto prende tutta la larghezza */
body:not(.home) .widget_calendar {
	display: none !important;
}
/* NON sulle schede prodotto: lì la colonna laterale contiene prezzo, scelta opzioni e "Aggiungi al carrello" */
body:not(.home):not(.single-product) .row:has(> [class*="col-md-3"] .sidebar-area .widget_calendar:only-child) > [class*="col-md-3"]:has(.sidebar-area) {
	display: none !important;
}
body:not(.home):not(.single-product) .row:has(> [class*="col-md-3"] .sidebar-area .widget_calendar:only-child) > [class*="col-md-9"] {
	width: 100% !important;
}
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
	border-radius: 18px !important;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--p-shadow) !important;
	transition: transform .35s var(--p-ease), box-shadow .35s var(--p-ease) !important;
}
body.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product h2,
body.woocommerce ul.products li.product h5 {
	font-family: Montserrat, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	color: var(--p-navy-900) !important;
}
/* pulsante "Aggiungi al carrello" e simili: oro come nel resto del sito */
body.woocommerce #main .single_add_to_cart_button,
body.woocommerce #main .button.alt,
body.woocommerce-page #main .checkout-button {
	min-height: 54px;
	padding: 14px 30px !important;
	border: 0 !important;
	color: var(--p-navy-900) !important;
	background: linear-gradient(135deg, var(--p-gold-2), var(--p-gold) 60%, #d9a01d) !important;
	box-shadow: 0 10px 24px -8px rgba(232, 181, 47, .65) !important;
}
body.single-product .product_title {
	font-family: Montserrat, sans-serif !important;
	font-weight: 800 !important;
	text-transform: none !important;
	color: var(--p-navy-900) !important;
}
body.single-product .woocommerce-product-gallery img {
	border-radius: 20px;
}
@media (max-width: 767px) {
	/* negozio su telefono: due schede per riga, come in un'app (il tema usa ul.stm-courses) */
	body:not(.home) ul.stm-courses {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin: 0 !important;
	}
	body:not(.home) ul.stm-courses::before,
	body:not(.home) ul.stm-courses::after {
		display: none !important;
	}
	body:not(.home) ul.stm-courses > li {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}
	body:not(.home) ul.stm-courses .stm_archive_product_inner_unit,
	body:not(.home) ul.stm-courses .stm_featured_product_image,
	body:not(.home) ul.stm-courses img {
		width: 100% !important;
		max-width: none !important;
	}
	body.woocommerce ul.products,
	body.woocommerce-page ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin: 0 !important;
	}
	body.woocommerce ul.products::before,
	body.woocommerce ul.products::after {
		display: none !important;
	}
	body.woocommerce ul.products li.product,
	body.woocommerce-page ul.products li.product {
		width: auto !important;
		margin: 0 !important;
		padding: 0 0 10px !important;
		float: none !important;
	}
	body.woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce ul.products li.product h2,
	body.woocommerce ul.products li.product h5 {
		font-size: 13.5px !important;
		padding: 0 10px !important;
	}
}

/* ==========================================================================
   FASCIA FINALE "PARLIAMONE" (inc/pagine.php)
   ========================================================================== */
.atl-cta {
	padding: 24px 16px 72px;
	background: transparent;
}
.atl-cta *,
.atl-cta *::before,
.atl-cta *::after {
	box-sizing: border-box;
}
.atl-cta__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	max-width: 1170px;
	margin: 0 auto;
	padding: 44px 52px;
	border-radius: 28px;
	color: #fff;
	background: linear-gradient(120deg, var(--p-navy-900), var(--p-navy) 55%, var(--p-blue));
	box-shadow: 0 30px 60px -30px rgba(6, 26, 58, .6);
	overflow: hidden;
}
.atl-cta__glow {
	position: absolute;
	right: -100px;
	top: -160px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(232, 181, 47, .45), transparent 65%);
	pointer-events: none;
}
.atl-cta__text {
	position: relative;
	max-width: 560px;
}
.atl-cta__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font-family: Montserrat, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--p-gold-2);
}
.atl-cta h2 {
	margin: 0 0 10px !important;
	font-family: Montserrat, sans-serif !important;
	font-size: clamp(26px, 3vw, 36px) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
	color: #fff !important;
}
.atl-cta p {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .82);
}
.atl-cta__hours {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	color: rgba(255, 255, 255, .6);
}
.atl-cta__actions {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	flex: none;
	max-width: 480px;
}
.atl-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 52px;
	padding: 12px 22px;
	border-radius: 999px;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform .25s var(--p-ease), box-shadow .25s var(--p-ease), background-color .2s ease;
}
.atl-cta__btn .atl-ico {
	width: 20px;
	height: 20px;
	flex: none;
}
.atl-cta__btn:hover {
	transform: translateY(-2px);
}
.atl-cta__btn--gold {
	color: var(--p-navy-900) !important;
	background: linear-gradient(135deg, var(--p-gold-2), var(--p-gold) 60%, #d9a01d);
	box-shadow: 0 10px 24px -8px rgba(232, 181, 47, .65);
}
.atl-cta__btn--wa {
	color: #fff !important;
	background: #1fa855;
}
.atl-cta__btn--ghost {
	color: #fff !important;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .4);
}
.atl-cta__btn--ghost:hover {
	background: rgba(255, 255, 255, .1);
}

/* ==========================================================================
   TELEFONO E TABLET
   ========================================================================== */
@media (max-width: 991px) {
	/* header su telefono e tablet blu notte, attaccato alla fascia del titolo (come in home) */
	body #header .header_default {
		background: var(--p-navy-950) !important;
		box-shadow: none !important;
	}
	body #header .navbar-toggle .icon-bar {
		background-color: #fff !important;
	}
	.atl-cta__inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 36px 28px;
	}
	.atl-cta__actions {
		justify-content: flex-start;
		max-width: none;
	}
}

@media (max-width: 767px) {
	body:not(.home) .entry-header {
		padding-top: 36px !important;
		padding-bottom: 34px !important;
	}
	body:not(.home) .entry-header .entry-title h1,
	body:not(.home) .entry-header .entry-title .h1 {
		font-size: 24px !important;
		line-height: 1.2 !important;
	}
	body:not(.home) .entry-header .entry-title::after {
		margin-top: 14px;
		width: 48px;
	}
	.stm_breadcrumbs_unit .navxtBreads {
		font-size: 12.5px !important;
	}
	body.page:not(.home) #main > .container > .post_type_exist,
	body.page:not(.home) #main > .container > .text_block {
		padding-top: 28px;
	}
	body.page:not(.home):not(.elementor-page) .post_type_exist,
	body.page:not(.home):not(.elementor-page) .post_type_exist p,
	body.page:not(.home):not(.elementor-page) .post_type_exist li,
	body.single-post .text_block {
		font-size: 16px !important;
		line-height: 1.7 !important;
	}
	body.page:not(.home):not(.elementor-page) .post_type_exist h2,
	body.single-post .text_block h2 {
		margin-top: 34px !important;
	}
	body:not(.home) .post_type_exist > p:first-child > img:only-child,
	body:not(.home) .post_type_exist > p:first-child > a:only-child > img {
		border-radius: 16px;
	}
	/* immagini affiancate al testo: su telefono vanno a tutta larghezza */
	body:not(.home) .post_type_exist .alignleft,
	body:not(.home) .post_type_exist .alignright {
		float: none;
		display: block;
		margin: 16px auto;
	}
	body:not(.home) .gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.atl-cta {
		padding: 8px 12px 40px;
	}
	.atl-cta__inner {
		padding: 30px 22px;
		border-radius: 22px;
	}
	.atl-cta__actions {
		width: 100%;
		flex-direction: column;
	}
	.atl-cta__btn {
		width: 100%;
	}
}

@keyframes atl-p-up {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: none; }
}
@keyframes atl-p-grow {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
	body:not(.home) .entry-header .entry-title h1,
	body:not(.home) .entry-header .entry-title::after {
		animation: none !important;
	}
}

/* ---- rifiniture FAQ e negozio ---- */
body:not(.home) .ewd-ufaq-faq-title a > *,
body:not(.home) .ewd-ufaq-faq-title h4 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body:not(.home) .ewd-ufaq-post-margin-symbol span {
	color: #b98a12 !important;
	font-size: 15px !important;
	line-height: 1 !important;
}
body:not(.home) ul.stm-courses .stm_archive_product_inner_unit {
	margin: 0 !important;
	height: 100%;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--p-shadow);
}
body:not(.home) ul.stm-courses h5,
body:not(.home) ul.stm-courses .stm_featured_product_body a,
body:not(.home) ul.stm-courses .title {
	font-family: Montserrat, sans-serif !important;
	font-weight: 700 !important;
	color: var(--p-navy-900) !important;
	text-transform: none !important;
}
@media (max-width: 767px) {
	body:not(.home) ul.stm-courses h5,
	body:not(.home) ul.stm-courses .stm_featured_product_body a,
	body:not(.home) ul.stm-courses .title {
		font-size: 13.5px !important;
		line-height: 1.35 !important;
	}
	body:not(.home) ul.stm-courses .stm_featured_product_body {
		padding: 10px 12px 12px !important;
		min-height: 0 !important;
	}
}
body.page:not(.home) .post_type_exist .ewd-ufaq-faq-title h4 {
	margin: 0 !important;
}
/* ---- schede del negozio (archivio prodotti, ul.stm-courses) ----
   (solo vista a griglia: la vista a elenco del tema ha un altro markup e resta com'è)
   il tema mette una colonna fissa da 270px dentro la scheda, il prezzo sopra la locandina
   e il pulsante solo al passaggio del mouse (atlante.css poi nasconde tutto il footer per i contatori 0/0):
   qui immagine a tutta larghezza, prezzo sotto, pulsante sempre visibile in fondo */
@media (min-width: 768px) {
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) {
		display: flex;
		flex-wrap: wrap;
		row-gap: 30px;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list))::before,
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list))::after {
		display: none !important;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) > li {
		display: flex;
		float: none !important;
		margin: 0 !important;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) > li > a:empty {
		display: none;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_archive_product_inner_unit {
		flex: 1 1 auto;
		height: auto;
	}
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_archive_product_inner_unit {
	display: flex;
	transition: transform .35s var(--p-ease), box-shadow .35s var(--p-ease);
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_archive_product_inner_unit:hover {
	transform: translateY(-4px);
	box-shadow: 0 2px 4px rgba(6, 26, 58, .06), 0 20px 40px -10px rgba(6, 26, 58, .22);
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_archive_product_inner_unit_centered {
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_image {
	display: flex;
	flex-direction: column;
	width: 100% !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 270 / 283;
	object-fit: cover;
}
/* prezzo: pillola sotto la locandina invece che sopra */
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_image > a:has(.stm_featured_product_price) {
	order: 2;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price {
	position: static !important;
	margin: 16px 18px 0;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price .price {
	display: inline-block;
	position: static !important;
	width: auto !important;
	padding: 5px 12px !important;
	border-radius: 999px;
	font-family: Montserrat, sans-serif;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.2 !important;
	color: #fff !important;
	background: var(--p-navy-900) !important;
}
/* in alcuni prodotti il prezzo è dentro un h5, che prenderebbe il blu dei titoli */
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price .price h5 {
	margin: 0 !important;
	font: inherit !important;
	color: inherit !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price .price::before,
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price .price::after {
	display: none !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_body {
	flex: 1 1 auto;
	padding: 10px 18px 18px !important;
	border: 0 !important;
	min-height: 0 !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_body .title {
	max-width: none !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_body .expert {
	display: none;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_footer {
	display: block !important;
	position: static !important;
	padding: 0 18px 20px !important;
	border: 0 !important;
	background: none !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_footer > .clearfix {
	display: none !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_show_more {
	position: static !important;
	width: 100% !important;
	height: auto !important;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_show_more a.btn {
	display: block;
	width: 100%;
	height: auto !important;
	padding: 12px 14px !important;
	border: 0 !important;
	border-radius: 12px !important;
	font-family: Montserrat, sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	color: var(--p-navy-900) !important;
	background: linear-gradient(135deg, var(--p-gold-2), var(--p-gold) 60%, #d9a01d) !important;
	box-shadow: none !important;
	transition: filter .2s ease;
}
body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_show_more a.btn:hover {
	filter: brightness(1.05);
}
@media (max-width: 767px) {
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price {
		margin: 10px 10px 0;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_price .price {
		font-size: 12.5px !important;
		padding: 4px 10px !important;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_body {
		padding: 8px 10px 12px !important;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_footer {
		padding: 0 10px 12px !important;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_show_more a.btn {
		padding: 10px 6px !important;
		font-size: 12.5px !important;
		white-space: normal !important;
	}
	/* titoli lunghi senza spazi ("Professionisti", "universitario") non devono allargare la scheda */
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_body .title {
		overflow-wrap: anywhere;
		hyphens: auto;
	}
}
/* telefoni piccoli (320-359): "Aggiungi al carrello" deve stare nella mezza scheda */
@media (max-width: 359px) {
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_show_more a.btn {
		font-size: 11.5px !important;
		letter-spacing: -.01em;
	}
	body:not(.home) ul.stm-courses:not(:has(.stm_woo_archive_view_type_list)) .stm_featured_product_body .title {
		font-size: 13px !important;
	}
}

/* briciole di pane del negozio (WooCommerce): come le altre */
body:not(.home) .woocommerce-breadcrumb,
body:not(.home) .stm_lms_breadcrumbs .breadcrumbs,
body:not(.home) .woocommerce-breadcrumb a {
	font-size: 13.5px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body:not(.home) .woocommerce-breadcrumb a {
	color: var(--p-blue) !important;
	font-weight: 600;
}

/* ==========================================================================
   HEADER BLU NOTTE COME IN HOME (si unisce alla fascia del titolo)
   ========================================================================== */
body:not(.atl-home-nuova) #header.transparent_header_off .header_default {
	background: var(--p-navy-950) !important;
	box-shadow: none !important;
}
body:not(.atl-home-nuova) #header.transparent_header_off .header_default::after {
	display: none !important;
}
body:not(.atl-home-nuova) #header .header_main_menu_wrapper .header-menu > li:not(.menu-item-12601):not(.menu-item-12710):not(.menu-item-green):not(.euwb-open-guest-modal):not(.menu-item-13003) > a {
	color: #fff !important;
}
body:not(.atl-home-nuova) #header .header_main_menu_wrapper .header-menu > li:not(.menu-item-12601):not(.menu-item-12710):not(.menu-item-green):not(.euwb-open-guest-modal):not(.menu-item-13003):hover > a,
body:not(.atl-home-nuova) #header .header_main_menu_wrapper .header-menu > li.current-menu-item > a,
body:not(.atl-home-nuova) #header .header_main_menu_wrapper .header-menu > li.current-menu-ancestor > a {
	color: var(--p-gold-2) !important;
}
body:not(.atl-home-nuova) #header .header_top_bar_socs a,
body:not(.atl-home-nuova) #header .header_top_bar_socs i {
	color: #fff !important;
}
body:not(.atl-home-nuova) #header .search-toggler {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .5) !important;
}
body:not(.atl-home-nuova) #header .navbar-toggle .icon-bar {
	background-color: #fff !important;
}
/* la fascia del titolo parte dallo stesso blu dell'header: un blocco unico */
body:not(.home) .entry-header {
	background:
		radial-gradient(70% 120% at 100% 0%, rgba(232, 181, 47, .22), transparent 55%),
		radial-gradient(60% 120% at 0% 100%, rgba(28, 95, 168, .6), transparent 60%),
		linear-gradient(180deg, var(--p-navy-950), var(--p-navy-900) 40%, var(--p-navy) 100%) !important;
	padding-top: 40px !important;
	padding-bottom: 56px !important;
}

/* niente spazio vuoto fra briciole di pane e testo */
body:not(.home) .stm_lms_breadcrumbs,
body:not(.home) .stm_lms_breadcrumbs .stm_breadcrumbs_unit {
	margin-bottom: 0 !important;
}
body.page:not(.home) #main > .container > .post_type_exist,
body.page:not(.home) #main > .container > .text_block {
	padding-top: 40px;
}
body.page:not(.home):not(.elementor-page) .post_type_exist > :first-child {
	margin-top: 0 !important;
}

/* ==========================================================================
   PAGINE CON IMPAGINAZIONE PROPRIA (inc/pagine-speciali.php)
   ========================================================================== */
body.atl-pg-larga #main > .container > .post_type_exist {
	max-width: none !important;
	padding-top: 48px;
	padding-bottom: 32px;
}
body.atl-pg-larga .post_type_exist .atl-pg-lead {
	max-width: 760px;
	margin: 0 auto 40px !important;
	text-align: center;
	font-size: 19px !important;
	line-height: 1.6 !important;
	color: var(--p-muted) !important;
}
.atl-pg-lead strong {
	color: var(--p-ink);
}
.atl-pg-larga .post_type_exist .atl-ico {
	width: 24px;
	height: 24px;
	flex: none;
}

/* ---- Indirizzi di studio ---- */
.atl-ind-gruppo + .atl-ind-gruppo {
	margin-top: 56px;
}
.atl-ind-gruppo__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 18px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--p-line);
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-ind-gruppo__head h2 {
	padding: 0 !important;
	margin: 0 !important;
	padding-left: 0;
	font-size: 26px !important;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-ind-gruppo__head h2::before {
	display: none;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-ind-gruppo__head p {
	margin: 0 !important;
	font-size: 15.5px !important;
	color: var(--p-muted) !important;
}
.atl-ind-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	gap: 16px;
}
.post_type_exist a.atl-ind-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 20px 20px 18px;
	border: 1px solid var(--p-line);
	border-radius: 18px;
	background: #fff;
	color: var(--p-ink) !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(6, 26, 58, .04);
	transition: transform .3s var(--p-ease), box-shadow .3s var(--p-ease), border-color .3s;
}
.post_type_exist a.atl-ind-card:hover,
.post_type_exist a.atl-ind-card:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(232, 181, 47, .6);
	box-shadow: var(--p-shadow);
}
.atl-ind-card__ico {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	flex: none;
	border-radius: 14px;
	color: #fff;
	background: linear-gradient(135deg, var(--p-blue), var(--p-navy));
}
.atl-pg-larga .atl-ind-card__ico .atl-ico {
	width: 26px;
	height: 26px;
}
.atl-ind-card__txt {
	flex: 1;
	min-width: 0;
}
.atl-ind-card__txt strong {
	display: block;
	font-family: Montserrat, sans-serif;
	font-size: 16.5px;
	line-height: 1.3;
	color: var(--p-navy-900);
}
.atl-ind-card__txt small {
	display: block;
	margin-top: 3px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--p-muted);
}
.atl-ind-card__go {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: none;
	border-radius: 50%;
	color: var(--p-navy);
	background: var(--p-bg);
	transition: background .3s, color .3s, transform .3s var(--p-ease);
}
.atl-pg-larga .atl-ind-card__go .atl-ico {
	width: 18px;
	height: 18px;
}
.atl-ind-card:hover .atl-ind-card__go {
	color: var(--p-navy-900);
	background: var(--p-gold);
	transform: translateX(3px);
}

/* ---- Contatti ---- */
.atl-contatti {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 40px;
	align-items: start;
}
body.atl-pg-larga .post_type_exist .atl-contatti__info .atl-pg-lead {
	margin: 0 0 24px !important;
	text-align: left;
	font-size: 18px !important;
}
.atl-contatto {
	display: flex;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid var(--p-line);
	border-radius: 18px;
	background: #fff;
}
.atl-contatto + .atl-contatto {
	margin-top: 12px;
}
.atl-contatto__ico {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 12px;
	color: var(--p-navy-900);
	background: linear-gradient(135deg, var(--p-gold-2), var(--p-gold));
}
.atl-contatto__ico--wa {
	color: #fff;
	background: #25d366;
}
.atl-contatto strong {
	display: block;
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	color: var(--p-navy-900);
}
.atl-contatto small {
	display: block;
	margin: 2px 0 6px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--p-muted);
}
/* testo accanto all'icona: può restringersi, e l'email lunga va a capo sui telefoni piccoli */
.atl-contatto > div {
	min-width: 0;
}
.post_type_exist .atl-contatto a {
	display: block;
	overflow-wrap: anywhere;
	font-weight: 700;
	font-size: 16px;
	color: var(--p-blue) !important;
	text-decoration: none !important;
	border: 0 !important;
}
.atl-contatto a span {
	font-weight: 500;
	color: var(--p-muted);
}
.post_type_exist .atl-contatto a:hover {
	color: var(--p-navy) !important;
	text-decoration: underline !important;
}
.atl-contatti__form {
	padding: 32px;
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--p-shadow);
	border: 1px solid var(--p-line);
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-contatti__form h2 {
	text-align: left !important;
	padding: 0 !important;
	margin: 0 0 4px !important;
	padding-left: 0;
	font-size: 26px !important;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-contatti__form h2::before {
	display: none;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-contatti__form > p {
	text-align: left !important;
	margin: 0 0 20px !important;
	color: var(--p-muted) !important;
	font-size: 15.5px !important;
}
/* il modulo ha già un suo riquadro bianco: dentro la scheda non serve */
.atl-contatti__form .wpcf7,
.atl-contatti__form form,
.atl-contatti__form .custom-form {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* ---- Dove siamo ---- */
.atl-sedi {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.atl-sede {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--p-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(6, 26, 58, .04);
}
.atl-sede__mappa {
	position: relative;
}
.atl-sede__mappa iframe,
.atl-sede__mappa .atl-map {
	display: block;
	width: 100% !important;
	height: 210px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.atl-sede__mappa .atl-map-link {
	position: absolute;
	right: 12px;
	bottom: 12px;
	margin: 0 !important;
}
.atl-sede__txt {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px 22px 22px;
}
.atl-sede__tipo {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #a77a06;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-sede h3 {
	margin: 4px 0 6px !important;
	font-size: 22px !important;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-sede p {
	flex: 1;
	margin: 0 0 16px !important;
	font-size: 15.5px !important;
	line-height: 1.5 !important;
}
.post_type_exist a.atl-sede__tel {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	color: var(--p-navy-900) !important;
	background: var(--p-bg);
	text-decoration: none !important;
	border: 0 !important;
	transition: background .2s;
}
.post_type_exist a.atl-sede__tel:hover {
	background: var(--p-gold-2);
}
.atl-pg-larga .atl-sede__tel .atl-ico {
	width: 18px;
	height: 18px;
}
.atl-points {
	margin-top: 64px;
	padding: 40px 44px 28px;
	border-radius: 24px;
	background: var(--p-bg);
	columns: 2;
	column-gap: 48px;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-points h2 {
	padding: 0 !important;
	column-span: all;
	margin: 0 0 8px !important;
	padding-left: 0;
	text-align: center !important;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-points h2::before {
	display: none;
}
body.page.atl-pg-larga:not(.home):not(.elementor-page) .post_type_exist .atl-points h3 {
	margin: 0 0 8px !important;
	padding-top: 20px;
	break-after: avoid;
}
.atl-points ul {
	margin-bottom: 0 !important;
	break-inside: avoid;
}

@media (max-width: 991px) {
	.atl-contatti {
		grid-template-columns: minmax(0, 1fr);
	}
	.atl-sedi {
		grid-template-columns: minmax(0, 1fr);
		max-width: 560px;
		margin: 0 auto;
	}
	.atl-points {
		columns: 1;
	}
}
@media (max-width: 767px) {
	body.atl-pg-larga #main > .container > .post_type_exist {
		padding-top: 28px;
	}
	body.atl-pg-larga .post_type_exist .atl-pg-lead {
		margin-bottom: 28px !important;
		font-size: 17px !important;
	}
	.atl-ind-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
	.post_type_exist a.atl-ind-card {
		padding: 14px 14px 14px 12px;
		gap: 12px;
	}
	.atl-ind-card__ico {
		width: 44px;
		height: 44px;
	}
	.atl-contatti__form {
		padding: 22px 18px;
	}
	.atl-points {
		padding: 28px 20px 16px;
	}
}

/* ==========================================================================
   SCHEDA PRODOTTO SU TELEFONO: barra fissa "da 390 € · Scegli e acquista" (assets/js/pagine.js)
   ========================================================================== */
.atl-buybar {
	display: none;
}
@media (max-width: 991px) {
	.atl-buybar {
		position: fixed;
		left: 10px;
		right: 10px;
		bottom: calc(84px + env(safe-area-inset-bottom, 0px));
		z-index: 99989;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 8px 8px 8px 18px;
		border-radius: 18px;
		background: #fff;
		box-shadow: 0 2px 4px rgba(6, 26, 58, .06), 0 18px 40px -12px rgba(6, 26, 58, .45);
		border: 1px solid #e3e9f2;
		text-decoration: none !important;
		transition: opacity .25s, transform .25s;
	}
	body.atl-buybar-off .atl-buybar {
		opacity: 0;
		transform: translateY(16px);
		pointer-events: none;
	}
	.atl-buybar__price {
		min-width: 0;
		font-family: Montserrat, "Open Sans", sans-serif;
		font-size: 17px;
		font-weight: 800;
		color: #061a3a;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.atl-buybar__btn {
		flex: 0 0 auto;
		padding: 11px 18px;
		border-radius: 999px;
		background: linear-gradient(135deg, #f7d77c, #e8b52f 55%, #b98a12);
		color: #061a3a;
		font-family: Montserrat, "Open Sans", sans-serif;
		font-size: 14px;
		font-weight: 800;
		white-space: nowrap;
	}
	/* chatbot e pulsante cookie salgono sopra la barra */
	body.atl-has-buybar:not(.atl-buybar-off) #atlante-chat-widget {
		bottom: calc(150px + env(safe-area-inset-bottom, 0px)) !important;
	}
	html body.atl-app.atl-has-buybar:not(.atl-buybar-off) button.iubenda-tp-btn.iubenda-cs-preferences-link[data-tp-float][data-tp-float] {
		bottom: calc(156px + env(safe-area-inset-bottom, 0px)) !important;
	}
}
@media (max-width: 360px) {
	.atl-buybar__price {
		font-size: 15px;
	}
	.atl-buybar__btn {
		padding: 10px 14px;
		font-size: 13px;
	}
}
