.lpetw{--navy:#152c48;--coral:#fa705e;--cream:#faf8f2;--mint:#c7e8dc;--line:#dce0df}
.lpetw *{box-sizing:border-box}
.lpetw{margin:0;background:var(--cream);color:var(--navy);font-family:Arial,Helvetica,sans-serif}
.lpetw button,.lpetw input,.lpetw a{ -webkit-tap-highlight-color:transparent}
.lpetw button,.lpetw a{touch-action:manipulation}
.lpetw button{font:inherit;cursor:pointer}
.lpetw a{color:inherit}
.lpetw button:focus-visible,.lpetw a:focus-visible,.lpetw input:focus-visible{outline:3px solid #227e88;outline-offset:4px}
.lpetw header{max-width:1280px;margin:auto;padding:25px 42px;display:flex;align-items:center;justify-content:space-between}
.lpetw .brand{font-weight:900;font-size:25px;letter-spacing:-1.3px;text-decoration:none;line-height:.85;display:flex;align-items:center;gap:12px}
.lpetw .brand span:first-child{font-size:47px;color:var(--coral)}
.lpetw .header-note{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700}
.lpetw .hero{background:var(--navy);color:white;overflow:hidden}
.lpetw .hero-inner{max-width:1280px;padding:58px 42px 54px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.lpetw .eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700}
.lpetw .eyebrow:before{content:'';display:inline-block;width:8px;height:8px;background:var(--coral);border-radius:50%;margin-right:10px}
.lpetw h1{font-size:clamp(42px,5.3vw,69px);line-height:1.02;letter-spacing:-3px;margin:24px 0}
.lpetw h1 em{color:var(--mint);font-style:normal}
.lpetw .intro{font-size:16px;line-height:1.7;color:#d8e0ea;max-width:470px}
.lpetw .period{display:inline-flex;gap:10px;border:1px solid #667385;border-radius:30px;padding:12px 17px;margin-top:16px;font-size:14px}
.lpetw .art{position:relative;min-height:290px;display:flex;justify-content:center;align-items:center}
.lpetw .orbit{position:absolute;border:1px solid #486079;border-radius:50%;width:285px;height:285px}
.lpetw .orbit:after{content:'';position:absolute;inset:-30px;border:1px dashed #486079;border-radius:50%}
.lpetw .ticket{position:relative;transform:rotate(-6deg);background:var(--coral);color:var(--navy);width:255px;padding:26px 26px 22px;border-radius:16px;box-shadow:12px 14px 0 #0d2138}
.lpetw .ticket .tiny{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:2px}
.lpetw .ticket .big{font-size:67px;font-weight:900;letter-spacing:-4px;margin:7px 0}
.lpetw .ticket .big small{font-size:24px;vertical-align:middle;letter-spacing:0}
.lpetw .ticket .month{border-top:1px dashed #873f37;padding-top:17px;display:flex;justify-content:space-between;font-size:14px;font-weight:700}
.lpetw .floating{position:absolute;background:var(--mint);color:var(--navy);padding:13px 20px;border-radius:30px;bottom:6px;right:0;transform:rotate(5deg);font-size:13px;font-weight:bold}
.lpetw .star{position:absolute;top:5px;right:15px;font-size:65px;color:#f9d778}
.lpetw .main{max-width:1280px;margin:auto;padding:45px 42px 60px}
.lpetw .section-top{display:flex;justify-content:space-between;align-items:end;gap:25px}
.lpetw h2{font-size:31px;letter-spacing:-1px;margin:0 0 10px}
.lpetw .sub{font-size:14px;color:#5e6b77;margin:0;line-height:1.6}
.lpetw .views{display:flex;background:#eaece8;border-radius:10px;padding:4px;flex-shrink:0}
.lpetw .views button{border:0;background:transparent;padding:10px 16px;border-radius:7px;color:var(--navy);font-size:13px;font-weight:bold}
.lpetw .views button[aria-pressed=true]{background:white;box-shadow:0 2px 5px #152c4810}
.lpetw .toolbar{display:flex;gap:14px;align-items:center;margin:28px 0 18px}
.lpetw .search{position:relative;flex:1}
.lpetw .search svg{position:absolute;top:16px;left:16px;width:19px;height:19px}
.lpetw .search input{width:100%;padding:15px 18px 15px 46px;border:1px solid var(--line);background:white;border-radius:10px;color:var(--navy);font:inherit;font-size:14px}
.lpetw .bus-toggle{display:flex;align-items:center;gap:9px;font-size:13px;white-space:nowrap;border:1px solid var(--line);padding:15px;border-radius:10px;background:white;cursor:pointer}
.lpetw .bus-toggle input{accent-color:var(--navy);width:17px;height:17px;margin:0}
.lpetw .days{display:flex;gap:8px;flex-wrap:wrap}
.lpetw .days button{border:1px solid var(--line);border-radius:30px;padding:10px 16px;background:transparent;color:var(--navy);font-size:13px}
.lpetw .days button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}
.lpetw .results-top{display:flex;justify-content:space-between;align-items:center;margin:26px 0 22px;font-size:12px;color:#586875}
.lpetw .reset{border:0;background:none;color:var(--navy);text-decoration:underline;padding:7px}
.lpetw .day-group{display:grid;grid-template-columns:140px 1fr;gap:22px;border-top:1px solid var(--line);padding:23px 0 8px}
.lpetw .day-heading{padding:4px 0}
.lpetw .day-heading .day{display:block;font-size:13px;margin-bottom:10px}
.lpetw .day-heading strong{font-size:40px;letter-spacing:-2px}
.lpetw .day-heading .month{font-size:13px;margin-left:6px}
.lpetw .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lpetw .card{border:1px solid var(--line);background:white;padding:23px;border-radius:14px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.lpetw .card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #152c4809}
.lpetw .card-top{display:flex;gap:12px;align-items:center;justify-content:space-between}
.lpetw .city{text-transform:uppercase;letter-spacing:1.3px;font-size:10px;font-weight:bold}
.lpetw .badge{font-size:10px;background:#fff0d1;padding:5px 8px;border-radius:5px;white-space:nowrap}
.lpetw .card h3{font-size:21px;letter-spacing:-.5px;margin:16px 0 9px;line-height:1.2}
.lpetw .address{font-size:13px;line-height:1.6;margin:0;color:#66727b;min-height:42px}
.lpetw .card-bottom{border-top:1px solid #edf0ed;margin-top:18px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.lpetw .time{font-size:13px;font-weight:bold;display:flex;gap:7px;align-items:center}
.lpetw .time svg{width:16px;height:16px}
.lpetw .route{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #aebac1;padding:3px 0}
.lpetw .route:hover{color:#a6382b;border-color:currentColor}
.lpetw .empty{padding:50px 20px;text-align:center;border:1px dashed var(--line);border-radius:12px}
.lpetw .table-wrap{overflow-x:auto}
.lpetw table{width:100%;border-collapse:collapse;font-size:13px;background:white}
.lpetw th,.lpetw td{text-align:left;padding:17px 14px;border-bottom:1px solid var(--line);line-height:1.5}
.lpetw th{background:var(--navy);color:white;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.lpetw .info{display:flex;gap:18px;align-items:center;margin-top:36px;background:var(--mint);padding:23px 26px;border-radius:12px}
.lpetw .info .icon{font-size:27px}
.lpetw .info strong{font-size:15px}
.lpetw .info p{font-size:13px;margin:6px 0 0;line-height:1.5}
.lpetw footer{border-top:1px solid var(--line);padding:25px 42px;max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#5e6b77}
.lpetw footer a{text-decoration:none}
.lpetw svg{fill:none;stroke:currentColor;stroke-width:1.8}
@media(min-width:1000px){.lpetw .cards>.card:only-child{grid-column:1/-1}
.lpetw .cards>.card:only-child .address{min-height:0}
}
@media(max-width:760px){.lpetw header{padding:22px}
.lpetw .header-note{font-size:9px;letter-spacing:1px}
.lpetw .hero-inner{padding:38px 22px;grid-template-columns:1fr;gap:0}
.lpetw h1{letter-spacing:-2px}
.lpetw .art{display:none}
.lpetw .main{padding:32px 20px}
.lpetw .section-top{align-items:start;flex-direction:column;gap:18px}
.lpetw h2{font-size:28px}
.lpetw .toolbar{align-items:stretch;flex-direction:column;gap:10px}
.lpetw .bus-toggle{align-self:start;padding:10px 13px}
.lpetw .days{gap:7px}
.lpetw .days button{padding:9px 12px;font-size:12px}
.lpetw .day-group{grid-template-columns:1fr;gap:14px;padding-top:18px}
.lpetw .day-heading{display:flex;gap:9px;align-items:baseline}
.lpetw .day-heading .day{font-size:16px;margin:0}
.lpetw .day-heading strong{font-size:25px;letter-spacing:-1px}
.lpetw .day-heading .month{margin:0}
.lpetw .cards{grid-template-columns:1fr}
.lpetw .card{padding:21px}
.lpetw .address{min-height:0}
.lpetw footer{padding:23px;flex-direction:column}
.lpetw .info{padding:20px}
.lpetw .info .icon{display:none}
}
@media(prefers-reduced-motion:reduce){.lpetw *{transition:none!important}
}
@media print{.lpetw header,.lpetw .hero,.lpetw .toolbar,.lpetw .days,.lpetw .views,.lpetw .reset,.lpetw .info,.lpetw footer{display:none}
.lpetw .main{padding:0}
.lpetw .card{break-inside:avoid}
.lpetw .day-group{display:block}
.lpetw .cards{display:block}
.lpetw .card{margin:10px 0}
.lpetw .route{display:none}
}
.lpetw{--navy:#006f90;--coral:#f16869;--cream:#f7f1eb;--mint:#66c6b7;--line:#dae5e6}
.lpetw{font-family:'Niramit',sans-serif;background:white;color:#363636}
.lpetw .main{max-width:1280px;padding-top:36px}
.lpetw .page-heading{margin-bottom:38px}
.lpetw .event-label{color:#006f90;font-size:14px;margin:0 0 12px}
.lpetw .page-heading h1{font-family:'Niramit',sans-serif;font-weight:300;font-size:45px;line-height:1.3;letter-spacing:-1px;margin:0 0 14px;color:#006f90}
.lpetw .page-heading h1 span{background:linear-gradient(transparent 65%,#cce2e9 65%)}
.lpetw .page-heading>p:last-child{font-size:16px;margin:0;color:#555}
.lpetw h2{font-family:'Staatliches',sans-serif;color:#006f90;font-weight:400;letter-spacing:1px;font-size:31px}
.lpetw .views{background:var(--cream);border-radius:3px}
.lpetw .views button{font-family:'Staatliches',sans-serif;letter-spacing:.5px;font-size:16px;border-radius:2px}
.lpetw .views button[aria-pressed=true]{background:#006f90;color:white;box-shadow:none}
.lpetw .search input,.lpetw .bus-toggle{border-radius:3px}
.lpetw .days button{border-radius:3px;color:#006f90;font-size:14px}
.lpetw .card{border-radius:3px;border-top:4px solid var(--mint);box-shadow:none}
.lpetw .card h3{font-weight:500;color:#006f90;font-size:22px}
.lpetw .city{color:#006f90}
.lpetw .day-heading{color:#006f90}
.lpetw .day-heading strong{font-family:'Staatliches';font-weight:400}
.lpetw .badge{background:#fdb515;color:#363636;border-radius:2px}
.lpetw .time,.lpetw .route{color:#006f90}
.lpetw .route{font-family:'Staatliches';font-size:15px;letter-spacing:.4px;border-bottom:3px solid #66c6b7}
.lpetw .info{border-radius:0;background:#f7f1eb;color:#006f90}
.lpetw .map-layout{display:grid;grid-template-columns:370px minmax(0,1fr);border:1px solid var(--line);min-height:590px}
.lpetw .map-list{max-height:590px;overflow-y:auto;background:#f7f1eb;padding:14px}
.lpetw .place{width:100%;background:white;border:1px solid #dae5e6;border-left:4px solid transparent;text-align:left;padding:16px 17px;margin:0 0 10px;color:#363636;display:block}
.lpetw .place[aria-pressed=true]{border-left-color:#006f90;background:#e8f4f3}
.lpetw .place .place-city{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#006f90;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.lpetw .place strong{display:block;color:#006f90;font-weight:600;font-size:18px;margin:8px 0 5px;line-height:1.3}
.lpetw .place .place-address{font-size:12px;line-height:1.6;display:block}
.lpetw .place .slot{display:block;font-size:12px;font-weight:600;color:#006f90;margin-top:9px}
.lpetw .map-panel{display:flex;flex-direction:column;min-width:0}
.lpetw .map-caption{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.lpetw .map-caption strong{color:#006f90;display:block;font-weight:600}
.lpetw .map-caption p{margin:3px 0 0;font-size:12px}
.lpetw .map-caption .route{white-space:nowrap}
.lpetw .map-panel iframe{width:100%;border:0;flex:1;min-height:440px;background:#f7f1eb}
.lpetw .map-note{font-size:11px;margin:0;padding:8px 16px;color:#627277;background:#fff}
.lpetw .map-note a{color:#006f90}
.lpetw .map-list-label{font-family:'Staatliches';font-size:17px;letter-spacing:.5px;color:#006f90;margin:2px 0 12px}
.lpetw footer{color:#006f90}
@media(max-width:760px){.lpetw .page-heading h1{font-size:34px;letter-spacing:-.5px}
.lpetw .main{padding-top:25px}
.lpetw .page-heading{margin-bottom:28px}
.lpetw .map-layout{grid-template-columns:1fr}
.lpetw .map-list{max-height:280px}
.lpetw .map-panel iframe{min-height:350px}
.lpetw .map-caption{padding:15px;gap:12px}
.lpetw .map-caption .route{font-size:13px}
.lpetw .section-top{gap:15px}
.lpetw .views{width:100%}
.lpetw .views button{flex:1}
.lpetw .map-list-label{font-size:15px}
.lpetw .info{margin-top:24px}
.lpetw .page-heading>p:last-child{font-size:14px}
}
@media print{.lpetw .map-panel{display:none}
.lpetw .map-list{max-height:none}
.lpetw .map-layout{display:block}
}

.lpetw {width:100%;font-family:"Niramit",sans-serif;line-height:1.5;text-align:left;isolation:isolate;}
.lpetw .main{padding:0;max-width:none;margin:0;}
.lpetw button{font-family:inherit;text-transform:none;box-shadow:none;line-height:1.4;min-height:0;margin:0;}
.lpetw .views button,.lpetw .route{font-family:"Staatliches",sans-serif;}
.lpetw .place{margin-bottom:10px;}
.lpetw h2,.lpetw h3{padding:0;}
.lpetw .section-top h2{margin:0 0 10px;}
.lpetw label{font-weight:400;margin:0;}
.lpetw input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;position:static;opacity:1;}
.lpetw .search{display:block;}
.lpetw .search input{height:auto;margin:0;box-shadow:none;}
.lpetw .map-panel iframe{max-width:100%;display:block;}

/* Version 1.1 — carte globale et dates explicites */
.lpetw .days{margin-top:25px;}
.lpetw .badge{display:inline-flex;align-items:center;gap:5px;}
.lpetw .badge svg{width:20px;height:20px;flex-shrink:0;}
.lpetw .etw-map{height:500px;min-height:400px;width:100%;z-index:0;flex:1;}
.lpetw .map-panel{min-width:0;}
.lpetw .etw-pin{background:none;border:none;}
.lpetw .etw-pin>span{display:flex;align-items:center;justify-content:center;width:30px;height:34px;background:#006f90;color:white;border:2px solid white;border-radius:16px 16px 16px 0;transform:rotate(-45deg);box-shadow:0 2px 5px #0004;font:600 14px Arial;}
.lpetw .etw-pin>span{transform:none;border-radius:50% 50% 50% 4px;}
.lpetw .etw-popup{font-family:Niramit,sans-serif;line-height:1.5;min-width:180px;}
.lpetw .etw-popup strong{color:#006f90;}
.lpetw .etw-popup p{margin:8px 0;font-size:13px;}
.lpetw .leaflet-container img{max-width:none!important;padding:0!important;border:0!important;box-shadow:none!important;}
.lpetw .leaflet-control-zoom a{text-decoration:none;}
.lpetw .leaflet-control-attribution{font-size:10px;}
@media(max-width:760px){.lpetw .etw-map{height:370px;min-height:370px;flex:none;}.lpetw .days button{font-size:12px;padding:9px 10px;}}
