/*
Theme Name: Random (Hello Elementor Child)
Theme URI: https://www.randomunafestaacaso.it
Description: Child theme di Hello Elementor per Random una festa a caso. Header, footer e template sono nel Theme Builder di Elementor Pro; qui vivono solo gli stili che Elementor non gestisce con opzioni native.
Author: Suonica
Author URI: https://www.suonica.it
Template: hello-elementor
Version: 1.3.1
Text Domain: random-hello
*/

/* ==========================================================================
   1. Base minima (il reset di Hello e' disattivato)
   ========================================================================== */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; border: 0; }
p { margin-top: 0; }

/* ==========================================================================
   2. Compatibilita' contenuti legacy (ex WPBakery / Bootstrap)
   ========================================================================== */
.embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; }
.embed-responsive::before { content: ''; display: block; padding-top: 56.25%; }
.embed-responsive iframe { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; }
@media (min-width: 992px) {
	.events-listing.col-md-6 { float: left; width: 50%; padding: 0 15px; box-sizing: border-box; }
	.events-listing.col-md-12 { width: 100%; padding: 0 15px; box-sizing: border-box; clear: both; }
}

/* ==========================================================================
   4. Elenco eventi (shortcode [list-eventi3])
   ========================================================================== */
.events-listing {
	display: flex; flex-direction: column; align-items: center; text-align: center; list-style: none;
	text-transform: uppercase; font-family: Montserrat, sans-serif;
	font-size: 20px; line-height: 1.4286; color: #000;
}
.events-listing li { list-style: none; margin: 10px 0; }

/* Home: elenco a "pillole" */
.page-id-5 .events-listing { font-weight: normal !important; margin: 0 0 15px; }
.page-id-5 .events-listing span { font-weight: bold !important; }
.page-id-5 .events-listing .col-md-6 { padding-left: 0; }
.page-id-5 .events-listing li .events-block { background: #fff; color: #da3b83; padding: 5px; display: inline; font-size: 18px; box-shadow: 5px 5px 0 #49128f; }
.page-id-5 .events-listing li {
	transition: all .3s ease-in; background: #fff; padding: 10px 20px; border-radius: 50px;
	box-shadow: 0 0 0 2px #49128f, 3px 3px 0 2px #49128f !important;
}
.page-id-5 .events-listing li:hover { background: #fff; color: #da3b83; box-shadow: 0 0 0 2px #49128f, 5px 5px 0 3px #49128f !important; }
.page-id-5 .events-listing li a { font-size: 18px; color: #da3b83; }
.page-id-5 .events-listing li:hover a { text-decoration: none; }
@media (max-width: 768px) { .page-id-5 .events-listing li a { display: block; } }

.biglietti {
	border: none; font-weight: normal; margin: -1px 0 0 5px; background: #da3b83 !important; color: #fff !important;
	vertical-align: top; font-size: 18px; padding: 5px; transition: all .3s ease-in; line-height: 22px;
	width: 32px; text-align: center; border-radius: 100px;
}
.biglietti:hover { color: #da3b83 !important; background: #fff !important; }
.sold-out::after {
	content: var(--message); background: #49128f; font-size: 13px; padding: 5px; font-weight: bold;
	box-shadow: 5px 5px 0 #da3b83; margin-left: 10px; color: #fff;
}

/* ==========================================================================
   5. Componenti riutilizzabili (classi da assegnare nei widget Elementor)
   ========================================================================== */
.titolo-pagina { font-weight: 700; }
.prova .elementor-widget-html { margin-bottom: 15px; }

/* Pulsante con ombra nera */
.button-shadow-black a { box-shadow: 0 0 0 2px #000, 3px 3px 0 2px #000 !important; font-family: DynaPuff; font-weight: 600; color: #000 !important; font-size: 25px !important; transform: scale(.9); }
.button-shadow-black a:hover { transform: scale(1); }
.button-shadow-black a i { color: #000 !important; }

/* Link bianchi in grassetto dentro un Text Editor */
.nr-link-white a { color: #fff; font-weight: 700; }
/* Iframe a tutta larghezza dentro un Text Editor */
.nr-iframe-block iframe { display: block; width: 100%; }
.nr-iframe-block p { margin: 0; }

/* Card Esplora (loop): il titolo sale in hover e l'icona segue il tipo di contenuto */
.nr-esplora-card .titolo-esplora { transition: bottom .4s ease-in-out; }
.nr-esplora-card:hover .titolo-esplora { bottom: 0; }
.e-loop-item.type-post .icona-video,
.e-loop-item.type-portfolio .icona-galleria { display: none; }

/* Menu mobile: spazio sotto l'ultima voce */
.elementor-nav-menu--dropdown { padding-bottom: 20px; }

/* ==========================================================================
   6. Pagine specifiche
   ========================================================================== */
/* Home: video di sfondo */
#bgvid { object-fit: cover; width: 130vw; height: 150vh; max-width: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#punto-di-domanda { z-index: 1; position: relative; }
.elementor-widget-html:has(#bgvid) { position: static !important; }

/* Musica */
.page-id-1299 .ascoltaora { text-transform: none; }
.page-id-1299 .tarantella a { color: #000 !important; font-weight: 500; }
@media (max-width: 768px) {
	.page-id-1299 h2 { font-size: 45px !important; }
	.page-id-1299 h3 { font-size: 35px !important; }
	.page-id-1299 .hidespace { display: none; }
}

/* Bjorne Beer: iframe a tutta altezza */
.page-id-32048 iframe { height: 100%; min-height: 1500px; overflow: visible; }

/* ==========================================================================
   7. Segnaposto per contenuti bloccati dal consenso cookie (Iubenda)
   ========================================================================== */
.elementor-widget:has(iframe[src*="cookie_solution/empty.html"]) { position: relative; cursor: pointer; min-height: 120px; }
.elementor-widget:has(iframe[src*="cookie_solution/empty.html"])::after {
	content: "Questo contenuto richiede il consenso ai cookie. Clicca per gestire le preferenze.";
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center;
	padding: 1em 1.5em; background: rgba(0, 0, 0, .6); color: #fff; font: 600 14px/1.5 Montserrat, sans-serif; border-radius: inherit;
}
iframe[src*="cookie_solution/empty.html"] { pointer-events: none; }


/* 8. Gallerie: scheletro di caricamento (shimmer) finche' le immagini non arrivano */
.elementor-widget-gallery .e-gallery-item{background:linear-gradient(100deg,#1a1a1a 30%,#2c2c2c 50%,#1a1a1a 70%);background-size:200% 100%;animation:nr-shimmer 1.4s linear infinite;}
@keyframes nr-shimmer{to{background-position:-200% 0;}}
@media (prefers-reduced-motion:reduce){.elementor-widget-gallery .e-gallery-item{animation:none;}}

/* 9. Preview video: sempre 16:9 (template Video correlato 37632) */
.elementor-37632 .elementor-widget-theme-post-featured-image img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
