.seafh-calendar{--c:#ff6b00;--cl:#fff5eb;--cd:#e55d00;--t1:var(--el-text-color-primary);--t2:var(--el-text-color-regular);--t3:var(--el-text-color-placeholder);--bg:var(--el-bg-color);--bg2:var(--el-fill-color-light);--bd:var(--el-border-color-lighter);--red:#ff4d4f;--green:#52c41a;background:var(--bg);color:var(--t1);-webkit-tap-highlight-color:transparent;border-radius:12px;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.seafh-calendar .calendar-header{border-bottom:1px solid var(--bd);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.seafh-calendar .calendar-title h2{margin:0;font-size:24px;font-weight:700}.seafh-calendar .calendar-subtitle{color:var(--t3);margin-top:4px;font-size:12px;display:block}.seafh-calendar .calendar-nav{align-items:center;gap:12px;display:flex}.seafh-calendar .nav-btn{border:1px solid var(--bd);background:var(--bg);cursor:pointer;color:var(--t1);border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.seafh-calendar .nav-btn:hover{border-color:var(--c);color:var(--c)}.seafh-calendar .today-btn{background:var(--c);color:#fff;border-color:var(--c)}.seafh-calendar .today-btn:hover{background:var(--cd);border-color:var(--cd);color:#fff}.seafh-calendar .current-month{text-align:center;min-width:140px;font-size:18px;font-weight:600}.seafh-calendar .country-filter{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.seafh-calendar .filter-btn{border:1px solid var(--bd);background:var(--bg);cursor:pointer;color:var(--t2);white-space:nowrap;border-radius:20px;padding:8px 18px;font-size:14px;transition:all .2s}.seafh-calendar .filter-btn:hover{border-color:var(--c);color:var(--c)}.seafh-calendar .filter-btn.active{background:var(--c);color:#fff;border-color:var(--c)}.seafh-calendar .calendar-grid-wrapper{background:var(--bg);border:1px solid var(--bd);border-radius:10px;overflow:hidden}.seafh-calendar .weekday-header{background:var(--cl);border-bottom:1px solid var(--bd);grid-template-columns:repeat(7,1fr);display:grid}.seafh-calendar .weekday{text-align:center;padding:14px 8px;font-size:14px;font-weight:600}.seafh-calendar .weekday.sun{color:var(--red)}.seafh-calendar .weekday.sat{color:var(--c)}.seafh-calendar .calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.seafh-calendar .calendar-day{border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);cursor:pointer;background:var(--bg);min-height:110px;padding:10px;transition:background .2s}.seafh-calendar .calendar-day:nth-child(7n){border-right:none}.seafh-calendar .calendar-day:hover,.seafh-calendar .calendar-day.other-month{background:var(--bg2)}.seafh-calendar .calendar-day.other-month .day-number{color:var(--el-text-color-disabled,#ccc)}.seafh-calendar .calendar-day.today{background:var(--cl)}.seafh-calendar .calendar-day.today .day-number{background:var(--c);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;color:#fff!important}.seafh-calendar .day-number{margin-bottom:4px;font-size:16px;font-weight:600}.seafh-calendar .calendar-day:nth-child(7n+1) .day-number{color:var(--red)}.seafh-calendar .calendar-day:nth-child(7n) .day-number{color:var(--c)}.seafh-calendar .calendar-day.other-month:nth-child(7n+1) .day-number,.seafh-calendar .calendar-day.other-month:nth-child(7n) .day-number{color:var(--el-text-color-disabled,#ddd)}.seafh-calendar .day-events{flex-direction:column;gap:3px;margin-top:4px;display:flex}.seafh-calendar .event-tag{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:3px 6px;font-size:11px;font-weight:500;overflow:hidden}.seafh-calendar .event-tag.holiday{color:var(--red);background:#fff0f0;border:1px solid #ffccc7}.seafh-calendar .event-tag.promo{background:var(--cl);color:var(--c);border:1px solid #ffd8bf}.seafh-calendar .event-tag.festival{color:var(--green);background:#f6ffed;border:1px solid #b7eb8f}.seafh-calendar .marketing-tips{background:var(--bg);border:1px solid var(--bd);border-radius:10px;margin-top:20px;padding:20px}.seafh-calendar .marketing-tips h3{border-bottom:3px solid var(--c);margin:0 0 16px;padding-bottom:12px;font-size:18px;font-weight:700}.seafh-calendar .tips-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.seafh-calendar .tip-item{background:var(--bg2);border-left:4px solid var(--c);cursor:pointer;border-radius:8px;padding:16px;transition:all .2s}.seafh-calendar .tip-item:hover{background:var(--cl);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b0026}.seafh-calendar .tip-date{color:var(--c);margin-bottom:6px;font-size:13px;font-weight:700}.seafh-calendar .tip-title{margin-bottom:6px;font-size:15px;font-weight:600}.seafh-calendar .tip-countries{color:var(--t2);margin-bottom:6px;font-size:12px}.seafh-calendar .tip-desc{color:var(--t2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.seafh-calendar .no-events{text-align:center;color:var(--t3);grid-column:1/-1;padding:40px 20px;font-size:14px}.seafh-calendar .event-modal{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.seafh-calendar .event-modal.show{display:flex}.seafh-calendar .modal-box{background:var(--el-bg-color);border-radius:12px;width:90%;max-width:500px;max-height:80vh;animation:.2s seafh-calendar-fadeIn;position:relative;overflow-y:auto}@keyframes seafh-calendar-fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.seafh-calendar .modal-close{background:var(--el-fill-color-light);width:32px;height:32px;color:var(--t2);cursor:pointer;border:none;border-radius:50%;font-size:20px;position:absolute;top:12px;right:12px}.seafh-calendar .modal-close:hover{background:var(--el-fill-color)}.seafh-calendar .modal-header{border-bottom:1px solid var(--bd);padding:20px 20px 12px}.seafh-calendar .modal-date{color:var(--c);font-size:13px;font-weight:600}.seafh-calendar .modal-header h3{margin:6px 0 0;font-size:20px;font-weight:700}.seafh-calendar .modal-body{padding:16px 20px 24px}.seafh-calendar .info-block{margin-bottom:16px}.seafh-calendar .info-block:last-child{margin-bottom:0}.seafh-calendar .info-block label{color:var(--c);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.seafh-calendar .info-block p{color:var(--t2);margin:0;font-size:14px;line-height:1.6}
