/*
 * Template "scout" (figlio di Cassiopeia, Joomla 6) — Gruppo scout AlzanoNembro.
 * Riprende yoo_salt / stile "alzanonembro": i valori vengono dalle misure del sito originale.
 * Ordine: font · variabili · base · testata · menu laterale · slideshow · griglia e riquadri ·
 *         contenuti Joomla · compatibilità UIkit 2 (classi nei vecchi articoli) · gallerie · piè di pagina ·
 *         avviso cookie · mobile · movimento ridotto.
 */

@font-face {
	font-family: "Handlee";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/handlee-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--scout-bg: #fcf5d5;            /* fondo crema */
	--scout-bg-light: #eae0d2;
	--scout-text: #596156;          /* testo */
	--scout-heading: #3d5834;       /* titoli, verde scuro */
	--scout-dark: #3c3c31;
	--scout-muted: #b7ada2;
	--scout-link: #f0aa00;          /* link ambra */
	--scout-link-hover: #ffc73d;
	--scout-olive: #aab830;         /* testata */
	--scout-olive-2: #a9b730;       /* piè di pagina, colore primario */
	--scout-selection: #569b40;
	--scout-box: radial-gradient(#f2efb8 0%, #ece9b4 100%);
	--scout-box-plain: #f4ebde;
	--scout-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--scout-font-heading: "Handlee", "Comic Neue", cursive;
	--scout-container: 1200px;
	--scout-gutter: 50px;
	--scout-sidebar: 339px;
	--scout-gap: 40px;
	--scout-header-h: 170px;
	--scout-header-h-small: 110px;

	/* variabili di Cassiopeia / Bootstrap (Joomla usa il prefisso vuoto) */
	--cassiopeia-color-primary: var(--scout-olive-2);
	--cassiopeia-color-link: var(--scout-link);
	--cassiopeia-color-hover: var(--scout-link-hover);
	--cassiopeia-font-family-body: var(--scout-font);
	--cassiopeia-font-family-headings: var(--scout-font-heading);
	--cassiopeia-font-weight-normal: 300;
	--cassiopeia-font-weight-headings: 600;
	--body-bg: var(--scout-bg);
	--body-color: var(--scout-text);
	--body-font-family: var(--scout-font);
	--link-color: var(--scout-link);
	--link-color-rgb: 240, 170, 0;
	--link-hover-color: var(--scout-link-hover);
	--link-hover-color-rgb: 255, 199, 61;
	--bs-body-bg: var(--scout-bg);
	--bs-body-color: var(--scout-text);
	--bs-link-color: var(--scout-link);
	--bs-link-hover-color: var(--scout-link-hover);
}

/* ------------------------------------------------------------------------------------------- base */
html { background: var(--scout-bg); scroll-padding-top: calc(var(--scout-header-h-small) + 16px); }
body.scout {
	margin: 0;
	background: var(--scout-bg);
	color: var(--scout-text);
	font-family: var(--scout-font);
	font-size: 18px;
	font-weight: 300;
	line-height: 30px;
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--scout-selection); color: #fff; }
.scout a { color: var(--scout-link); text-decoration: none; }
.scout a:hover, .scout a:focus { color: var(--scout-link-hover); }
.scout :focus-visible { outline: 3px solid var(--scout-link); outline-offset: 2px; }
.scout p, .scout ul, .scout ol, .scout dl, .scout table, .scout figure { margin: 0 0 20px; }
.scout strong, .scout b { font-weight: 600; }
.scout img { max-width: 100%; height: auto; }
.scout h1, .scout h2, .scout h3, .scout .h1, .scout .h2, .scout .h3 {
	font-family: var(--scout-font-heading);
	font-weight: 600;
	color: var(--scout-heading);
	text-transform: none;
	margin: 0 0 20px;
}
.scout h1, .scout .h1 { font-size: 30px; line-height: 42px; }
.scout h2, .scout .h2 { font-size: 30px; line-height: 42px; }
.scout h3, .scout .h3 { font-size: 24px; line-height: 32px; }
.scout h4, .scout h5, .scout h6 { font-family: var(--scout-font); font-weight: 600; color: var(--scout-heading); font-size: 18px; line-height: 26px; margin: 0 0 15px; }
.scout * + h1, .scout * + h2, .scout * + h3 { margin-top: 35px; }
.scout hr { border: 0; border-top: 1px solid rgba(89, 97, 86, .2); margin: 30px 0; opacity: 1; }
.scout blockquote { font-style: italic; border-left: 3px solid var(--scout-olive-2); padding-left: 20px; margin: 0 0 20px; }

.scout-container {
	box-sizing: border-box;
	max-width: var(--scout-container);
	margin: 0 auto;
	padding: 0 var(--scout-gutter);
}
.scout-skip {
	position: absolute; left: 12px; top: -60px; z-index: 2000;
	background: var(--scout-dark); color: #fff !important; padding: 8px 16px;
}
.scout-skip:focus { top: 12px; }

/* ------------------------------------------------------------------------------------------- testata */
.scout-header {
	position: sticky; top: 0; z-index: 1030;
	background: var(--scout-olive);
	transition: box-shadow .25s ease;
}
.scout-header-inner {
	display: flex; align-items: center; gap: 24px;
	min-height: var(--scout-header-h);
	transition: min-height .25s ease;
}
.scout-header.is-small { box-shadow: 0 2px 10px rgba(60, 60, 49, .18); }
.scout-header.is-small .scout-header-inner { min-height: var(--scout-header-h-small); }
.scout-logo { display: block; line-height: 0; margin-right: auto; }
.scout-logo img { display: block; width: 404px; max-width: 100%; height: auto; }
.scout-logo p { margin: 0; }
.scout-logo-text { font-family: var(--scout-font-heading); font-size: 34px; line-height: 1.2; color: #fff; }
.scout-nav { display: none; }               /* come yoo_salt: il menu si apre dal pulsante, a ogni larghezza */

.scout-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; margin-right: -12px;
	background: none; border: 0; padding: 0; cursor: pointer; color: var(--scout-dark);
}
.scout-burger, .scout-burger::before, .scout-burger::after, .scout-burger span {
	display: block; width: 24px; height: 2px; background: currentColor; border-radius: 1px;
}
.scout-burger { position: relative; background: none; }
.scout-burger::before, .scout-burger::after { content: ""; position: absolute; left: 0; }
.scout-burger::before { top: -8px; }
.scout-burger::after { top: 8px; }
.scout-toggle:hover { color: #fff; }

/* ------------------------------------------------------------------------------------------- menu laterale */
.scout-offcanvas {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 1045;
	width: 270px; max-width: 85vw;
	display: flex; flex-direction: column;
	background: var(--scout-bg); color: var(--scout-text);
	box-shadow: -4px 0 16px rgba(60, 60, 49, .15);
	transform: translateX(100%); visibility: hidden;
	transition: transform .3s ease, visibility .3s;
}
.scout-offcanvas.show, .scout-offcanvas.showing { transform: none; visibility: visible; }
.scout-offcanvas.hiding { transform: translateX(100%); }
.offcanvas-backdrop { position: fixed; inset: 0; z-index: 1040; background: rgba(60, 60, 49, .35); }
.offcanvas-backdrop.fade { opacity: 0; transition: opacity .3s; }
.offcanvas-backdrop.show { opacity: 1; }
.scout-offcanvas .offcanvas-header { display: flex; justify-content: flex-end; padding: 18px 18px 0; }
.scout-close {
	width: 40px; height: 40px; border: 0; background: none; cursor: pointer; position: relative; color: var(--scout-dark);
}
.scout-close::before, .scout-close::after {
	content: ""; position: absolute; left: 9px; top: 19px; width: 22px; height: 2px; background: currentColor;
}
.scout-close::before { transform: rotate(45deg); }
.scout-close::after { transform: rotate(-45deg); }
.scout-offcanvas .offcanvas-body { overflow-y: auto; padding: 10px 0 30px; }
.scout-offcanvas ul { list-style: none; margin: 0; padding: 0; }
.scout-offcanvas a, .scout-offcanvas .mod-menu__heading {
	display: block; padding: 10px 40px; font-size: 18px; line-height: 26px; color: var(--scout-dark);
}
.scout-offcanvas .current > a, .scout-offcanvas .active > a, .scout-offcanvas a:hover { color: var(--scout-link); }
.scout-offcanvas .mod-menu__sub a { padding-left: 60px; font-size: 16px; }

/* ------------------------------------------------------------------------------------------- slideshow (top-a) */
.scout-top-a { line-height: 0; }
.scout-top-a p { margin: 0; }
.scout-slideshow { position: relative; overflow: hidden; aspect-ratio: 1150 / 340; background: var(--scout-bg-light); }
.scout-slides { position: absolute; inset: 0; margin: 0; }
.scout .scout-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1s ease; }   /* .scout: batte ".scout figure" */
.scout .scout-slide.is-active { opacity: 1; z-index: 1; }
.scout-slide img { width: 100%; height: 100%; object-fit: cover; display: block; transform-origin: 50% 50%; }
.scout-slide.is-active img { animation: scout-kenburns 9s ease-out both; }
@keyframes scout-kenburns { from { transform: scale(1); } to { transform: scale(1.08); } }
.scout-dots {
	position: absolute; left: 0; right: 0; bottom: 18px; z-index: 2;
	display: flex; justify-content: center; gap: 8px; line-height: 0;
}
.scout-dots button {
	width: 22px; height: 22px; padding: 0; border-radius: 50%;
	border: 2px solid transparent; background: none; cursor: pointer; position: relative;
}
.scout-dots button::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px;
	border-radius: 50%; background: rgba(255, 255, 255, .9); box-shadow: 0 0 3px rgba(0, 0, 0, .35);
}
.scout-dots button[aria-current="true"] { border-color: #fff; box-shadow: 0 0 3px rgba(0, 0, 0, .35); }
.scout-dots button[aria-current="true"]::after { display: none; }

/* ------------------------------------------------------------------------------------------- griglia e riquadri */
.scout-main { padding: 50px 0 60px; }
.scout-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scout-gap); }
.has-sidebar .scout-grid { grid-template-columns: minmax(0, 1fr) var(--scout-sidebar); }
.scout-content > main > :last-child { margin-bottom: 0; }
.scout-sidebar > * + * { margin-top: 40px; }
.scout-panel { font-size: 18px; }
.scout-panel > :last-child { margin-bottom: 0; }
.scout-panel-title {
	font-family: var(--scout-font) !important; font-weight: 400 !important;
	font-size: 30px !important; line-height: 40px !important; color: var(--scout-heading);
	margin: 0 0 20px !important;
}
.scout-panel.scout-box { padding: 50px; background: var(--scout-box); }
.scout-panel img { display: block; }
.scout-panel h4 { font-size: 16px; line-height: 24px; }
.scout-panel label { display: block; margin: 12px 0 4px; font-weight: 400; }
.scout-panel input[type="text"], .scout-panel input[type="email"], .scout .form-control, .scout .form-select {
	box-sizing: border-box; width: 100%; max-width: 100%;
	height: 34px; padding: 4px 10px;
	font: 300 16px/24px var(--scout-font); color: var(--scout-dark);
	background: #fff; border: 1px solid #d9cfbe; border-radius: 0;
}
.scout textarea.form-control { height: auto; }
.scout-panel input:focus, .scout .form-control:focus { border-color: var(--scout-olive-2); box-shadow: 0 0 0 3px rgba(169, 183, 48, .25); outline: 0; }

