/*
Theme Name: Kadence Child (E-JAMU)
Template: kadence
Version: 1.0.0
*/

@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/bsd700.woff2') format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/bsd900.woff2') format('woff2');}
@font-face{font-family:'Literata';font-style:normal;font-weight:400 600;font-display:swap;src:url('fonts/literata-regular.woff2') format('woff2');}
@font-face{font-family:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/literata-italic.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plexmono500.woff2') format('woff2');}

:root{
  --ink:#211C16; --paper:#FBF8F2; --paper-2:#F1E9D8; --card:#FFFFFF;
  --sun:#CB7E22; --fun:#1D9C93; --feature-bg:#146661; --support:#A64B2A; --support-bar:#F09A6C; --barbg:#211C16; --sea:#17394A;
  --line: rgba(33,28,22,0.13); --shadow: 0 22px 48px -26px rgba(23,30,20,0.35); --good:#4C7A4C;
  --status-open:#2E9E4F; --status-warn:#D97706; --status-closed:#C0392B; --team-bg:#E7F0EE;
}

body{background:var(--paper);color:var(--ink);font-family:'Literata',Georgia,serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.entry-content h1,.entry-content h2,.entry-content h3,
.ejamu-section h1,.ejamu-section h2,.ejamu-section h3{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.01em;line-height:0.92;}

/* utility bar — sito-wide, sopra l'header */
.ejamu-utilitybar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:9px clamp(20px,4vw,48px);background:var(--barbg);color:#FBF8F2;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.03em;}
.ejamu-utilitybar .grp{display:flex;align-items:center;gap:18px;}
.ejamu-utilitybar a{text-decoration:none;opacity:0.92;display:inline-flex;align-items:center;gap:6px;color:#FBF8F2;}
.ejamu-utilitybar a:hover{opacity:1;color:var(--sun);}
.ejamu-utilitybar a:hover{opacity:1;}
.ejamu-utilitybar svg{width:15px;height:15px;flex:none;}
.ejamu-utilitybar .sep{width:1px;height:12px;background:rgba(251,248,242,0.25);}
.ejamu-utilitybar a.support{opacity:1;color:var(--support-bar);font-weight:600;}
.ejamu-utilitybar a.support:hover{color:#FBF8F2;}
.ejamu-utilitybar .login{background:rgba(251,248,242,0.14);padding:5px 11px;border-radius:2px;}
.ejamu-utilitybar .login:hover{background:#FBF8F2;color:var(--barbg);}

/* header — sito-wide */
.ejamu-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:16px clamp(20px,4vw,48px);border-bottom:3px solid var(--sun);background:var(--paper-2);}
.ejamu-header .brand img{height:32px;width:auto;display:block;}
.ejamu-nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px);}
.ejamu-nav a{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;text-decoration:none;color:var(--ink);opacity:0.75;border-bottom:1px solid transparent;padding-bottom:3px;}
.ejamu-nav a:hover{opacity:1;color:var(--ink);border-color:var(--fun);}
.ejamu-nav a.cta{opacity:1;background:var(--sun);color:#241505;padding:8px 15px;border-radius:2px;border-bottom:none;font-weight:600;}
.ejamu-nav a.cta:hover{filter:brightness(0.92);color:#241505;}
.ejamu-nav-toggle-input{position:absolute;opacity:0;pointer-events:none;}
.ejamu-nav-toggle-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:22px;cursor:pointer;}
.ejamu-nav-toggle-btn span{display:block;height:2px;width:100%;background:var(--ink);border-radius:1px;}
.ejamu-mobile-menu{display:none;flex-basis:100%;flex-direction:column;padding-top:14px;margin-top:14px;border-top:1px solid var(--line);}
.ejamu-mobile-menu a{font-family:'IBM Plex Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.08em;text-decoration:none;color:var(--ink);padding:13px 0;border-bottom:1px solid var(--line);}
.ejamu-mobile-menu a:hover{color:var(--fun);}
.ejamu-mobile-menu a.cta{color:var(--sun);}
.ejamu-mobile-menu a.cta:hover{color:var(--support);}
.ejamu-nav-toggle-input:checked ~ .ejamu-mobile-menu{display:flex;}
@media (max-width:900px){
  .ejamu-nav{display:none;}
  .ejamu-nav-toggle-btn{display:flex;}
  .ejamu-utilitybar{font-size:10px;gap:12px;}
  .ejamu-utilitybar .grp{gap:10px;}
}
/* 3 icone social (Instagram/Facebook/Telegram) + Sostienici + Accedi non ci stanno su mobile con
   le etichette testuali — restano solo le icone (aria-label copre l'accessibilita'). */
@media (max-width:480px){
  .ejamu-utilitybar .utilitybar-label{display:none;}
}

/* footer — sito-wide */
.ejamu-footer{padding:30px 0 38px;border-top:1px solid var(--line);}
.ejamu-footer .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.ejamu-footer img{height:20px;width:auto;}
.ejamu-footer small{font-family:'IBM Plex Mono',monospace;font-size:10.5px;opacity:0.5;display:block;margin-top:5px;}

/* Home — hero (titolo, sottotitolo e tag insieme in un unico blocco sovrapposto in alto sulla foto) */
.page-id-349 .hero{position:relative;padding:0;}
.page-id-349 .hero-photo{position:relative;height:clamp(420px,66vw,760px);overflow:hidden;border-bottom:4px solid var(--sun);}
.page-id-349 .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 82%;display:block;}
.page-id-349 .hero-overlay{position:absolute;top:0;left:0;right:0;padding:clamp(22px,4vw,40px) clamp(20px,4vw,48px) clamp(50px,8vw,84px);background:linear-gradient(180deg, rgba(23,20,15,0.9) 0%, rgba(23,20,15,0.82) 40%, rgba(23,20,15,0.6) 65%, rgba(23,20,15,0.28) 85%, rgba(23,20,15,0) 100%);}
.page-id-349 .hero-overlay .wrap2{max-width:1180px;margin:0 auto;}
.page-id-349 .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--sun);margin:0 0 10px;display:flex;align-items:center;gap:10px;}
.page-id-349 .eyebrow::before{content:"";width:24px;height:1px;background:var(--sun);}
.page-id-349 .hero h1{font-size:clamp(26px,3.6vw,42px);color:#FBF8F2;margin:0;}
.page-id-349 .hero h1 em{font-style:normal;color:var(--sun);}
.page-id-349 .hero p.lede{font-family:'Literata',serif;font-style:italic;font-size:clamp(12.5px,1.7vw,16.5px);opacity:0.9;margin:10px 0 0;color:#E8E0CE;}
.page-id-349 .pillrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;list-style:none;padding:0;}
.page-id-349 .pill{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;border:1.5px solid;padding:4px 11px;border-radius:99px;color:#FBF8F2;}
@media (max-width:640px){
  .page-id-349 .hero-photo{height:clamp(560px,145vw,700px);}
}

/* Header di sezione generico (h2 + tag a destra) — riusato da più sezioni (Home e Eventi). */
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 20px;margin-bottom:22px;}
.section-head h2{font-size:clamp(22px,2.4vw,30px);}
.section-head .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.09em;opacity:0.55;}

/* Componente "prossimo evento" (shortcode [ejamu_prossimo_evento]) — condiviso tra Home ed Eventi,
   fedele al mockup "Pagina Eventi": box chiaro con locandina + chip categoria + estratto reale +
   riquadro "prenotazione" (luogo/organizzatore/posti con barra/costo). Non scoped a una singola
   pagina: niente prefisso .page-id-*, i nomi classe sono già specifici a questo componente. */
.featured{display:grid;grid-template-columns:0.62fr 1fr;gap:clamp(28px,4vw,48px);align-items:center;background:var(--paper-2);padding:clamp(32px,5vw,52px);}
/* Contenitore 4:5 (le locandine reali sono quasi sempre verticali, formato IG): le riempie quasi
   per intero invece di lasciare bande vuote. object-fit:contain + sfondo --paper-2 restano come
   rete di sicurezza per l'occasionale locandina orizzontale (mai tagliata, solo con bande laterali
   in quel caso raro). */
.featured .locandina{position:relative;aspect-ratio:4/5;max-height:560px;overflow:hidden;box-shadow:var(--shadow);background:var(--paper-2);display:flex;align-items:center;justify-content:center;}
.featured .locandina img{width:100%;height:100%;object-fit:contain;}
.featured h3{font-size:clamp(23px,2.4vw,32px);margin-bottom:10px;}
.featured p.desc{max-width:50ch;opacity:0.82;font-size:15px;}
@media (max-width:900px){
  .featured{grid-template-columns:1fr;}
  .featured .locandina{max-height:420px;}
}

/* Componenti "chip"/"datebadge"/"booking box"/bottone — generalizzati (non piu' scoped a
   .featured): riusati anche nella pagina evento singola (stesso design system, zero duplicazione). */
.chip{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.07em;padding:4px 9px;border:1px solid var(--sea);color:var(--sea);margin-bottom:12px;width:fit-content;}
.datebadge{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--sun);margin-bottom:8px;}
.booking{margin-top:16px;border:1px solid var(--line);padding:16px 18px;background:var(--card);}
.booking .row{display:flex;justify-content:space-between;gap:12px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;padding:6px 0;}
.booking .row b{color:var(--ink);font-weight:500;text-align:right;}
.slotbar{height:6px;background:var(--line);margin:2px 0 10px;position:relative;overflow:hidden;}
.slotbar span{position:absolute;inset:0 auto 0 0;height:100%;background:var(--good);}
.btn{display:inline-block;margin-top:6px;background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.07em;padding:11px 18px;text-decoration:none;text-align:center;transition:filter 0.15s;}
.btn:hover{filter:brightness(0.92);color:#241505;}
@media (max-width:520px){ .booking .row{flex-direction:column;gap:2px;} .booking .row b{text-align:left;} }

/* Stato vuoto di [ejamu_prossimo_evento] — nessun evento futuro in calendario */
.evento-vuoto{background:var(--card);padding:clamp(32px,5vw,52px);text-align:center;}
.evento-vuoto-msg{max-width:60ch;margin:0 auto 20px;opacity:0.82;font-size:15.5px;}
.evento-vuoto-recenti{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.evento-vuoto-label{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.09em;opacity:0.55;margin-bottom:16px;}
.recenti-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;}
.recente-card{display:block;text-decoration:none;color:var(--ink);}
.recente-img{aspect-ratio:4/5;overflow:hidden;margin-bottom:10px;border-radius:2px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;}
.recente-img img{width:100%;height:100%;object-fit:contain;filter:grayscale(0.4);transition:filter 0.15s;}
.recente-card:hover .recente-img img{filter:grayscale(0);}
.recente-data{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.55;}
.recente-card h4{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:none;font-size:17px;margin:4px 0 0;line-height:1.2;}
@media (max-width:700px){ .recenti-grid{grid-template-columns:1fr;} }

.page-id-349 .btn-outline{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.07em;border:1px solid var(--ink);padding:10px 16px;text-decoration:none;color:var(--ink);white-space:nowrap;transition:background 0.15s,color 0.15s;}
.page-id-349 .btn-outline:hover{background:var(--ink);color:var(--paper);}

/* Home — CTA verso il calendario completo, sostituisce la mini-lista duplicata (Task 9,
   ridondante con la pagina Eventi che fa gia' meglio filtri+lista). Attaccata subito sotto il box
   "Prossimo evento" (zero spazio tra le due sezioni) e colorata navy per leggersi come un unico
   blocco a due zone — bianco sopra (dettagli evento), navy sotto (richiamo al calendario) —
   invece di due sezioni scollegate. */
.page-id-349 .featured-evento-wrap{padding-bottom:0;}
.page-id-349 .eventi-cta{padding-top:0;padding-bottom:clamp(46px,7vw,80px);}
.page-id-349 .eventi-cta .inner{max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,40px) clamp(20px,4vw,48px);background:var(--sea);color:#FBF8F2;text-align:center;}
.page-id-349 .eventi-cta h2{font-size:clamp(22px,2.6vw,32px);margin-bottom:8px;color:#FBF8F2;}
.page-id-349 .eventi-cta p{opacity:0.8;margin-bottom:18px;color:#F1E9D8;}
.page-id-349 .eventi-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.page-id-349 .eventi-cta .btn{display:inline-block;background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.07em;padding:13px 22px;text-decoration:none;font-weight:700;transition:filter 0.15s;}
.page-id-349 .eventi-cta .btn:hover{filter:brightness(0.92);}
.page-id-349 .eventi-cta .btn-outline-chiaro{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.07em;border:1px solid rgba(251,248,242,0.5);padding:12px 22px;text-decoration:none;color:#FBF8F2;transition:background 0.15s,border-color 0.15s;}
.page-id-349 .eventi-cta .btn-outline-chiaro:hover{background:rgba(251,248,242,0.14);border-color:#FBF8F2;}

/* stacco cromatico tra il box "prossimo evento" e "Chi siamo" appena sotto (stesso --paper-2,
   si fondevano visivamente — segnalato da Davide): sfondo bianco solo su Home. */
.page-id-349 .featured{background:var(--card);}

/* Home — Chi siamo */
.page-id-349 section{padding:clamp(46px,7vw,80px) 0;}
.page-id-349 .about{background:var(--paper-2);}
.page-id-349 .about .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);display:grid;grid-template-columns:1fr 0.9fr;gap:clamp(28px,5vw,56px);align-items:center;}
.page-id-349 .about h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:16px;color:var(--ink);}
.page-id-349 .about p{max-width:52ch;opacity:0.85;color:var(--ink);}
.page-id-349 .about .photo{aspect-ratio:5/4;overflow:hidden;box-shadow:var(--shadow);}
.page-id-349 .about .photo img{width:100%;height:100%;object-fit:cover;}
.page-id-349 .stat-row{display:flex;gap:clamp(20px,4vw,40px);margin-top:24px;}
.page-id-349 .stat-row b{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:34px;color:var(--feature-bg);}
.page-id-349 .stat-row span{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.6;}
.page-id-349 .pullquote{margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--line);font-family:'Literata',serif;font-style:italic;font-size:16.5px;opacity:0.85;max-width:50ch;}
.page-id-349 .pullquote span{display:block;margin-top:8px;font-family:'IBM Plex Mono',monospace;font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.6;}
@media (max-width:900px){ .page-id-349 .about .wrap{grid-template-columns:1fr;} }

/* Home — Cosa facciamo */
.page-id-349 .focus{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:stretch;}
.page-id-349 .focus-tile{position:relative;min-height:320px;overflow:hidden;color:#FBF8F2;}
.page-id-349 .focus-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-id-349 .focus-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,12,9,0) 0%, rgba(10,12,9,0.35) 40%, rgba(8,9,7,0.94) 100%);}
.page-id-349 .focus-tile .inner{position:relative;z-index:1;padding:24px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;}
.page-id-349 .focus-tile .tagline{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;color:var(--sun);margin-bottom:8px;}
.page-id-349 .focus-tile.borghi .tagline{color:var(--fun);}
.page-id-349 .focus-tile h3{font-size:clamp(23px,2.3vw,32px);margin:0;color:#FBF8F2;}
.page-id-349 .focus-tile p{font-family:'Literata',serif;font-size:14px;opacity:0.85;max-width:30ch;margin-top:8px;color:#FBF8F2;}
.page-id-349 .focus-tile.secondary .tagline{background:var(--support);color:#FBF8F2;padding:3px 8px;display:inline-block;width:fit-content;white-space:nowrap;font-size:9.5px;margin-bottom:12px;}
@media (max-width:900px){ .page-id-349 .focus{grid-template-columns:1fr;} }

/* Home — Recensioni / Team / Blog teaser / Join */
.page-id-349 .reviews{background:var(--feature-bg);color:var(--paper-2);}
.page-id-349 .reviews .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.page-id-349 .reviews .section-head{border-color:rgba(251,248,242,0.2);border-bottom:1px solid rgba(251,248,242,0.2);padding-bottom:15px;margin-bottom:24px;}
.page-id-349 .reviews .section-head h2{color:#FBF8F2;}
.page-id-349 .reviews .section-head .tag{color:#B9D6E1;font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.1em;}
.page-id-349 .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.page-id-349 .review{border-left:2px solid var(--sun);padding-left:18px;}
.page-id-349 .review p{font-family:'Literata',serif;font-style:italic;font-size:15.5px;opacity:0.92;color:#FBF8F2;}
.page-id-349 .review .who{display:flex;align-items:center;gap:10px;margin-top:14px;}
.page-id-349 .review .avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;}
.page-id-349 .review .avatar.mono{display:flex;align-items:center;justify-content:center;background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;}
.page-id-349 .review .name{font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.05em;}

.page-id-349 .team-section{background:var(--team-bg);}
.page-id-349 .team-section .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.page-id-349 .team-section .section-head h2{color:var(--ink);}
.page-id-349 .team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 16px;}
.page-id-349 .member{flex:0 1 168px;max-width:168px;}
.page-id-349 .member .ph{aspect-ratio:1/1;overflow:hidden;box-shadow:var(--shadow);}
.page-id-349 .member .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.15);}
.page-id-349 .member b{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:15px;text-transform:none;margin-top:9px;color:var(--ink);}
.page-id-349 .member .prov{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.05em;opacity:0.5;display:block;margin-top:2px;}

.page-id-349 .blog-teaser .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.page-id-349 .blog-teaser .journal{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.page-id-349 .jcard .thumb{aspect-ratio:16/10;overflow:hidden;margin-bottom:14px;}
.page-id-349 .jcard .thumb img{width:100%;height:100%;object-fit:cover;}
.page-id-349 .jcard .d{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.55;margin-bottom:6px;display:block;}
.page-id-349 .jcard h4{font-family:'Literata',serif;font-style:italic;font-weight:600;text-transform:none;font-size:20px;line-height:1.25;margin:0 0 6px;color:var(--ink);}
.page-id-349 .jcard p{font-size:14.5px;opacity:0.78;margin:0;color:var(--ink);}
.page-id-349 .jcard a{display:inline-block;margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--sun);text-decoration:none;border-bottom:1px solid transparent;}
.page-id-349 .jcard a:hover{color:var(--sun);border-color:var(--sun);}
.page-id-349 .blog-teaser .section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:24px;}
.page-id-349 .blog-teaser .section-head h2{color:var(--ink);}

.page-id-349 .join{border-top:1px solid var(--line);}
.page-id-349 .join .wrap{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(20px,4vw,48px);}
.page-id-349 .join-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:stretch;}
.page-id-349 .join-left{display:flex;flex-direction:column;}
.page-id-349 .join h2{font-size:clamp(26px,3.2vw,40px);margin:0;color:var(--ink);}
.page-id-349 .join .box{background:var(--paper-2);border:1px solid var(--line);padding:28px 24px 24px;}
.page-id-349 .join-right{display:flex;flex-direction:column;justify-content:space-between;height:100%;box-sizing:border-box;}
.page-id-349 .join .box-logo{height:44px;width:auto;display:block;margin-bottom:14px;}
.page-id-349 .join .box-slogan{font-family:'Literata',serif;font-style:italic;font-size:13px;opacity:0.75;margin:0 0 18px;max-width:36ch;}
.page-id-349 .join .box .row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:12.5px;}
.page-id-349 .join .box .row:last-child{border-bottom:none;}
.page-id-349 .join .box b{color:var(--sun);}
.page-id-349 .join .box b a{color:inherit;text-decoration:none;}
.page-id-349 .join .box b a:hover{text-decoration:underline;}
.page-id-349 .join-right-support{margin-top:24px;}
.page-id-349 .box-support-text{font-size:13px;line-height:1.6;opacity:0.8;margin:0 0 16px;}
.page-id-349 .join-left .ejamu-form-wrap{margin-top:28px;}
.page-id-349 .cta-btn{display:inline-block;margin-top:16px;background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.07em;padding:11px 18px;text-decoration:none;transition:filter 0.15s;text-align:center;}
.page-id-349 .cta-btn:hover{filter:brightness(0.92);color:#241505;}
.page-id-349 .cta-btn.support:hover{color:#FBF8F2;}
.page-id-349 .cta-row{display:flex;gap:10px;flex-wrap:wrap;}
.page-id-349 .cta-btn.support{background:var(--support);color:#FBF8F2;}
.page-id-349 .cta-btn.full{width:100%;}

@media (max-width:900px){
  .page-id-349 .reviews-grid{grid-template-columns:1fr;}
  .page-id-349 .member{flex-basis:calc(50% - 8px);max-width:calc(50% - 8px);}
  .page-id-349 .blog-teaser .journal{grid-template-columns:1fr;}
  .page-id-349 .join-grid{grid-template-columns:1fr;}
}

/* ponytail: banner titolo/hero/padding/boxed nativi di Kadence disattivati su Home via i post meta
   nativi del tema (_kad_post_title=hide, _kad_post_feature=hide, _kad_post_content_style=unboxed,
   _kad_post_vertical_padding=hide — stessa impostazione del pannello "Page Layout" nell'editor),
   non via CSS override: e' la modalita' che il tema stesso espone per questo scopo.
   Verificato empiricamente che "unboxed" toglie solo sfondo/ombra "card" del content-wrap, NON il
   max-width del contenuto (screenshot prima/dopo confrontati): serve comunque il breakout CSS
   sotto per l'edge-to-edge reale delle sezioni Home a piena larghezza. */
.page-id-349 .ejamu-section{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}

/* ponytail: "Altri eventi in programma" non ha sfondo proprio (niente da estendere edge-to-edge),
   ha gia' la propria centratura (max-width:1180px;margin:0 auto) che il breakout .ejamu-section
   sopra rompeva (margin-left/-right:-50vw vince in cascata sull'auto, contenuto spinto a sinistra
   con vuoto a destra — bug reale visto e segnalato). Annullato qui, dopo la regola generica, per
   vincere in ordine di sorgente a parita' di specificita'. */
.page-id-349 .eventi-teaser{width:auto;position:static;left:auto;right:auto;margin-left:auto;margin-right:auto;}

/* Task 9 — Eventi (pagina 1106). Due giri precedenti scartati: il primo skinnava l'HTML nativo
   di MEC (markup legacy incompatibile, vedi wiki/log per i dettagli), il secondo ricostruiva la
   pagina "a memoria" senza il mockup reale sottomano — Davide l'ha giudicato "graficamente non
   all'altezza del mockup". Recuperato il mockup Claude Artifact originale ("Pagina Eventi") e
   riletto CSS/HTML esatti: questa versione li replica fedelmente. MEC resta solo motore **dati**
   (post type `mec-events` + tassonomie mec_category/mec_location/mec_organizer, admin invariato),
   l'output passa da un wrapper nostro (`[ejamu_eventi_lista]`), zero markup MEC da skinnare. */

.page-id-1106 .eventi-hero{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(20px,4vw,48px) 8px;}
.page-id-1106 .eventi-hero-grid{display:grid;grid-template-columns:1fr 260px;gap:clamp(24px,4vw,40px);align-items:start;}
.page-id-1106 .eventi-hero .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--sun);margin:0 0 10px;display:flex;align-items:center;gap:10px;}
.page-id-1106 .eventi-hero .eyebrow::before{content:"";width:24px;height:1px;background:var(--sun);}
.page-id-1106 .eventi-hero h1{font-size:clamp(30px,4vw,46px);margin:8px 0 12px;color:var(--ink);}
.page-id-1106 .eventi-hero .lede{font-family:'Literata',serif;font-style:italic;font-size:15.5px;opacity:0.8;max-width:60ch;margin:0;}
@media (max-width:900px){ .page-id-1106 .eventi-hero-grid{grid-template-columns:1fr;} }

/* pillole filtro categoria — dal mockup, non i select */
.page-id-1106 .filters{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px) 8px;display:flex;gap:10px;flex-wrap:wrap;}
.page-id-1106 .filters a{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;background:none;border:1px solid var(--line);padding:8px 14px;border-radius:99px;color:var(--ink);opacity:0.75;text-decoration:none;}
.page-id-1106 .filters a:hover{opacity:1;}
.page-id-1106 .filters a.on{opacity:1;border-color:var(--sun);background:var(--sun);color:#241505;}

/* filtri secondari (luogo/organizzatore/mese/anno/stato) — barra piu' discreta sotto le pillole,
   aggiunti su richiesta di Davide oltre a quanto mostrato nel mockup (che ha solo categoria).
   Il bordo inferiore separa anche visivamente i filtri dalla lista "Tutti gli eventi" sotto (il
   box "Prossimo evento" fra i due, segnalato come troppo attaccato, e' stato rimosso da questa
   pagina: e' un doppione di Home, e rompeva il feedback immediato dei filtri sulla lista). */
.page-id-1106 .eventi-filtri-secondari{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px) clamp(28px,4vw,40px);display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-bottom:1px solid var(--line);}
.page-id-1106 .eventi-filtri-secondari select{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink);opacity:0.8;background:var(--card);border:1px solid var(--line);border-radius:2px;padding:6px 8px;}
.page-id-1106 .eventi-filtri-reset{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink);border:1px solid var(--ink);padding:6px 12px;border-radius:2px;text-decoration:none;}
.page-id-1106 .eventi-filtri-reset:hover{background:var(--ink);color:var(--paper);}

