:root{--color-brand:#1a73e8;--zone-a-bg:#ff9800;--zone-b-bg:#2196f3;--zone-c-bg:#4caf50;--zone-dom-bg:#1e3a5f;--zone-opacity:.8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#222;background:#f0f2f5;font-family:Arial,Helvetica,sans-serif}ul,li{list-style:none}.vacances-header{background:var(--color-brand);color:#fff;z-index:10;justify-content:space-between;align-items:center;height:65px;padding:0 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 2px 5px #00000040}.vacances-header-brand{color:#fff;letter-spacing:.02em;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.vacances-header-cta{color:#fff;border:1px solid #ffffff80;border-radius:6px;padding:.3rem .8rem;font-size:.85rem;text-decoration:none}.vacances-header-cta:hover{background:#ffffff26}.vacances-page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.vacances-page h1,.vacances-page h2,.vacances-page h3{color:var(--color-brand)}.vacances-page h1{margin-bottom:0;font-size:1.8rem}.vacances-year-links{border-top:1px solid #e5e7eb;margin-top:3rem;padding-top:2rem}.vacances-year-links h2{margin-bottom:1rem;font-size:1rem}.vacances-year-links ul{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.vacances-year-links li a{color:var(--color-brand);background:#f3f4f6;border-radius:6px;padding:.3rem .7rem;font-size:.85rem;text-decoration:none;display:inline-block}.vacances-year-links li a:hover{background:#e5e7eb}.vacances-year-links li strong{background:var(--color-brand);color:#fff;border-radius:6px;padding:.3rem .7rem;font-size:.85rem;display:inline-block}.vacances-nav{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.vacances-nav-link{color:#fff;background:var(--color-brand);border-radius:6px;align-items:center;padding:.4rem .9rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.vacances-nav-link:hover{opacity:.9}.vacances-h1-row{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.vacances-h1-row h1{margin-bottom:0}@media (max-width:600px){.vacances-h1-row{flex-direction:column;align-items:flex-start;gap:.5rem}}.vacances-next-season{color:var(--color-brand);white-space:nowrap;flex-shrink:0;font-size:1.2rem;text-decoration:none}.vacances-next-season:hover{opacity:.7}.vacances-intro{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem;box-shadow:0 1px 4px #00000012}.vacances-intro p{color:#444;margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.vacances-intro p:last-child{margin-bottom:0}.vacances-intro-list{margin:.25rem 0 0 1.5rem}.vacances-intro-list li{color:#444;margin-bottom:.5rem;font-size:.95rem;line-height:1.6;list-style-type:disc}.vacances-intro-list li:last-child{margin-bottom:0}.vacances-intro a{color:var(--color-brand);text-decoration:underline}.vacances-intro a:hover{opacity:.8}.vacances-section{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 4px #00000012}.vacances-section h2{border-bottom:2px solid var(--color-brand);margin-bottom:1rem;padding-bottom:.4rem;font-size:1.2rem;font-weight:700}.vacances-section-body{align-items:flex-start;gap:2rem;display:flex}.vacances-map-col{flex-shrink:0}.vacances-map-col img{opacity:.8;height:auto;display:block}.vacances-table{border-collapse:collapse;width:100%;font-size:.88rem}.vacances-table th,.vacances-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.5rem .75rem}.vacances-table th{white-space:nowrap;background:#f8fafc;font-weight:600}.vacances-table td:not(:first-child){white-space:nowrap}.vacances-table tr:last-child td{border-bottom:none}.vacances-metro-legend{gap:.75rem;margin-bottom:1rem;display:flex}.zone-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:5px;display:inline-block}.zone-dot.zone-a{background:var(--zone-a-bg);opacity:var(--zone-opacity)}.zone-dot.zone-b{background:var(--zone-b-bg);opacity:var(--zone-opacity)}.zone-dot.zone-c{background:var(--zone-c-bg);opacity:var(--zone-opacity)}.vacances-zones-legend{color:#666;flex-direction:column;gap:.1rem;margin-top:1rem;font-size:.78rem;line-height:1.8;display:flex}.vacances-no-data{color:#999;padding:.5rem 0;font-size:.88rem;font-style:italic}.vacances-frise{margin-top:3rem}.vacances-frise h2{margin-bottom:1.25rem;font-size:1.1rem;font-weight:700}.frise-container{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:2rem 1rem 1rem;position:relative;overflow:hidden}.frise-months{height:1.4rem;margin-bottom:.5rem;margin-left:calc(70px + 2rem);position:relative}.frise-month{color:#888;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;position:absolute;transform:translate(-50%)}.frise-row{align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.frise-label{color:#555;text-align:right;flex-shrink:0;width:90px;font-size:.65rem;font-weight:600}.frise-track{background:#e9ecef;border-radius:4px;flex:1;height:22px;position:relative;overflow:hidden}.frise-block{cursor:default;border-radius:3px;height:100%;position:absolute}.frise-block--zone-a{background:var(--zone-a-bg);opacity:var(--zone-opacity)}.frise-block--zone-b{background:var(--zone-b-bg);opacity:var(--zone-opacity)}.frise-block--zone-c{background:var(--zone-c-bg);opacity:var(--zone-opacity)}.frise-block--domtom{background:var(--zone-dom-bg);opacity:var(--zone-opacity)}.vacances-hub h1{margin-bottom:1.5rem}.hub-section{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 4px #00000012}.hub-section h2{color:var(--color-brand);margin-bottom:.75rem;font-size:1.3rem;font-weight:700}.hub-section p{color:#444;margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.hub-section p:last-child{margin-bottom:0}.hub-section ul{color:#444;padding-left:1.25rem;font-size:.95rem;line-height:1.9;list-style:outside}.hub-section--current{border-left:4px solid #1a73e8}.hub-section--next{border-left:4px solid #93c5fd}.hub-section-badge{text-transform:uppercase;letter-spacing:.05em;color:#888;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.78rem;font-weight:700;display:flex}.hub-cta{background:var(--color-brand);color:#fff;border-radius:8px;margin-top:.75rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.hub-cta:hover{opacity:.88}.hub-zones-layout{align-items:flex-start;gap:2rem;margin-top:.75rem;display:flex}@media (max-width:640px){.hub-zones-layout{flex-direction:column}}.hub-zones-content{flex-direction:column;flex:1;gap:.75rem;display:flex}.hub-zones-map{opacity:.85;flex-shrink:0;width:180px;height:auto}@media (max-width:640px){.hub-zones-map{display:none}}.hub-zones{flex:1;grid-template-columns:repeat(3,1fr);align-items:start;gap:1rem;display:grid}@media (max-width:640px){.hub-zones{grid-template-columns:1fr}}.hub-periods-list{flex-wrap:wrap;gap:.5rem .75rem;margin-top:.75rem;padding:0;list-style:none;display:flex}.hub-periods-list li{color:#444;background:#f3f4f6;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.9rem;display:flex}.hub-section-title-icon{vertical-align:middle;margin-right:8px}.hub-zone strong .zone-dot{margin-right:6px}.hub-zone{background:#f8fafc;border-radius:8px;padding:.9rem 1rem}.hub-zone strong{margin-bottom:.4rem;font-size:.9rem;display:block}.hub-zone p{color:#555;margin-bottom:0;font-size:.85rem}.hub-archive-list{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding:0;list-style:none;display:flex}.hub-archive-list li a{color:var(--color-brand);background:#f3f4f6;border-radius:6px;padding:.3rem .7rem;font-size:.85rem;text-decoration:none;display:inline-block}.hub-archive-list li a:hover{background:#e5e7eb}.hub-domtom-list{color:#444;grid-template-columns:repeat(2,1fr);gap:.4rem .75rem;margin-top:.75rem;padding:0;font-size:.9rem;list-style:none;display:grid}@media (max-width:480px){.hub-domtom-list{grid-template-columns:1fr}}@media (max-width:640px){.vacances-header{height:52px}.vacances-page{padding:1rem .75rem 3rem}.vacances-section{padding:1rem}.vacances-section-body{flex-direction:column;align-items:center}.vacances-map-col{justify-content:center;display:flex}.vacances-map-col img{max-width:120px}.vacances-table{font-size:.8rem}.vacances-table th,.vacances-table td{padding:.4rem .5rem}.vacances-table td:not(:first-child){white-space:normal}.vacances-frise{-webkit-overflow-scrolling:touch;overflow-x:auto}.frise-container{min-width:560px}.frise-label{width:50px;font-size:.58rem}.frise-months{margin-left:calc(90px + 2rem)}.vacances-year-links li{width:100%}.vacances-year-links li a,.vacances-year-links li strong{text-align:center;box-sizing:border-box;width:100%;display:block}}
