.travel-suggestions{margin-top:16px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.travel-suggestions-header h4{margin:0 0 8px;color:#20b2aa;font-size:1rem;font-weight:600}.travel-suggestions-header p{margin:0;color:#6b7280;font-size:.875rem}.loading-suggestions{padding:20px;text-align:center;color:#6b7280}.suggested-articles{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.suggestion-card{display:flex;padding:12px;background:#fff;border-radius:8px;text-decoration:none;border:1px solid #e5e7eb;transition:all .2s ease}.suggestion-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px);text-decoration:none}.suggestion-content{flex:1;padding-right:12px}.suggestion-content h5{margin:0 0 8px;color:#1f2937;font-size:.9rem;font-weight:600;line-height:1.3}.suggestion-excerpt{margin:0 0 8px;color:#6b7280;font-size:.8rem;line-height:1.4}.suggestion-meta{font-size:.75rem;color:#9ca3af}.suggestion-image{width:80px;height:60px;object-fit:cover;border-radius:4px;flex-shrink:0}.view-more-suggestions{display:block;text-align:center;padding:8px 12px;color:#20b2aa;font-size:.85rem;font-weight:500;text-decoration:none;border:1px dashed #20b2aa;border-radius:4px;margin-top:8px;transition:all .2s ease}.view-more-suggestions:hover{background:#20b2aa;color:#fff;text-decoration:none}.no-suggestions{padding:16px;text-align:center;color:#6b7280}.browse-all{color:#20b2aa;text-decoration:none;font-weight:500}.browse-all:hover{text-decoration:underline}@media (max-width:768px){.travel-suggestions{margin-top:12px;padding:12px}.suggestion-card{padding:10px}.suggestion-content{padding-right:8px}.suggestion-image{width:60px;height:45px}}@media (prefers-color-scheme:dark){.travel-suggestions{background:#1e293b;border-color:#334155}.suggestion-card{background:#0f172a;border-color:#334155}.suggestion-content h5{color:#f1f5f9}.suggestion-excerpt,.travel-suggestions-header p{color:#cbd5e1}}:root{--brand-primary:#20b2aa;--brand-primary-hover:#1e988f;--brand-secondary:#65c995;--shadow-primary:0 2px 8px #20b2aa;--shadow-light:0 2px 8px rgba(0,0,0,.08);--shadow-medium:0 4px 12px rgba(0,0,0,.1);--border-radius:8px;--border-radius-large:16px;--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-white:#fff;--background-light:#f8fafc;--background-white:#fff;--border-light:#e5e7eb;--clean-gray:#f9fafb}.view-options{display:flex;gap:8px;margin-bottom:24px;padding:2px;background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-light);width:fit-content}.view-toggle{padding:8px 16px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap}.view-toggle:hover{background:var(--brand-primary);color:var(--text-white);border:1px solid #20b2aa}.view-toggle.active{background:rgba(32,178,170,.05);color:#20b2aa;border:1px solid #20b2aa;font-weight:600}.holiday-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}@media (max-width:968px){.holiday-grid{grid-template-columns:1fr;gap:24px}}.public-holidays,.school-holidays{background:var(--background-white);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-light);border:1px solid var(--border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--clean-gray);border-bottom:1px solid var(--border-light);border-radius:var(--border-radius) var(--border-radius) 0 0}.section-title{margin:0;font-size:1.2em;font-weight:600;color:var(--text-primary)}.count-badge{background:var(--text-secondary);color:#fff;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:500}.custom-holiday-list{list-style:none;padding:0;margin:0;background:var(--background-white)}.custom-public-holiday-item,.custom-school-holiday-item{padding:16px 20px;transition:background-color .15s ease;background:var(--background-white);border:none;border-bottom:1px solid var(--border-light)}.custom-public-holiday-item:last-child,.custom-school-holiday-item:last-child{border-bottom:none}.custom-public-holiday-item:hover,.custom-school-holiday-item:hover{background:var(--clean-gray)}.holiday-content{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.holiday-main-info{flex:1}.holiday-name{margin:0 0 6px;font-size:1.1em;font-weight:600;color:var(--text-primary);line-height:1.3}.holiday-date{margin:0;color:var(--text-secondary);font-size:.95em;line-height:1.4}.date-separator{margin:0 4px;color:var(--text-muted)}.holiday-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.academic-year-badge,.bridge-badge,.conditional-badge,.day-off-badge,.duration-badge,.level-type-badge,.lustrum-badge,.national-badge,.natural-weekend-badge,.optional-badge,.territory-badge,.working-holiday-badge,.year-badge,.zone-badge,.zone-specific-badge{font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:500;white-space:nowrap;line-height:1.2;display:inline-block}.academic-year-badge{font-size:.65rem;padding:2px 5px;background:var(--text-muted)}.academic-year-badge.academic-span{font-size:.65rem;padding:2px 5px;background:var(--brand-primary);color:#fff}.academic-year-badge.single-year{font-size:.65rem;padding:2px 5px;background:var(--brand-secondary);color:#fff}.duration-badge,.year-badge{background:var(--text-secondary);color:#fff}.level-type-badge{background:var(--brand-primary);color:#fff}.conditional-badge,.day-off-badge,.lustrum-badge,.optional-badge,.working-holiday-badge{background:var(--brand-secondary);color:#fff}.national-badge,.zone-badge,.zone-specific-badge{color:#fff}.national-badge{background:var(--brand-secondary)}.territory-badge{background:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px}.bridge-badge{gap:3px}.public-holidays .year-badge{display:none}.bridge-badge{background:var(--brand-primary);display:inline-flex;align-items:center;gap:4px}.bridge-badge,.natural-weekend-badge{color:#fff;font-size:.75rem;padding:3px 8px;border-radius:12px;font-weight:500}.natural-weekend-badge{background:var(--brand-secondary)}.cluster-badge{display:none}.bridge-opportunity-details{background:var(--clean-gray);padding:12px 16px;margin-top:8px;border-radius:var(--border-radius);border:1px solid var(--border-light)}.bridge-suggestion{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.bridge-suggestion:last-child{margin-bottom:0}.cluster-suggestion{display:none}.bridge-icon{font-size:1.2rem;margin-top:2px;flex-shrink:0}.bridge-text{flex:1;line-height:1.4}.bridge-text strong{color:var(--brand-primary);font-weight:600}.bridge-text p{margin:4px 0 8px;color:var(--text-primary);font-size:.9rem}.bridge-math{display:inline-block;background:var(--brand-primary);color:#fff;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;margin-top:4px;border:none;text-decoration:none;transition:all .2s ease;cursor:pointer;white-space:nowrap}.bridge-math:hover{background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-light)}.cluster-math{display:none}.holiday-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.holiday-conditional-reason,.holiday-description{color:var(--text-primary);font-size:.875rem;margin-bottom:.5rem}.holiday-conditional-reason{padding:.5rem;background-color:#fef3c7;border-radius:var(--border-radius);border:1px solid #fbbf24}.holiday-notes{color:var(--text-secondary);font-size:.8125rem;font-style:italic}.level-type-description{margin-top:8px;padding:8px 12px;background-color:var(--clean-gray);border-radius:var(--border-radius);border:1px solid var(--border-light)}.level-description-text{margin:0;font-size:.875rem;color:var(--text-primary)}.empty-state{padding:40px 24px;background:var(--background-white)}.empty-state-text{margin:0 0 8px;font-size:1.1em;font-weight:500;color:var(--text-secondary)}.empty-state-subtext{margin:0;font-size:.9em;color:var(--text-muted)}.zone-info-banner{background:var(--clean-gray);color:var(--text-primary);border:1px solid var(--border-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.zone-info-content h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.zone-info-content p{margin:0 0 .75rem;color:var(--text-secondary)}.zone-legend{display:flex;flex-wrap:wrap;gap:.25rem}.zone-legend-item{display:inline-block;font-weight:500;padding:4px 8px;border-radius:12px;margin:2px;font-size:.85rem;color:#fff}.zone-based-holidays{display:flex;flex-direction:column;gap:2rem}.zone-group{background:var(--clean-gray);border-radius:var(--border-radius);padding:1rem;border:1px solid var(--border-light)}.zone-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.zone-title-section{flex:1}.zone-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.zone-academies{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary);font-style:italic}.zone-count{background:var(--text-secondary);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.empty-zone{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic;background:var(--background-white)}.zone-comparison-tip{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:1rem;margin-top:1.5rem;text-align:center}.zone-comparison-tip h4{margin:0 0 .5rem;color:var(--brand-primary);font-size:1rem}.zone-comparison-tip p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.4}.zone-a,.zone-badge.zone-a,.zone-legend-item.zone-a,.zone-specific-badge.zone-a{background-color:#ff6b6b}.zone-b,.zone-badge.zone-b,.zone-legend-item.zone-b,.zone-specific-badge.zone-b{background-color:#4ecdc4}.zone-badge.zone-c,.zone-c,.zone-legend-item.zone-c,.zone-specific-badge.zone-c{background-color:#45b7d1}.zone-badge.zone-corse,.zone-corse,.zone-legend-item.zone-corse,.zone-specific-badge.zone-corse{background-color:#f39c12}.zone-badge.zone-group1,.zone-group1,.zone-legend-item.zone-group1,.zone-specific-badge.zone-group1{background-color:#e74c3c}.zone-badge.zone-group2,.zone-group2,.zone-legend-item.zone-group2,.zone-specific-badge.zone-group2{background-color:#3498db}.zone-badge.zone-group3,.zone-group3,.zone-legend-item.zone-group3,.zone-specific-badge.zone-group3{background-color:#2ecc71}.zone-badge.zone-group4,.zone-group4,.zone-legend-item.zone-group4,.zone-specific-badge.zone-group4{background-color:#9b59b6}.zone-badge.zone-default,.zone-default,.zone-legend-item.zone-default,.zone-specific-badge.zone-default{background-color:var(--text-muted);color:#fff}.zone-badge.zone-overseas,.zone-legend-item.zone-overseas,.zone-overseas{background:#34495e;color:#fff}.zone-based-holidays .custom-school-holiday-item{background:var(--background-white);border-left:none;border-right:none;padding-left:20px}.zone-based-holidays .custom-school-holiday-item:hover{background:var(--clean-gray)}.national-holiday,.zone-specific{background:var(--background-white);border-left:none;border-right:none}.custom-school-holiday-item{transition:all .2s ease}.custom-school-holiday-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-medium)}.national-indicator{margin-left:.5rem;font-size:.9rem}.overseas-territories-banner{background:var(--clean-gray);color:var(--text-primary);border:1px solid var(--border-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem}.overseas-info-content{display:flex;flex-direction:column;gap:8px}.banner-header-toggle{transition:background-color .2s ease;border-radius:6px;padding:8px 12px;cursor:pointer}.banner-header-toggle:hover{background-color:rgba(32,178,170,.1)}.banner-header{display:flex;align-items:center;gap:8px}.overseas-flag{font-size:16px}.banner-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.toggle-indicator{margin-left:auto;font-size:.9em;font-weight:700;color:var(--text-secondary);transition:transform .2s ease}.territories-summary p{margin:0;color:var(--text-secondary);font-size:.9rem}.territories-expandable-content{margin-top:12px;animation:slideDown .2s ease-out}.territories-description p{color:var(--text-secondary);margin:0;line-height:1.4;font-size:.9rem}.territories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-bottom:12px}.territory-card{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--background-white);border:1px solid var(--border-light);border-radius:6px;text-decoration:none;transition:all .2s ease}.territory-card:hover{background:var(--clean-gray);box-shadow:var(--shadow-light);transform:translateY(-1px);border-color:var(--brand-primary);text-decoration:none}.territory-info{flex:1}.territory-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 2px}.territory-region{font-size:.8rem;color:var(--text-secondary);margin:0 0 2px;font-style:italic}.territory-academies,.territory-includes{font-size:.75rem;color:var(--text-secondary);margin:1px 0}.territory-arrow{font-size:1rem;color:var(--text-secondary);font-weight:700;margin-left:8px;transition:transform .2s ease}.territory-card:hover .territory-arrow{transform:translateX(2px);color:var(--brand-primary)}.territories-notice{display:flex;gap:8px;background:var(--background-white);padding:8px 12px;border-radius:6px;border:1px solid var(--border-light)}.notice-icon{font-size:14px;flex-shrink:0;color:var(--text-secondary)}.notice-text p{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.3}.overseas-territory-banner{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius-large);padding:24px;margin:20px 0;box-shadow:var(--shadow-light)}.current-territory-info{background:var(--background-white);padding:16px;border-radius:var(--border-radius);border:1px solid var(--border-light)}.current-territory-info h4{margin:0 0 8px;color:var(--brand-primary);font-size:1.1em}.territory-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.feature-badge{background:var(--brand-secondary);color:#fff;padding:4px 8px;border-radius:16px;font-size:.8em;font-weight:500}.feature-badge.carnival{background:var(--brand-primary)}.feature-badge.cultural{background:var(--brand-primary-hover)}.feature-badge.independent{background:var(--brand-secondary)}.overseas-notice{display:flex;gap:12px;background:var(--background-white);padding:16px;border-radius:var(--border-radius);border:1px solid var(--border-light)}.overseas-notice .notice-text strong{color:var(--brand-primary)}.overseas-notice .notice-text p{margin:4px 0 0;color:var(--text-primary);font-size:.9em;line-height:1.4}.academic-year-banner{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius-large);padding:1.25rem;margin-top:1.5rem;margin-bottom:0;box-shadow:var(--shadow-light);max-width:100%;width:100%}.school-holidays .academic-year-banner{display:block}.public-holidays .academic-year-banner{display:none}.academic-year-content .banner-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.academic-icon{font-size:1.2rem}.academic-year-content h3{color:var(--brand-primary);font-size:1rem;font-weight:600;margin:0}.academic-year-details{display:flex;flex-direction:column;gap:1rem}.academic-years-section,.single-years-section{background:var(--background-white);border-radius:.5rem;padding:1rem;border:1px solid var(--border-light)}.academic-years-section h4,.single-years-section h4{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 .75rem}.academic-years-list,.single-years-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.academic-year-badge{background:var(--brand-primary)}.academic-year-badge,.single-year-badge{color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.single-year-badge{background:var(--brand-secondary)}.academic-year-explanation{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:0}.section-notes{padding:14px 20px 16px;border-top:1px solid var(--border-light);margin-top:0;background:var(--clean-gray)}.section-notes .notes-content h3{margin:0 0 12px;font-size:1em;font-weight:600;color:var(--text-primary)}.section-notes .national-notes,.section-notes .regional-notes{margin-bottom:12px}.section-notes .national-notes:last-child,.section-notes .regional-notes:last-child,.section-notes .single-note:last-child{margin-bottom:0}.public-holiday-notes{background:var(--clean-gray);color:var(--text-primary);padding:20px;border-radius:12px;margin-top:34px;margin-bottom:24px;box-shadow:var(--shadow-light);border:1px solid var(--border-light)}.public-holiday-notes .notes-content h3{margin:0 0 16px;font-size:1.2em;font-weight:600;color:var(--brand-primary)}.public-holiday-notes h4{margin:0 0 8px;font-weight:600;color:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px;font-size:.85em}.public-holiday-notes .notes-list{list-style:none;padding:0;margin:0}.public-holiday-notes .note-item{position:relative;padding-left:20px;margin-bottom:8px;opacity:.9;line-height:1.5;color:var(--text-primary)}.public-holiday-notes .note-item:before{content:"•";position:absolute;left:0;color:var(--brand-primary);font-weight:700}.school-holiday-notes{background:var(--clean-gray);color:var(--text-primary);padding:20px;border-radius:12px;margin-top:34px;margin-bottom:24px;box-shadow:var(--shadow-light);border:1px solid var(--border-light)}.school-holiday-notes .notes-content h3{margin:0 0 16px;font-size:1.2em;font-weight:600;color:var(--brand-secondary)}.school-holiday-notes h4{margin:0 0 8px;font-weight:600;color:var(--brand-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85em}.school-holiday-notes .notes-list{list-style:none;padding:0;margin:0}.school-holiday-notes .note-item{position:relative;padding-left:20px;margin-bottom:8px;opacity:.9;line-height:1.5;color:var(--text-primary)}.school-holiday-notes .note-item:before{content:"•";position:absolute;left:0;color:var(--brand-secondary);font-weight:700}@media (max-width:768px){.view-options{flex-direction:column;gap:8px}.holiday-content{flex-direction:column;gap:12px}.holiday-badges{justify-content:flex-start}.zone-header{flex-direction:column;gap:8px}.section-header{flex-direction:column;gap:12px;align-items:flex-start}.public-holiday-notes,.school-holiday-notes{padding:16px}.public-holiday-notes .notes-content h3,.school-holiday-notes .notes-content h3{font-size:1.1em}.academic-year-banner{padding:1rem;margin-bottom:1rem}.academic-year-content .banner-header{gap:.5rem}.academic-year-content h3{font-size:1rem}.academic-years-section,.single-years-section{padding:.75rem}.overseas-territories-banner{padding:.75rem;margin-bottom:1rem}.banner-header-toggle{padding:6px 10px}.banner-header h3{font-size:1rem}.territories-grid{grid-template-columns:1fr;gap:6px}.territory-card{padding:6px 10px}.bridge-suggestion{flex-direction:column;gap:8px}.bridge-icon{align-self:flex-start}.bridge-opportunity-details{padding:10px 12px;margin-left:-16px;margin-right:-16px;border-radius:0}.bridge-math{font-size:.8rem;padding:3px 6px}}@media (max-width:480px){.overseas-territories-banner{padding:.5rem}.territory-card{flex-direction:column;align-items:flex-start;gap:4px;padding:8px}.territory-arrow{align-self:flex-end;margin-left:0}.bridge-badge,.natural-weekend-badge{font-size:.7rem;padding:3px 6px}}@keyframes slideDown{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:600px}}@media (prefers-color-scheme:dark){:root{--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--background-light:#1e293b;--background-white:#0f172a;--border-light:#334155;--clean-gray:#1e293b}.bridge-opportunity-details{background:var(--background-light);border-color:var(--border-light)}.bridge-text p{color:var(--text-primary)}.bridge-math{background:rgba(32,178,170,.2);color:var(--brand-primary);border-color:var(--brand-primary)}.academic-year-banner{background:var(--clean-gray);border-color:var(--border-light)}.academic-year-content h3{color:var(--brand-primary)}.academic-years-section,.single-years-section{background:var(--background-white);border-color:var(--border-light)}.academic-years-section h4,.single-years-section h4{color:var(--text-primary)}.academic-year-explanation{color:var(--text-secondary)}}.bridge-opportunity-details,.bridge-suggestion,.custom-public-holiday-item,.custom-public-holiday-item *,.custom-school-holiday-item,.custom-school-holiday-item *,.holiday-badges,.holiday-content,.holiday-main-info,.national-holiday,.zone-based-holidays .custom-school-holiday-item,.zone-specific{border-left:none!important;border-right:none!important}.custom-public-holiday-item,.custom-school-holiday-item,.zone-based-holidays .custom-school-holiday-item{background:var(--background-white)!important}.bridge-opportunity-details,.custom-public-holiday-item:hover,.custom-school-holiday-item:hover,.zone-based-holidays .custom-school-holiday-item:hover{background:var(--clean-gray)!important}.bridge-opportunity-details{border:1px solid var(--border-light)!important}.zone-title{padding-left:0!important}.holiday-conditional-reason{background:#fef3c7!important;border:1px solid #fbbf24!important}.level-type-description{background:var(--clean-gray)!important;border:1px solid var(--border-light)!important}.current-territory-info{background:var(--background-white)!important;border:1px solid var(--border-light)!important}.education-level-selector,.school-type-selector{margin-bottom:24px}.education-level-selector.view-options,.school-type-selector.view-options{display:flex;flex-direction:column;gap:12px;background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:16px;width:100%;max-width:100%}.selector-header{margin:0 0 8px;padding:0}.selector-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;padding:0}.selector-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--background-light);border-radius:6px;border:1px solid var(--border-light)}.education-level-selector .view-toggle,.school-type-selector .view-toggle{padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap;min-width:auto;flex-shrink:0}.education-level-selector .view-toggle:hover,.school-type-selector .view-toggle:hover{background:var(--border-light);color:var(--text-primary)}.education-level-selector .view-toggle.active,.school-type-selector .view-toggle.active{background:var(--background-white);color:var(--text-primary);box-shadow:var(--shadow-light);font-weight:600}.school-type-selector .view-toggle.active{border:1px solid var(--brand-primary);box-shadow:0 2px 4px rgba(32,178,170,.1)}.education-level-selector .view-toggle.active{border:1px solid var(--brand-secondary);box-shadow:0 2px 4px rgba(101,201,149,.1)}.view-options.main-view-toggle{display:flex;gap:8px;margin-bottom:24px;padding:2px;background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-light);width:fit-content;flex-direction:row}.main-view-toggle .view-toggle{padding:8px 16px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap}.main-view-toggle .view-toggle:hover{background:var(--border-light);color:var(--text-primary)}.main-view-toggle .view-toggle.active{background:var(--background-white);color:var(--text-primary);box-shadow:var(--shadow-light);font-weight:600}.main-view-toggle+.school-type-selector,.school-type-selector+.education-level-selector{margin-top:0}.selector-loading .view-toggle{opacity:.5;cursor:not-allowed;pointer-events:none}.education-level-selector .view-toggle:focus,.school-type-selector .view-toggle:focus{outline:2px solid var(--brand-primary);outline-offset:2px}@media (max-width:768px){.education-level-selector.view-options,.school-type-selector.view-options{padding:12px;margin-bottom:16px}.selector-buttons{padding:6px;gap:4px}.education-level-selector .view-toggle,.school-type-selector .view-toggle{padding:6px 10px;font-size:.8rem}.selector-title{font-size:.9rem}}@media (max-width:480px){.selector-buttons{flex-direction:column;gap:4px}.education-level-selector .view-toggle,.school-type-selector .view-toggle{width:100%;text-align:center;padding:8px 12px}.education-level-selector.view-options,.school-type-selector.view-options{padding:10px}}@media (prefers-color-scheme:dark){.selector-title{color:var(--text-primary)}.selector-buttons{background:var(--background-light);border-color:var(--border-light)}.education-level-selector .view-toggle,.school-type-selector .view-toggle{color:var(--text-secondary)}.education-level-selector .view-toggle:hover,.school-type-selector .view-toggle:hover{background:var(--border-light);color:var(--text-primary)}.education-level-selector .view-toggle.active,.school-type-selector .view-toggle.active{background:var(--background-white);color:var(--text-primary)}}.rotating-zones .zone-group{border-left:4px solid var(--rotating-zone-color)}.rotating-zone-badge{background:linear-gradient(45deg,var(--zone-color),var(--zone-color-light))}.rotating-zone-badge:after{font-size:.8em}.rotation-info{background:var(--rotation-info-bg);padding:12px;margin-top:8px}.rotation-schedule{margin-top:8px}.rotation-year{align-items:center;gap:8px}.rotation-year-label{min-width:80px;color:var(--accent-color)}.rotation-regions{gap:4px}.rotation-region{background:var(--region-badge-bg);color:var(--region-badge-text)}.rotation-more,.rotation-region{padding:2px 6px;border-radius:4px;font-size:.9em}.rotation-more{background:var(--more-badge-bg);color:var(--more-badge-text)}.affected-regions-badge{background:var(--regions-badge-bg);color:var(--regions-badge-text);font-size:.85em;border:1px solid var(--regions-badge-border)}.rotating-zones-tip{background:var(--tip-bg);padding:16px}.rotation-notice{margin-top:8px;padding:8px;background:var(--notice-bg);border-left:4px solid var(--notice-border)}.zone-legend-item.rotating{background:linear-gradient(45deg,var(--zone-color),var(--zone-color-light))}.rotation-feature{padding:12px;background:var(--feature-bg)}.rotation-text strong{color:var(--accent-color);margin-bottom:4px}.rotation-indicator{font-size:.8em;margin-left:4px}.region-selector-section{margin:24px 0;padding:24px;background:var(--selector-bg,#f8f9fa);border-radius:12px;border:1px solid var(--selector-border,#e0e6ed)}.region-selector-section .selector-header{margin-bottom:20px;text-align:center}.region-selector-section .selector-header h3{margin:0 0 8px;color:var(--heading-color,#2c3e50);font-size:1.25rem;font-weight:600}.region-selector-section .selector-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;max-width:600px;margin:0 auto}.region-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.region-option{display:block;padding:16px;background:var(--region-option-bg,#fff);border:2px solid var(--region-option-border,#e0e6ed);border-radius:8px;text-decoration:none;color:var(--text-color,#333);transition:all .3s ease;position:relative}.region-option:hover{border-color:var(--accent-color,#20b2aa);box-shadow:0 2px 8px rgba(52,152,219,.15);transform:translateY(-1px)}.region-option.selected{border-color:var(--accent-color,#20b2aa);background:var(--region-selected-bg,#f0f8ff);box-shadow:0 2px 12px rgba(52,152,219,.2)}.region-option.selected:before{content:"✓";position:absolute;top:8px;right:8px;color:var(--accent-color,#20b2aa);font-weight:700;font-size:1.2em}.region-info h4{margin:0 0 8px;color:var(--heading-color,#2c3e50);font-size:1.1rem;font-weight:600}.region-code{font-size:.9rem;font-weight:500}.region-code,.region-population{color:var(--text-muted,#6c757d);margin:4px 0}.region-population,.region-zone{font-size:.85rem}.region-zone{color:var(--zone-color,#dfb129);margin:8px 0 0;font-weight:600;padding:4px 8px;background:var(--zone-badge-bg,rgba(230,126,34,.1));border-radius:4px;display:inline-block}.selected-region-display{border-left:4px solid var(--accent-color,#3498db)}.region-label{color:var(--accent-color,#3498db)}.region-selector-section.compact{margin:16px 0;padding:16px}.region-selector-grid.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.region-option.compact{display:block;padding:12px;background:var(--region-option-bg,#fff);border:2px solid var(--region-option-border,#e0e6ed);border-radius:6px;text-decoration:none;color:var(--text-color,#333);transition:all .2s ease;position:relative;min-height:auto}.region-option.compact:hover{border-color:var(--accent-color,#20b2aa);box-shadow:0 1px 4px rgba(32,178,170,.1);transform:translateY(-1px)}.region-option.compact.selected{border-color:var(--accent-color,#20b2aa);background:var(--region-selected-bg,rgba(32,178,170,.1));box-shadow:0 1px 6px rgba(52,152,219,.2)}.region-option.compact.selected:before{content:"✓";position:absolute;top:6px;right:8px;color:var(--accent-color,#20b2aa);font-weight:700;font-size:1em}.region-option.compact .region-info h4{margin:0 0 4px;color:var(--heading-color,#2c3e50);font-size:1rem;font-weight:600;line-height:1.3}.region-option.compact .region-zone{color:#d97706;font-size:.8rem;margin:0;font-weight:400;padding:2px 6px;background:#fef3c7;border-radius:8px;display:inline-block}@media (max-width:768px){.region-selector-grid.compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.region-option.compact{padding:10px}.region-option.compact .region-info h4{font-size:.9rem}.region-option.compact .region-zone{font-size:.75rem}}@media (max-width:480px){.region-selector-grid.compact{grid-template-columns:repeat(2,1fr);gap:8px}.region-selector-section.compact{margin:12px 0;padding:12px}.region-option.compact{padding:8px}}.region-selector-section.compact .selector-description{font-size:.9rem;margin-bottom:8px}.selected-region-display{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;background:var(--region-display-bg,rgba(52,152,219,.1));border-radius:6px;border-left:4px solid var(--accent-color,#20b2aa)}.region-label{font-weight:600;color:var(--accent-color,#20b2aa)}.region-value{font-weight:500;color:var(--text-color,#333)}.region-zone-info{color:var(--text-muted,#6c757d);font-size:.9rem;font-style:italic}.rotating-zones .zone-group{border-left:4px solid var(--rotating-zone-accent,#e74c3c);background:var(--rotating-zone-bg,linear-gradient(135deg,#fff 0,#fdf6f6 100%))}.rotating-zones .zone-group.rotating-zone{position:relative}.rotating-zones .zone-group.rotating-zone:before{content:"🔄";position:absolute;top:16px;right:16px;font-size:1.2em;opacity:.7}.zone-title .rotating-indicator{display:inline-block;margin-left:8px;font-size:.8em;opacity:.8;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rotation-info{background:var(--rotation-info-bg,rgba(231,76,60,.05));border:1px solid var(--rotation-info-border,rgba(231,76,60,.2));border-radius:8px;padding:16px;margin-top:12px}.rotation-description{color:var(--text-muted,#6c757d);font-size:.9rem;margin-bottom:12px;font-style:italic}.rotation-schedule{display:flex;flex-direction:column;gap:8px}.rotation-year{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--rotation-divider,rgba(231,76,60,.1))}.rotation-year:last-child{border-bottom:none}.rotation-year-label{font-weight:600;min-width:90px;color:var(--rotation-year-color,#e74c3c);font-size:.95rem}.rotation-regions{display:flex;flex-wrap:wrap;gap:6px;flex:1}.rotation-region{background:var(--region-badge-bg,rgba(52,152,219,.1));color:var(--region-badge-text,#2980b9);padding:3px 8px;border-radius:12px;font-size:.8rem;border:1px solid var(--region-badge-border,rgba(52,152,219,.3));white-space:nowrap}.rotation-more{background:var(--more-badge-bg,hsla(184,9%,62%,.1));color:var(--more-badge-text,#7f8c8d);padding:3px 8px;border-radius:12px;font-size:.8rem;font-style:italic;border:1px solid var(--more-badge-border,hsla(184,9%,62%,.3))}.rotating-zone-badge{background:linear-gradient(135deg,var(--rotating-zone-color,#e74c3c) 0,var(--rotating-zone-light,#f39c8f) 100%);color:#fff;padding:4px 8px;border-radius:12px;font-size:.85em;font-weight:500;position:relative;border:none;box-shadow:0 2px 4px rgba(231,76,60,.2)}.rotating-zone-badge:after{content:"🔄";font-size:.7em;margin-left:4px;opacity:.8}.affected-regions-badge{background:var(--regions-badge-bg,rgba(155,89,182,.1));color:var(--regions-badge-text,#8e44ad);padding:4px 8px;border-radius:12px;font-size:.8em;border:1px solid var(--regions-badge-border,rgba(155,89,182,.3));font-weight:500}.zone-info-banner.rotating-zones{background:linear-gradient(135deg,#fef9f9,#fdf2f2);border-left:4px solid var(--rotating-zone-accent,#e74c3c)}.rotating-zones-description{margin-bottom:16px}.rotation-explanation{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:16px}.rotation-feature{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--feature-bg,hsla(0,0%,100%,.7));border-radius:8px;border:1px solid var(--feature-border,rgba(231,76,60,.1))}.rotation-icon{font-size:1.5em;line-height:1;flex-shrink:0}.rotation-text{flex:1}.rotation-text strong{color:var(--rotation-accent,#e74c3c);display:block;margin-bottom:6px;font-size:.95rem}.rotation-text p{margin:0;color:var(--text-muted,#6c757d);font-size:.9rem;line-height:1.4}.zone-legend-item.rotating{background:linear-gradient(135deg,var(--rotating-zone-color,#e74c3c) 0,var(--rotating-zone-light,#f39c8f) 100%);color:#fff;position:relative;font-weight:500}.zone-legend-item.rotating .rotation-indicator{font-size:.8em;margin-left:6px;opacity:.9;animation:rotate 3s linear infinite}.rotating-zones-tip{background:var(--rotating-tip-bg,rgba(231,76,60,.05));border:1px solid var(--rotating-tip-border,rgba(231,76,60,.2));border-radius:8px;padding:20px;margin-top:16px}.rotation-notice{margin-top:12px;padding:12px;background:var(--notice-bg,rgba(241,196,15,.1));border-left:4px solid var(--notice-accent,#f1c40f);border-radius:4px}.rotation-notice strong{color:var(--notice-strong,#f39c12)}@media (max-width:768px){.region-selector-grid,.rotation-explanation{grid-template-columns:1fr;gap:12px}.rotation-year{flex-direction:column;gap:8px}.rotation-year-label{min-width:auto}.selected-region-display{flex-direction:column;align-items:flex-start;gap:4px}.region-option{padding:12px}}@media (max-width:480px){.region-selector-section{margin:16px 0;padding:16px}.rotation-feature{padding:12px}.rotation-regions{gap:4px}.rotation-more,.rotation-region{font-size:.75rem;padding:2px 6px}}@media (prefers-color-scheme:dark){.region-selector-section{background:var(--selector-bg-dark,#2c3e50);border-color:var(--selector-border-dark,#34495e)}.region-option{background:var(--region-option-bg-dark,#34495e);border-color:var(--region-option-border-dark,#485563);color:var(--text-color-dark,#ecf0f1)}.region-option.selected{background:var(--region-selected-bg-dark,rgba(52,152,219,.2));border-color:var(--accent-color-dark,#5dade2)}.rotation-info{background:var(--rotation-info-bg-dark,rgba(231,76,60,.15));border-color:var(--rotation-info-border-dark,rgba(231,76,60,.3))}.rotation-feature{background:var(--feature-bg-dark,hsla(0,0%,100%,.05));border-color:var(--feature-border-dark,rgba(231,76,60,.2))}.zone-info-banner.rotating-zones{background:linear-gradient(135deg,#2c3e50,#34495e)}}.zone-group.rotating-zone{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.region-selector-grid.loading{opacity:.6;pointer-events:none}.region-option.loading{position:relative;overflow:hidden}.region-option.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media print{.region-selector-section{display:none}.rotation-explanation,.rotation-info,.zone-group{break-inside:avoid}.zone-group{margin-bottom:20px}}.community-selector{margin-bottom:24px}.community-selector.view-options{display:flex;flex-direction:column;gap:12px;background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:16px;width:100%;max-width:100%}.community-selector .selector-header{margin:0 0 8px;padding:0}.community-selector .selector-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;padding:0}.community-selector .selector-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:8px}.community-selector .selector-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--background-light);border-radius:6px;border:1px solid var(--border-light)}.community-toggle{padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap;min-width:auto;flex-shrink:0}.community-toggle:hover{background:var(--border-light);color:var(--text-primary)}.community-toggle.active{background:var(--background-white);color:var(--text-primary);box-shadow:var(--shadow-light);font-weight:600;border:1px solid var(--brand-primary);box-shadow:0 2px 4px rgba(32,178,170,.1)}.community-info{display:flex;flex-direction:column;gap:.5rem}.community-name{font-weight:600;font-size:1rem}.community-description{opacity:.8}.community-info-banner{background:var(--clean-gray);color:var(--text-primary);border:1px solid var(--border-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.community-info-content h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary);font-weight:600}.community-info-content p{margin:0 0 .75rem;color:var(--text-secondary)}.community-legend{display:flex;flex-wrap:wrap;gap:.25rem}.community-legend-item{display:inline-block;font-weight:500;padding:4px 8px;border-radius:12px;margin:2px;font-size:.85rem;color:#fff}.community-legend-item.community-french{background:var(--text-secondary)}.community-legend-item.community-german{background:var(--text-muted)}.community-legend-item.community-dutch{background:var(--brand-primary)}.community-based-holidays{display:flex;flex-direction:column;gap:2rem}.community-group{background:var(--clean-gray);border-radius:var(--border-radius);padding:1rem;border:1px solid var(--border-light)}.community-group[data-community=french]{border-left:3px solid var(--text-secondary)}.community-group[data-community=german]{border-left:3px solid var(--text-muted)}.community-group[data-community=dutch]{border-left:3px solid var(--brand-primary)}.community-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.community-title-section{flex:1}.community-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.community-academies{margin:.25rem 0 0}.community-academies,.community-description{font-size:.85rem;color:var(--text-secondary);font-style:italic}.community-description{margin:.25rem 0}.community-count{background:var(--text-secondary);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.custom-school-holiday-item.community-specific{background:var(--background-white);border-left:none;border-right:none;padding-left:20px}.community-group[data-community=dutch] .custom-school-holiday-item.community-specific:hover,.community-group[data-community=french] .custom-school-holiday-item.community-specific:hover,.community-group[data-community=german] .custom-school-holiday-item.community-specific:hover{background:var(--clean-gray)}.community-badge{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500;color:#fff}.community-badge.community-french{background:var(--text-secondary)}.community-badge.community-german{background:var(--text-muted)}.community-badge.community-dutch{background:var(--brand-primary)}.empty-community{padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic;background:var(--background-white)}.community-comparison-tip{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:1rem;margin-top:1.5rem;text-align:center}.community-comparison-tip h4{margin:0 0 .5rem;color:var(--brand-primary);font-size:1rem}.community-comparison-tip p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.4}.community-selector-section.compact{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:2rem}.community-selector-section .selector-header h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 .5rem;font-weight:600}.community-selector-section .selector-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.community-selector-grid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.community-option.compact{display:block;text-decoration:none;background:var(--background-white);border:2px solid var(--border-light);border-radius:var(--border-radius);padding:1rem;transition:all .3s ease;color:inherit}.community-option.compact:hover{border-color:var(--brand-primary);background:var(--clean-gray);text-decoration:none;color:inherit;transform:translateY(-1px);box-shadow:var(--shadow-light)}.community-option.compact.selected{border-color:var(--brand-primary);background:rgba(32,178,170,.1)}.community-option.compact .community-info h4{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary);font-weight:600}.community-option.compact .community-desc{color:var(--text-secondary);font-size:.9rem;margin:0}.selected-community-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.community-label{font-weight:600;color:var(--text-primary)}.community-value{color:var(--brand-primary);font-weight:500}@media (max-width:768px){.community-selector .selector-buttons{flex-direction:column;gap:4px}.community-toggle{width:100%;text-align:center;padding:8px 12px}.community-header{flex-direction:column;gap:1rem;align-items:flex-start}.community-count{align-self:flex-end}.community-legend{justify-content:center}.community-selector-grid.compact{grid-template-columns:1fr}}@media (max-width:480px){.community-selector.view-options{padding:10px}.community-selector-section.compact{padding:12px;margin-bottom:16px}}@media (prefers-color-scheme:dark){.community-group,.community-info-banner{background:var(--clean-gray);border-color:var(--border-light)}.community-option.compact{background:var(--background-white);border-color:var(--border-light);color:var(--text-primary)}.community-option.compact:hover{background:var(--clean-gray);border-color:var(--brand-primary)}.community-option.compact.selected{background:rgba(32,178,170,.2);border-color:var(--brand-primary)}}.education-level-badge{background:rgba(101,201,149,.1);color:#059669;border:1px solid rgba(101,201,149,.3);font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--border-radius);text-transform:capitalize;white-space:nowrap}.education-level-badge.level-primary{background:rgba(59,130,246,.1);color:#2563eb;border:1px solid rgba(59,130,246,.3)}.education-level-badge.level-secondary{background:rgba(168,85,247,.1);color:#7c3aed;border:1px solid rgba(168,85,247,.3)}.school-type-based-holidays{display:flex;flex-direction:column;gap:2rem;margin-top:1.5rem}.school-type-group{background:var(--background-white);padding:1rem 1.25rem 1.25rem;transition:box-shadow .15s ease}.school-type-group:hover{box-shadow:var(--shadow-medium)}.school-type-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light);gap:1rem}.school-type-title-section{flex:1;min-width:0}.school-type-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.school-type-description{font-size:.875rem;color:var(--text-secondary);margin:.5rem 0 0;line-height:1.5}.school-type-count{flex-shrink:0;font-size:.875rem;font-weight:600;padding:.375rem .75rem;white-space:nowrap}.empty-school-type,.school-type-count{color:var(--text-secondary);background:var(--background-light);border-radius:var(--border-radius)}.empty-school-type{padding:2rem;text-align:center}.school-type-comparison-tip{background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(168,85,247,.05));border:1px solid rgba(59,130,246,.2);border-left:4px solid #3b82f6;border-radius:var(--border-radius);padding:1.25rem;margin-top:1.5rem}.school-type-comparison-tip h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.school-type-comparison-tip p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.custom-school-holiday-item.school-type-specific{border-left:3px solid transparent}.school-type-group[data-school-type=public] .custom-school-holiday-item.school-type-specific{border-left-color:#3b82f6}.school-type-group[data-school-type=international] .custom-school-holiday-item.school-type-specific{border-left-color:#a855f7}.school-type-group[data-school-type=private] .custom-school-holiday-item.school-type-specific{border-left-color:#ec4899}@media (max-width:768px){.school-type-header{flex-direction:column;align-items:flex-start}.school-type-count{align-self:flex-start}}.school-type-badge{border:1px solid rgba(59,130,246,.3);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap;text-transform:capitalize}.school-type-badge,.school-type-badge.type-public{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(59,130,246,.05));color:#2563eb}.school-type-badge.type-public{border-color:rgba(59,130,246,.3)}.school-type-badge.type-international{background:linear-gradient(135deg,rgba(168,85,247,.15),rgba(168,85,247,.05));color:#9333ea;border-color:rgba(168,85,247,.3)}.school-type-badge.type-private{background:linear-gradient(135deg,rgba(236,72,153,.15),rgba(236,72,153,.05));color:#db2777;border-color:rgba(236,72,153,.3)}.provider-deals-section{padding:3rem 0;width:100vw;position:relative;left:50%;right:50%;margin:0 -50vw;max-width:none;overflow-x:hidden;box-sizing:border-box;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.provider-deals-section.categorized{padding:3.5rem 0}.deals-container{max-width:1400px;margin:0 auto;padding:0 1rem}.section-header{text-align:center;margin-bottom:2rem}.section-header h2{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.section-header p{color:#64748b;font-size:1.1rem;margin:0}.category-filters{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px rgba(0,0,0,.05);border:1px solid #e2e8f0}.filter-group{margin-bottom:1.5rem}.filter-group:last-child{margin-bottom:0}.filter-group label{display:block;font-weight:600;color:#374151;margin-bottom:1rem;font-size:.95rem}.category-tabs{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.category-tab{display:flex;align-items:center;padding:.5rem 1.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s ease;min-width:120px;text-decoration:none;color:inherit;position:relative;overflow:hidden}.category-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent)}.category-tab:hover:before{left:100%}.category-tab:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1);border-color:#3b82f6;background:#fff}.category-tab.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.3)}.category-tab.disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9;border-color:#d1d5db}.category-tab.disabled:hover{transform:none;box-shadow:none;border-color:#d1d5db;background:#f1f5f9}.tab-icon{font-size:1rem;display:inline-block;margin-right:.5rem}.tab-count,.tab-text{font-size:.85rem;font-weight:500}.tab-header{display:flex;align-items:center;text-decoration:none}.tab-header .pi{margin-right:.5rem;font-size:1rem}.category-tab.active .tab-count{opacity:.9}.provider-filters{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.provider-filter{padding:.5rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;color:#374151}.provider-filter:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1);border-color:#3b82f6;background:#fff}.provider-filter.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.category-description{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border-left:4px solid #3b82f6}.category-info{display:flex;align-items:center;gap:1rem}.category-icon{font-size:2rem;flex-shrink:0}.category-description h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.category-description p{color:#64748b;margin:0;font-size:.9rem}.provider-section{margin-bottom:3rem;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,.05);border:1px solid #e2e8f0;position:relative;overflow:hidden}.provider-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899)}.provider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.provider-title{gap:1rem}.provider-logo,.provider-title{display:flex;align-items:center}.provider-logo{width:80px;height:60px;justify-content:center;background:transparent;border-radius:0;box-shadow:none;position:relative;padding:4px;border:none}.provider-logo img{max-width:100%;max-height:100%;object-fit:contain;filter:none}.provider-logo img[src*="awltovhc.com"],.provider-logo img[src*="ftjcfx.com"]{min-width:60px;min-height:30px;transform:scale(1.5)}.fallback-logo{font-size:.8rem;font-weight:700;color:#3b82f6;text-align:center;line-height:1.1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:2px;box-sizing:border-box}.provider-info h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.provider-info p{color:#64748b;font-size:.95rem;margin:0;max-width:400px}.deals-count{background:#3b82f6;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.category-badge{background:hsla(0,0%,100%,.2);padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500}.deals-scroll-container{position:relative}.scroll-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:2px solid #e2e8f0;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;font-weight:700;color:#64748b;transition:all .2s ease;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.1)}.scroll-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6;transform:translateY(-50%) scale(1.05)}.scroll-left{left:-15px}.scroll-right{right:-15px}.deals-horizontal-scroll{display:flex;gap:1.5rem;overflow-x:auto;scroll-behavior:smooth;padding:1rem 0;scrollbar-width:none;-ms-overflow-style:none;margin:0 10px}.deals-horizontal-scroll::-webkit-scrollbar{display:none}.deal-card-horizontal{flex:0 0 280px;background:#f8fafc;border-radius:12px;padding:1rem;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;cursor:pointer;animation:slideInFromRight .5s ease-out;animation-delay:calc(var(--deal-index) * .1s);animation-fill-mode:both}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.deal-card-horizontal:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.15);background:#fff}.deal-card-horizontal.expiring{background:linear-gradient(135deg,#fef2f2,#fff);border-color:#fecaca}.deal-card-horizontal.deal-category-hotels{border-left:4px solid #10b981}.deal-card-horizontal.deal-category-flights{border-left:4px solid #3b82f6}.deal-card-horizontal.deal-category-packages{border-left:4px solid #f59e0b}.deal-category-badge{position:absolute;top:.5rem;left:.5rem;background:hsla(0,0%,100%,.95);border:1px solid #e2e8f0;border-radius:8px;padding:.25rem .5rem;display:flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;color:#374151;backdrop-filter:blur(4px);z-index:2}.deal-category-badge .category-icon{font-size:.8rem}.deal-category-badge .category-name{font-weight:600}.urgency-indicator{position:absolute;top:-8px;right:1rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:.25rem .75rem;border-radius:0 0 8px 8px;font-size:.7rem;font-weight:600;animation:pulse 2s infinite;z-index:3;max-width:150px;text-align:center}.deal-progress{position:absolute;top:0;left:0;right:0;height:3px;background:rgba(0,0,0,.1);border-radius:12px 12px 0 0;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s ease;border-radius:12px 12px 0 0}.deal-card-horizontal.expiring .progress-bar{background:linear-gradient(90deg,#ef4444,#dc2626)}.deal-content-horizontal{margin-bottom:1rem;margin-top:2rem}.text-link-deal{display:block;text-decoration:none;width:100%}.deal-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:1rem;border-radius:8px;text-align:center;transition:all .2s ease;border:none;width:100%;box-sizing:border-box}.deal-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.deal-button .deal-title{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}.deal-button .deal-code{display:block;font-size:.8rem;opacity:.9}.deal-banner{width:100%;max-width:100%;height:auto;border-radius:8px;border:1px solid #e2e8f0}.custom-banner{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;margin:0 auto}.banner-content h4{font-size:.9rem;font-weight:600;margin:0 0 .5rem;line-height:1.2}.banner-content p{font-size:.8rem;margin:0;opacity:.9}.deal-details h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem;line-height:1.3}.deal-details p{color:#64748b;font-size:.8rem;margin:0 0 1rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.deal-meta-horizontal{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.code-badge{background:#10b981}.code-badge,.discount-badge{color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.discount-badge{background:#f59e0b}.deal-expiry{font-size:.8rem;color:#64748b;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:2px solid #e2e8f0}.expiry-date{font-style:italic;flex:1;font-size:.75rem;color:#64748b}.days-remaining{background:hsla(0,0%,100%,.95);border:1px solid #e2e8f0;color:#374151;padding:.25rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600;white-space:nowrap;backdrop-filter:blur(4px)}.days-remaining.urgent{background:rgba(239,68,68,.1);border-color:#fecaca;color:#dc2626;animation:pulse 2s infinite}.no-expiry{background:hsla(0,0%,100%,.95);border:1px solid #e2e8f0;color:#10b981;padding:.25rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600;backdrop-filter:blur(4px)}.empty-state{text-align:center;padding:4rem 2rem;color:#64748b}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.5rem;font-weight:600;color:#374151;margin-bottom:.5rem}.empty-state p{margin:0;font-size:1rem}.section-footer{text-align:center;padding-top:2rem;margin-top:2rem;border-top:1px solid #e2e8f0}.section-footer p{margin:0 0 1rem;font-size:.8rem;color:#64748b;font-style:italic}.footer-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.footer-stats span{font-size:.85rem;color:#3b82f6;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.provider-deals-section{padding:2rem 0}.deals-container{padding:0 .75rem}.section-header h2{font-size:1.5rem}.category-filters{padding:1.5rem}.category-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.category-tab{flex:0 0 auto;min-width:100px;padding:.75rem 1rem}.tab-icon{font-size:1.25rem}.tab-label{font-size:.8rem}.provider-filters{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.provider-filter{flex:0 0 auto;white-space:nowrap}.category-description{padding:1rem}.category-info{flex-direction:column;text-align:center;gap:.75rem}.provider-section{padding:1.5rem;margin-bottom:2rem}.provider-header{gap:1rem;text-align:center}.provider-header,.provider-title{flex-direction:column;align-items:center}.provider-title{gap:.75rem;width:100%}.provider-logo{width:80px;height:60px;margin:0 auto}.provider-info{text-align:center}.provider-info h3{font-size:1.25rem;margin-bottom:.5rem}.deals-count{align-self:center;flex-direction:column;gap:.25rem}.deal-card-horizontal{flex:0 0 250px}.scroll-btn{width:40px;height:40px;font-size:1rem}.scroll-left{left:-10px}.scroll-right{right:-10px}.footer-stats{gap:1rem}}@media (max-width:480px){.provider-deals-section{padding:1.5rem 0}.deals-container{padding:0 .5rem}.section-header h2{font-size:1.25rem}.category-filters{padding:1rem}.category-tab{min-width:90px;padding:.5rem .75rem;gap:.25rem}.tab-icon{font-size:.9rem}.tab-text{font-size:.75rem}.tab-count{font-size:.65rem}.provider-section{padding:1rem}.provider-logo{width:50px;height:50px}.provider-logo img{max-width:40px;max-height:30px}.fallback-logo{font-size:.6rem;font-weight:800}.provider-info p{font-size:.85rem}.deal-card-horizontal{flex:0 0 220px;padding:.75rem}.deal-category-badge{top:.25rem;left:.25rem;padding:.2rem .4rem;font-size:.65rem}.deals-horizontal-scroll{gap:1rem;margin:0}.scroll-btn{display:none}.empty-state{padding:3rem 1rem}.empty-icon{font-size:3rem}.empty-state h3{font-size:1.25rem}.footer-stats{flex-direction:column;gap:.5rem}}