.page-id-1106 .eventi-empty{max-width:1180px;margin:20px auto;padding:0 clamp(20px,4vw,48px);opacity:0.75;}

/* lista eventi a righe compatte (senza immagini), fedele al mockup — condivisa tra Eventi
   (sezione "Tutti gli eventi", wrapper completo) e Home ("Altri eventi in programma", solo
   .elist via [ejamu_eventi_lista wrapper="0"], la sezione la fornisce già .eventi-teaser). */
.page-id-1106 section.eventi-lista-wrap{max-width:1180px;margin:0 auto;padding:clamp(30px,4vw,44px) clamp(20px,4vw,48px);}
.elist{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.erow{display:grid;grid-template-columns:120px 80px 1fr auto auto;gap:24px;align-items:center;padding:26px 4px;border-bottom:1px solid var(--line);}
.erow-thumb{display:block;width:120px;height:150px;border-radius:2px;overflow:hidden;flex:none;background:var(--paper-2);}
.erow-thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.erow .dd{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:36px;line-height:0.9;color:var(--sea);}
.erow .dd small{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;text-transform:uppercase;color:var(--ink);opacity:0.55;margin-top:4px;}
.erow h4{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:none;font-size:23px;letter-spacing:0;line-height:1.15;margin:0;}
.erow .cat{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.55;margin-top:6px;display:block;}
.erow-desc{margin:6px 0 0;font-size:14px;opacity:0.75;max-width:60ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.status{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;padding:5px 11px;border-radius:99px;white-space:nowrap;}
.status.open{background:rgba(76,122,76,0.18);color:var(--good);}
.status.closed{background:var(--line);color:var(--ink);opacity:0.55;}
.erow .go{font-family:'IBM Plex Mono',monospace;font-size:12px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--sun);white-space:nowrap;}

@media (max-width:760px){
  .erow{grid-template-columns:80px 1fr;row-gap:8px;}
  .erow-thumb{display:none;}
  .erow .status,.erow .go{grid-column:2;}
}

/* mini-reminder fisso "prossimo evento" — solo desktop/tablet, sotto l'header sticky (non sopra:
   niente z-index in competizione, solo posizionato piu' in basso di header+utilitybar). Nascosto
   sotto i 1024px: poco spazio, diventerebbe un ostacolo invece che un promemoria. */
/* card normale nella colonna destra dell'hero (era position:fixed in alto a destra — si perdeva
   sotto l'header sticky, segnalato da Davide: due colonne nel flusso e' molto piu' robusto). */
.evento-mini-reminder{display:flex;flex-direction:column;gap:3px;width:100%;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:14px 16px;text-decoration:none;color:var(--ink);}
.evento-mini-reminder .label{font-family:'IBM Plex Mono',monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:0.08em;color:var(--sun);}
.evento-mini-reminder .data{font-family:'IBM Plex Mono',monospace;font-size:11px;opacity:0.7;}
.evento-mini-reminder .titolo{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:15px;line-height:1.1;margin:2px 0;}
.evento-mini-reminder .cta{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.05em;color:var(--sun);border-bottom:1px solid var(--sun);width:fit-content;margin-top:2px;}
.evento-mini-reminder:hover{border-color:var(--sun);}

/* Pagina evento singola (single-mec-events.php) — stesso design system del box "prossimo evento":
   chip/datebadge/booking già generalizzati sopra, qui solo il layout e la tipografia del
   contenuto reale (titoli/liste/citazioni scritti come blocchi Gutenberg normali). */
.evento-singolo{padding:clamp(32px,5vw,52px) 0 clamp(50px,7vw,80px);}
.evento-breadcrumb{font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.05em;opacity:0.55;margin-bottom:24px;}
.evento-breadcrumb a{color:inherit;text-decoration:none;}
.evento-breadcrumb a:hover{color:var(--sun);}
.evento-grid{display:grid;grid-template-columns:1fr 320px;gap:clamp(32px,5vw,56px);align-items:start;}
/* aspect-ratio 4:5 (le locandine reali sono quasi sempre verticali) + max-height di sicurezza sulle
   colonne larghe; object-fit:contain + --paper-2 restano rete di sicurezza per l'occasionale
   locandina orizzontale (mai tagliata). */
.evento-hero-img{aspect-ratio:4/5;max-height:640px;overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow);background:var(--paper-2);display:flex;align-items:center;justify-content:center;}
.evento-hero-img img{width:100%;height:100%;object-fit:contain;display:block;}
.evento-main h1{font-size:clamp(28px,3.6vw,44px);margin:6px 0 clamp(28px,4vw,40px);line-height:0.98;}
.evento-content{font-size:15.5px;line-height:1.68;}
.evento-content p{margin:0 0 12px;}
.evento-content p:last-child{margin-bottom:0;}
.evento-content ul{margin:0 0 16px;padding-left:22px;}
.evento-content li{margin-bottom:5px;}
.evento-content a{color:var(--sun);}

