/* ==========================================================================
   Montatori – stili del tema (ricostruzione del tema originale RT/Montatori)
   ========================================================================== */

:root {
	--mt-primary: var(--wp--preset--color--primary, #71a6c5);
	--mt-accent: var(--wp--preset--color--accent, #f4bf1e);
	--mt-accent-dark: var(--wp--preset--color--accent-dark, #d9a70c);
	--mt-heading: var(--wp--preset--color--heading, #666);
	--mt-text: var(--wp--preset--color--text, #888);
	--mt-muted: var(--wp--preset--color--muted, #afafaf);
	--mt-light: var(--wp--preset--color--light, #f7f7f7);
	--mt-border: var(--wp--preset--color--border, #e8e8e8);
	--mt-gutter: 45px;
}

body {
	background: #fff;
}

::selection {
	background: var(--mt-primary);
	color: #fff;
}

/* ---------- contenitore boxed ---------- */
.wp-site-blocks {
	padding-top: 20px;
	padding-bottom: 20px;
}

.mt-site {
	max-width: 1130px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #efefef;
	box-shadow: 0 0 0 6px #f7f7f7;
}

.mt-site > * {
	margin-block-start: 0;
}

/* ---------- top bar ---------- */
.mt-topbar {
	background: var(--mt-light);
	border-bottom: 1px solid #eee;
	padding: 10px var(--mt-gutter);
	min-height: 50px;
	box-sizing: border-box;
}

.mt-social.wp-block-social-links {
	gap: 4px;
}

.mt-social.wp-block-social-links .wp-social-link {
	border-radius: 2px;
	transition: background-color .2s;
}

.mt-social.wp-block-social-links .wp-social-link:hover {
	background-color: var(--mt-primary) !important;
	transform: none;
}

.mt-social.wp-block-social-links .wp-social-link a {
	padding: 4px;
}

.mt-social.wp-block-social-links .wp-social-link svg {
	width: 12px;
	height: 12px;
}

/* ---------- logo + slogan ---------- */
.mt-brand {
	padding: 25px var(--mt-gutter) 22px;
	margin: 0 !important;
}

.mt-brand .wp-block-site-logo img {
	height: auto;
}

.mt-slogan {
	margin: 0;
	font-size: 13px;
	line-height: 1.3;
	color: var(--mt-text);
}

.mt-slogan::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 6px;
	vertical-align: -1px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.mt-slogan a {
	color: inherit;
}

/* ---------- barra di navigazione ---------- */
.mt-navbar {
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	box-shadow: 0 3px 4px -2px rgba(0, 0, 0, .06);
	padding: 0 var(--mt-gutter);
	margin: 0 !important;
	position: relative;
	z-index: 20;
}

.mt-mainnav .wp-block-navigation__container {
	gap: 0;
	border-left: 1px solid #eee;
}

.mt-mainnav .wp-block-navigation__container > .wp-block-navigation-item {
	border-right: 1px solid #eee;
}

.mt-mainnav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: block;
	padding: 14px 32px 13px;
	color: var(--mt-heading);
	font-size: 15px;
	border-top: 2px solid transparent;
	margin-top: -1px;
	transition: border-color .2s, color .2s;
}

.mt-mainnav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.mt-mainnav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.mt-mainnav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content {
	border-top-color: var(--mt-accent);
	color: var(--mt-heading);
}

.mt-mainnav .wp-block-navigation__submenu-icon {
	display: none;
}

.mt-mainnav .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
	min-width: 220px !important;
	padding: 6px 0;
	background: #fff;
}

.mt-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 7px 18px !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 13px;
	color: var(--mt-text);
}

.mt-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content {
	box-shadow: inset 2px 0 0 var(--mt-primary);
	color: var(--mt-primary);
}

.mt-search.wp-block-search {
	align-self: center;
	width: 180px;
}

.mt-search .wp-block-search__inside-wrapper {
	border: 1px solid #e5e5e5 !important;
	padding: 0 !important;
	background: #fff;
}

.mt-search .wp-block-search__input {
	border: 0;
	font-size: 11px;
	padding: 6px 10px;
	color: var(--mt-text);
}

.mt-search .wp-block-search__button {
	background: transparent !important;
	color: var(--mt-muted) !important;
	padding: 0 8px;
	margin: 0;
	box-shadow: none;
}

.mt-search .wp-block-search__button svg {
	width: 16px;
	height: 16px;
}

/* ---------- slider a dissolvenza ---------- */
.mt-top {
	margin: 0 !important;
}

.wp-block-gallery.is-style-slider {
	display: grid !important;
	gap: 0 !important;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	aspect-ratio: 1200 / 500;
	background: #e7ecef;
}

.wp-block-gallery.is-style-slider > figure.wp-block-image {
	grid-area: 1 / 1;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0;
	animation: mt-fade 36s infinite;
}

.wp-block-gallery.is-style-slider > figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-gallery.is-style-slider > figure:nth-child(1) { animation-delay: 0s; opacity: 1; }
.wp-block-gallery.is-style-slider > figure:nth-child(2) { animation-delay: 6s; }
.wp-block-gallery.is-style-slider > figure:nth-child(3) { animation-delay: 12s; }
.wp-block-gallery.is-style-slider > figure:nth-child(4) { animation-delay: 18s; }
.wp-block-gallery.is-style-slider > figure:nth-child(5) { animation-delay: 24s; }
.wp-block-gallery.is-style-slider > figure:nth-child(6) { animation-delay: 30s; }

@keyframes mt-fade {
	0% { opacity: 0; }
	3% { opacity: 1; }
	17% { opacity: 1; }
	20% { opacity: 0; }
	100% { opacity: 0; }
}

/* nell'editor le slide si vedono tutte, in griglia */
.editor-styles-wrapper .wp-block-gallery.is-style-slider {
	display: flex !important;
	aspect-ratio: auto;
}

.editor-styles-wrapper .wp-block-gallery.is-style-slider > figure.wp-block-image {
	opacity: 1;
	animation: none;
	width: calc(33.33% - 2px) !important;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-gallery.is-style-slider > figure.wp-block-image { animation: none; }
}

.mt-slider-sep.wp-block-separator {
	margin: 10px var(--mt-gutter) !important;
}

/* ---------- separatori ---------- */
.wp-block-separator.is-style-ampersand {
	border: 0;
	border-top: 1px solid var(--mt-accent);
	opacity: 1;
	overflow: visible;
	text-align: left;
	margin-top: 30px;
	margin-bottom: 30px;
	height: 0;
	width: auto;
	max-width: none;
}

.wp-block-separator.is-style-ampersand::after {
	content: "&";
	display: inline-block;
	position: relative;
	top: -22px;
	left: 26px;
	padding: 0 4px;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 28px;
	line-height: 35px;
	color: var(--mt-accent);
	background: inherit;
}

.has-primary-background-color .wp-block-separator.is-style-ampersand::after {
	background: var(--mt-primary);
}

.mt-site .wp-block-separator.is-style-ampersand::after {
	background: #fff;
}

.mt-band .wp-block-separator.is-style-ampersand::after {
	background: var(--mt-primary);
}

.wp-block-separator.is-style-light {
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .6);
	opacity: 1;
	margin-top: 30px;
	margin-bottom: 30px;
	width: auto;
	max-width: none;
}

.mt-main .wp-block-separator.is-style-light:not(.mt-band *) {
	border-top-color: var(--mt-border);
}

/* ---------- area contenuto ---------- */
.mt-main {
	padding: 25px var(--mt-gutter) 35px;
	margin: 0 !important;
}

.mt-main-front {
	padding-top: 0;
}

.mt-main > .wp-block-post-content > .alignfull:first-child {
	margin-top: 0;
}

.mt-band {
	padding: 10px var(--mt-gutter) 25px;
	color: var(--mt-text);
}

.mt-band h2.mt-intro {
	font-size: 24px;
	line-height: 1.5;
}

.mt-main .alignfull.mt-band,
.mt-main .alignfull.mt-section {
	margin-left: calc(var(--mt-gutter) * -1) !important;
	margin-right: calc(var(--mt-gutter) * -1) !important;
	max-width: none !important;
	width: auto;
}

.mt-section {
	padding: 0 var(--mt-gutter);
}

.mt-main-front .wp-block-post-content > .mt-band:first-child {
	margin-top: 0;
}

.mt-breadcrumbs {
	color: var(--mt-text);
	margin-bottom: 15px;
}

.mt-breadcrumbs a {
	color: var(--mt-text);
}

.mt-breadcrumbs a:hover {
	color: var(--mt-primary);
}

/* ---------- griglia servizi con "pin" ---------- */
.mt-services {
	gap: 30px !important;
	margin-top: 20px;
}

.mt-services .wp-block-column {
	text-align: center;
}

.mt-services .wp-block-heading {
	margin: 10px 0 0;
	font-size: 20px;
}

.mt-services p {
	font-size: 13px;
}

.wp-block-image.is-style-pin {
	position: relative;
	max-width: 60%;
	margin: 40px auto 24px !important;
}

.wp-block-image.is-style-pin img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	display: block;
	transition: transform .4s;
}

.wp-block-image.is-style-pin::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -40px;
	height: 26px;
	border-left: 1px solid var(--mt-accent);
	transition: height .3s;
}

.wp-block-image.is-style-pin::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -14px;
	width: 7px;
	height: 7px;
	margin-left: -4px;
	border: 1px solid var(--mt-accent);
	transition: top .3s;
}

.wp-block-column:hover > .wp-block-image.is-style-pin::before { height: 32px; }
.wp-block-column:hover > .wp-block-image.is-style-pin::after { top: -8px; }
.wp-block-column:hover > .wp-block-image.is-style-pin img { transform: scale(1.03); }

.mt-band .mt-services .wp-block-heading {
	color: #555;
}

.mt-band .mt-services p {
	color: #6b5a4a;
}

/* ---------- box bianchi ---------- */
.wp-block-group.is-style-card {
	background: #fff;
	padding: 20px 25px 25px;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

.wp-block-group.is-style-card > .wp-block-heading:first-child {
	margin-top: 0;
	padding-bottom: 0;
}

.mt-lead.is-style-card {
	padding: 20px 30px;
}

.mt-lead h1 {
	margin: 0 0 10px;
}

.mt-lead h3 {
	margin: 0 0 10px;
	color: #555;
	line-height: 1.45;
}

.mt-lead h3 a {
	color: #555;
}

.mt-small {
	font-size: inherit;
}

.mt-note {
	font-family: var(--wp--preset--font-family--serif);
	color: var(--mt-muted);
	font-size: 12px;
	margin-top: 4px;
}

/* ---------- banner ---------- */
.wp-block-group.is-style-banner {
	background: linear-gradient(180deg, #f7f7f7 0%, #ececec 100%);
	border-radius: 8px;
	padding: 20px 20px 30px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}

.mt-plain-banner {
	padding: 0 20px 10px;
}

.mt-big-icon {
	font-size: 56px;
	line-height: 1;
	color: var(--mt-heading);
	margin: 10px 0 0 !important;
}

.mt-plain-banner .mt-big-icon {
	font-size: 46px;
}

.mt-banner-text {
	font-family: var(--wp--preset--font-family--narrow);
	font-size: 22px;
	line-height: 1.45;
	color: var(--mt-heading);
	margin-top: 10px !important;
}

.mt-plain-banner .mt-banner-text {
	font-size: 20px;
}

/* ---------- pulsanti ---------- */
.wp-block-button .wp-block-button__link {
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .1);
}

.mt-btn-big .wp-block-button__link {
	font-size: 15px;
	padding: 14px 44px;
}

.mt-btn-small .wp-block-button__link {
	font-size: 11px;
	padding: 6px 16px;
}

/* ---------- titolo con linea ---------- */
.wp-block-heading.mt-title-line {
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 18px;
	margin-top: 20px;
}

.wp-block-heading.mt-title-line::after {
	content: "";
	flex: 1;
	border-top: 1px solid var(--mt-border);
}

/* ---------- ultime news (home) ---------- */
.mt-news .wp-block-post-template {
	gap: 30px;
}

.mt-news-media {
	position: relative;
}

.mt-news-media .wp-block-post-featured-image {
	margin: 0;
}

.mt-news-media .wp-block-post-featured-image img {
	width: 100%;
	display: block;
}

.mt-news-date {
	position: absolute;
	left: 0;
	bottom: 0;
	background: var(--mt-primary);
	color: #fff;
	font-size: 11px;
	padding: 3px 10px;
	margin: 0 !important;
}

.mt-news .wp-block-post-title {
	font-size: 17px;
	margin: 12px 0 4px;
}

.mt-news .wp-block-post-title a {
	color: var(--mt-primary);
}

.mt-news .wp-block-post-title a:hover {
	color: var(--mt-accent);
}

.mt-news .wp-block-post-excerpt {
	font-size: 13px;
	margin-top: 0;
}

.mt-news .wp-block-post-excerpt__more-text {
	display: none;
}

/* ---------- elenco blog / articolo ---------- */
.mt-post-head {
	gap: 20px !important;
}

.mt-datebox {
	flex: 0 0 62px;
	text-align: center;
	border: 1px solid var(--mt-border);
	box-shadow: 1px 2px 0 0 rgba(0, 0, 0, .05);
	background: #fff;
}

.mt-datebox .mt-day {
	font-family: var(--wp--preset--font-family--narrow);
	font-size: 26px;
	line-height: 1;
	color: var(--mt-heading);
	padding: 8px 0 6px;
	border-bottom: 1px solid var(--mt-border);
	margin: 0;
}

.mt-datebox .mt-month {
	font-size: 11px;
	text-transform: uppercase;
	padding: 3px 0;
	margin: 0 !important;
}

.mt-post-head .wp-block-post-title {
	margin: 0;
	padding: 0;
}

.mt-post-meta {
	gap: 12px !important;
	font-size: 12px;
	color: var(--mt-muted);
	margin-top: 4px !important;
}

.mt-bloglist .wp-block-post-featured-image,
.mt-single .wp-block-post-featured-image {
	margin: 20px 0 15px;
}

/* ---------- servizi: tabs ---------- */
.wp-block-tabs {
	margin: 20px 0 30px;
}

.wp-block-tab-list {
	gap: 0 !important;
	border-bottom: 1px solid var(--mt-border);
	flex-wrap: wrap;
}

.wp-block-tab-list button {
	font-family: var(--wp--preset--font-family--narrow);
	font-size: 16px;
	color: var(--mt-text);
	background: var(--mt-light);
	border: 1px solid var(--mt-border);
	border-bottom: 0;
	border-radius: 0;
	padding: 10px 20px;
	margin: 0 -1px -1px 0;
	cursor: pointer;
}

.wp-block-tab-list button[aria-selected="true"],
.wp-block-tab-list button:hover {
	background: #fff;
	color: var(--mt-heading);
	border-bottom: 2px solid var(--mt-primary);
}

.wp-block-tab-panel {
	padding: 20px 0 0;
}

/* ---------- lista contatti con icone ---------- */
.wp-block-list.is-style-icons {
	list-style: none;
	padding: 0;
	margin: 15px 0 0;
	font-size: 13px;
}

.wp-block-list.is-style-icons li {
	padding: 3px 0;
}

.wp-block-list.is-style-icons a {
	color: var(--mt-text);
}

.wp-block-list.is-style-icons a:hover {
	color: var(--mt-primary);
}

.mt-ico {
	display: inline-block;
	width: 14px;
	margin-right: 12px;
	text-align: center;
	color: var(--mt-heading);
}

.mt-ico-home::before { content: "⌂"; font-size: 15px; }
.mt-ico-phone::before { content: "☎"; }
.mt-ico-mobile::before { content: "▯"; }
.mt-ico-mail::before { content: "✉"; }
.mt-ico-dot::before { content: "●"; font-size: 12px; }

/* ---------- blockquote (Chi siamo) ---------- */
.wp-block-quote {
	font-size: 14px;
	color: var(--mt-text);
}

/* ---------- Contact Form 7 ---------- */
.wpcf7 form p {
	margin: 0 0 14px;
	font-size: 12px;
	color: var(--mt-text);
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	padding: 10px;
	border: 1px solid var(--mt-border);
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, .04);
	font: inherit;
	font-size: 13px;
	color: var(--mt-heading);
	background: #fff;
}

.wpcf7 textarea {
	height: 110px;
}

.wpcf7 .mt-quiz input {
	width: 40px;
	padding: 8px 6px;
	margin-left: 6px;
	border: 1px solid var(--mt-border);
}

.wpcf7 input[type="submit"] {
	font: inherit;
	font-size: 12px;
	color: var(--mt-heading);
	background: linear-gradient(180deg, #fafafa, #ececec);
	border: 1px solid #ddd;
	border-radius: 2px;
	padding: 7px 18px;
	cursor: pointer;
}

.wpcf7 input[type="submit"]:hover {
	background: var(--mt-primary);
	border-color: var(--mt-primary);
	color: #fff;
}

.wpcf7-quiz-label {
	font-size: 12px;
	color: var(--mt-heading);
}

/* ---------- footer ---------- */
.mt-footer {
	padding: 20px var(--mt-gutter) 25px;
	border-top: 1px solid #eee;
	margin: 0 !important;
}

.mt-footnav {
	font-size: 11px;
}

.mt-footnav .wp-block-navigation__container {
	gap: 0 !important;
}

.mt-footnav .wp-block-navigation-item + .wp-block-navigation-item::before {
	content: "|";
	color: #ddd;
	margin: 0 7px;
}

.mt-footnav .wp-block-navigation-item__content {
	color: var(--mt-text);
	font-family: var(--wp--preset--font-family--body);
}

.mt-footnav .wp-block-navigation-item__content:hover {
	color: var(--mt-primary);
}

.mt-copyright {
	font-size: 11px;
	color: var(--mt-text);
	margin-top: 6px !important;
}

/* ---------- pulsante "chiama ora" ---------- */
.mt-callnow {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: var(--wp--preset--color--call, #009900);
	box-shadow: 0 3px 8px rgba(0, 0, 0, .3);
	transition: transform .2s;
}

.mt-callnow:hover {
	transform: scale(1.08);
}

/* ---------- responsive ---------- */
@media (max-width: 900px) {
	:root { --mt-gutter: 20px; }

	.wp-site-blocks { padding: 0; }

	.mt-site { border: 0; box-shadow: none; }

	.mt-brand { justify-content: center !important; }

	.mt-slogan { text-align: center !important; }

	.mt-navbar { padding-top: 8px; padding-bottom: 8px; }

	.mt-mainnav .wp-block-navigation__container { border: 0; }

	.mt-mainnav .wp-block-navigation__container > .wp-block-navigation-item { border: 0; }

	.mt-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		padding: 8px 0 !important;
		border: 0 !important;
	}

	.mt-news .wp-block-post-template { grid-template-columns: 1fr !important; }

	.mt-footer { flex-wrap: wrap !important; }
}

@media (max-width: 781px) {
	.mt-services { gap: 0 !important; }

	.mt-band h2.mt-intro { font-size: 20px; }

	.mt-banner-text { font-size: 18px; }

	.mt-callnow { display: flex; }
}

@media (min-width: 782px) {
	.mt-callnow { display: none; }
}