/* consenso privacy della Newsletter: casella grande, tutta la frase cliccabile (area di tocco >= 24 px) */
.scout-consent { margin-top: 16px; }
.scout-consent-title { display: block; font-weight: 600; margin-bottom: 4px; }
.scout-panel label.scout-check {
	display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 6px 0;
	cursor: pointer; font-size: 16px; line-height: 24px;
}
.scout-check input[type="checkbox"] {
	flex: 0 0 auto; width: 22px; height: 22px; margin: 1px 0 0;
	accent-color: var(--scout-olive-2); cursor: pointer;
}
.scout-check:hover span { color: var(--scout-dark); }

/* pulsanti: sottili, bordati, in maiuscolo (uk-button di yoo_salt) */
.scout .btn, .scout .scout-button, .scout .uk-button, .scout input[type="submit"], .scout button.button {
	display: inline-block; box-sizing: border-box;
	min-height: 36px; padding: 0 12px;
	font: 300 14px/34px var(--scout-font); text-transform: uppercase; letter-spacing: .02em;
	color: var(--scout-text); background: transparent;
	border: 1px solid var(--scout-text); border-radius: 0; box-shadow: none; cursor: pointer;
}
.scout .btn:hover, .scout .scout-button:hover, .scout .uk-button:hover, .scout input[type="submit"]:hover, .scout button.button:hover {
	color: #fff; background: var(--scout-olive-2); border-color: var(--scout-olive-2);
}
.scout .btn [class^="icon-"], .scout .btn [class*=" icon-"] { display: none; }

