/* ============================================================
   EVENTI TORINO v2.1 – Frontend Styles
   ============================================================ */

:root {
    --et-primary:   #8B1A1A;
    --et-primary-d: #6a1212;
    --et-accent:    #D4AF37;
    --et-dark:      #1a1a2e;
    --et-gray:      #6c757d;
    --et-light:     #f8f7f5;
    --et-border:    #e2ddd8;
    --et-radius:    12px;
    --et-shadow:    0 2px 14px rgba(0,0,0,.07);
    --et-shadow-h:  0 8px 28px rgba(0,0,0,.13);
    --et-font:      -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --et-trans:     .2s ease;
}

/* ============================================================
   TOOLBAR
   ============================================================ */

.et-toolbar {
    background: #fff;
    border: 1px solid var(--et-border);
    border-radius: var(--et-radius);
    box-shadow: var(--et-shadow);
    padding: 16px 20px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* CTA sopra la toolbar */
.et-cta-wrapper {
    margin-bottom: 14px;
    display: flex;
    justify-content: flex-end;
}

.et-cta-aggiungi {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    background: var(--et-primary);
    color: #fff !important;
    border-radius: 9px;
    font-family: var(--et-font);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: var(--et-trans);
    box-shadow: 0 4px 14px rgba(139,26,26,.28);
    white-space: nowrap;
    letter-spacing: .01em;
}
.et-cta-aggiungi:hover {
    background: var(--et-primary-d);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(139,26,26,.36);
    color: #fff !important;
}

.et-filters-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
}

.et-filter-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.et-filter-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--et-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--et-gray);
    white-space: nowrap;
    min-width: 80px;
}

