/* Stili aggiuntivi dello storefront: cio' che il tema originale otteneva con icon-font, JS del tema o markup non migrato. */
.d-contents, .d-content { display: contents; }
.client-hidden { display: none; }

/* Icone inline (sostituiscono Font Awesome) */
.mp-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; fill: currentColor; }
.breadcrumb li:first-child a::before { content: ""; display: inline-block; width: 1.05em; height: .95em; margin-right: .5em; vertical-align: -0.08em; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.100 0-2.200 0-3.300-.1c-1.400 .1-2.800 .1-4.200 .1L416 512l-24 0c-22.100 0-40-17.900-40-40l0-24 0-64c0-17.700-14.300-32-32-32l-64 0c-17.700 0-32 14.300-32 32l0 64 0 24c0 22.100-17.900 40-40 40l-24 0-31.900 0c-1.500 0-3-.1-4.500-.2c-1.200 .1-2.400 .2-3.600 .2l-16 0c-22.100 0-40-17.900-40-40l0-112c0-.9 0-1.900 .1-2.800l0-69.700-32 0c-18 0-32-14-32-32.100c0-9 3-17 10-24L266.400 8c7-7 15-8 22-8s15 2 21 7L564.800 231.500c8 7 12 15 11 24z'/%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 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.100 0-2.200 0-3.300-.1c-1.400 .1-2.800 .1-4.200 .1L416 512l-24 0c-22.100 0-40-17.900-40-40l0-24 0-64c0-17.700-14.300-32-32-32l-64 0c-17.700 0-32 14.300-32 32l0 64 0 24c0 22.100-17.900 40-40 40l-24 0-31.900 0c-1.500 0-3-.1-4.500-.2c-1.200 .1-2.400 .2-3.600 .2l-16 0c-22.100 0-40-17.900-40-40l0-112c0-.9 0-1.900 .1-2.800l0-69.700-32 0c-18 0-32-14-32-32.100c0-9 3-17 10-24L266.400 8c7-7 15-8 22-8s15 2 21 7L564.800 231.500c8 7 12 15 11 24z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Logo: le dimensioni intrinseche servono solo a riservare lo spazio */
.logo-container img, .footer-logo-container img { width: auto; height: auto; }
.brand-info img, .product-content-left img { height: auto; }
.footer .widget-list .mp-icon { width: 18px; height: 25px; padding: 3px 0 4px; margin: 0 12px 0 0; vertical-align: top; }
.btn-social .mp-icon { vertical-align: -0.15em; }

/* Segnaposto banner: senza slot attivo non occupano spazio */
.adv-slot:empty { display: none; }
.adv-slot--filled { padding: 16px 24px; text-align: center; }
.adv-blocks { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.adv-block { margin: 0; }
.adv-block img { max-width: 100%; height: auto; }
.adv-block figcaption { font-size: 12px; color: #aeb4be; margin-top: 4px; }

/* Riga legale e powered-by (dal config del canale) */
.footer-legal { padding-top: 2px; }
.powered-by-strip { text-align: center; padding-top: 6px; }
.powered-by-strip a, .powered-by-strip span { color: #aeb4be; text-decoration: none; }
.powered-by-text { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.powered-by-strip a:hover .powered-by-text { color: #fff; }

/* Modale video della scheda work */
.mp-video-modal { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 9, 26, .88); display: flex; align-items: center; justify-content: center; padding: 24px; }
.mp-video-dialog { position: relative; width: min(1100px, 100%); }
.mp-video-dialog .embed-responsive { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.mp-video-dialog iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mp-video-close { position: absolute; top: -44px; right: 0; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: #fff; font-size: 22px; cursor: pointer; }
.fp-play { font-size: 2rem; width: 1.6em; }

/* News: filtro attivo, metadati dei contenuti del canale */
.news-filter-head h1 { color: #fff; }
.news-active-filter, .news-active-filter a { color: #aeb4be; }
.news-date { color: #aeb4be; margin-left: auto; }
.news-heading-link { color: inherit; text-decoration: none; }
.post-sidebar .btn-social { text-align: center; text-decoration: none; }
.post-byline { margin-bottom: 1rem; }
.post-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 1.5rem 0; }
.post-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.post-body img { max-width: 100%; height: auto; }
.mp-narrow h1, .mp-narrow p, .mp-narrow a { color: #fff; }

/* Gerarchia dei titoli corretta (un solo h1 per pagina) mantenendo l'aspetto originale */
.w-title { font-family: 'Anton', sans-serif; }
.news-badge, .row-details-content .h3 { font-weight: 700; }
.blog-entry-title { font-size: calc(1.375rem + 1.5vw); }
@media (min-width: 1200px) { .blog-entry-title { font-size: 2.5rem; } }
/* Icona play "thin" (contorno) */
.fp-play path { fill: none; stroke: currentColor; stroke-width: 18; stroke-linejoin: round; }

/* Carosello "ultime news" nella scheda articolo (sostituisce tiny-slider) */
.mp-carousel { position: relative; }
.mp-carousel-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 1px; }
.mp-carousel-track::-webkit-scrollbar { display: none; }
.mp-carousel-item { flex: 0 0 100%; scroll-snap-align: start; }
@media (min-width: 576px) { .mp-carousel-item { flex-basis: calc((100% - 1px) / 2); } }
@media (min-width: 1200px) { .mp-carousel-item { flex-basis: calc((100% - 3px) / 4); } }
@media (min-width: 2260px) { .mp-carousel-item { flex-basis: calc((100% - 5px) / 6); } }
.mp-carousel-item .gallery-item { display: block; position: relative; overflow: hidden; }
.mp-carousel-item img { display: block; width: 100%; }
.mp-carousel-btn { position: absolute; top: 50%; z-index: 2; width: 2.75rem; height: 2.75rem; margin-top: -1.375rem; border: 1px solid #e3e9ef; border-radius: 50%; background: #fff; color: #4b566b; font-size: .8rem; opacity: 0; transition: opacity .25s ease-in-out, box-shadow .25s ease-in-out; cursor: pointer; }
.mp-carousel:hover .mp-carousel-btn, .mp-carousel-btn:focus-visible { opacity: 1; }
.mp-carousel-btn.prev { left: 1rem; }
.mp-carousel-btn.next { right: 1rem; }

/* L'anteprima gira in dev: l'overlay d'errore di Nuxt non deve mai comparire nelle pagine servite. */
nuxt-error-overlay { display: none !important; }
