.appointment-page{color:var(--color-ink);overflow:hidden}.appointment-container{width:min(calc(100% - (2 * var(--space-gutter))), var(--space-container-max));margin-inline:auto}.appointment-hero{background:var(--color-white) url(/assets/decorations/ruban-clair.svg) no-repeat right top / min(36%, 520px) auto;padding:56px 0 120px;position:relative;overflow:hidden}.appointment-hero__content{text-align:center;max-width:900px}.appointment-chip{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-ink);font-size:12.5px;font-weight:var(--font-weight-bold);align-items:center;gap:8px;padding:6px 14px;display:inline-flex;box-shadow:0 2px 10px #0e1b4d0d}.appointment-chip>span{background:var(--color-accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #fc740e2e}.appointment-hero h1{color:var(--color-ink);font-size:var(--font-size-h1);font-weight:var(--font-weight-light);letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-heading);margin:20px 0 18px}.appointment-hero p{max-width:620px;color:var(--color-text);margin:0 auto;font-size:16.5px}.appointment-hero__wave{width:100%;height:80px;display:block;position:absolute;inset:auto 0 0}.appointment-section{padding:30px 0 var(--space-section-y);background:var(--color-background)}.appointment-service-title{color:var(--color-ink);font-size:16px;font-weight:var(--font-weight-black);letter-spacing:0;align-items:center;gap:8px;margin:0 0 14px;display:flex}.appointment-service-title>.fs-icon{width:18px;height:18px;color:var(--color-brand)}.appointment-service-title>span{color:var(--color-accent-dark)}.appointment-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.appointment-choice{border:2px solid var(--color-line);border-radius:var(--radius-card-blue);background:var(--color-white);min-width:0;color:var(--color-ink);text-align:left;cursor:pointer;transition:border-color var(--motion-hover) var(--motion-easing), box-shadow var(--motion-hover) var(--motion-easing), transform var(--motion-hover) var(--motion-easing);flex-direction:column;align-items:flex-start;gap:8px;padding:22px;display:flex}.appointment-choice:hover{border-color:var(--color-brand);transform:translateY(-2px)}.appointment-choice.is-selected{border-color:var(--color-brand);box-shadow:0 0 0 4px #0045cc24}.appointment-choice:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.appointment-choice__icon{background:var(--color-brand);width:44px;height:44px;color:var(--color-white);border-radius:50%;flex:none;place-items:center;display:grid}.appointment-choice__icon .fs-icon{width:21px;height:21px}.appointment-choice__title{font-size:17px;font-weight:var(--font-weight-bold);line-height:1.3}.appointment-choice__description{color:var(--color-text);font-size:13.5px;line-height:var(--line-height-body)}.appointment-panel{margin-top:30px}.appointment-panel[hidden]{display:none}.appointment-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.appointment-form,.appointment-info{border-radius:var(--radius-media);background:var(--color-white);min-width:0;box-shadow:var(--shadow-card-lg);padding:30px}.appointment-form>h2,.appointment-info h2{color:var(--color-ink);font-size:20px;font-weight:var(--font-weight-bold);letter-spacing:0;margin:0;line-height:1.3}.appointment-form>p:not(.appointment-feedback){color:var(--color-text);margin:6px 0 18px;font-size:14px}.appointment-fields{gap:14px;display:grid}.appointment-field{gap:6px;display:grid}.appointment-field label{color:var(--color-ink);font-size:12.5px;font-weight:var(--font-weight-bold);letter-spacing:.02em}.appointment-field input{border:1.5px solid var(--color-line);width:100%;min-height:48px;color:var(--color-ink);font:inherit;background:#fbfbfc;border-radius:12px;padding:12px 14px;font-size:15px}.appointment-field input:focus-visible{border-color:var(--color-accent);background:var(--color-white);outline:none;box-shadow:0 0 0 4px #fc740e26}.appointment-form__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.appointment-form__footer small{color:var(--color-text);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.appointment-form__footer small .fs-icon{width:16px;height:16px;color:var(--color-accent)}.appointment-submit{border-radius:var(--radius-pill);background:var(--color-brand);min-height:44px;color:var(--color-white);font-size:14px;font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--motion-hover) var(--motion-easing), transform var(--motion-hover) var(--motion-easing);border:0;justify-content:center;align-items:center;gap:8px;padding:11px 22px;display:inline-flex}.appointment-submit:hover:not(:disabled){background:var(--color-brand-dark);transform:translateY(-1px)}.appointment-submit:focus-visible,.appointment-agency__actions .button-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.appointment-submit:disabled{cursor:wait;opacity:.7}.appointment-submit .fs-icon{width:18px;height:18px}.appointment-feedback:not([hidden]){border:1px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-danger-background);color:var(--color-danger-text);margin:16px 0 0;padding:12px 14px;font-size:14px}.appointment-result:not([hidden]){border-top:1px solid var(--color-line);margin-top:18px;padding-top:18px}.appointment-info{border-radius:var(--radius-card-lg)}.appointment-info__heading{align-items:center;gap:10px;display:flex}.appointment-info__heading>.fs-icon{width:20px;height:20px;color:var(--color-brand);flex:none}.appointment-info>ul{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.appointment-info>ul li{color:var(--color-text);padding-left:16px;font-size:13.5px;position:relative}.appointment-info>ul li:before{background:var(--color-brand);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:0}.appointment-hours{border-radius:var(--radius-card);background:var(--color-background);margin-top:18px;padding:18px;font-size:14px}.appointment-hours h3{font-size:14px;font-weight:var(--font-weight-bold);letter-spacing:0;align-items:center;gap:8px;margin:0 0 8px;display:flex}.appointment-hours h3 .fs-icon{width:16px;height:16px;color:var(--color-brand)}.appointment-hours>div{border-bottom:1px dashed var(--color-line);justify-content:space-between;gap:10px;padding:5px 0;display:flex}.appointment-hours>div:last-child{border-bottom:0}.appointment-hours>div span{color:var(--color-text)}.appointment-note{border-radius:var(--radius-card);background:var(--color-brand-light);border:1px solid #0045cc38;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:14.5px;display:flex}.appointment-note strong{color:var(--color-ink);display:block}.appointment-note p{color:var(--color-text);margin:0}.appointment-agencies{padding:var(--space-section-y) 0;background:var(--color-white)}.appointment-section-heading{text-align:center;margin-bottom:28px}.appointment-section-heading h2{color:var(--color-ink);font-size:var(--font-size-h2);font-weight:var(--font-weight-light);letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-h2);margin:0}.appointment-agency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.appointment-agency{border-radius:var(--radius-card-lg);background:var(--color-white);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:28px;display:flex}.appointment-agency__media{aspect-ratio:3/2;border-radius:var(--radius-card-lg) var(--radius-card-lg) 0 0;flex:none;width:calc(100% + 56px);margin:-28px -28px 4px;position:relative;overflow:hidden}.appointment-agency__media img{object-fit:cover;width:100%;height:100%}.appointment-agency h3{color:var(--color-ink);font-size:20px;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-heading);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.appointment-agency__tag{border-radius:var(--radius-pill);background:var(--color-accent-light);color:var(--color-warm-text);font-size:11px;font-weight:var(--font-weight-black);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px}.appointment-agency__row{color:var(--color-ink);align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.5;display:flex}.appointment-agency__row>.fs-icon{width:18px;height:18px;color:var(--color-brand);flex:none;margin-top:2px}.appointment-agency__row small{color:var(--color-text);font-size:13px;display:block}.appointment-agency__row a{color:inherit;text-decoration:none}.appointment-agency__row a:hover{text-underline-offset:3px;text-decoration:underline}.appointment-agency__actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px;display:flex}.appointment-agency__actions .button-link{padding-inline:16px;font-size:13px}.appointment-agency__actions .appointment-whatsapp{background:var(--color-whatsapp);color:var(--color-whatsapp-text)}.appointment-departures{z-index:20;border-radius:var(--radius-md);background:var(--color-ink);max-width:380px;box-shadow:var(--shadow-card-lg);color:var(--color-white);align-items:center;gap:12px;padding:10px 16px 10px 10px;font-size:12px;text-decoration:none;display:flex;position:fixed;bottom:22px;right:96px}.appointment-departures__icon{border-radius:var(--radius-sm);background:var(--color-accent);width:34px;height:34px;color:var(--color-white);flex:none;place-items:center;display:grid}.appointment-departures__icon .fs-icon{width:18px;height:18px}.appointment-departures strong,.appointment-departures small{display:block}.appointment-departures strong{font-size:13px}.appointment-departures small{color:var(--color-white-85);font-size:11.5px}.appointment-departures small b{color:var(--color-accent);font-weight:var(--font-weight-bold);letter-spacing:.04em}.appointment-departures__live{background:var(--color-success);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #16a34a2e}.appointment-help{z-index:21;background:var(--color-accent);width:58px;height:58px;box-shadow:var(--shadow-help-button);color:var(--color-white);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;bottom:22px;right:22px}.appointment-help>.fs-icon{width:24px;height:24px}.appointment-help>span{border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-white);font-size:12.5px;font-weight:var(--font-weight-bold);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--motion-hover) var(--motion-easing), transform var(--motion-hover) var(--motion-easing);padding:7px 12px;position:absolute;right:68px;transform:translate(6px)}.appointment-help:hover>span,.appointment-help:focus-visible>span{opacity:1;transform:none}.appointment-help:focus-visible,.appointment-departures:focus-visible{outline:3px solid var(--color-brand);outline-offset:4px}@media (width<=900px){.appointment-choices,.appointment-detail-grid,.appointment-agency-grid{grid-template-columns:1fr}.appointment-departures{display:none}}@media (width<=640px){.appointment-hero{background-size:62%;padding:56px 0 100px}.appointment-hero h1{font-size:var(--font-size-display-mobile)}.appointment-section{padding-bottom:64px}.appointment-choice{min-height:0;padding:20px}.appointment-form,.appointment-info{padding:22px}.appointment-note{flex-direction:column;align-items:flex-start}.appointment-agencies{padding-block:64px}.appointment-agency{padding:24px}.appointment-agency__media{width:calc(100% + 48px);margin:-24px -24px 4px}.appointment-departures{display:none}.appointment-help{width:52px;height:52px;bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.appointment-choice,.appointment-submit,.appointment-help>span{transition:none}.appointment-choice:hover,.appointment-submit:hover:not(:disabled){transform:none}}