/* DATE inline */
.et-date-form {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* PERIODO: campi data */
.et-date-fields {
    display: flex;
    align-items: stretch;
    gap: 8px;
    flex-wrap: wrap;
}

.et-filter-date .et-date-field,
.et-date-field {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    background: #fff !important;
    border: 1.5px solid #d9d5cf !important;
    border-radius: 9px !important;
    padding: 6px 12px !important;
    min-height: 48px !important;
    height: auto !important;
    width: 122px;
    box-sizing: border-box !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color var(--et-trans), box-shadow var(--et-trans);
}
.et-date-field:focus-within {
    border-color: var(--et-primary) !important;
    box-shadow: 0 0 0 3px rgba(139,26,26,.08);
}

.et-date-field-label {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #a0a0a0 !important;
    line-height: 1 !important;
    margin: 0 !important;
    pointer-events: none;
}

.et-date-inp {
    border: none !important;
    background: transparent !important;
    font-family: var(--et-font) !important;
    font-size: 14px !important;
    color: var(--et-dark) !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 22px !important;
    min-height: 0 !important;
    max-height: 24px !important;
    line-height: 22px !important;
    width: 100% !important;
    min-width: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
}
.et-date-inp::-webkit-calendar-picker-indicator {
    opacity: .7;
    cursor: pointer;
    margin-left: 2px;
}

.et-date-clear {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 14px;
    min-height: 48px;
    font-family: var(--et-font);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--et-primary);
    background: rgba(139,26,26,.08);
    border-radius: 9px;
    text-decoration: none !important;
    transition: var(--et-trans);
    white-space: nowrap;
}
.et-date-clear svg { flex-shrink: 0; }
.et-date-clear:hover { background: var(--et-primary); color: #fff; }

/* PILLS categorie */
.et-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.et-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    font-family: var(--et-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--et-gray);
    background: var(--et-light);
    border: 1.5px solid var(--et-border);
    text-decoration: none !important;
    transition: var(--et-trans);
    white-space: nowrap;
}
.et-pill:hover { color: var(--et-primary); border-color: var(--et-primary); background: #fff; }
.et-pill.active { background: var(--et-primary); color: #fff !important; border-color: var(--et-primary); }

/* SELECT categoria (menu a tendina) */
.et-cat-form { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.et-cat-select-wrap { position: relative; display: inline-flex; width: 100%; max-width: 320px; }
.et-cat-select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    width: 100%;
    padding: 10px 40px 10px 14px;
    border: 1.5px solid var(--et-border);
    border-radius: 8px;
    background-color: var(--et-light);
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'14'%20height%3D'14'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23888'%20stroke-width%3D'2.5'%3E%3Cpolyline%20points%3D'6%209%2012%2015%2018%209'%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    font-family: var(--et-font);
    font-size: 14px; font-weight: 600;
    color: var(--et-dark);
    cursor: pointer;
    transition: border-color var(--et-trans), background-color var(--et-trans);
}
.et-cat-select:hover { border-color: var(--et-primary); background-color: #fff; }
.et-cat-select:focus { outline: none; border-color: var(--et-primary); background-color: #fff; box-shadow: 0 0 0 3px rgba(139,26,26,.1); }
.et-cat-go {
    padding: 9px 14px; border: none; border-radius: 8px;
    background: var(--et-primary); color: #fff; font-weight: 700; cursor: pointer;
}

/* SEGMENTED ingresso */
.et-segmented {
    display: inline-flex;
    background: var(--et-light);
    border: 1.5px solid var(--et-border);
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
}
.et-seg-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 6px;
    font-family: var(--et-font);
    font-size: 13px;
    font-weight: 600;
    color: #666;
    text-decoration: none !important;
    transition: var(--et-trans);
    white-space: nowrap;
}
.et-seg-btn:hover { color: var(--et-primary); }
.et-seg-btn.active { background: #fff; color: var(--et-primary) !important; box-shadow: 0 1px 4px rgba(0,0,0,.1); }

/* Reset */
.et-reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    font-family: var(--et-font);
    font-size: 12px;
    font-weight: 600;
    color: var(--et-gray);
    border: 1.5px solid var(--et-border);
    border-radius: 7px;
    text-decoration: none !important;
    transition: var(--et-trans);
    white-space: nowrap;
    background: #fff;
}
.et-reset-btn:hover { color: var(--et-primary); border-color: var(--et-primary); }

/* Contatore */
.et-results-count { font-size: 13px; color: var(--et-gray); margin-bottom: 16px; font-style: italic; }

/* ============================================================
   GRIGLIA EVENTI
   ============================================================ */

.et-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 24px;
}

/* ============================================================
   CARD
   ============================================================ */

.et-card {
    background: #fff;
    border-radius: var(--et-radius);
    box-shadow: var(--et-shadow);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform var(--et-trans), box-shadow var(--et-trans);
    border: 1px solid var(--et-border);
}
.et-card:hover { transform: translateY(-4px); box-shadow: var(--et-shadow-h); }

.et-card-img-link { display:block; position:relative; overflow:hidden; aspect-ratio:16/9; text-decoration:none; }
.et-card-img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; display:block; }
.et-card:hover .et-card-img { transform:scale(1.04); }
.et-card-img-placeholder { background:linear-gradient(135deg, var(--et-primary) 0%, var(--et-primary-d) 100%); display:flex; align-items:center; justify-content:center; font-size:50px; color:rgba(255,255,255,.2); height:100%; }

.et-card-badges { position:absolute; top:10px; left:10px; display:flex; gap:5px; flex-wrap:wrap; }
.et-badge { display:inline-block; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.badge-oggi    { background:var(--et-accent); color:var(--et-dark); }
.badge-weekend { background:rgba(255,255,255,.9); color:var(--et-primary); }
.badge-gratis  { background:#1a7a4a; color:#fff; }

.et-card-body { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.et-card-cat  { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--et-primary); margin-bottom:7px; display:block; }
.et-card-title { font-size:16px; font-weight:700; line-height:1.3; margin:0 0 10px; color:var(--et-dark); }
.et-card-title a { color:inherit; text-decoration:none; transition:color var(--et-trans); }
.et-card-title a:hover { color:var(--et-primary); }
.et-card-meta { display:flex; flex-wrap:wrap; gap:5px 10px; margin-bottom:10px; font-size:12px; color:var(--et-gray); }
.et-meta-item { display:flex; align-items:center; gap:4px; }
.et-meta-full  { width:100%; }
.et-card-excerpt { font-size:13px; color:#555; line-height:1.6; flex:1; margin-bottom:14px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.et-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid var(--et-border); gap:8px; }
.et-prezzo-gratis { color:#1a7a4a; font-weight:700; font-size:13px; }
.et-prezzo-val    { color:var(--et-primary); font-weight:700; font-size:14px; }
.et-card-actions  { display:flex; gap:7px; }

.et-btn-primary, .et-btn-secondary {
    display:inline-flex; align-items:center;
    padding:7px 14px; border-radius:7px;
    font-family:var(--et-font); font-size:13px; font-weight:600;
    text-decoration:none !important; transition:var(--et-trans); cursor:pointer;
}
.et-btn-primary  { background:var(--et-primary); color:#fff !important; }
.et-btn-primary:hover  { background:var(--et-primary-d); }
.et-btn-secondary { background:var(--et-light); color:var(--et-dark) !important; border:1px solid var(--et-border); }
.et-btn-secondary:hover { background:var(--et-border); }

/* URL visibile ma NON cliccabile nella lista (opzione "url_testo") */
.et-list-url-testo {
    display:inline-flex; align-items:center; gap:6px;
    padding:7px 14px; border-radius:7px;
    font-family:var(--et-font); font-size:13px; font-weight:500;
    color:var(--et-muted, #888);
    background:var(--et-light); border:1px solid var(--et-border);
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    cursor:default; user-select:all;
}
.et-list-url-testo svg { flex-shrink:0; opacity:.55; }

.et-no-eventi { text-align:center; padding:60px 20px; color:var(--et-gray); }
.et-no-eventi-icon { font-size:48px; margin-bottom:12px; }
.et-no-eventi p { font-size:16px; margin-bottom:16px; }

/* ============================================================
   SINGOLO EVENTO
   ============================================================ */

.et-single { font-family:var(--et-font); }

.et-cats-inline { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:16px; }
.et-single-cat {
    display:inline-block;
    background:var(--et-primary); color:#fff;
    font-size:11px; font-weight:700; letter-spacing:.06em;
    text-transform:uppercase; padding:4px 12px; border-radius:999px;
}
.et-cat-location { background:var(--et-dark); }

.et-single-infobox {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
    gap:12px;
    background:var(--et-light);
    border-radius:var(--et-radius);
    padding:18px;
    margin-bottom:22px;
    border:1px solid var(--et-border);
}
.et-info-item { display:flex; align-items:flex-start; gap:10px; }
.et-info-icon {
    width:34px; height:34px;
    background:var(--et-primary); color:#fff;
    border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.et-info-label { font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--et-gray); margin-bottom:3px; }
.et-info-value { font-size:14px; font-weight:600; color:var(--et-dark); line-height:1.3; }
.et-prezzo-badge-gratis { background:#1a7a4a; color:#fff; padding:3px 10px; border-radius:999px; font-size:12px; }
.et-prezzo-badge-paid   { background:var(--et-primary); color:#fff; padding:3px 10px; border-radius:999px; font-size:12px; }

.et-single-cta { margin-bottom:22px; }
.et-btn-cta {
    display:inline-flex; align-items:center; gap:8px;
    padding:12px 22px; background:var(--et-primary); color:#fff !important;
    border-radius:9px; font-family:var(--et-font); font-size:14px; font-weight:700;
    text-decoration:none !important; transition:var(--et-trans);
    box-shadow:0 3px 10px rgba(139,26,26,.25);
}
.et-btn-cta:hover { background:var(--et-primary-d); transform:translateY(-1px); box-shadow:0 5px 14px rgba(139,26,26,.32); }

/* URL visibile ma non cliccabile */
.et-url-testo {
    display:inline-flex; align-items:center; gap:7px;
    font-size:13px; color:#666; font-family:var(--et-font);
    background:#f5f5f5; border:1px solid #e0e0e0;
    border-radius:7px; padding:9px 14px;
    word-break:break-all; cursor:default;
    user-select:text;
}
.et-url-testo svg { flex-shrink:0; opacity:.5; }

.et-single-content { line-height:1.85; font-size:16px; color:#333; margin-bottom:28px; }

.et-single-gallery { margin-bottom:28px; }
.et-gallery-title { font-size:16px; font-weight:700; color:var(--et-dark); margin-bottom:12px; padding-bottom:8px; border-bottom:2px solid var(--et-border); }
.et-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:8px; }
.et-gallery-item img { width:100%; height:140px; object-fit:cover; border-radius:8px; transition:transform var(--et-trans); display:block; }
.et-gallery-item img:hover { transform:scale(1.04); }

.et-single-nav { display:flex; justify-content:space-between; gap:12px; margin-top:32px; padding-top:20px; border-top:1px solid var(--et-border); }
.et-single-nav a { flex:1; padding:10px 14px; border-radius:9px; border:1px solid var(--et-border); color:var(--et-dark) !important; text-decoration:none !important; font-family:var(--et-font); font-size:13px; font-weight:600; transition:var(--et-trans); display:flex; align-items:center; gap:6px; overflow:hidden; }
.et-single-nav a:hover { border-color:var(--et-primary); color:var(--et-primary) !important; background:var(--et-light); }
.et-nav-next { justify-content:flex-end; text-align:right; }

/* ============================================================
   FORM MULTI-STEP
   ============================================================ */

.et-form-wrapper {
    min-height: 200px; max-width:680px; margin:0 auto; font-family:var(--et-font); }

.et-progress { margin-bottom:28px; }
.et-progress-bar { height:3px; background:var(--et-border); border-radius:2px; margin-bottom:12px; overflow:hidden; }
.et-progress-fill { height:100%; background:linear-gradient(90deg, var(--et-primary), var(--et-accent)); border-radius:2px; transition:width .4s ease; width:33.33%; }
.et-steps-labels { display:flex; justify-content:space-between; }
.et-step-label { font-size:12px; font-weight:600; color:var(--et-gray); letter-spacing:.04em; transition:color var(--et-trans); }
.et-step-label.active { color:var(--et-primary); }

.et-step { display:none; background:#fff; border-radius:var(--et-radius); padding:32px; box-shadow:var(--et-shadow); border:1px solid var(--et-border); animation:et-fadein .25s ease; }
.et-step.active { display:block; }
@keyframes et-fadein { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.et-step-header { text-align:center; margin-bottom:24px; }
.et-step-icon   { font-size:36px; margin-bottom:8px; }
.et-step-header h3 { font-size:18px; font-weight:800; color:var(--et-dark); margin:0 0 4px; }
.et-step-header p  { color:var(--et-gray); font-size:13px; margin:0; }

.et-field { margin-bottom:18px; }
.et-field label { display:block; font-size:13px; font-weight:700; color:#333; margin-bottom:6px; font-family:var(--et-font); }
.et-optional { font-weight:400; color:var(--et-gray); font-size:12px; }
.req { color:var(--et-primary); }

.et-field input[type="text"],
.et-field input[type="email"],
.et-field input[type="url"],
.et-field input[type="date"],
.et-field input[type="time"],
.et-field select,
.et-field textarea {
    width:100% !important; padding:10px 13px !important;
    border:1.5px solid var(--et-border) !important; border-radius:8px !important;
    font-size:14px !important; color:var(--et-dark) !important; background:#fff !important;
    transition:border-color var(--et-trans), box-shadow var(--et-trans) !important;
    box-sizing:border-box !important; font-family:var(--et-font) !important;
    box-shadow:none !important;
}
.et-field input:focus, .et-field select:focus, .et-field textarea:focus {
    outline:none !important; border-color:var(--et-primary) !important;
    box-shadow:0 0 0 3px rgba(139,26,26,.1) !important;
}
.et-field textarea { resize:vertical; min-height:120px; line-height:1.6; }
.et-field small { display:block; margin-top:4px; font-size:12px; color:var(--et-gray); }

.et-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* Toggle prezzo – refatto per non interferire con il tema */
.et-prezzo-row { margin-bottom:10px; }
.et-toggle-label {
    display:inline-flex !important;
    align-items:center !important;
    gap:10px !important;
    cursor:pointer !important;
    user-select:none;
    font-family:var(--et-font);
    font-weight:600;
    font-size:14px;
    color:var(--et-dark);
}
/* Nascondi l'input nativo completamente */
.et-toggle-label input[type="checkbox"] {
    position:absolute !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    pointer-events:none !important;
}
/* Track */
.et-toggle-track {
    position:relative;
    display:inline-block;
    width:42px;
    height:24px;
    background:var(--et-border);
    border-radius:999px;
    transition:background var(--et-trans);
    flex-shrink:0;
}
/* Thumb */
.et-toggle-thumb {
    position:absolute;
    top:3px; left:3px;
    width:18px; height:18px;
    background:#fff;
    border-radius:50%;
    transition:transform var(--et-trans);
    box-shadow:0 1px 4px rgba(0,0,0,.2);
    pointer-events:none;
}
/* Checked state via JS (aggiunge classe .is-on al track) */
.et-toggle-track.is-on { background:#1a7a4a; }
.et-toggle-track.is-on .et-toggle-thumb { transform:translateX(18px); }

.et-toggle-text { line-height:1; }

.et-prezzo-input-wrap { margin-top:10px; }
.et-input-euro { position:relative; display:flex; align-items:center; }
.et-euro-sym { position:absolute; left:13px; color:var(--et-gray); font-weight:700; font-size:15px; pointer-events:none; z-index:1; }
.et-field .et-input-euro input[type="text"],
.et-input-euro input { padding-left:34px !important; }

/* Upload */
.et-upload-area { border:2px dashed var(--et-border); border-radius:10px; transition:border-color var(--et-trans),background var(--et-trans); overflow:hidden; cursor:pointer; position:relative; }
.et-upload-area:hover, .et-upload-area.dragover { border-color:var(--et-primary); background:rgba(139,26,26,.03); }
.et-upload-area input[type="file"] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.et-upload-placeholder { padding:22px; text-align:center; pointer-events:none; }
.et-upload-icon { font-size:30px; margin-bottom:6px; display:block; }
.et-upload-placeholder p { margin:0 0 4px; font-size:14px; font-weight:600; color:#444; }
.et-upload-placeholder small { color:var(--et-gray); font-size:12px; }
.et-preview-grid { display:flex; flex-wrap:wrap; gap:8px; padding:10px; }
.et-preview-item { position:relative; width:72px; height:72px; border-radius:7px; overflow:hidden; }
.et-preview-item img { width:100%; height:100%; object-fit:cover; }
.et-preview-remove { position:absolute; top:3px; right:3px; width:18px; height:18px; background:rgba(0,0,0,.65); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; cursor:pointer; border:none; font-family:sans-serif; }

/* Privacy step 3 */
.et-privacy-note { display:flex; gap:14px; align-items:flex-start; background:#f0f7ff; border-radius:10px; padding:15px; margin-bottom:16px; border:1px solid #c8dff5; }
.et-privacy-note-icon { font-size:20px; flex-shrink:0; margin-top:1px; }
.et-privacy-note strong { display:block; font-size:13px; color:#1a3a5c; margin-bottom:4px; }
.et-privacy-note p { margin:0 0 6px; font-size:13px; color:#3a5a7c; line-height:1.5; }
.et-privacy-note p:last-child { margin-bottom:0; }
.et-verify-hint { font-size:12px !important; background:rgba(139,26,26,.06); border-radius:6px; padding:8px 10px; color:#555 !important; }

.et-field-privacy { margin-top:4px; }
.et-privacy-check-label { display:flex !important; align-items:flex-start !important; gap:10px !important; cursor:pointer !important; font-weight:normal !important; font-size:13px !important; color:#444 !important; line-height:1.5 !important; }
.et-privacy-check-label input[type="checkbox"] { width:16px !important; height:16px !important; margin-top:2px !important; flex-shrink:0 !important; accent-color:var(--et-primary) !important; cursor:pointer !important; }
.et-privacy-check-label a { color:var(--et-primary) !important; text-decoration:underline !important; }

/* Nav step */
.et-nav { display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding-top:16px; border-top:1px solid var(--et-border); gap:10px; }
.et-btn-next, .et-btn-prev, .et-btn-submit {
    display:inline-flex; align-items:center; gap:6px;
    padding:11px 22px; border-radius:8px; font-size:14px; font-weight:700;
    border:none; cursor:pointer; transition:var(--et-trans); font-family:var(--et-font);
}
.et-btn-next, .et-btn-submit { background:var(--et-primary); color:#fff; margin-left:auto; }
.et-btn-next:hover, .et-btn-submit:hover { background:var(--et-primary-d); }
.et-btn-prev { background:var(--et-light); color:var(--et-dark); border:1px solid var(--et-border); }
.et-btn-prev:hover { background:var(--et-border); }
.et-btn-submit:disabled { background:#ccc; cursor:not-allowed; }

/* Spinner inline nel pulsante */
.et-spinner {
    display:inline-block;
    width:14px; height:14px;
    border:2px solid rgba(255,255,255,.4);
    border-top-color:#fff;
    border-radius:50%;
    animation:et-spin .7s linear infinite;
    vertical-align:middle;
    margin-right:4px;
}
@keyframes et-spin { to { transform:rotate(360deg); } }

/* Stato "invio in corso" */
.et-btn-submit.et-submit-loading {
    background:#888;
    cursor:not-allowed;
}

/* Stato "inviato con successo" */
.et-btn-submit.et-submit-done {
    background:#27ae60;
    cursor:default;
    opacity:.9;
}

/* Messaggi */
#et-message { margin-top:18px; }
.et-msg-success { background:#d4f7e2; border:1px solid #a8e6c0; color:#1a5c36; padding:16px 20px; border-radius:10px; font-weight:600; font-size:14px; line-height:1.5; }
.et-msg-error   { background:#fde8e8; border:1px solid #f5b8b8; color:#7a1a1a; padding:16px 20px; border-radius:10px; font-weight:600; font-size:14px; }
.et-msg-loading { background:var(--et-light); border:1px solid var(--et-border); color:var(--et-gray); padding:16px 20px; border-radius:10px; font-size:14px; }

/* Messaggio finale post-invio (form nascosto) */
.et-msg-success-final {
    display:flex; flex-direction:column; align-items:center;
    text-align:center; padding:40px 30px; gap:12px;
    font-weight:normal;
}
.et-msg-success-icon {
    width:56px; height:56px; border-radius:50%;
    background:#1a5c36; color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:28px; font-weight:700; flex-shrink:0;
}
.et-msg-success-final strong { font-size:18px; color:#1a5c36; }
.et-msg-success-final p { margin:0; font-size:14px; color:#3a7a56; font-weight:normal; max-width:380px; line-height:1.6; }

/* Riquadro "conferma email" dentro il messaggio di successo */
.et-confirm-callout {
    display:flex; gap:12px; align-items:flex-start; text-align:left;
    background:#fff; border:1px solid #f3c9c9; border-left:4px solid #8B1A1A;
    border-radius:10px; padding:14px 16px; margin-top:6px;
    max-width:440px; width:100%;
}
.et-confirm-callout-icon { font-size:20px; line-height:1.2; flex-shrink:0; margin-top:1px; }
.et-confirm-callout-body { min-width:0; }
.et-confirm-callout strong { display:block; font-size:14px; color:#8B1A1A; margin-bottom:3px; }
.et-confirm-callout p { margin:0; font-size:13px; color:#7a3535; line-height:1.5; }

/* Avviso "dovrai confermare la tua email" nel form (prima della privacy) */
.et-confirm-notice {
    display:flex; gap:12px; align-items:flex-start;
    background:#fdf0f0; border:1px solid #f3c9c9; border-left:4px solid #8B1A1A;
    border-radius:10px; padding:14px 16px; margin:0 0 16px;
}
.et-confirm-notice-icon { font-size:20px; flex-shrink:0; margin-top:1px; }
.et-confirm-notice strong { display:block; font-size:13px; color:#8B1A1A; margin-bottom:4px; }
.et-confirm-notice p { margin:0; font-size:13px; color:#7a3535; line-height:1.5; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width:768px) {
    .et-toolbar { padding:14px; }
    .et-filters-wrap { flex-direction:column; align-items:stretch; gap:12px; }
    .et-filter-group { flex-direction:column; align-items:flex-start; gap:6px; width:100%; }
    .et-filter-label { min-width:unset; }
    .et-cta-aggiungi { width:100%; justify-content:center; }
    .et-date-form { width:100%; }
    .et-date-fields { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .et-date-field { width:auto !important; min-width:0 !important; }
    .et-date-clear { grid-column:1 / -1; justify-content:center; min-height:42px; }
    .et-segmented { width:100%; }
    .et-seg-btn { flex:1; justify-content:center; }
    /* Categoria a tendina a tutta larghezza */
    .et-cat-form { width:100%; }
    .et-cat-select-wrap { max-width:100%; }
    .et-row { grid-template-columns:1fr; }
    .et-step { padding:20px 16px; }
    .et-grid { grid-template-columns:1fr; }
    .et-single-infobox { grid-template-columns:1fr; }
    .et-single-nav { flex-direction:column; }
    .et-single-nav a { justify-content:center; text-align:center; }
}

/* ============================================================
   SHORTCODE SIDEBAR [eventi_sidebar]
   ============================================================ */

.et-sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 100%;
    overflow: hidden;
}

.et-sidebar-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--et-border);
    text-decoration: none !important;
    transition: opacity var(--et-trans);
}

.et-sidebar-item:last-child {
    border-bottom: none;
}

.et-sidebar-item:hover {
    opacity: .78;
    text-decoration: none !important;
}

/* Immagine quadrata */
.et-sidebar-img {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
}

.et-sidebar-thumb {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    display: block;
    border-radius: 8px;
}

.et-sidebar-thumb-placeholder {
    width: 64px;
    height: 64px;
    background: var(--et-light);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--et-gray);
    border: 1px solid var(--et-border);
}

/* Info testo */
.et-sidebar-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 2px;
}

.et-sidebar-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.et-sidebar-date,
.et-sidebar-place {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    font-weight: 600;
    color: var(--et-gray);
    font-family: var(--et-font);
    white-space: nowrap;
    line-height: 1.3;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}
.et-sidebar-place svg { flex-shrink: 0; }
/* Il nome città non deve mai sbordare: tronca con … */
.et-sidebar-place-txt {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.et-sidebar-date { color: var(--et-primary); }

.et-sidebar-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--et-dark);
    font-family: var(--et-font);
    line-height: 1.35;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.et-sidebar-empty {
    font-size: 13px;
    color: var(--et-gray);
    font-style: italic;
    margin: 0;
    padding: 8px 0;
}

/* ================================================================
   VISTA LISTA EVENTI
================================================================ */
.et-lista {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 8px;
}

.et-lista .et-list-item {
    display: flex !important;
    flex-direction: row !important;
    gap: 0;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    border: 1px solid #f0f0f0;
    transition: box-shadow .22s ease, transform .22s ease;
    min-height: 200px;
}
.et-lista .et-list-item:hover {
    box-shadow: 0 8px 28px rgba(139,26,26,.13);
    transform: translateY(-2px);
}

/* Immagine sinistra */
.et-list-img-wrap {
    position: relative;
    flex-shrink: 0;
    width: 240px;
    min-height: 200px;
    display: block !important;
    overflow: hidden;
    text-decoration: none;
    background: #f5e8e8;
}
.et-lista .et-list-item .et-list-img-wrap img.et-list-img,
.et-lista .et-list-item .et-list-img-wrap .et-list-img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .35s ease;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.et-list-item:hover .et-list-img { transform: scale(1.04); }

.et-list-img-placeholder {
    width: 100%;
    height: 100%;
    min-height: 200px;
    background: linear-gradient(135deg, #f5e8e8 0%, #ecdada 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
}

/* Badge data sovrapposto */
.et-list-date-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #8B1A1A;
    color: #fff;
    border-radius: 9px;
    padding: 6px 10px;
    text-align: center;
    min-width: 44px;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
    line-height: 1;
}
.et-list-date-day {
    display: block;
    font-size: 20px;
    font-weight: 800;
    font-family: var(--et-font);
}
.et-list-date-mon {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-top: 2px;
    opacity: .85;
}

/* Badge oggi/weekend */
.et-list-overlay-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.et-list-overlay-badge.badge-oggi    { background: #e74c3c; color: #fff; }
.et-list-overlay-badge.badge-weekend { background: #f39c12; color: #fff; }

/* Corpo destra */
.et-list-body {
    flex: 1;
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.et-list-top {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.et-list-cat {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #8B1A1A;
    background: #fdf0f0;
    border: 1px solid #f5c6c6;
    padding: 3px 10px;
    border-radius: 20px;
}
.et-list-cat-gratis { color: #1a5c36; background: #edfaf3; border-color: #b2e8cc; }
.et-list-cat-paid   { color: #7a4f00; background: #fff8ec; border-color: #ffd88a; }

.et-list-title {
    margin: 0;
    font-size: 19px;
    font-weight: 800;
    font-family: var(--et-font);
    line-height: 1.3;
    color: var(--et-dark);
}
.et-list-title a {
    color: inherit;
    text-decoration: none;
    transition: color .18s;
}
.et-list-title a:hover { color: #8B1A1A; }

.et-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}
.et-list-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--et-gray);
}
.et-list-meta-item svg { flex-shrink: 0; opacity: .6; }

.et-list-excerpt {
    font-size: 13.5px;
    color: #555;
    line-height: 1.6;
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.et-list-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4px;
}

/* Responsive lista */
@media (max-width: 640px) {
    /* Su mobile: immagine piccola a sinistra, testo a destra */
    .et-lista .et-list-item {
        display: flex !important;
        flex-direction: row !important;
        min-height: 110px !important;
        align-items: stretch !important;
    }
    .et-lista .et-list-item .et-list-img-wrap {
        width: 110px !important;
        min-width: 110px !important;
        max-width: 110px !important;
        height: auto !important;
        min-height: 110px !important;
        flex-shrink: 0 !important;
    }
    .et-lista .et-list-item .et-list-img-wrap img.et-list-img,
    .et-lista .et-list-item .et-list-img-wrap .et-list-img {
        width: 110px !important;
        height: 100% !important;
        min-height: 110px !important;
        object-fit: cover !important;
    }
    .et-lista .et-list-item .et-list-img-placeholder {
        min-height: 110px !important;
        width: 110px !important;
    }
    .et-lista .et-list-item .et-list-body {
        flex: 1 !important;
        padding: 10px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    .et-list-title { font-size: 14px !important; }
    .et-list-date-badge { top: 6px; left: 6px; padding: 4px 7px; }
    .et-list-date-day { font-size: 15px; }
    .et-list-date-mon { font-size: 9px; }
    .et-list-excerpt { display: none; }
    .et-list-meta { gap: 4px 10px; }
    .et-list-meta-item { font-size: 11px; }
    .et-list-actions { gap: 6px; margin-top: 2px; }
    .et-list-actions .et-btn-primary { font-size: 12px; padding: 7px 12px; }
    .et-list-actions .et-btn-secondary { font-size: 12px; padding: 7px 12px; }
}


/* ================================================================
   AUTOCOMPLETE INDIRIZZO
================================================================ */
.et-autocomplete-wrap {
    position: relative;
}

.et-autocomplete-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid var(--et-border);
    border-top: none;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    list-style: none;
    margin: 0;
    padding: 4px 0;
    z-index: 9999;
    max-height: 260px;
    overflow-y: auto;
    display: none;
}
.et-ac-item {
    padding: 10px 14px;
    font-size: 13px;
    color: var(--et-dark);
    cursor: pointer;
    border-bottom: 1px solid #f5f5f5;
    line-height: 1.4;
    transition: background .12s;
}
.et-ac-item:last-child { border-bottom: none; }
.et-ac-item:hover { background: #fdf0f0; color: #8B1A1A; }
.et-ac-empty {
    padding: 10px 14px;
    font-size: 13px;
    color: var(--et-gray);
    font-style: italic;
}
.et-optional {
    font-size: 11px;
    color: var(--et-gray);
    font-weight: 400;
}


/* ================================================================
   MAPPA LEAFLET — singolo evento
================================================================ */
.et-map-wrap {
    margin: 24px 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(0,0,0,.10);
    border: 1px solid var(--et-border);
}

.et-map {
    width: 100%;
    height: 320px;
}

/* Pin personalizzato */
.et-map-pin {
    background: none !important;
    border: none !important;
}

.et-map-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    background: #fff;
    border-top: 1px solid #eee;
    flex-wrap: wrap;
}
.et-map-footer-addr {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #555;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.et-map-footer-addr svg { flex-shrink: 0; opacity: .6; }
.et-btn-raggiungi {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    background: #8B1A1A;
    color: #fff !important;
    font-family: var(--et-font);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .18s, transform .15s;
    border-radius: 10px;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(139,26,26,.30);
    flex-shrink: 0;
}
.et-btn-raggiungi:hover {
    background: #6a1212;
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(139,26,26,.38);
}

/* Badge quartiere affianco al luogo */
.et-quartiere-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #8B1A1A;
    background: #fdf0f0;
    border: 1px solid #f5c6c6;
    padding: 3px 8px;
    border-radius: 20px;
    margin-left: 8px;
    white-space: nowrap;
    vertical-align: middle;
}
.et-quartiere-badge svg { flex-shrink: 0; }

/* ── OVERRIDE TEMA: forza layout orizzontale lista eventi ── */
article.et-list-item,
.et-lista article.et-list-item,
body .et-lista .et-list-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    float: none !important;
}

/* Quartiere sotto mappa */
.et-quartiere-row {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    color: #555;
    margin: 12px 0 20px;
    padding: 10px 14px;
    background: #fdf0f0;
    border-radius: 8px;
    border-left: 3px solid #8B1A1A;
}
.et-quartiere-row svg { flex-shrink: 0; color: #8B1A1A; }


/* ============================================================
   v3.1 — STEPPER A PILLOLE, BANNER PROMO, POPUP, EVENTO CONCLUSO
   ============================================================ */

/* Stepper a pillole */
.et-stepper { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:22px; }
.et-pill {
    display:flex; align-items:center; gap:8px;
    padding:9px 16px; border-radius:30px;
    font-family:var(--et-font); font-size:13px; font-weight:700;
    background:#f1efec; color:#b4afa6; transition:var(--et-trans); cursor:default;
}
.et-pill-num {
    width:22px; height:22px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:12px; font-weight:800; background:#e0ddd7; color:#fff; transition:var(--et-trans);
}
.et-pill.done { background:var(--et-primary); color:#fff; cursor:pointer; opacity:.92; }
.et-pill.done .et-pill-num { background:#fff; color:var(--et-primary); }
.et-pill.active { background:var(--et-primary); color:#fff; box-shadow:0 6px 16px rgba(139,26,26,.26); }
.et-pill.active .et-pill-num { background:#fff; color:var(--et-primary); }

/* Banner promo (sopra e sotto il form) */
.et-promo-banner {
    position:relative; overflow:hidden;
    display:flex; align-items:center; gap:16px; flex-wrap:wrap;
    width:100%; margin:18px 0;
    background:linear-gradient(135deg,#a82323,#8B1A1A); color:#fff;
    border:2px solid var(--et-accent); border-radius:18px; padding:18px 22px;
    cursor:pointer; box-shadow:0 10px 26px rgba(139,26,26,.3);
    animation:etPulse 2.4s ease-in-out infinite; text-align:left;
}
.et-promo-banner::after {
    content:""; position:absolute; top:0; left:-70%; width:45%; height:100%; z-index:0;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
    transform:skewX(-20deg); animation:etShine 3.1s ease-in-out infinite;
}
.et-promo-banner > * { position:relative; z-index:1; }
.et-pb-ic { width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; animation:etWiggle 2.4s ease-in-out infinite; }
.et-pb-txt { flex:1; min-width:160px; }
.et-pb-txt b { display:block; font-size:17px; font-weight:800; line-height:1.2; }
.et-pb-txt span { font-size:13px; opacity:.92; }
.et-pb-price { background:var(--et-accent); color:#5a3d00; font-weight:800; border-radius:30px; padding:6px 14px; font-size:13.5px; white-space:nowrap; }
.et-pb-cta { background:#fff; color:var(--et-primary); font-weight:800; border-radius:11px; padding:11px 18px; font-size:14px; white-space:nowrap; display:inline-flex; align-items:center; gap:7px; }
.et-promo-banner:hover { animation-play-state:paused; transform:translateY(-2px); box-shadow:0 16px 36px rgba(212,175,55,.5); }
.et-promo-banner:focus-visible { outline:3px solid var(--et-accent); outline-offset:2px; }

@keyframes etPulse { 0%,100%{ box-shadow:0 10px 26px rgba(139,26,26,.3); transform:translateY(0);} 50%{ box-shadow:0 15px 34px rgba(212,175,55,.48); transform:translateY(-3px);} }
@keyframes etShine { 0%{ left:-70%;} 55%,100%{ left:140%;} }
@keyframes etWiggle { 0%,90%,100%{ transform:rotate(0);} 94%{ transform:rotate(-11deg);} 97%{ transform:rotate(9deg);} }

/* Pulsante condivisione nella schermata di conferma */
.et-share-cta {
    position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center; gap:11px;
    width:100%; max-width:460px; margin:26px auto 0;
    background:linear-gradient(135deg,#a82323,#8B1A1A); color:#fff;
    border:2px solid var(--et-accent); border-radius:16px; padding:18px 22px;
    font-family:var(--et-font); font-size:16px; font-weight:800; line-height:1.25;
    cursor:pointer; box-shadow:0 10px 24px rgba(139,26,26,.32);
    animation:etPulse 2.2s ease-in-out infinite;
}
.et-share-cta .et-sci, .et-share-cta .et-scl { position:relative; z-index:1; }
.et-share-cta .et-sci { flex-shrink:0; font-size:20px; animation:etWiggle 2.2s ease-in-out infinite; }
.et-share-cta::after {
    content:""; position:absolute; top:0; left:-70%; width:45%; height:100%; z-index:0;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);
    transform:skewX(-20deg); animation:etShine 3s ease-in-out infinite;
}
.et-share-cta:hover { animation-play-state:paused; transform:translateY(-2px); box-shadow:0 16px 36px rgba(212,175,55,.55); }

@media (prefers-reduced-motion:reduce) {
    .et-promo-banner, .et-pb-ic, .et-share-cta, .et-share-cta .et-sci { animation:none; }
    .et-promo-banner::after, .et-share-cta::after { display:none; }
}

/* Popup servizio */
.et-modal-ov {
    position:fixed; inset:0; z-index:99999;
    background:rgba(45,15,12,.55);
    display:flex; align-items:center; justify-content:center;
    padding:16px; opacity:0; animation:etOvIn .18s ease forwards;
}
@keyframes etOvIn { to { opacity:1; } }
.et-modal {
    background:#fff; border-radius:22px; max-width:470px; width:100%;
    max-height:92vh; overflow:auto; box-shadow:0 24px 70px rgba(0,0,0,.42);
    transform:translateY(10px) scale(.98); animation:etMIn .22s ease forwards;
}
@keyframes etMIn { to { transform:none; } }
.et-mhead { background:var(--et-primary); color:#fff; padding:24px 22px 22px; text-align:center; position:relative; }
.et-mhead h3 { margin:0 0 12px; font-size:21px; font-weight:800; line-height:1.2; text-transform:uppercase; color:#fff; }
.et-price-badge { display:inline-block; border:2px solid var(--et-accent); border-radius:30px; padding:7px 20px; font-size:18px; font-weight:800; }
.et-mclose { position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; border:none; background:rgba(255,255,255,.18); color:#fff; font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.et-mclose:hover { background:rgba(255,255,255,.32); }
.et-mbody { padding:22px; }
.et-msub { text-align:center; color:var(--et-gray); font-size:13.5px; margin:0 0 16px; line-height:1.5; }
.et-cat-row { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:20px; }
.et-cat-chip { display:inline-flex; align-items:center; gap:6px; background:#fbeaea; color:var(--et-primary); border-radius:30px; padding:7px 14px; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.et-cat-chip .et-pin { width:7px; height:7px; border-radius:50%; background:var(--et-primary); }
.et-incl-title { font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--et-primary); margin:0 0 10px; }
.et-incl { list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:11px; }
.et-incl li { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; color:var(--et-dark); }
.et-incl li .et-ck { flex-shrink:0; color:var(--et-primary); margin-top:1px; }
.et-pay { display:flex; flex-direction:column; align-items:center; gap:7px; }
.et-pay a { display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; background:var(--et-primary); color:#fff; text-decoration:none; font-size:16px; font-weight:800; padding:15px; border-radius:14px; box-shadow:0 8px 20px rgba(139,26,26,.3); transition:var(--et-trans); }
.et-pay a:hover { background:var(--et-primary-d); }
.et-pay small { color:var(--et-gray); font-size:11.5px; }

/* Banner "evento concluso" nella pagina singola */
.et-evento-concluso {
    display:flex; gap:12px; align-items:flex-start;
    background:var(--et-light); border:1px solid var(--et-border); border-left:4px solid var(--et-gray);
    border-radius:12px; padding:14px 16px; margin:0 0 20px;
}
.et-evento-concluso .et-ec-icon { color:var(--et-gray); flex-shrink:0; margin-top:1px; }
.et-evento-concluso strong { display:block; font-size:15px; color:var(--et-dark); margin-bottom:2px; }
.et-evento-concluso p { margin:0; font-size:13px; color:var(--et-gray); line-height:1.5; }
.et-evento-concluso a { color:var(--et-primary); font-weight:600; }

@media (max-width:560px) {
    .et-pb-cta { width:100%; justify-content:center; }
    .et-pb-price { order:3; }
}

/* ============================================================
   v3.2 — BANNER INFORMATIVO, NOTA PAGAMENTO, CARTA/BONIFICO
   ============================================================ */

/* Banner informativo (inserimento gratuito) sopra il form */
.et-info-banner {
    display:flex; align-items:center; gap:13px;
    background:var(--et-light); border:1px solid var(--et-border); border-left:4px solid var(--et-primary);
    border-radius:14px; padding:14px 18px; margin:0 0 18px;
}
.et-info-banner .et-ib-ic { flex-shrink:0; width:38px; height:38px; border-radius:10px; background:#fff; color:var(--et-primary); display:flex; align-items:center; justify-content:center; }
.et-info-banner strong { display:block; font-size:14.5px; color:var(--et-primary); }
.et-info-banner p { margin:0; font-size:13px; color:var(--et-gray); line-height:1.5; }

/* Margine del banner promo nella schermata di conferma */
.et-promo-banner-final { margin-top:24px; }

/* Nota esplicativa nel popup */
.et-pay-note {
    font-size:12.5px; color:#7a6a6a; line-height:1.5;
    background:#faf6f2; border-radius:10px; padding:11px 14px; margin:0 0 16px;
}

/* Pulsante "Paga con bonifico" (outline) */
.et-pay-bonifico {
    width:100%; display:inline-flex; align-items:center; justify-content:center; gap:9px;
    background:#fff; color:var(--et-primary); border:2px solid var(--et-primary);
    font-family:var(--et-font); font-weight:800; font-size:15px; padding:13px; border-radius:14px; cursor:pointer;
    transition:var(--et-trans);
}
.et-pay-bonifico:hover { background:var(--et-primary); color:#fff; }

/* Box dati bonifico */
.et-iban-box {
    width:100%; text-align:left; background:var(--et-light); border:1px solid var(--et-border);
    border-radius:12px; padding:13px 15px; font-size:13px; color:#444; line-height:1.6;
}
.et-iban-box b { color:var(--et-dark); }
.et-iban-box > b:first-child { color:var(--et-primary); }
.et-iban-note { font-size:11.5px; color:var(--et-gray); margin-top:6px; }

/* =====================================================
   v3.4 — Pannello organizzatori
===================================================== */
.et-panel{max-width:760px;margin:0 auto;font-family:var(--et-font),sans-serif;color:var(--et-dark);}
.et-panel h2{color:var(--et-primary);margin:0 0 10px;}
.et-panel-ok{background:#e8f6ec;border:1px solid #bfe3c9;color:#1d6b34;padding:12px 16px;border-radius:10px;margin:0 0 18px;font-size:14px;}
.et-panel-login{background:#fff;border:1px solid var(--et-border);border-radius:16px;padding:28px;max-width:460px;margin:0 auto;}
.et-panel-input{width:100%;padding:12px 14px;border:1px solid var(--et-border);border-radius:10px;font-size:15px;margin:8px 0 14px;box-sizing:border-box;}
.et-panel-btn{background:var(--et-primary);color:#fff;border:none;padding:12px 22px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;}
.et-panel-btn:hover{filter:brightness(1.08);}
.et-panel-btn-sm{background:var(--et-primary);color:#fff;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block;border:none;cursor:pointer;}
.et-panel-btn-sponsor{background:var(--et-accent,#D4AF37);color:#2a2000;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block;border:none;cursor:pointer;}
.et-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--et-border);padding-bottom:16px;margin-bottom:18px;}
.et-panel-plan{font-size:14px;color:var(--et-gray);margin:4px 0 0;}
.et-panel-logout{font-size:13px;color:var(--et-gray);text-decoration:underline;white-space:nowrap;}
.et-panel-pro{background:#fff8e5;border:1px solid #f0dca0;border-radius:12px;padding:14px 18px;font-size:14px;margin-bottom:20px;}
.et-panel-soon{color:var(--et-gray);font-size:13px;}
.et-panel-events{display:flex;flex-direction:column;gap:14px;}
.et-panel-card{background:#fff;border:1px solid var(--et-border);border-radius:14px;padding:16px 18px;}
.et-panel-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.et-panel-badge{background:var(--et-light);color:var(--et-gray);font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap;}
.et-panel-note{font-size:13px;color:#8a6d00;margin:8px 0 0;}
.et-panel-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;}
.et-panel-cancel{font-size:13px;color:var(--et-gray);text-decoration:underline;}
.et-panel-edit{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.et-panel-edit label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:var(--et-dark);gap:4px;}
.et-panel-edit input,.et-panel-edit textarea{padding:10px 12px;border:1px solid var(--et-border);border-radius:9px;font-size:14px;font-weight:400;box-sizing:border-box;}
.et-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.et-panel-check{flex-direction:row!important;align-items:center;gap:8px!important;}
.et-panel-check input{width:auto;}
@media(max-width:560px){.et-panel-grid{grid-template-columns:1fr;}.et-panel-head{flex-direction:column;}}

/* v3.5 — Pro Facebook share + opzioni abbonamento */
.et-panel-btn-fb{background:#1877f2;color:#fff;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block;border:none;cursor:pointer;}
.et-panel-btn-fb:hover{filter:brightness(1.08);}
.et-panel-pro-opts{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.et-panel-pro-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #f0dca0;border-radius:9px;padding:8px 12px;font-size:13px;flex-wrap:wrap;}
.et-panel-bonifico{margin-top:10px;font-size:12.5px;color:#555;background:#fff;border:1px dashed #d9c38f;border-radius:9px;padding:9px 12px;line-height:1.5;}
.et-plan-desc{display:block;font-size:11.5px;color:#888;font-weight:400;}
.et-panel-pro-opt.et-plan-top{border-color:#8B1A1A;border-width:2px;background:#fff6f6;}

/* v3.10 — Eventi conclusi/eliminati (archivio) nel pannello */
.et-panel-archivio{margin-top:28px;padding-top:18px;border-top:1px solid var(--et-border);}
.et-panel-archivio-tit{color:var(--et-gray);font-size:16px;margin:0 0 4px;}
.et-panel-archivio-sub{color:var(--et-gray);font-size:13px;margin:0 0 12px;}
.et-panel-archivio-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--et-border);border-radius:10px;margin-bottom:8px;background:#fafafa;}
.et-panel-archivio-nome{flex:1;font-weight:600;color:var(--et-dark);font-size:14px;}
.et-panel-archivio-tag{font-size:11px;color:var(--et-gray);background:#eee;padding:3px 9px;border-radius:12px;white-space:nowrap;}

/* v3.10.1 — titolo cliccabile + data a destra in archivio */
.et-panel-archivio-link{color:var(--et-primary);text-decoration:none;}
.et-panel-archivio-link:hover{text-decoration:underline;}
.et-panel-archivio-data{font-size:12.5px;color:var(--et-gray);white-space:nowrap;}
.et-panel-edit-avviso{background:#fff8e5;border:1px solid #f0dca0;border-radius:10px;padding:11px 14px;font-size:13px;color:#8a6d00;margin:0 0 4px;}
