/*
Theme Name: Hello Elementor - Headbangers Pub
Theme URI: https://headbangerspub.com/
Description: Child theme di Hello Elementor per Headbangers Pub. Contiene solo font self-hosted e le regole minime che Elementor non puo' esprimere. Il design vive in Elementor (variabili e classi globali, atomic widget).
Author: Headbangers SRL
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-headbangers
License: GNU General Public License v3 or later
*/

/* Big Shoulders Display Black (900), SIL OFL 1.1, self-hosted. Sottoinsieme latin: include lettere accentate italiane ed EURO. */
@font-face {
	font-family: 'Big Shoulders Display';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('assets/fonts/big-shoulders-display-latin-900-normal.woff2') format('woff2');
}

/* Sfondo nero anche prima che Elementor carichi i suoi stili: evita il lampo bianco. */
html, body { background: #000; }

/* Eventi: markup prodotto dal plugin HB Eventi (shortcode) */
.hb-evento-data { color: var(--HB-Giallo, #F2C100); font-family: var(--HB-Font-Titoli, 'Big Shoulders Display'), sans-serif; font-size: 28px; font-weight: 900; letter-spacing: .03em; line-height: 1.05; margin: 0; text-transform: uppercase; }
.hb-evento-dettagli { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-family: system-ui, sans-serif; font-size: 16px; line-height: 1.5; color: #c9c9c9; }
.hb-evento-dettagli a { color: #F2C100; text-decoration: underline; }
.hb-evento-dettagli a:hover { color: #fff; }

/* Menu: una voce per riga su mobile (Elementor non emette la variante mobile della classe globale) */
@media (max-width: 767px) {
	.elementor div.hb-menu-voce { flex-basis: 100%; }
}

/* Header fisso: lo sticky dell'elemento interno non funziona dentro il wrapper statico del Theme Builder */
@media (min-width: 768px) {
	.elementor-location-header { position: sticky; top: 0; z-index: 100; }
}

/* Evento senza immagine in evidenza: il tag dinamico lascia un <img> vuoto */
img.e-image-base:not([src]) { display: none; }

/* Card evento: tutta la card cliccabile (stretched link sul titolo), immagine opzionale */
.e-loop-item [data-id="evento-card"] { position: relative; }
.e-loop-item [data-id="evento-titolo"] a { color: inherit; text-decoration: none; }
.e-loop-item [data-id="evento-titolo"] a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.e-loop-item [data-id="evento-card"]:hover [data-id="evento-titolo"] a { color: var(--HB-Giallo, #F2C100); }
.hb-evento-dettagli a { position: relative; z-index: 2; }
.e-loop-item img.e-image-base { display: block; width: 100%; height: auto; margin-bottom: 6px; }

/* La griglia eventi occupa tutta la colonna (il contenitore ha align-items: flex-start) */
.elementor-widget-loop-grid { width: 100%; }

/* Testo dell'evento (contenuto del post) e titoli lunghi nelle card */
.elementor-widget-theme-post-content { color: #d6d6d6; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-size: 18px; line-height: 1.7; }
.elementor-widget-theme-post-content p { margin: 0 0 1.1em; }
.elementor-widget-theme-post-content strong { color: #fff; }
.e-loop-item [data-id="evento-titolo"] { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* Immagine di default eventi (logo): stessa proporzione della locandina, logo centrato */
.e-loop-item img.e-image-base[src*="headbangers-pub-logo-bianco"]{aspect-ratio:16/9;object-fit:contain;padding:28px;box-sizing:border-box;background:#000}

/* Footer: l'email puo' andare a capo su colonne strette */
.elementor [data-id="hb-footer-email"]{overflow-wrap:anywhere}

/* HB menu: icone al posto delle etichette (peperoncino, vegetariano, analcolico) */
.elementor .hb-menu-badge[data-id$="-b-p"],.elementor .hb-menu-badge[data-id$="-b-v"],.elementor .hb-menu-badge[data-id$="-b-a"],.elementor .hb-menu-badge[data-id$="-b-A"]{display:inline-block;flex:0 0 auto;width:26px;height:26px;min-width:26px;padding:0;margin:0 0 0 10px;border:0;font-size:0;line-height:0;overflow:hidden;vertical-align:middle;background:var(--HB-Giallo,#F2C100);-webkit-mask:var(--hb-ico) center/contain no-repeat;mask:var(--hb-ico) center/contain no-repeat}
.elementor .hb-menu-badge[data-id$="-b-p"]{--hb-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M16.8%206.8c1.6%207-4.200%2013-13.500%2014%202.800-1.600%204-4.500%205-8.700.8-3.200%203.600-5.400%208.500-5.300z%27%20fill%3D%27%23000%27%2F%3E%3Cpath%20d%3D%27M16.8%206.8c.3-2.200%201.500-3.400%203.600-3.800%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E")}
.elementor .hb-menu-badge[data-id$="-b-v"]{--hb-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710.200%27%2F%3E%3Cpath%20d%3D%27M7.200%2016.800C6.500%2011%2010%207%2017%206.800c.2%206.500-3.200%2010.200-8.200%2010.200-.5%200-1%200-1.600-.2z%27%20fill%3D%27%23000%27%20fill-opacity%3D%27.25%27%2F%3E%3Cpath%20d%3D%27M7.200%2016.800C10%2013%2012.500%2010.800%2015%209.500%27%2F%3E%3C%2Fsvg%3E")}
.elementor .hb-menu-badge[data-id$="-b-a"],.elementor .hb-menu-badge[data-id$="-b-A"]{--hb-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710.200%27%2F%3E%3Cpath%20d%3D%27M7.500%207.500h9L12%2012.500z%27%2F%3E%3Cpath%20d%3D%27M12%2012.500v4.500M9.500%2017h5%27%2F%3E%3Cpath%20d%3D%27M5.500%2018.500%2018.500%205.500%27%20stroke-width%3D%271.8%27%2F%3E%3C%2Fsvg%3E")}

/* Menu: legenda icone su una riga, centrata */
.elementor [data-id="menu-legenda"]{justify-content:center;column-gap:28px;row-gap:12px}
.elementor [data-id="menu-legenda"] > .e-con{width:auto;flex:0 0 auto}

/* Selettore lingua a bandiere nell'header */
.hb-lang{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.hb-lang-link{display:inline-flex;line-height:0;border-radius:3px;opacity:.55;transition:opacity .15s ease,transform .15s ease;outline-offset:3px}
.hb-lang-link:hover,.hb-lang-link:focus-visible,.hb-lang-link.is-current{opacity:1}
.hb-lang-link:hover{transform:translateY(-1px)}
.hb-lang-link img{display:block;width:30px;height:20px;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.hb-lang-link.is-current img{box-shadow:0 0 0 2px #F2C100}
.elementor [data-id="hb-lang"]{width:auto;flex:0 0 auto}
@media (max-width:767px){
	.elementor [data-id="hb-header-nav"]{flex-wrap:wrap;row-gap:12px}
	.elementor [data-id="hb-lang"]{flex:0 0 100%;display:flex;justify-content:center}
}
/* Pagine legali (es. Cookie policy): testo leggibile su nero, spazio sotto l'header sticky */
.hb-legal{max-width:860px;margin:0 auto;padding:56px var(--HB-Gutter,20px) 72px;color:var(--HB-Grigio-Chiaro,#D6D6D6);font-family:var(--HB-Font-Testo,system-ui),sans-serif;font-size:16px;line-height:1.7;box-sizing:border-box}
.hb-legal h1,.hb-legal h2{font-family:var(--HB-Font-Titoli,'Big Shoulders Display'),sans-serif;font-weight:900;text-transform:uppercase;color:var(--HB-Giallo,#F2C100);line-height:1.05;letter-spacing:.02em;margin:0 0 .5em;scroll-margin-top:130px}
.hb-legal h1{font-size:clamp(40px,7vw,72px);margin-bottom:.6em}
.hb-legal h2{font-size:clamp(26px,4vw,36px);margin-top:1.8em}
.hb-legal p{margin:0 0 1em;color:inherit}
.hb-legal a{color:var(--HB-Giallo,#F2C100);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.hb-legal a:hover,.hb-legal a:focus-visible{color:#fff}
.hb-legal-data{margin-top:2.5em;padding-top:1em;border-top:1px solid var(--HB-Bordo,#2A2A2A);font-size:14px;color:var(--HB-Grigio-Testo,#B8B8B8)}