/* Sezioni auto-rilevate dal contenuto (H2/H3 → sezione, blockquote → Note, immagini → Galleria) */
.evento-blocco{margin-bottom:clamp(30px,4vw,42px);}
.evento-blocco:last-child{margin-bottom:0;}
.evento-blocco-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.evento-blocco-head svg{width:17px;height:17px;flex:none;color:var(--sun);}
.evento-blocco-head h2{font-size:15px;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);font-family:'Big Shoulders Display',sans-serif;font-weight:700;}
.evento-nota{background:var(--paper-2);border-left:3px solid var(--sun);padding:16px 20px;font-size:14px;font-style:italic;opacity:0.9;}
.evento-nota p{margin:0;}
/* Il blockquote nativo Gutenberg dentro .evento-nota porta già un suo bordo sinistro (regola
   globale Kadence su .wp-block-quote) — risultava doppio insieme al nostro. Resta solo il nostro. */
.evento-nota blockquote{border:none;margin:0;padding:0;}
.galleria-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.galleria-grid .g{aspect-ratio:4/3;overflow:hidden;}
.galleria-grid .g img{width:100%;height:100%;object-fit:cover;display:block;}

.timeline{list-style:none;margin:0;padding:0;}
.timeline li{display:grid;grid-template-columns:64px 1fr;gap:16px;position:relative;padding-bottom:20px;}
.timeline li:last-child{padding-bottom:0;}
.timeline li::before{content:'';position:absolute;left:29px;top:20px;bottom:0;width:1px;background:var(--line);}
.timeline li:last-child::before{display:none;}
.timeline .t{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--sun);padding-top:2px;}
.timeline .d{position:relative;}
.timeline .d b{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:700;text-transform:none;font-size:16px;letter-spacing:0;margin-bottom:2px;}
.timeline .d span{font-size:14px;opacity:0.75;}
.timeline .dot{position:absolute;left:-40px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--sun);}

