.site-page.page-carnet-route .carnet-hero .page-hero-content { max-width: 780px; }
.site-page.page-carnet-route .carnet-builder,
.site-page.page-carnet-route .carnet-results { width: min(100% - 3rem, 1280px); margin: 0 auto; }
.site-page.page-carnet-route .carnet-builder { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 1.25rem; padding: clamp(2.5rem, 5vw, 5rem) 0; }
.site-page.page-carnet-route .carnet-form,
.site-page.page-carnet-route .carnet-aside,
.site-page.page-carnet-route .carnet-advice { padding: clamp(1.3rem, 3vw, 2.4rem); border: 1px solid var(--gp-line); background: var(--gp-paper); }
.site-page.page-carnet-route .carnet-form fieldset { min-width: 0; margin: 0 0 1.8rem; padding: 0; border: 0; }
.site-page.page-carnet-route .carnet-form legend { margin-bottom: .9rem; color: var(--gp-ink); font: 700 1.15rem/1.35 Georgia, serif; }
.site-page.page-carnet-route .planner-options { display: grid; gap: .65rem; }
.site-page.page-carnet-route .planner-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-page.page-carnet-route .planner-choice { display: flex; min-height: 82px; align-items: flex-start; gap: .75rem; padding: .9rem; border: 1px solid var(--gp-line); background: #fff; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; }
.site-page.page-carnet-route .planner-choice:has(input:checked),
.site-page.page-carnet-route .planner-interest:has(input:checked) { border-color: var(--gp-teal); background: #eef7f5; box-shadow: inset 0 0 0 1px var(--gp-teal); }
.site-page.page-carnet-route .planner-choice input,
.site-page.page-carnet-route .planner-interest input { flex: 0 0 auto; width: 18px; height: 18px; margin: .15rem 0 0; accent-color: var(--gp-teal); }
.site-page.page-carnet-route .planner-choice > span { display: grid; gap: .25rem; }
.site-page.page-carnet-route .planner-choice strong { color: var(--gp-ink); font-size: .88rem; }
.site-page.page-carnet-route .planner-choice small { color: var(--gp-muted); font-size: .72rem; line-height: 1.45; }
.site-page.page-carnet-route .planner-durations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-page.page-carnet-route .planner-choice-compact { min-height: auto; align-items: center; padding: .8rem; }
.site-page.page-carnet-route .planner-choice-compact input { margin-top: 0; }
.site-page.page-carnet-route .planner-choice-compact strong { font-size: .76rem; }
.site-page.page-carnet-route .planner-interests { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-page.page-carnet-route .planner-interest { display: flex; min-height: 48px; align-items: center; gap: .6rem; padding: .65rem .75rem; border: 1px solid var(--gp-line); color: var(--gp-ink); font-size: .77rem; cursor: pointer; }
.site-page.page-carnet-route .planner-submit { width: 100%; justify-content: center; }
.site-page.page-carnet-route .carnet-privacy { margin: .8rem 0 0; color: var(--gp-muted); font-size: .7rem; }
.site-page.page-carnet-route .carnet-aside { display: flex; flex-direction: column; justify-content: center; background: var(--gp-ink); color: #fff; }
.site-page.page-carnet-route .carnet-aside h2 { margin-bottom: .9rem; color: #fff; font: 500 clamp(2rem, 3vw, 3.1rem)/1.08 Georgia, serif; }
.site-page.page-carnet-route .carnet-aside > p:not(.eyebrow) { color: #dce6e2; font-size: .88rem; }
.site-page.page-carnet-route .carnet-aside .eyebrow { color: #efbd91; }
.site-page.page-carnet-route .carnet-aside-facts { display: grid; gap: .75rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid #ffffff30; color: #efbd91; font-size: 1.2rem; font-weight: 700; }
.site-page.page-carnet-route .carnet-aside-facts span { display: flex; align-items: baseline; gap: .8rem; }
.site-page.page-carnet-route .carnet-aside-facts small { color: #fff; font-size: .75rem; font-weight: 500; }
.site-page.page-carnet-route .carnet-results { padding: 0 0 clamp(3rem, 6vw, 6rem); }
.site-page.page-carnet-route .carnet-results-heading { max-width: 760px; margin: 0 auto 1.5rem; text-align: center; }
.site-page.page-carnet-route .carnet-results-heading h2 { margin-bottom: .7rem; }
.site-page.page-carnet-route .carnet-results-heading > p:last-child { color: var(--gp-muted); font-size: .88rem; }
.site-page.page-carnet-route .carnet-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.site-page.page-carnet-route .carnet-route-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--gp-line); background: var(--gp-paper); box-shadow: 0 8px 30px #172c2810; }
.site-page.page-carnet-route .carnet-route-card > img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--gp-soft); }
.site-page.page-carnet-route .carnet-route-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.3rem; }
.site-page.page-carnet-route .carnet-route-card h3 { margin: .25rem 0 .65rem; font: 500 clamp(1.35rem, 2vw, 1.8rem)/1.15 Georgia, serif; }
.site-page.page-carnet-route .carnet-route-card p { color: var(--gp-muted); font-size: .8rem; }
.site-page.page-carnet-route .carnet-route-card .carnet-route-stops { margin: .8rem 0; padding: .75rem; border-left: 2px solid var(--gp-coral); background: var(--gp-cream); color: var(--gp-ink); }
.site-page.page-carnet-route .carnet-route-card .carnet-route-tip { margin-top: auto; padding-top: .75rem; font-size: .72rem; }
.site-page.page-carnet-route .carnet-route-card .carnet-route-facts { display: grid; gap: .35rem; margin: .5rem 0; color: var(--gp-ink); font-size: .75rem; }
.site-page.page-carnet-route .carnet-route-card .carnet-route-actions { display: grid; width: 100%; gap: .6rem; margin-top: 1rem; }
.site-page.page-carnet-route .carnet-route-card .carnet-route-actions .button { justify-content: center; text-align: center; }
.site-page.page-carnet-route .carnet-empty { margin: 1rem 0; padding: 1.1rem; border: 1px solid var(--gp-line); background: var(--gp-cream); color: var(--gp-ink); }
.site-page.page-carnet-route .carnet-advice { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.5rem; background: var(--gp-soft); }
.site-page.page-carnet-route .carnet-advice > div:first-child { max-width: 700px; }
.site-page.page-carnet-route .carnet-advice p:last-child { margin: 0; color: var(--gp-muted); font-size: .8rem; }
.site-page.page-carnet-route .carnet-advice-actions,
.site-page.page-carnet-route .carnet-share-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.site-page.page-carnet-route .carnet-share-actions { justify-content: center; margin-top: 1rem; }
.site-page.page-carnet-route .button-outline { padding: .8rem 1.2rem; border: 1px solid var(--gp-line); background: #fff; color: var(--gp-ink); font: 700 .78rem/1.4 'Montserrat', Arial, sans-serif; cursor: pointer; }
.site-page.page-carnet-route .button-outline:hover { border-color: var(--gp-teal); color: var(--gp-teal-dark); }
.site-page.page-carnet-route .carnet-builder [hidden],
.site-page.page-carnet-route .carnet-results[hidden] { display: none !important; }
.site-page.page-carnet-route .carnet-circuits-cta { width: min(100% - 3rem, 1280px); margin: 0 auto; padding: 1.2rem 1.5rem; border: 1px solid var(--gp-line); background: var(--gp-soft); }
.site-page.page-carnet-route .carnet-circuits-cta p { display: inline; margin-right: 1rem; color: var(--gp-ink); font-size: .86rem; }
@media (max-width: 900px) {
    .site-page.page-carnet-route .carnet-builder { grid-template-columns: 1fr; }
    .site-page.page-carnet-route .carnet-aside { min-height: 300px; }
    .site-page.page-carnet-route .carnet-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .site-page.page-carnet-route .carnet-builder,
    .site-page.page-carnet-route .carnet-results,
    .site-page.page-carnet-route .carnet-circuits-cta { width: min(100% - 2rem, 480px); }
    .site-page.page-carnet-route .planner-profiles,
    .site-page.page-carnet-route .planner-interests,
    .site-page.page-carnet-route .carnet-route-grid { grid-template-columns: 1fr; }
    .site-page.page-carnet-route .planner-durations { grid-template-columns: 1fr; }
    .site-page.page-carnet-route .carnet-advice { align-items: flex-start; flex-direction: column; }
}
@media print {
    .site-page.page-carnet-route .site-header,
    .site-page.page-carnet-route .site-footer,
    .site-page.page-carnet-route .carnet-builder,
    .site-page.page-carnet-route .carnet-share-actions,
    .site-page.page-carnet-route .carnet-advice-actions { display: none !important; }
    .site-page.page-carnet-route .carnet-results { display: block !important; width: 100%; padding: 0; }
    .site-page.page-carnet-route .carnet-route-grid { grid-template-columns: 1fr 1fr; }
    .site-page.page-carnet-route .carnet-route-card { break-inside: avoid; box-shadow: none; }
}
