.ec-calendar { 
    max-width: 1000px; 
    margin: 40px auto; 
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 
    background: #fff; 
    border-radius: 16px; 
    box-shadow: 0 10px 40px rgba(0,0,0,0.05); 
    overflow: hidden; 
}
.ec-row { 
    display: grid; 
    grid-template-columns: 120px 200px 1fr 160px; 
    gap: 0; 
    align-items: center; 
    padding: 0; 
    border-bottom: 1px solid rgba(0,0,0,0.05); 
    transition: all 0.3s ease; 
}
.ec-row:hover { background: #fafafa; }
.ec-col { padding: 25px 20px; }
.ec-date { 
    text-align: center; 
    border-right: 1px solid rgba(0,0,0,0.05); 
    background: #fcfcfc; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
}
.ec-month { font-size: 13px; font-weight: 700; text-transform: uppercase; color: #888; letter-spacing: 1px; }
.ec-day { font-size: 36px; font-weight: 800; line-height: 1; color: #222; margin: 4px 0; }
.ec-time { font-size: 12px; color: #666; font-weight: 500; }
.ec-location { padding-left: 30px; }
.ec-country { font-size: 12px; font-weight: 800; text-transform: uppercase; color: #f3e300; margin-bottom: 2px; text-shadow: 0 0 1px rgba(0,0,0,0.1); }
.ec-city { font-size: 18px; font-weight: 700; color: #111; text-transform: uppercase; letter-spacing: 0.5px; }
.ec-notes { border-left: 1px solid rgba(0,0,0,0.05); }
.ec-place { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 6px; }
.ec-notes-text { font-size: 14px; line-height: 1.6; color: #666; transition: all 0.3s ease; min-height: 80px; }
.ec-notes-text.collapsed { max-height: 80px; overflow: hidden; position: relative; }
.ec-notes-text.collapsed::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:40px; background: linear-gradient(transparent, white); }
.ec-more-toggle { color: #f3e300; cursor: pointer; font-size: 12px; font-weight: 800; margin-top: 10px; display: inline-block; text-transform: uppercase; }
.ec-event-products-list-small { margin-top:15px; padding: 12px; border-top: 1px dashed rgba(0,0,0,0.05); font-size: 13px; color: #444; background: #fdfdfd; border-radius: 8px; }
.ec-reserve-button { 
    background: #111 !important; 
    color: #fff !important; 
    border: none !important; 
    padding: 12px 25px !important; 
    border-radius: 50px !important; 
    font-weight: 700 !important; 
    text-transform: uppercase !important; 
    letter-spacing: 1px !important; 
    cursor: pointer !important; 
    transition: all 0.3s ease !important; 
    font-size: 12px !important; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
}
.ec-reserve-button:hover { background: #f3e300 !important; color: #111 !important; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(243, 227, 0, 0.3); }

.ec-modal { 
    position: fixed; left: 0; top: 0; right: 0; bottom: 0; 
    background: rgba(0,0,0,0.85); 
    backdrop-filter: blur(15px); 
    display: none; align-items: center; justify-content: center; 
    z-index: 999999999 !important; padding: 20px; 
    -webkit-overflow-scrolling: touch;
}
.ec-modal-inner { 
    background: #fff; padding: 40px; width: 100%; max-width: 480px; 
    border-radius: 24px; position: relative; max-height: 90vh; 
    overflow-y: auto; box-shadow: 0 40px 100px rgba(0,0,0,0.5); 
    scrollbar-width: thin;
    scrollbar-color: #f3e300 #f0f0f0;
}
.ec-modal-inner::-webkit-scrollbar { width: 6px; }
.ec-modal-inner::-webkit-scrollbar-track { background: #f0f0f0; border-radius: 10px; }
.ec-modal-inner::-webkit-scrollbar-thumb { background: #f3e300; border-radius: 10px; }

.ec-modal-logo img { display: block; margin: 0 auto; max-height: 80px; width: auto; }

.ec-modal-close { position: absolute; right: 20px; top: 20px; background: #f5f5f5; border: none; width: 32px; height: 32px; border-radius: 50%; font-size: 18px; cursor: pointer; line-height: 32px; color: #666; display: flex; align-items: center; justify-content: center; transition: all 0.2s; z-index: 10; }
.ec-modal-close:hover { background: #eee; color: #000; transform: rotate(90deg); }

.ec-modal h2 { font-size: 24px; font-weight: 800; margin: 0 0 25px 0; color: #111; letter-spacing: -0.5px; text-transform: uppercase; }
.ec-form-group { margin-bottom: 15px; }
.ec-form-group label { display: block; font-size: 11px; font-weight: 800; margin-bottom: 6px; color: #999; text-transform: uppercase; letter-spacing: 1px; }
.ec-form-group input { 
    width: 100%; padding: 12px 16px; border: 2px solid #f4f4f4; background: #fbfbfb; 
    border-radius: 10px; font-size: 15px; transition: all 0.3s ease; box-sizing: border-box; 
    color: #333;
}
.ec-form-group input:focus { border-color: #f3e300; background: #fff; outline: none; box-shadow: 0 0 0 4px rgba(243, 227, 0, 0.1); }
.ec-submit-btn { width: 100%; background: #111 !important; color: #fff !important; padding: 16px !important; border-radius: 10px !important; font-size: 14px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 2px !important; cursor: pointer !important; border: none !important; transition: all 0.3s !important; margin-top: 10px; }
.ec-submit-btn:hover { background: #f3e300 !important; color: #111 !important; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(243, 227, 0, 0.2); }
.ec-submit-btn:disabled { background: #ccc !important; cursor: not-allowed; transform: none; }

.ec-back-link a:hover { color: #f3e300 !important; }
.ec-single-event .ec-row { border-bottom: none; }
@media (max-width:768px){ 
    .ec-row { grid-template-columns: 1fr; } 
    .ec-date { border-right: none; border-bottom: 1px solid #eee; padding-bottom: 20px; } 
    .ec-location { padding: 20px; text-align: center; } 
    .ec-notes { border-left: none; border-top: 1px solid #eee; } 
    .ec-modal-inner { padding: 30px 20px; }
}