.evento-sidebar{position:sticky;top:110px;}
.evento-sidebar .booking{margin-top:0;padding:0;overflow:hidden;}
.countdown-blocco{background:var(--barbg);color:#FBF8F2;padding:18px 18px 16px;}
.countdown-big{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:26px;text-transform:uppercase;line-height:0.95;color:var(--sun);}
.countdown-data{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:0.01em;opacity:0.95;margin-top:8px;line-height:1.15;}
.countdown-ora{font-family:'IBM Plex Mono',monospace;font-size:12px;opacity:0.75;margin-top:4px;}
.evento-sidebar .booking .row,.evento-sidebar .booking .slotbar{margin-left:18px;margin-right:18px;width:calc(100% - 36px);}
.evento-sidebar .booking .row:first-of-type{margin-top:16px;}
.evento-sidebar .booking .btn{margin:16px 18px 18px;width:calc(100% - 36px);}
.evento-sidebar .booking .row-scadenza{background:var(--paper-2);border-left:3px solid var(--sun);padding:8px 10px !important;margin-top:8px !important;margin-bottom:4px;box-sizing:border-box;}
.evento-sidebar .booking .row-scadenza b{color:var(--sun);}
.evento-sidebar .booking .row-costo b{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:17px;color:var(--ink);}
.evento-iscrizioni-chiuse{margin:16px 18px 18px;padding:12px 14px;background:var(--paper-2);border-left:3px solid var(--status-closed);font-size:12.5px;line-height:1.5;opacity:0.9;}
.badge-stato{display:inline-block;background:var(--status-open);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:5px 11px;border-radius:3px;margin-bottom:10px;}
.badge-stato.chiuso{background:var(--status-closed);}
@media (max-width:900px){
  .evento-grid{grid-template-columns:1fr;}
  .evento-sidebar{position:static;}
  .galleria-grid{grid-template-columns:1fr;}
}

/* ==== Task 10: Blog + archivio categorie — skin CSS su loop nativo Kadence ==== */
body.blog .entry-hero,body.archive .entry-hero{border-bottom:1px solid var(--line);}
body.blog .entry-hero .entry-hero-container-inner,body.archive .entry-hero .entry-hero-container-inner{background:var(--paper);padding:clamp(40px,6vw,64px) 0 clamp(28px,4vw,40px);}
body.blog .entry-hero .hero-container,body.archive .entry-hero .hero-container{max-width:1180px;padding:0 clamp(20px,4vw,48px);margin:0 auto;}
body.blog .entry-hero .entry-hero-container-inner .entry-header,body.archive .entry-hero .entry-hero-container-inner .entry-header{text-align:left;align-items:flex-start;justify-content:center;}
body.blog .entry-hero h1,body.archive .entry-hero h1{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.01em;line-height:0.92;font-size:clamp(30px,4vw,46px);color:var(--ink);margin:8px 0 12px;text-align:left;}
.blog-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--sun);margin:0;display:flex;align-items:center;gap:10px;}
.blog-eyebrow::before{content:"";width:24px;height:1px;background:var(--sun);}
.blog-lede{font-family:'Literata',serif;font-style:italic;max-width:60ch;opacity:0.8;margin:0;font-size:15.5px;color:var(--ink);text-align:left;}
.cats{display:flex;justify-content:flex-start;gap:9px;flex-wrap:wrap;margin:20px 0 0;}
.cats a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.05em;background:none;border:1px solid var(--line);padding:7px 13px;border-radius:99px;text-decoration:none;color:var(--ink);opacity:0.78;}
.cats a:hover{opacity:1;}
.cats a.on{opacity:1;border-color:var(--sun);background:var(--sun);color:#241505;}

body.blog #archive-container,body.archive #archive-container{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
body.blog .entry-list-item,body.archive .entry-list-item{margin:0;}
body.blog .entry.loop-entry,body.archive .entry.loop-entry{background:none;box-shadow:none;}
body.blog .entry.loop-entry .post-thumbnail-inner,body.archive .entry.loop-entry .post-thumbnail-inner{aspect-ratio:4/3;overflow:hidden;margin-bottom:14px;}
body.blog .entry.loop-entry .post-thumbnail-inner img,body.archive .entry.loop-entry .post-thumbnail-inner img{width:100%;height:100%;object-fit:cover;}
body.blog .entry.loop-entry .entry-content-wrap,body.archive .entry.loop-entry .entry-content-wrap{padding:0;}
.entry-taxonomies .category-links{font-size:0;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.entry-taxonomies .category-links a{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.07em;padding:4px 9px;border:1px solid var(--sea);color:var(--sea);text-decoration:none;display:inline-block;}
body.blog .entry-title,body.archive .entry-title{font-family:'Literata',serif;font-style:italic;font-weight:600;text-transform:none;font-size:20px;line-height:1.25;letter-spacing:0;margin:0 0 8px;}
body.blog .entry-title a,body.archive .entry-title a{color:var(--ink);text-decoration:none;}
body.blog .entry-meta,body.archive .entry-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;opacity:0.55;margin-top:0;}
body.blog .entry-meta .posted-by,body.archive .entry-meta .posted-by{display:none;}
body.blog .entry-summary,body.archive .entry-summary{font-size:14.5px;opacity:0.78;margin:0 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
body.blog .entry-summary p,body.archive .entry-summary p{margin:0;}
body.blog .entry-footer,body.archive .entry-footer{display:none;}

/* primo articolo del blog (più recente) in evidenza a 2 colonne, stesso pattern del mockup */
body.blog #archive-container .entry-list-item:first-child{grid-column:1/-1;}
body.blog #archive-container .entry-list-item:first-child .entry{display:grid;grid-template-columns:1.15fr 1fr;gap:0;box-shadow:var(--shadow);}
body.blog #archive-container .entry-list-item:first-child .post-thumbnail{position:relative;min-height:320px;}
body.blog #archive-container .entry-list-item:first-child .post-thumbnail-inner{position:absolute;inset:0;aspect-ratio:auto;margin:0;}
body.blog #archive-container .entry-list-item:first-child .entry-content-wrap{padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;justify-content:center;background:var(--card);}
body.blog #archive-container .entry-list-item:first-child .entry-title{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-style:normal;font-size:clamp(26px,2.8vw,38px);letter-spacing:0.01em;line-height:0.95;}
body.blog #archive-container .entry-list-item:first-child .entry-summary{font-size:15px;opacity:0.82;max-width:52ch;-webkit-line-clamp:4;}

@media (max-width:900px){
  body.blog #archive-container,body.archive #archive-container{grid-template-columns:1fr;}
  body.blog #archive-container .entry-list-item:first-child .entry{grid-template-columns:1fr;}
  body.blog #archive-container .entry-list-item:first-child .post-thumbnail{min-height:220px;}
}

/* Task 1 — login/registrazione WooCommerce (ADR-006) */
#customer_login{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,56px);max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px);}
#customer_login .u-column1,#customer_login .u-column2{flex:1 1 320px;min-width:280px;}
#customer_login h2,#customer_login h3{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.01em;margin:0 0 20px;}
.woocommerce-account .entry-content h2{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.01em;margin:0 0 20px;}
.woocommerce-form-row.form-row,.woocommerce-form-row{margin:0 0 16px;}
.woocommerce-form-row label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.7;margin-bottom:6px;}
.woocommerce-form-row .required{color:var(--support);}
.woocommerce-Input,#customer_login input[type="text"],#customer_login input[type="email"],#customer_login input[type="password"]{width:100%;padding:12px 14px;border:1.5px solid var(--line);background:var(--card);font-family:'Literata',Georgia,serif;font-size:15px;color:var(--ink);border-radius:2px;}
.woocommerce-Input:focus{outline:none;border-color:var(--sea);}
.woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:none;letter-spacing:0;opacity:0.85;margin-bottom:0;}
#customer_login .form-row,.woocommerce-form-login .form-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.woocommerce-button,.woocommerce-Button,button.woocommerce-button,button.woocommerce-Button,a.woocommerce-button,a.woocommerce-Button,input.woocommerce-button,input.woocommerce-Button{display:inline-block;background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.07em;padding:11px 20px;border:none;cursor:pointer;transition:filter 0.15s;}
.woocommerce-button:hover,.woocommerce-Button:hover,button.woocommerce-button:hover,button.woocommerce-Button:hover,a.woocommerce-button:hover,a.woocommerce-Button:hover{filter:brightness(0.92);color:#241505;}
.woocommerce-LostPassword a{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--sea);text-decoration:underline;}
.woocommerce-notices-wrapper .woocommerce-error{list-style:none;margin:0 auto clamp(20px,4vw,32px);max-width:1180px;padding:14px clamp(20px,4vw,48px);background:#FBEAE6;border-left:3px solid var(--support);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:13px;}

/* Task 2 — avatar + dropdown account (ADR-006) */
.account-menu{position:relative;display:flex;align-items:center;}
.account-menu-toggle-input{position:absolute;opacity:0;pointer-events:none;}
.account-menu-trigger{cursor:pointer;display:flex;align-items:center;border-radius:50%;overflow:hidden;width:32px;height:32px;border:1.5px solid rgba(251,248,242,0.4);}
.account-menu-trigger img{display:block;width:100%;height:100%;object-fit:cover;}
.account-menu-dropdown{display:none;position:absolute;top:calc(100% + 10px);right:0;background:var(--card);color:var(--ink);min-width:190px;box-shadow:var(--shadow);border-radius:2px;z-index:50;flex-direction:column;overflow:hidden;}
.account-menu-dropdown a{padding:12px 16px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.05em;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);}
.account-menu-dropdown a:last-child{border-bottom:none;color:var(--support);}
.account-menu-dropdown a:hover{background:var(--paper-2);}
.account-menu-toggle-input:checked ~ .account-menu-dropdown{display:flex;}