/* ------------------------------------------------------------------------------------------- contenuti Joomla */
.scout .page-header { margin: 0; padding: 0; border: 0; }
.scout .page-header h1, .scout .page-header h2, .scout .item-title { margin: 0 0 35px; }
.scout .page-header a, .scout .item-title a { color: inherit; }
.scout .page-header a:hover, .scout .item-title a:hover { color: var(--scout-link); }
.scout .blog-item + .blog-item, .scout .blog-items + .blog-items { margin-top: 50px; }
.scout .blog-items, .scout .items-leading, .scout .items-row { display: block; }
.scout .readmore { margin: 0; }
.scout .article-info { font-size: 14px; line-height: 22px; color: var(--scout-muted); margin: -25px 0 25px; }
.scout .article-info dd { display: inline-block; margin: 0 14px 0 0; }
.scout .article-info .article-info-term { display: none; }
.scout .item-image, .scout figure.left, .scout .float-start { float: left; margin: 0 20px 15px 0; }
.scout .item-image.float-end, .scout figure.right { float: right; margin: 0 0 15px 20px; }
.scout .item-page::after, .scout .blog-item::after { content: ""; display: table; clear: both; }
.scout .com-content-article__body > :last-child { margin-bottom: 0; }
.scout .pagination { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 40px 0 0; }
.scout .page-link { display: block; min-width: 36px; padding: 0 10px; line-height: 34px; text-align: center; border: 1px solid rgba(89, 97, 86, .35); color: var(--scout-text); background: transparent; border-radius: 0; }
.scout .page-item.active .page-link { background: var(--scout-olive-2); border-color: var(--scout-olive-2); color: #fff; }
.scout .counter { font-size: 14px; color: var(--scout-muted); }

/* briciole di pane */
.scout .mod-breadcrumbs__wrapper { margin: 0 0 30px; }
.scout .breadcrumb { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0 !important; background: none; font-size: 15px; line-height: 24px; }
.scout .breadcrumb-item + .breadcrumb-item::before { content: "/"; padding: 0 8px; color: var(--scout-muted); }
.scout .breadcrumb-item.active, .scout .mod-breadcrumbs__here { color: var(--scout-muted); }
.scout .mod-breadcrumbs__here { display: none; }

/* contatti */
.scout .com-contact-categories__items, .scout .com-contact-category__items { margin-bottom: 30px; }
.scout .com-contact .contact-image img { max-width: 200px; }
.scout .com-contact .dl-horizontal dt { font-weight: 600; }
.scout .table { --table-bg: transparent; --bs-table-bg: transparent; color: var(--scout-text); }

/* ------------------------------------------------------------------------------------------- compatibilità UIkit 2 */
.scout .uk-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.scout .uk-table th, .scout .uk-table td { padding: 8px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(89, 97, 86, .15); }
.scout .uk-table th { font-weight: 600; color: var(--scout-heading); }
.scout .uk-table-striped tbody tr:nth-of-type(odd) { background: rgba(234, 224, 210, .45); }
.scout .uk-table-hover tbody tr:hover { background: rgba(234, 224, 210, .8); }
.scout .uk-grid { display: flex; flex-wrap: wrap; margin-left: -25px; }
.scout .uk-grid > * { box-sizing: border-box; padding-left: 25px; width: 100%; }
.scout .uk-description-list dt { font-weight: 600; color: var(--scout-heading); }
.scout .uk-description-list dd { margin: 0 0 10px; }
.scout .uk-description-list-divider dt + dd ~ dt { border-top: 1px solid rgba(89, 97, 86, .15); padding-top: 10px; margin-top: 10px; }
.scout .uk-align-center { display: block; margin-left: auto; margin-right: auto; }
@media (min-width: 768px) {
	.scout .uk-width-medium-1-6 { width: 16.666%; }
	.scout .uk-width-medium-5-6 { width: 83.333%; }
	.scout .uk-align-medium-left { float: left; margin: 0 20px 0 0; }
}

/* ------------------------------------------------------------------------------------------- gallerie (ex Widgetkit) e mappa */
.scout-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 0 30px; clear: both; }
.scout-gallery-item { display: block; overflow: hidden; aspect-ratio: 1; background: var(--scout-bg-light); }
.scout-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.scout-gallery-item:hover img, .scout-gallery-item:focus-visible img { transform: scale(1.06); }
.scout-lightbox { border: 0; padding: 0; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; background: transparent; }
.scout-lightbox::backdrop { background: rgba(30, 28, 22, .92); }
.scout-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.scout-lightbox img { max-width: 90vw; max-height: 86vh; box-shadow: 0 8px 30px rgba(0, 0, 0, .5); }
.scout-lightbox button { position: absolute; width: 52px; height: 52px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); cursor: pointer; color: #fff; }
.scout-lightbox button:hover { background: rgba(255, 255, 255, .25); }
.scout-lightbox-close { top: 18px; right: 18px; }
.scout-lightbox-prev { left: 18px; top: 50%; margin-top: -26px; }
.scout-lightbox-next { right: 18px; top: 50%; margin-top: -26px; }
.scout-lightbox-close::before, .scout-lightbox-close::after { content: ""; position: absolute; left: 15px; top: 25px; width: 22px; height: 2px; background: currentColor; }
.scout-lightbox-close::before { transform: rotate(45deg); }
.scout-lightbox-close::after { transform: rotate(-45deg); }
.scout-lightbox-prev::before, .scout-lightbox-next::before { content: ""; position: absolute; top: 19px; width: 14px; height: 14px; border: solid currentColor; border-width: 2px 2px 0 0; }
.scout-lightbox-prev::before { left: 21px; transform: rotate(-135deg); }
.scout-lightbox-next::before { left: 15px; transform: rotate(45deg); }
.scout-map { margin: 0 0 30px; }
.scout-map iframe { display: block; width: 100%; aspect-ratio: 16 / 10; border: 0; background: var(--scout-bg-light); }
.scout-map figcaption { font-size: 14px; margin-top: 6px; }

