/* yj_eventi.css — modulo Eventi Yuujou (14/7/2026)
   Stile coerente col tema Edge: card bianche, ombre leggere, accenti sobri.
   Usato da eventi.html, evento.html, evento_edit.html. */

.yjev_wrap{ max-width:1060px; margin:0 auto; padding:0 12px 60px; }

/* --- testata --- */
.yjev_head{ text-align:center; padding:6px 0 2px; }
.yjev_head .signature{ margin-bottom:14px; }

/* --- barra filtri + crea --- */
.yjev_bar{
    display:flex; flex-wrap:wrap; gap:10px; align-items:center;
    justify-content:center; margin:6px 0 22px;
}
.yjev_bar select{
    height:34px; padding:6px 10px; font-size:14px;
    border:1px solid #d5d5d5; border-radius:4px; background:#fff; color:#333;
    max-width:230px;
}
.yjev_btn_create{
    display:inline-block; padding:7px 16px; border-radius:4px;
    background:#5cb85c; color:#fff !important; font-size:14px;
    text-decoration:none !important; border:0; white-space:nowrap;
}
.yjev_btn_create:hover{ background:#4cae4c; color:#fff; }
.yjev_bar .yjev_past_link{ font-size:13px; white-space:nowrap; }
.yjev_bar .yjev_link_on{
    background:#eef7f0; border:1px solid #bfe3c8; border-radius:12px;
    padding:3px 10px; color:#2f8f5b !important;
}

/* --- griglia card --- */
.yjev_grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
@media (max-width: 991px){ .yjev_grid{ grid-template-columns:repeat(2, 1fr);} }
@media (max-width: 640px){ .yjev_grid{ grid-template-columns:1fr;} }

.yjev_card{
    background:#fff; border:1px solid #e7e7e7; border-radius:6px;
    overflow:hidden; display:flex; flex-direction:column;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
    transition:box-shadow .15s ease, transform .15s ease;
    color:inherit; text-decoration:none !important;
}
.yjev_card:hover{ box-shadow:0 6px 18px rgba(0,0,0,.10); transform:translateY(-2px); }

.yjev_card_img{
    position:relative; width:100%; aspect-ratio:16/9; overflow:hidden;
    background:#f2f0ea;
}
.yjev_card_img img{ width:100%; height:100%; object-fit:cover; display:block; }
.yjev_card_img .yjev_ph{
    width:100%; height:100%; display:flex; align-items:center; justify-content:center;
    font-size:52px;
    background:linear-gradient(135deg,#f7f5ef 0%,#ece7db 100%);
}
.yjev_badge_ongoing{
    position:absolute; top:10px; left:10px; padding:3px 9px; border-radius:3px;
    background:#d9534f; color:#fff; font-size:11px; font-weight:bold;
    letter-spacing:.03em;
}
.yjev_card_body{ padding:12px 14px 10px; flex:1; display:flex; flex-direction:column; }
.yjev_card_date{
    font-size:12.5px; font-weight:bold; color:#c0392b;
    text-transform:uppercase; letter-spacing:.02em; margin-bottom:4px;
}
.yjev_card_title{
    font-size:16px; font-weight:bold; color:#333; line-height:1.3;
    margin:0 0 6px; display:-webkit-box; -webkit-line-clamp:2;
    -webkit-box-orient:vertical; overflow:hidden;
}
.yjev_card_where{ font-size:13px; color:#777; margin-bottom:10px; }
.yjev_card_where .fa{ margin-right:4px; color:#999; }
.yjev_card_foot{
    margin-top:auto; display:flex; align-items:center; justify-content:space-between;
    font-size:12px; color:#888; border-top:1px solid #f0f0f0; padding-top:8px;
}
.yjev_chip{
    background:#f4f2ec; border-radius:12px; padding:2px 10px; color:#6f685c;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:60%;
}
.yjev_card_foot .fa{ margin-right:3px; }

.yjev_empty{
    text-align:center; color:#888; padding:44px 16px; font-size:15px;
}
.yjev_empty .yjev_empty_emoji{ font-size:44px; display:block; margin-bottom:10px; }

/* --- dettaglio evento --- */
.yjev_detail{
    max-width:760px; margin:0 auto; background:#fff;
    border:1px solid #e7e7e7; border-radius:6px; overflow:hidden;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.yjev_hero{ width:100%; max-height:420px; overflow:hidden; background:#f2f0ea; }
.yjev_hero img{ width:100%; height:auto; display:block; }
.yjev_hero .yjev_ph{
    width:100%; height:200px; display:flex; align-items:center; justify-content:center;
    font-size:72px; background:linear-gradient(135deg,#f7f5ef 0%,#ece7db 100%);
}
.yjev_detail_body{ padding:22px 26px 26px; }
.yjev_detail_head{ display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.yjev_detail_head h1{
    font-size:24px; font-weight:bold; color:#2f2e2c; margin:0 0 4px; line-height:1.25; flex:1;
    min-width:200px;
}
.yjev_detail .yjev_chip{ max-width:none; }
.yjev_status_line{ margin:2px 0 14px; }
.yjev_meta{ margin:14px 0 6px; }
.yjev_meta_row{ display:flex; gap:10px; margin-bottom:10px; font-size:14.5px; color:#444; }
.yjev_meta_row .fa{
    width:20px; text-align:center; color:#b3aa97; font-size:16px; margin-top:2px; flex:none;
}
.yjev_meta_row a{ word-break:break-all; }
.yjev_meta_main{ font-weight:bold; color:#333; }
.yjev_meta_sub{ color:#777; font-size:13.5px; }
.yjev_maplink{ font-size:13px; margin-left:6px; white-space:nowrap; }

.yjev_attend_box{
    display:flex; align-items:center; gap:14px; flex-wrap:wrap;
    background:#fafaf7; border:1px solid #eeece5; border-radius:6px;
    padding:12px 14px; margin:16px 0;
}
.yjev_btn_attend{
    padding:8px 22px; border-radius:4px; border:0; cursor:pointer;
    background:#5cb85c; color:#fff; font-size:14.5px; font-weight:bold;
}
.yjev_btn_attend:hover{ background:#4cae4c; }
.yjev_btn_attend.on{ background:#fff; color:#3d8b3d; border:1px solid #5cb85c; }
.yjev_attend_count{ font-size:14px; color:#555; }
.yjev_guests{ display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.yjev_guests a{
    width:38px; height:38px; border-radius:50%; overflow:hidden; display:block;
    border:1px solid #e2e0d8; background-size:cover; background-position:center;
}
.yjev_descr{
    font-size:15px; color:#3a3a38; line-height:1.6; margin:18px 0 6px;
    white-space:normal; word-wrap:break-word;
}
.yjev_organizer{
    display:flex; align-items:center; gap:10px; margin-top:20px;
    padding-top:16px; border-top:1px solid #f0f0f0; font-size:13.5px; color:#777;
}
.yjev_organizer a.yjev_org_photo{
    width:42px; height:42px; border-radius:50%; overflow:hidden; display:block;
    background-size:cover; background-position:center; border:1px solid #e2e0d8; flex:none;
}
.yjev_owner_actions{ margin-left:auto; font-size:13px; white-space:nowrap; }
.yjev_owner_actions a{ margin-left:12px; }
.yjev_back{ text-align:center; margin:18px 0 0; font-size:13.5px; }

/* --- form --- */
.yjev_form{
    max-width:640px; margin:0 auto; background:#fff;
    border:1px solid #e7e7e7; border-radius:6px;
    padding:24px 26px 26px;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.yjev_form h1{ font-size:21px; font-weight:bold; margin:0 0 18px; color:#2f2e2c; }
.yjev_field{ margin-bottom:15px; }
.yjev_field label{ display:block; font-size:13.5px; font-weight:bold; color:#555; margin-bottom:5px; }
.yjev_field .yjev_note{ font-weight:normal; color:#999; font-size:12px; margin-left:6px; }
.yjev_field input[type=text], .yjev_field input[type=url],
.yjev_field input[type=date], .yjev_field input[type=time],
.yjev_field select, .yjev_field textarea{
    width:100%; height:38px; padding:7px 11px; font-size:14px;
    border:1px solid #d5d5d5; border-radius:4px; background:#fff; color:#333;
}
.yjev_field textarea{ height:130px; resize:vertical; }
.yjev_row2{ display:flex; gap:12px; }
.yjev_row2 .yjev_field{ flex:1; }
.yjev_err{
    background:#f8d7da; color:#842029; border:1px solid #f1aeb5;
    border-radius:4px; padding:9px 13px; font-size:13.5px; margin-bottom:16px;
}
.yjev_form_actions{ display:flex; align-items:center; gap:14px; margin-top:20px; flex-wrap:wrap; }
.yjev_form_actions .yjev_btn_create{ font-size:15px; padding:9px 24px; }
.yjev_del_link{ color:#c0392b !important; margin-left:auto; font-size:13px; }
.yjev_cur_photo{ display:flex; align-items:center; gap:14px; margin-top:8px; }
.yjev_cur_photo img{ width:120px; border-radius:4px; border:1px solid #e2e0d8; }
.yjev_photo_del{ font-size:12.5px; color:#777; font-weight:normal !important; }

/* autocompletamento citta' */
.yjev_city_box{ position:relative; }
.yjev_city_list{
    position:absolute; z-index:30; left:0; right:0; top:100%;
    background:#fff; border:1px solid #d5d5d5; border-top:0;
    border-radius:0 0 4px 4px; max-height:240px; overflow-y:auto;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.yjev_city_list div{ padding:8px 12px; font-size:14px; cursor:pointer; }
.yjev_city_list div:hover{ background:#f4f2ec; }
.yjev_city_list small{ color:#999; margin-left:6px; }

@media (max-width: 640px){
    .yjev_detail_body{ padding:16px 14px 20px; }
    .yjev_form{ padding:18px 14px 20px; }
    .yjev_row2{ flex-direction:column; gap:0; }
}