/* Task 3 — pagine account loggato (ADR-006) */
.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.woocommerce-account .entry-content{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,48px);padding:clamp(32px,5vw,64px) 0;}
.woocommerce-MyAccount-navigation{flex:0 0 220px;padding:0;}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;}
.woocommerce-MyAccount-navigation-link{border-bottom:1px solid var(--line);}
.woocommerce-MyAccount-navigation-link:last-child{border-bottom:none;}
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a{display:block;padding:13px 16px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.05em;text-decoration:none;color:var(--ink);opacity:0.8;}
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a:hover{opacity:1;background:var(--paper-2);}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active a{opacity:1;background:var(--sea);color:#FBF8F2;}
.woocommerce-MyAccount-content{flex:1 1 480px;min-width:280px;padding:0;}
.woocommerce-MyAccount-content .woocommerce-Button,.woocommerce-MyAccount-content .woocommerce-button{background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.07em;padding:10px 18px;border:none;text-decoration:none;display:inline-block;}
.woocommerce-MyAccount-content .woocommerce-Button:hover{filter:brightness(0.92);color:#241505;}
.woocommerce-orders-table{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:13px;}
.woocommerce-orders-table__header{text-align:left;padding:10px 8px;border-bottom:2px solid var(--ink);text-transform:uppercase;font-size:11px;letter-spacing:0.05em;opacity:0.7;}
.woocommerce-orders-table__cell{padding:12px 8px;border-bottom:1px solid var(--line);}
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status{color:var(--good);}
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status{color:var(--sun);}
.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status{color:var(--support);}
.woocommerce-EditAccountForm .form-row,.woocommerce-address-fields__field-wrapper .form-row{margin:0 0 16px;}
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,.woocommerce-account .woocommerce-EditAccountForm .form-row-last{width:calc(50% - 10px);}
.woocommerce-EditAccountForm fieldset{border:1px solid var(--line);padding:20px;margin-top:24px;border-radius:2px;}
.woocommerce-EditAccountForm legend{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;padding:0 10px;}
.woocommerce-Addresses{display:flex;flex-wrap:wrap;gap:24px;list-style:none;padding:0;margin:0;}
.woocommerce-Address{flex:1 1 260px;border:1px solid var(--line);border-radius:2px;padding:20px;position:relative;}
.woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;margin:0 0 12px;}
.woocommerce-Address-title .edit{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:none;font-weight:400;letter-spacing:0.04em;color:var(--sea);}
@media (max-width:780px){
  .woocommerce-account .entry-content{flex-direction:column;}
  .woocommerce-MyAccount-navigation{flex:1 1 auto;}
  .woocommerce-account .woocommerce-EditAccountForm .form-row-first,.woocommerce-account .woocommerce-EditAccountForm .form-row-last{width:100%;float:none;}
}

/* Task 3 fix — hero pagina account, stile Eventi (ADR-006 post-verifica) */
.page-id-3553 .account-hero{flex:1 1 100%;max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(20px,4vw,48px) 8px;}
.page-id-3553 .account-hero .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--sun);margin:0 0 10px;display:flex;align-items:center;gap:10px;}
.page-id-3553 .account-hero .eyebrow::before{content:"";width:24px;height:1px;background:var(--sun);}
.page-id-3553 .account-hero h1{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.01em;font-size:clamp(30px,4vw,46px);margin:8px 0 0;color:var(--ink);}

