/* Horario Guercif V33.2.17 — Bachiri et récapitulatif quotidien sans dates. */
.category-l2 .hero-grid{align-items:stretch!important}
.category-l2 .hero-grid>div:first-child{align-self:center}
.category-l2 .hero-image{display:flex!important;min-width:0;align-self:stretch!important}
.category-l2 .guercif-photo-slider{width:100%;height:100%;min-height:270px;aspect-ratio:auto!important;flex:1 1 auto}
.category-l2 .hero .summary{margin-top:9px!important}
.category-l2 .horario-section{background:#f5f8fa;border-top:1px solid #dfe8ee;border-bottom:1px solid #dfe8ee;padding:17px 0!important}
.category-l2 .horario-intro{margin:5px 0 13px;color:#496879;line-height:1.55}
.category-l2 .horario-widget{background:#fff;border:1px solid #d9e6eb;border-radius:15px;box-shadow:0 8px 22px rgba(4,34,56,.055);overflow:hidden;color:#0a2c42}
.category-l2 .horario-head{padding:15px 17px;border-bottom:1px solid #e1e9ee;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.category-l2 .horario-head h3{font-size:1.13rem;margin:0!important;line-height:1.3;font-weight:800;color:#0a2c42}
.category-l2 .horario-head p{font-size:.85rem;margin:2px 0 0;color:#597684}
.category-l2 .horario-mark{white-space:nowrap;font-weight:800;color:#0b6081;font-size:.89rem}
.category-l2 .horario-mark span{font-weight:500;color:#6d8793}
.category-l2 .horario-form{padding:13px 17px;display:grid;grid-template-columns:1.06fr 1.06fr .96fr auto;gap:10px;align-items:end;margin:0}
.category-l2 .horario-field{min-width:0}.category-l2 .horario-field label{font-size:.81rem;font-weight:750;color:#496879;display:block;margin-bottom:5px}
.category-l2 .horario-field select,.category-l2 .horario-field input[type=date],.category-l2 .horario-arrival{width:100%;height:42px;min-width:0;box-sizing:border-box;border:1px solid #ccdce4;background:#fff;border-radius:10px;color:#0a2c42;padding:8px 11px;font:inherit;font-size:.95rem}
.category-l2 .horario-arrival{display:flex;align-items:center;background:#f6fafb;font-weight:760}
.category-l2 .horario-search{height:42px;padding:0 15px;background:#075f82;border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;font-size:.9rem;white-space:nowrap}
.category-l2 .horario-search:hover,.category-l2 .horario-search:focus-visible{background:#004b6a}
.category-l2 .horario-date-strip{display:flex;gap:7px;overflow-x:auto;padding:0 17px 12px;scrollbar-width:thin}
.category-l2 .horario-date-strip button{background:#fff;border:1px solid #d8e5eb;border-radius:9px;padding:6px 10px;color:#365a69;cursor:pointer;font-size:.85rem;line-height:1.25;min-width:76px;white-space:nowrap}
.category-l2 .horario-date-strip button strong{display:block;font-size:.86rem}
.category-l2 .horario-date-strip button.is-active{background:#0a526f;color:#fff;border-color:#0a526f}
.category-l2 .horario-body{padding:0 17px 13px}
.category-l2 .horario-results-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.category-l2 .horario-results-head h4{font-size:1.03rem;margin:0;font-weight:800;line-height:1.35;color:#0a2c42}
.category-l2 .horario-results-head span{color:#66808d;font-size:.78rem;text-align:right}
.category-l2 .horario-trip-list{display:grid;gap:9px}
.category-l2 .horario-trip{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(130px,.85fr) 32px minmax(130px,.85fr);gap:10px;align-items:center;border:1px solid #dae6ed;background:#fff;border-radius:12px;padding:13px 14px;min-width:0}
.category-l2 .horario-operator{display:flex;align-items:center;gap:10px;min-width:0}
.category-l2 .horario-bus-icon{width:37px;height:37px;border-radius:11px;background:#eaf5f8;display:grid;place-items:center;font-size:20px;flex:0 0 37px}
.category-l2 .horario-operator strong{display:block;font-size:.94rem;line-height:1.3;color:#0a2c42}
.category-l2 .horario-operator small,.category-l2 .horario-time small{display:block;font-size:.78rem;color:#647e8b;line-height:1.4}
.category-l2 .horario-time strong{font-size:1.5rem;line-height:1.12;letter-spacing:-.01em;display:block;color:#0a2c42}
.category-l2 .horario-time strong sup{font-size:.7rem;font-weight:700;vertical-align:super}
.category-l2 .horario-arrow{color:#789eae;text-align:center;font-size:1.35rem}
.category-l2 .horario-noresult{border:1px dashed #cadce5;background:#f5f9fb;padding:14px;border-radius:12px;color:#385869;font-size:.9rem;line-height:1.55}
.category-l2 .horario-noresult strong{display:block;color:#0a2c42;margin-bottom:3px}
.category-l2 .horario-result-note{margin:8px 0 0;color:#607985;font-size:.81rem;line-height:1.55}
.category-l2 .horario-notice{background:#f3f8fa;border-top:1px solid #e0e9ee;color:#476879;font-size:.87rem;line-height:1.55;padding:11px 17px}
.category-l2 .horario-notice strong{color:#0a2c42}
.category-l2 .horario-footnote{color:#607b89;font-size:.79rem;line-height:1.55;margin:8px 0 0}
@media(max-width:860px){.category-l2 .hero-image{display:block!important}.category-l2 .guercif-photo-slider{aspect-ratio:1200/630!important;height:auto!important;min-height:0!important}.category-l2 .horario-form{grid-template-columns:repeat(2,minmax(0,1fr))}.category-l2 .horario-trip{grid-template-columns:minmax(155px,1.2fr) minmax(100px,.7fr) 25px minmax(100px,.7fr)}}
@media(max-width:640px){.category-l2 .horario-form{padding:12px;gap:9px}.category-l2 .horario-search{grid-column:1/-1}.category-l2 .horario-head{padding:12px}.category-l2 .horario-mark{font-size:.78rem}.category-l2 .horario-date-strip{padding:0 12px 12px}.category-l2 .horario-body{padding:0 12px 12px}.category-l2 .horario-trip{grid-template-columns:1fr 1fr 30px 1fr;gap:8px;padding:12px}.category-l2 .horario-operator{grid-column:1/-1;padding-bottom:7px;border-bottom:1px solid #edf3f5}.category-l2 .horario-time strong{font-size:1.3rem}.category-l2 .horario-arrow{font-size:1rem}.category-l2 .horario-notice{padding:11px 12px}.category-l2 .horario-mark span{display:none}}

.category-l2 .horario-time-detail{white-space:nowrap}
@media(max-width:640px){.category-l2 .horario-head h3{font-size:1.02rem}}
/* Relevés HTML : présents sans JavaScript et visibles dans la page, sans carte supplémentaire. */
.category-l2 .horario-html-recap{margin:13px 0 0;padding:11px 15px;border:1px solid #dce7ed;background:#fff;border-radius:11px;color:#385366}
.category-l2 .horario-html-recap h3{font-size:1rem;color:#0a2c42;margin:0 0 5px;line-height:1.3}
.category-l2 .horario-html-recap p{margin:0 0 7px;font-size:.84rem;line-height:1.5}
.category-l2 .horario-html-recap ul{margin:0;padding-left:19px;display:grid;gap:5px}
.category-l2 .horario-html-recap li{font-size:.86rem;line-height:1.55;padding-left:1px}
.category-l2 .horario-html-recap li strong{color:#0a2c42}
.category-l2 .horario-html-recap .horario-recap-note{margin:9px 0 0;color:#607985;font-size:.79rem}
@media(max-width:640px){.category-l2 .horario-html-recap{padding:10px 12px}.category-l2 .horario-html-recap li{font-size:.84rem}}

/* Le champ arrivée devient sélectionnable ; même format et hauteur que le départ. */
.category-l2 .horario-field select#horario-destination{background-color:#f6fafb;font-weight:760}
.category-l2 .horario-html-recap .horario-recap-subtitle{font-size:.88rem;color:#0a2c42;margin:11px 0 5px;line-height:1.35}
.category-l2 .horario-trip[data-service-mode="daily"]{border-color:#bcdde2;background:#fbfefe}
.category-l2 .horario-trip[data-service-mode="calculated"]{border-style:dashed}
@media(max-width:640px){.category-l2 .horario-trip .horario-operator small{font-size:.75rem}}

/* Horaires quotidiens depuis et vers Guercif — 4 sens, format compact et responsive. */
.category-l2 .horario-daily-list{display:grid;gap:8px;margin-top:10px}
.category-l2 .horario-daily-card{border:1px solid #dce8ee;border-radius:10px;padding:10px 12px;background:#fbfdfe}
.category-l2 .horario-daily-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.category-l2 .horario-daily-heading h4{font-size:.91rem;line-height:1.35;margin:1px 0 0;color:#0a2c42}
.category-l2 .horario-daily-heading .horario-daily-operator{font-size:.75rem;color:#0b6081}
.category-l2 .horario-daily-heading p{margin:0!important;text-align:right;white-space:nowrap;font-size:.82rem}
.category-l2 .horario-daily-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.category-l2 .horario-daily-columns>div{min-width:0}
.category-l2 .horario-daily-columns h5{font-size:.78rem;color:#0a526f;margin:0 0 3px}
.category-l2 .horario-daily-columns p{margin:0!important;font-size:.8rem;line-height:1.65;overflow-wrap:anywhere}
.category-l2 .horario-stop{display:inline}
.category-l2 .horario-stop strong{color:#0a2c42}
.category-l2 .horario-stop small{color:#6c8793;font-size:.72rem}
@media(max-width:640px){.category-l2 .horario-daily-heading{align-items:flex-start;flex-direction:column;gap:3px}.category-l2 .horario-daily-heading p{text-align:left}.category-l2 .horario-daily-columns{grid-template-columns:1fr;gap:7px}}

/* V33.2.18 — compact timetable, sorted by Guercif local passage time. */
.category-l2 .horario-html-recap .horario-daily-list{display:block;list-style:none;margin:9px 0 0;padding:0}
.category-l2 .horario-html-recap .horario-daily-row{margin:0;padding:10px 0;border-top:1px solid #dce7ed;list-style:none}
.category-l2 .horario-html-recap .horario-daily-row h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;margin:0 0 4px;font-size:.88rem;line-height:1.5;color:#0a2c42}
.category-l2 .horario-html-recap .horario-passage{color:#0a526f;white-space:nowrap}
.category-l2 .horario-html-recap .horario-passage small{font-size:.73rem;font-weight:600}
.category-l2 .horario-html-recap .horario-daily-direction{font-weight:650}
.category-l2 .horario-html-recap .horario-daily-name{font-weight:500;color:#3b6575}
.category-l2 .horario-html-recap .horario-route-stops{margin:0!important;font-size:.81rem;line-height:1.75;color:#385366;overflow-wrap:break-word}
.category-l2 .horario-html-recap .horario-route-stops small{font-size:.74rem;color:#627f8d;white-space:nowrap}
.category-l2 .horario-html-recap .horario-sep{color:#8299a3;padding:0 1px}
.category-l2 .horario-html-recap .horario-highlight-guercif{color:#074c6b;font-weight:750}
.category-l2 .horario-trip .horario-crew{display:block;margin-top:3px;font-size:.74rem;line-height:1.35;color:#446c7b}
.category-l2 .horario-trip .horario-crew strong{display:inline!important;font-weight:750;color:#073b58}
.category-l2 .horario-trip .horario-crew a{color:#0b5d82;text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.category-l2 .horario-html-recap .horario-daily-row{padding:9px 0}.category-l2 .horario-html-recap .horario-daily-row h4{font-size:.86rem}.category-l2 .horario-html-recap .horario-route-stops{font-size:.79rem}}

/* V33.2.20 — résultats compacts et sélection géolocalisée facultative. */
.category-l2 .horario-field-label{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:5px}
.category-l2 .horario-field-label label{margin:0}
.category-l2 .horario-locate{border:0;background:transparent;color:#086184;font-size:.76rem;font-weight:700;cursor:pointer;padding:1px 2px;white-space:nowrap}
.category-l2 .horario-locate:hover,.category-l2 .horario-locate:focus-visible{text-decoration:underline;text-underline-offset:3px}
.category-l2 .horario-locate:disabled{opacity:.6;cursor:wait}
.category-l2 .horario-location-status{display:block;font-size:.72rem;line-height:1.35;color:#416779;margin-top:3px}
.category-l2 .horario-location-status:empty{display:none}
.category-l2 .horario-trip{grid-template-columns:minmax(205px,1.25fr) minmax(140px,.85fr) 19px minmax(140px,.85fr);gap:8px;padding:10px 12px;align-items:center}
.category-l2 .horario-operator{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;min-width:0}
.category-l2 .horario-operator strong{display:inline;font-size:.85rem;line-height:1.3}
.category-l2 .horario-service,.category-l2 .horario-crew,.category-l2 .horario-price{display:inline!important;font-size:.72rem;line-height:1.35;color:#527485}
.category-l2 .horario-crew{margin:0!important}
.category-l2 .horario-crew a{font-size:inherit}
.category-l2 .horario-price{color:#0a6179}
.category-l2 .horario-time{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 5px;min-width:0}
.category-l2 .horario-time strong{font-size:1.13rem;line-height:1.2;white-space:nowrap}
.category-l2 .horario-time .horario-city{font-size:.8rem;color:#375e70;line-height:1.35}
.category-l2 .horario-time .horario-city small{display:inline;font-size:.72rem;color:#718895}
.category-l2 .horario-time strong sup{font-size:.65rem}
.category-l2 .horario-arrow{font-size:1rem}
.category-l2 .horario-results-head span:empty,.category-l2 .horario-result-note:empty{display:none}
@media(max-width:700px){
 .category-l2 .horario-trip{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:7px 5px;padding:10px}
 .category-l2 .horario-operator{grid-column:1/-1;border-bottom:1px solid #edf3f5;padding-bottom:6px}
 .category-l2 .horario-time{display:block}
 .category-l2 .horario-time strong{display:block;font-size:1.17rem}
 .category-l2 .horario-time .horario-city{display:block;font-size:.78rem;white-space:nowrap}
 .category-l2 .horario-arrow{align-self:center}
}

/* V33.2.21 — une seule liste de résultats : cadre commun et séparateurs discrets. */
.category-l2 .horario-trip-list.has-results{display:block;overflow:hidden;border:1px solid #dae6ed;border-radius:11px;background:#fff;gap:0}
.category-l2 .horario-trip-list.has-results .horario-trip{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;padding:10px 12px;min-width:0}
.category-l2 .horario-trip-list.has-results .horario-trip+.horario-trip{border-top:1px solid #e2ebf0!important}
.category-l2 .horario-trip-list.has-results .horario-trip:hover{background:#f8fbfc!important}
.category-l2 .horario-more{display:block;margin:9px auto 0;padding:8px 14px;border:1px solid #cbdde6;border-radius:8px;background:#fff;color:#075f82;font:inherit;font-size:.84rem;font-weight:750;cursor:pointer}
.category-l2 .horario-more:hover,.category-l2 .horario-more:focus-visible{background:#f0f8fb;border-color:#7cb1c5}
.category-l2 .horario-more[hidden]{display:none!important}
@media(max-width:700px){
 .category-l2 .horario-trip-list.has-results .horario-trip{padding:10px 11px}
 .category-l2 .horario-trip-list.has-results .horario-operator{border-bottom:0!important;padding-bottom:0!important}
}

/* Horario national V1 : même conteneur pour toutes les compagnies, une ligne par départ. */
.category-l2 .hero{padding:12px 0!important}
.category-l2 .hero-grid{align-items:center!important;gap:17px!important;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important}
.category-l2 .hero h1{font-size:clamp(1.85rem,2.65vw,2.6rem)!important;line-height:1.15}
.category-l2 .hero p{font-size:.9rem;line-height:1.5;margin:6px 0 0}
.category-l2 .hero-image{align-self:center!important;max-height:215px;overflow:hidden;border-radius:13px}
.category-l2 .guercif-photo-slider{min-height:0!important;max-height:215px;height:215px!important;aspect-ratio:1200/630!important}
.category-l2 .guercif-photo-slide img{max-height:215px;object-fit:cover}
.category-l2 .horario-section{padding:13px 0!important}
.category-l2 .horario-section .section-head{margin:0 0 5px!important}
.category-l2 .horario-intro{margin:3px 0 9px!important;font-size:.88rem;line-height:1.5}
.category-l2 .horario-head{padding:10px 14px}
.category-l2 .horario-head p{font-size:.8rem}
.category-l2 .horario-form{padding:10px 14px;gap:8px}
.category-l2 .horario-date-strip{padding:0 14px 10px}
.category-l2 .horario-body{padding:0 14px 10px}
.category-l2 .horario-trip-list.has-results .horario-trip{
 display:flex!important;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;
 gap:3px 8px!important;padding:9px 12px!important;line-height:1.45;font-size:.84rem;min-height:0;
}
.category-l2 .horario-trip .horario-route{display:inline!important;min-width:0;line-height:1.45;color:#365569}
.category-l2 .horario-trip .horario-route strong{font-weight:740;color:#0a2c42}
.category-l2 .horario-trip .horario-clock{font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:#073b58!important}
.category-l2 .horario-trip .horario-arrow{display:inline!important;line-height:1.3;color:#678a9a;font-size:1rem;align-self:baseline}
.category-l2 .horario-trip .horario-price{margin-left:auto!important;display:inline!important;color:#075775;font-size:.82rem;font-weight:800;white-space:nowrap}
.category-l2 .horario-trip .horario-price-unknown{color:#6b7f89;font-weight:550;font-size:.77rem}
.category-l2 .horario-trip .horario-service,.category-l2 .horario-trip .horario-crew{font-size:.72rem;color:#4d7080;white-space:nowrap;display:inline!important}
.category-l2 .horario-trip .horario-service{font-weight:650}
.category-l2 .horario-trip .horario-name{font-weight:800}
.category-l2 .horario-trip .horario-pending{font-size:.77rem;font-weight:700;color:#8b5415}
.category-l2 .horario-trip-pending{background:#fffdf9!important}
.category-l2 .horario-trip-list.has-results .horario-trip-pending:hover{background:#fffaf1!important}
.category-l2 .horario-notice{font-size:.82rem;padding:9px 14px}
.category-l2 .horario-html-recap{margin:10px 0 0}
.category-l2 .gallery-grid img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){
 .category-l2 .hero-grid{grid-template-columns:1fr!important;gap:8px!important}
 .category-l2 .hero-image{max-height:175px}
 .category-l2 .guercif-photo-slider{height:175px!important;max-height:175px;aspect-ratio:auto!important}
 .category-l2 .guercif-photo-slide img{max-height:175px}
}
@media(max-width:700px){
 .category-l2 .hero h1{font-size:1.72rem!important}
 .category-l2 .hero p{font-size:.84rem;line-height:1.45}
 .category-l2 .hero-image{max-height:145px}
 .category-l2 .guercif-photo-slider{height:145px!important;max-height:145px}
 .category-l2 .guercif-photo-slide img{max-height:145px}
 .category-l2 .horario-trip-list.has-results .horario-trip{display:flex!important;flex-wrap:wrap;gap:3px 7px!important;padding:9px 10px!important;font-size:.82rem}
 .category-l2 .horario-trip .horario-clock{font-size:.98rem}
 .category-l2 .horario-trip .horario-price{margin-left:0!important}
 .category-l2 .horario-trip .horario-operator{display:none}
 .category-l2 .horario-trip .horario-route{display:inline!important}
 .category-l2 .horario-trip .horario-arrow{align-self:baseline}
}
@media(max-width:390px){
 .category-l2 .horario-form{grid-template-columns:1fr 1fr;gap:7px}
 .category-l2 .horario-form .horario-field:nth-child(3){grid-column:1/-1}
 .category-l2 .horario-trip .horario-route{font-size:.79rem}
}
.category-l2 .horario-trip .horario-pending-detail{font-size:.77rem;color:#705a41;line-height:1.35}
