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