/* Task 2 — card organizzatore con foto (evento) + contatti condivisi (ADR-007) */
.member-contatti{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.04em;margin-top:4px;}
.member-contatti a{color:var(--sea);text-decoration:none;}
.member-contatti a:hover{text-decoration:underline;}
/* Organizzatori: sezione propria nel contenuto principale (non più stretta nella sidebar) —
   staccata su richiesta di Davide dopo aver trovato la versione in sidebar "troppo caotica",
   evidenziata in navy (--sea) per leggersi visivamente a parte dalla descrizione dell'evento. */
.organizzatori-box{margin-top:16px;background:var(--card);color:var(--ink);padding:16px 18px;border:1px solid var(--line);}
.organizzatori-box-head{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.organizzatori-box-head svg{width:16px;height:16px;flex:none;color:var(--fun);}
.organizzatori-box-head span{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink);}
.organizzatori-list{display:flex;flex-direction:column;gap:16px;}
.organizzatore-card{display:flex;align-items:center;gap:12px;}
.organizzatore-foto{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;border:2px solid rgba(33,28,22,0.15);}
.organizzatore-info b{font-family:'Literata',Georgia,serif;font-weight:600;font-size:14px;display:block;color:var(--ink);}
.organizzatori-box .member-contatti a{color:var(--fun);}