/* iframe incorporati negli articoli (Google Form e Calendar di Trevasco, video): mai più larghi dello schermo */
.scout .com-content-article__body iframe, .scout .item-page iframe, .scout .blog-item iframe { max-width: 100%; }

/* ------------------------------------------------------------------------------------------- piè di pagina */
.scout-footer { background: var(--scout-olive-2); color: #fff; padding: 40px 0; font-size: 18px; line-height: 30px; }
.scout-footer a { color: #fff; }
.scout-footer a:hover { color: var(--scout-dark); }
.scout-footer p { margin: 0; }
.scout-footer small { font-size: 15px; }
.scout-footer-grid { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.scout-footer-l { flex: 1 1 520px; }
.scout-footer-r { flex: 0 0 auto; display: flex; align-items: center; gap: 24px; margin-left: auto; }
.scout-footer .uk-grid { align-items: center; }
.scout-footer img { display: block; }
.scout-totop {
	display: inline-block; position: relative; width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .7);
}
.scout-totop::before {
	content: ""; position: absolute; left: 14px; top: 16px; width: 10px; height: 10px;
	border: solid #fff; border-width: 2px 0 0 2px; transform: rotate(45deg);
}
.scout-totop:hover { background: rgba(255, 255, 255, .15); }

/* ------------------------------------------------------------------------------------------- avviso cookie */
.scout-cookie {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 20px;
	padding: 12px 20px; background: rgba(255, 255, 255, .96); color: var(--scout-dark);
	box-shadow: 0 -2px 12px rgba(60, 60, 49, .15); font-size: 14px; line-height: 20px; text-align: center;
}
.scout-cookie[hidden] { display: none; }
.scout-cookie p { margin: 0; }
.scout-cookie span { display: block; font-size: 13px; }
.scout-cookie a { font-size: 13px; }

/* ------------------------------------------------------------------------------------------- mobile */
@media (max-width: 1100px) {
	:root { --scout-gutter: 35px; --scout-sidebar: 300px; }
}
@media (max-width: 959px) {
	:root { --scout-header-h: 110px; --scout-header-h-small: 76px; }
	.has-sidebar .scout-grid { grid-template-columns: minmax(0, 1fr); }
	.scout-sidebar { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }
	.scout-sidebar > * + * { margin-top: 0; }
	.scout-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
	:root { --scout-gutter: 20px; --scout-header-h: 84px; --scout-header-h-small: 64px; }
	body.scout { font-size: 17px; line-height: 28px; }
	.scout-logo img { width: auto; max-height: 44px; max-width: calc(100vw - 110px); }
	.scout-header.is-small .scout-logo img { max-height: 36px; }
	.scout-main { padding: 30px 0 40px; }
	.scout h1, .scout h2, .scout .page-header h1, .scout .page-header h2 { font-size: 26px; line-height: 34px; margin-bottom: 20px; }
	.scout .item-image, .scout .item-image.float-end { float: none; margin: 0 0 15px; }
	.scout-panel.scout-box { padding: 30px; }
	.scout-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.scout-slideshow { aspect-ratio: 16 / 9; }
	.scout-dots { bottom: 10px; }
	.scout-footer-r { margin-left: 0; width: 100%; justify-content: space-between; }
	.scout .uk-table { display: block; overflow-x: auto; }
}

/* ------------------------------------------------------------------------------------------- movimento ridotto */
@media (prefers-reduced-motion: reduce) {
	.scout-slide, .scout-slide img, .scout-header, .scout-header-inner, .scout-offcanvas, .scout-gallery-item img { transition: none !important; animation: none !important; }
}