/* Form contatti nostro (ADR-007, sostituisce WPForms — disinstallato: pesante/fuori stile per 4
   campi, 2 bug reali causati dalla sua API di creazione). Stile coerente col resto del sito. */
.page-id-349 .ejamu-form-wrap{margin-top:24px;max-width:480px;}
.ejamu-form-grid{display:flex;gap:12px;}
.ejamu-form-grid .ejamu-form-row{flex:1 1 0;}
.ejamu-form-row{margin-bottom:12px;}
.ejamu-form-row label{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.7;margin-bottom:4px;}
.ejamu-form-row input,.ejamu-form-row select,.ejamu-form-row textarea{width:100%;padding:8px 11px;border:1.5px solid var(--line);background:var(--card);font-family:'Literata',Georgia,serif;font-size:13.5px;color:var(--ink);border-radius:2px;}
.ejamu-form-row input:focus,.ejamu-form-row select:focus,.ejamu-form-row textarea:focus{outline:none;border-color:var(--sea);}
.ejamu-form-submit{display:inline-block;background:var(--sun);color:#241505;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.07em;padding:9px 20px;border:none;cursor:pointer;transition:filter 0.15s;}
@media (max-width:480px){.ejamu-form-grid{flex-direction:column;gap:0;}}
.ejamu-form-submit:hover{filter:brightness(0.92);color:#241505;}
.ejamu-form-esito{padding:12px 16px;margin-bottom:20px;font-family:'IBM Plex Mono',monospace;font-size:13px;border-left:3px solid;}
.ejamu-form-esito.ok{background:var(--paper-2);border-color:var(--good);}
.ejamu-form-esito.errore{background:#FBEAE6;border-color:var(--support);}

/* Modalità manutenzione (ADR-005) */
.ejamu-header-ridotto{justify-content:center;padding:20px clamp(20px,4vw,48px);}
.ejamu-header-ridotto .brand img{height:32px;width:auto;display:block;}
.ejamu-manutenzione{background:var(--paper);color:var(--ink);min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:'Literata',Georgia,serif;}
.ejamu-manutenzione-schermata{max-width:480px;text-align:center;padding:40px 24px;}
.ejamu-manutenzione-logo{height:48px;width:auto;margin:0 auto 24px;display:block;}
.ejamu-manutenzione-schermata .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--sun);margin:0 0 10px;justify-content:center;}
.ejamu-manutenzione-schermata h1{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(32px,5vw,48px);margin:0 0 16px;}
.ejamu-manutenzione-testo{font-size:15px;line-height:1.6;opacity:0.85;margin:0 0 24px;}
.ejamu-manutenzione-testo a{color:var(--sea);text-decoration:underline;}
.ejamu-manutenzione-social{display:flex;justify-content:center;gap:20px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;}
.ejamu-manutenzione-social a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;}
.ejamu-manutenzione-social a:hover{color:var(--sun);border-color:var(--sun);}
