/* Authenticated member area */
.member-hero { min-height:280px; }
.member-hero .page-hero__content { max-width:1180px; }
.member-hero .eyebrow { margin:0 0 8px; color:#fff; font-size:12px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; }
.member-area { padding:56px 24px 72px; background:#f7f8fa; }
.member-shell { display:grid; grid-template-columns:250px minmax(0,1fr); gap:36px; align-items:start; max-width:1180px; }
.member-main { min-width:0; }
.member-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 25px; }
.member-heading .eyebrow { margin:0 0 7px; color:var(--coral); font-size:11px; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; }
.member-heading h2 { margin:0; color:var(--blue); font-size:34px; font-weight:400; line-height:1.15; }
.member-logout { display:inline-flex; align-items:center; gap:8px; padding:10px 15px; border:1px solid #d9dee8; color:var(--blue); font-size:12px; font-weight:600; text-decoration:none; text-transform:uppercase; transition:.2s ease; }
.member-logout:hover { border-color:var(--coral); background:var(--coral); color:#fff; text-decoration:none; }
.member-nav { overflow:hidden; border:1px solid #e0e4eb; background:#fff; }
.member-nav__title { margin:0; padding:20px 22px; background:var(--blue); color:#fff; font-size:17px; font-weight:500; text-transform:uppercase; }
.member-nav__link { display:flex; align-items:center; gap:12px; min-height:54px; padding:14px 20px; border-bottom:1px solid #edf0f4; color:#4f5b70; font-size:13px; font-weight:500; line-height:1.35; text-decoration:none; transition:.2s ease; }
.member-nav__link .glyphicon { width:18px; color:#97a0b2; text-align:center; }
.member-nav__link:hover { background:#f5f7fa; color:var(--blue); text-decoration:none; }
.member-nav__logout { border-bottom:0; color:#c65f5a; }
.member-nav__logout .glyphicon { color:#c65f5a; }
#page_client .member-nav__dashboard,#page_adresse .member-nav__dashboard,#page_client_reservation .member-nav__reservations,#page_client_modifier .member-nav__profile { border-left:3px solid var(--coral); background:#f5f7fa; color:var(--blue); }
.member-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); gap:24px; align-items:start; }
.member-panel { min-width:0; border:1px solid #e0e4eb; background:#fff; }
.member-panel__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:66px; padding:17px 21px; border-bottom:1px solid #e8ebf0; }
.member-panel__heading > div { display:flex; align-items:center; gap:10px; min-width:0; }
.member-panel__heading .glyphicon { color:var(--coral); font-size:16px; }
.member-panel__heading h3 { margin:0; color:var(--blue); font-size:18px; font-weight:500; line-height:1.35; }
.member-panel__heading > a { flex:none; color:var(--blue); font-size:11px; font-weight:600; text-transform:uppercase; }
.member-panel__body { padding:22px; }
.member-profile > strong { display:block; margin-bottom:8px; color:var(--blue); font-size:17px; }
.member-profile > p { margin:0 0 20px; color:#687386; line-height:1.7; }
.member-profile dl { margin:0 0 22px; }
.member-profile dl > div { padding:10px 0; border-top:1px solid #edf0f4; }
.member-profile dt { margin-bottom:3px; color:#8a94a6; font-size:10px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.member-profile dd { margin:0; color:#414c61; overflow-wrap:anywhere; }
.member-profile .button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding-left:12px; padding-right:12px; white-space:nowrap; }
.button.button--outline { border:1px solid var(--blue); background:#fff; color:var(--blue); }
.button.button--outline:hover { background:var(--blue); color:#fff; text-decoration:none; }
.member-empty { padding:45px 24px; text-align:center; }
.member-empty > .glyphicon { display:block; margin-bottom:13px; color:#c9cfda; font-size:34px; }
.member-empty h3 { margin:0 0 8px; color:var(--blue); }
.member-empty p { margin:0 0 20px; color:#748095; }
.member-empty .button { display:inline-block; }
.member-reservation-list { display:grid; gap:24px; }
.member-reservation-card .member-panel__body { padding:22px; }
.member-reservation { min-width:0; }
.member-reservation:after { display:block; clear:both; content:""; }
.member-reservation .media { width:38%; float:left; margin:0; padding:0 20px 0 0; }
.member-reservation .media img { display:block; width:100%; height:165px; object-fit:cover; }
.member-reservation .details { width:62%; float:left; padding:2px 0 0; color:#657187; font-size:13px; line-height:1.9; }
.member-reservation .details .titre-produit { margin-bottom:10px; color:var(--blue); font-size:18px; font-weight:500; line-height:1.35; }
.member-reservation .details strong { color:#3d4960; font-weight:600; }
.member-reservation .prix { clear:both; padding-top:20px; }
.member-reservation .prix .table { width:100%; margin:0; table-layout:fixed; border:1px solid #e5e9ef; }
.member-reservation .prix .table td { width:auto !important; padding:10px 12px; border-top:1px solid #e5e9ef; color:#536077; font-size:12px; white-space:normal; overflow-wrap:anywhere; }
.member-reservation .bloc-btn { display:flex; flex-wrap:wrap; gap:10px; width:100%; padding:18px 0 0; }
.member-reservation .bloc-btn form { margin:0; }
.member-reservation .btn { border:0; border-radius:0; padding:11px 14px; background:var(--blue); color:#fff; font-size:10px; font-weight:600; text-transform:uppercase; }
.member-reservation .btn.btn-default { border:1px solid var(--blue); background:#fff; color:var(--blue); }
.member-profile-form { padding:30px; }
.member-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:19px 22px; }
.member-form__field { display:block; margin:0; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; }
.member-form__field > span,.member-form__field legend > span { color:var(--coral); }
.member-form__field--full { grid-column:1 / -1; }
.member-form__field input:not([type=radio]),.member-form__field select { display:block; width:100%; height:46px; margin-top:7px; padding:0 13px; border:1px solid #d9dee7; border-radius:0; background:#fff; box-shadow:none; color:#414c61; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.member-form__field input:focus,.member-form__field select:focus { border-color:var(--blue); outline:0; }
.member-form__field small { display:block; margin-top:6px; color:#8993a5; font-size:11px; font-weight:400; letter-spacing:0; line-height:1.45; text-transform:none; }
fieldset.member-form__field { padding:0 0 17px; border:0; border-bottom:1px solid #edf0f4; }
fieldset.member-form__field legend { display:block; width:100%; margin:0 0 11px; padding:0; border:0; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; }
.member-radio { display:inline-flex; align-items:center; gap:8px; margin:0 24px 0 0; color:#4d596e; font-size:14px; font-weight:400; text-transform:none; cursor:pointer; }
.member-radio input { width:16px !important; height:16px !important; min-height:0 !important; margin:0 !important; }
.member-form__actions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:27px; padding-top:22px; border-top:1px solid #e5e9ef; }
.member-form__actions > span { color:#8993a5; font-size:11px; }
.member-form__actions .button { border:0; }
.member-form-alert { margin:0 0 24px; padding:16px 18px; border-left:3px solid #c65f5a; background:#fff1f0; color:#8c3f3b; }
.member-form-alert strong { display:block; margin-bottom:5px; }
.member-form-alert p { margin:0; line-height:1.55; }
@media (max-width:980px) { .member-shell { grid-template-columns:210px minmax(0,1fr); gap:24px; } .member-dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .member-area { padding:36px 16px 52px; } .member-shell { display:block; } .member-shell > aside { margin-bottom:26px; } .member-nav { display:grid; grid-template-columns:1fr 1fr; } .member-nav__title { grid-column:1 / -1; } .member-nav__link { border-right:1px solid #edf0f4; } .member-heading { align-items:flex-start; } .member-heading h2 { font-size:29px; } .member-logout { display:none; } .member-form__grid { grid-template-columns:1fr; } .member-form__field--full { grid-column:auto; } }
@media (max-width:560px) { .member-hero { min-height:235px; } .member-nav { display:block; } .member-panel__heading { align-items:flex-start; flex-direction:column; } .member-reservation .media,.member-reservation .details { width:100%; float:none; padding:0; } .member-reservation .media { margin-bottom:17px; } .member-reservation .media img { height:190px; } .member-profile-form { padding:21px; } .member-form__actions { align-items:stretch; flex-direction:column; } .member-form__actions .button { width:100%; } }

/* Visible confirmation paired with the existing invisible reCAPTCHA check. */
.contact-antibot-row { margin-top:8px !important; }
.contact-antibot { display:inline-flex !important; align-items:center; gap:11px; min-height:48px; margin:0 0 14px !important; padding:11px 15px; border:1px solid #d9dee7; background:#f7f8fa; color:var(--blue) !important; font-size:13px !important; font-weight:500 !important; text-transform:none !important; cursor:pointer; }
.contact-antibot input[type=checkbox] { width:18px !important; height:18px !important; min-height:0 !important; margin:0 !important; }
.contact-antibot__status { min-height:20px; margin:0 0 8px; color:#a64e49; font-size:12px; }

/* Bank-transfer reservation confirmation */
.transfer-hero p:last-child { margin:9px 0 0; color:#6f7b91; line-height:1.6; }
.transfer-page { padding:42px 24px 68px !important; background:#f7f8fa; }
.transfer-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr); gap:26px; align-items:start; max-width:1120px; }
.transfer-main { display:grid; gap:24px; min-width:0; }
.transfer-card { min-width:0; padding:27px; border:1px solid #e0e4eb; background:#fff; overflow:hidden; }
.transfer-card--success { display:grid; grid-template-columns:52px minmax(0,1fr); gap:19px; border-top:3px solid #68a17d; }
.transfer-card__icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; background:#e9f5ed; color:#4b8a63; font-size:19px; }
.transfer-card .eyebrow { margin:0 0 7px; color:var(--coral); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; }
.transfer-card h2 { margin:0 0 15px; color:var(--blue); font-size:25px; font-weight:400; line-height:1.3; }
.transfer-copy,.transfer-copy p,.transfer-copy li { color:#606d82; font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
.transfer-copy p { margin:0 0 12px; }
.transfer-copy strong { color:#334058; }
.transfer-copy table { display:block; width:100%; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.transfer-copy td,.transfer-copy th { padding:8px 10px; border:1px solid #e3e7ed; white-space:normal; overflow-wrap:anywhere; }
.transfer-details > h2 { margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid #e5e9ef; }
.transfer-details .titre { display:none; }
.transfer-details .bloc { min-width:0; }
.transfer-details .table-header { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:10px !important; margin:0 0 20px !important; padding:0 0 18px !important; border:0 !important; border-bottom:1px solid #e5e9ef !important; }
.transfer-details .table-header > div { display:block !important; float:none !important; width:auto !important; min-width:0 !important; padding:11px 9px !important; border:1px solid #e8ebf0; background:#f8f9fb; text-align:left !important; color:#59667c; line-height:1.45; white-space:nowrap !important; }
.transfer-details .table-header strong { display:block; min-width:0 !important; margin:0 0 4px !important; color:var(--blue); font-size:11px; text-transform:uppercase; }
.transfer-details .table-header br { display:none; }
.transfer-details .table-detail { display:table !important; width:100% !important; margin:0 0 18px !important; table-layout:fixed !important; border-collapse:collapse; }
.transfer-details .table-detail caption { padding:9px 0; border-bottom:1px solid #dfe4eb; color:var(--blue); font-size:12px; font-weight:600; text-align:left; text-transform:uppercase; }
.transfer-details .table-detail tbody { display:table-row-group !important; }
.transfer-details .table-detail tr { display:table-row !important; }
.transfer-details .table-detail td { display:table-cell !important; float:none !important; width:auto !important; min-width:0 !important; padding:10px 8px !important; border-top:1px solid #edf0f4; color:#59667c; font-size:12px; line-height:1.5; vertical-align:top; white-space:normal !important; overflow-wrap:anywhere !important; }
.transfer-details .table-detail td:first-child { width:72% !important; }
.transfer-details .table-detail td:last-child { width:28% !important; text-align:right !important; }
.transfer-property { position:sticky; top:20px; }
.transfer-property .item { width:100%; margin:0; padding:0; }
.transfer-property .media { width:100%; margin:0 0 18px; }
.transfer-property .media img { display:block; width:100%; height:220px; object-fit:cover; }
.transfer-property h5.titre { margin:0 0 22px; color:var(--blue); font-size:20px; font-weight:500; line-height:1.4; }
.transfer-property .button { display:block; width:100%; text-align:center; }
@media (max-width:980px) { .transfer-details .table-header { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (max-width:850px) { .transfer-layout { grid-template-columns:1fr; } .transfer-property { position:static; } }
@media (max-width:560px) { .transfer-page { padding:28px 16px 48px !important; } .transfer-card { padding:20px; } .transfer-card--success { grid-template-columns:1fr; } .transfer-details .table-header { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .transfer-details .table-detail td:first-child { width:64% !important; } .transfer-details .table-detail td:last-child { width:36% !important; } }

/* Rental-card favorites */
.property-card { position:relative; }
.property-card__favorite { position:absolute; top:14px; right:14px; z-index:5; }
.favorite-button { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(24,44,83,.12); border-radius:50%; background:rgba(255,255,255,.96); color:var(--blue); font-size:17px; line-height:1; text-decoration:none; box-shadow:0 3px 12px rgba(20,34,61,.12); transition:transform .2s ease,background .2s ease,color .2s ease; }
.favorite-button:hover,.favorite-button:focus { background:var(--coral); color:#fff; text-decoration:none; transform:translateY(-1px); }
.favorite-button.is-favorite { background:var(--coral); color:#fff; }

/* Signup civility controls: neutralize Bootstrap's absolute radio positioning. */
.member-card__fields .radio-inline { position:static !important; display:inline-flex !important; align-items:center; width:auto !important; margin:0 24px 14px 0 !important; padding:0 !important; vertical-align:middle; }
.member-card__fields .radio-inline label { position:static !important; display:inline-flex !important; align-items:center; gap:8px; width:auto !important; margin:0 !important; padding:0 !important; white-space:nowrap; color:var(--text) !important; font-size:14px !important; font-weight:400 !important; line-height:20px; text-transform:none !important; }
.member-card__fields .radio-inline input[type=radio] { position:static !important; flex:0 0 16px; width:16px !important; height:16px !important; min-height:0 !important; margin:0 !important; transform:none !important; }

/* Favorites page */
#page_favoris .member-nav__favorites { border-left:3px solid var(--coral); background:#f5f7fa; color:var(--blue); }
.favorites-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:30px; }
.favorite-property-card { min-width:0; overflow:hidden; border:1px solid #e0e4eb; background:#fff; }
.favorite-property-card__media { position:relative; display:block; height:225px; overflow:hidden; background:#e9edf3; }
.favorite-property-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.favorite-property-card:hover .favorite-property-card__media img { transform:scale(1.025); }
.favorite-property-card__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#9ba5b7; font-size:24px; }
.favorite-property-card__body { padding:21px; }
.favorite-property-card__ref { margin:0 0 5px; color:var(--coral); font-size:10px; font-weight:600; letter-spacing:1.1px; text-transform:uppercase; }
.favorite-property-card h3 { min-height:50px; margin:0 0 15px; font-size:19px; font-weight:500; line-height:1.35; }
.favorite-property-card h3 a { color:var(--blue); text-decoration:none; }
.favorite-property-card__meta { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; min-height:42px; padding-top:14px; border-top:1px solid #e8ebf0; }
.favorite-property-card__meta > strong { color:var(--blue); font-size:14px; font-weight:600; }
.favorite-property-card__meta > strong small { color:#7d8799; font-size:10px; font-weight:400; }
.favorite-property-card__meta ul { display:flex; gap:11px; margin:0; padding:0; list-style:none; }
.favorite-property-card__meta li { display:flex; align-items:center; gap:5px; color:#687488; font-size:11px; white-space:nowrap; }
.favorite-property-card__meta li img { width:18px; height:18px; object-fit:contain; }
.favorite-property-card__actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:20px; }
.favorite-property-card__actions .button { flex:1; padding:11px 14px; text-align:center; }
.favorite-remove { display:inline-flex; align-items:center; gap:6px; flex:none; color:#a64e49; font-size:11px; font-weight:600; text-decoration:none; text-transform:uppercase; }
.favorite-remove:hover { color:#7d3733; text-decoration:none; }
.favorites-share { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:34px; padding:30px; }
.favorites-share__intro { padding-right:28px; border-right:1px solid #e5e9ef; }
.favorites-share__intro .eyebrow { margin:0 0 7px; color:var(--coral); font-size:10px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
.favorites-share__intro h2 { margin:0 0 13px; color:var(--blue); font-size:25px; font-weight:400; }
.favorites-share__intro p { margin:0; color:#6d788c; font-size:13px; line-height:1.7; }
.favorites-share__form .alert { margin:0 0 17px; }
.favorites-form__field { display:block; margin:0 0 16px; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; }
.favorites-form__field > span { color:var(--coral); }
.favorites-form__field input,.favorites-form__field textarea { display:block; width:100%; margin-top:7px; padding:11px 13px; border:1px solid #d9dee7; border-radius:0; background:#fff; box-shadow:none; color:#414c61; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.favorites-form__field input { height:45px; }
.favorites-form__field textarea { min-height:112px; resize:vertical; }
.favorites-form__field input:focus,.favorites-form__field textarea:focus { border-color:var(--blue); outline:0; }
.favorites-form__submit { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; }
.favorites-empty { padding:60px 25px; }
@media (max-width:980px) { .favorites-grid { grid-template-columns:1fr; } .favorites-share { grid-template-columns:1fr; } .favorites-share__intro { padding:0 0 22px; border-right:0; border-bottom:1px solid #e5e9ef; } }
@media (max-width:560px) { .favorite-property-card__media { height:205px; } .favorite-property-card__meta { align-items:flex-start; flex-direction:column; } .favorite-property-card__actions { align-items:stretch; flex-direction:column; } .favorite-remove { justify-content:center; padding:7px; } .favorites-share { padding:21px; } .favorites-form__submit { width:100%; } }

/* Reservation checkout */
#page_reservation .checkout-hero { padding:30px 24px 26px !important; border-bottom:1px solid #e5e9ef; background:#f7f8fa !important; }
#page_reservation .checkout-hero .content-width { max-width:1180px; }
#page_reservation .checkout-hero h1 { color:var(--blue) !important; font-size:clamp(30px,3vw,42px) !important; font-weight:400; }
.checkout-progress { display:flex; gap:0; max-width:530px; margin:22px 0 0; padding:0; list-style:none; }
.checkout-progress li { position:relative; display:flex; align-items:center; gap:8px; flex:1; color:#8b94a5; font-size:11px; font-weight:600; text-transform:uppercase; }
.checkout-progress li:not(:last-child):after { height:1px; flex:1; margin:0 10px; background:#d7dce5; content:""; }
.checkout-progress li span { display:flex; align-items:center; justify-content:center; width:25px; height:25px; border:1px solid #cfd5df; border-radius:50%; background:#fff; font-size:10px; }
.checkout-progress li.is-complete,.checkout-progress li.is-current { color:var(--blue); }
.checkout-progress li.is-complete span { border-color:var(--blue); background:var(--blue); color:#fff; }
.checkout-progress li.is-current span { border-color:var(--coral); color:var(--coral); }
#page_reservation .checkout-page { padding:38px 24px 70px !important; background:#f7f8fa; }
#page_reservation .reservation-grid--checkout { display:grid !important; grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr) !important; gap:28px !important; max-width:1180px; align-items:start; }
#page_reservation .reservation-card { min-width:0; border:1px solid #e0e4eb; border-radius:0; background:#fff; box-shadow:none; }
#page_reservation .checkout-form { padding:0 !important; overflow:visible; }
#page_reservation .checkout-form > form { min-width:0; }
.checkout-intro { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; padding:29px 30px 25px; }
.checkout-step-number,.checkout-section__heading > span { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid #d8dde6; color:var(--coral); font-size:11px; font-weight:600; }
.checkout-intro .eyebrow,.checkout-section__heading .eyebrow,.checkout-summary__heading .eyebrow { margin:0 0 5px; color:var(--coral); font-size:10px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
.checkout-intro h2 { margin:0 0 7px; color:var(--blue); font-size:26px; font-weight:400; line-height:1.3; }
.checkout-intro p:last-child { margin:0; color:#707b8e; font-size:13px; line-height:1.6; }
#page_reservation .account-tabs { display:grid; grid-template-columns:1fr 1fr; margin:0 30px !important; border:1px solid #dfe3ea !important; }
#page_reservation .account-tabs > li { float:none; width:auto; margin:0; }
#page_reservation .account-tabs > li + li { border-left:1px solid #dfe3ea; }
#page_reservation .account-tabs > li > a { display:flex; align-items:center; justify-content:center; gap:9px; margin:0 !important; padding:14px 12px !important; border:0 !important; border-radius:0 !important; background:#f6f7f9; color:#6c778a; font-size:12px; font-weight:600; text-transform:uppercase; }
#page_reservation .account-tabs > li.active > a { background:var(--blue) !important; color:#fff !important; }
.checkout-account-content { padding:26px 30px 30px; }
.checkout-account-content--connected { padding-top:5px; }
.checkout-account-content .tab-pane > h3 { margin:0 0 20px !important; padding:0 0 13px; border-bottom:1px solid #e8ebf0; color:var(--blue); font-size:18px !important; font-weight:500; }
#page_reservation .checkout-account-content .form-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 14px !important; }
#page_reservation .checkout-account-content .form-group:before,#page_reservation .checkout-account-content .form-group:after { display:none; }
#page_reservation .checkout-account-content .form-group > [class*="col-"] { float:none !important; width:auto !important; min-width:0; padding:0 !important; }
#page_reservation .checkout-account-content .form-group > .col-md-12,#page_reservation .checkout-account-content .form-group > .col-sm-12 { grid-column:1 / -1; }
#page_reservation .checkout-account-content input:not([type=radio]):not([type=checkbox]),#page_reservation .checkout-account-content select { display:block; width:100%; height:47px; padding:0 13px; border:1px solid #d9dee7; border-radius:0; background:#fff; box-shadow:none; color:#414c61; font-size:13px; }
#page_reservation .checkout-account-content input:focus,#page_reservation .checkout-account-content select:focus { border-color:var(--blue); outline:0; }
#page_reservation .checkout-account-content .radio-inline { position:static !important; display:inline-flex !important; align-items:center; margin:0 24px 0 0 !important; padding:0 !important; }
#page_reservation .checkout-account-content .radio-inline label { position:static !important; display:inline-flex !important; align-items:center; gap:8px; margin:0; padding:0; color:#4d596e; font-size:14px; font-weight:400; white-space:nowrap; }
#page_reservation .checkout-account-content .radio-inline input { position:static !important; width:16px !important; height:16px !important; margin:0 !important; }
#page_reservation .checkout-account-content .alert { margin:0 0 20px; border-radius:0; }
#page_reservation #login .form-row { margin:0 0 16px; }
#page_reservation #login .form-row label { display:block; margin:0 0 7px; color:var(--blue); font-size:11px; font-weight:600; text-transform:uppercase; }
#page_reservation #login .form-row input { height:47px; }
.login-actions { display:flex; align-items:center; gap:20px; margin-top:20px; }
.login-actions .button { border:0; }
.login-actions > a { color:var(--blue); font-size:12px; text-decoration:underline; }
#page_reservation .checkout-section { margin:0 !important; padding:27px 30px !important; border:0 !important; border-top:1px solid #e5e9ef !important; }
.checkout-section__heading { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; align-items:center; margin-bottom:19px; }
.checkout-section__heading > span { width:38px; height:38px; }
.checkout-section__heading h3 { margin:0 !important; color:var(--blue); font-size:20px !important; font-weight:500; }
#page_reservation #refreshPromo .form-inline,#page_reservation #refreshPromo .form-group { display:block; margin:0 !important; }
#page_reservation #refreshPromo .form-group { color:#778195; font-size:12px; line-height:1.5; }
#page_reservation #refreshPromo .form-group br { display:none; }
#page_reservation #refreshPromo input { display:inline-block; width:calc(100% - 150px); height:44px; margin-top:10px; padding:0 12px; border:1px solid #d9dee7; border-radius:0; box-shadow:none; }
#page_reservation #refreshPromo .btn { display:inline-flex; align-items:center; justify-content:center; width:140px; height:44px; margin:10px 0 0 6px; border:1px solid var(--blue); border-radius:0; background:#fff; color:var(--blue); font-size:10px; font-weight:600; }
#page_reservation #refreshMode .table { width:100%; margin:0; border:1px solid #e5e9ef; table-layout:fixed; }
#page_reservation #refreshMode .table td { width:auto !important; padding:14px 16px; border-top:0; background:#f8f9fb; color:#58657a; vertical-align:middle; }
#page_reservation #refreshMode .table td:last-child { width:34% !important; color:var(--blue); text-align:right; }
#page_reservation #refreshMode h5 { margin:0 0 4px; font-size:13px; }
#page_reservation #refreshMode .legend { font-size:11px; line-height:1.45; }
#page_reservation #refreshMode .checkbox { margin:15px 0 0; }
.cgv-check { display:flex !important; align-items:flex-start; gap:11px; margin:0 !important; padding:15px 16px; border:1px solid #e1e5eb; background:#f8f9fb; color:#59667a !important; font-size:13px; font-weight:400 !important; line-height:1.55; text-transform:none !important; }
.cgv-check input { flex:0 0 17px; width:17px !important; height:17px !important; margin:2px 0 0 !important; }
.cgv-check a { color:var(--blue); font-weight:600; text-decoration:underline; }
.payment-help { margin:-4px 0 15px; color:#788295; font-size:12px; }
#page_reservation .payment-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#page_reservation .payment-options .modepaiement { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:11px; min-width:0; min-height:112px; padding:15px 10px; border:1px solid #dce1e9; border-radius:0; background:#fff; color:var(--blue); text-align:center; text-decoration:none; transition:.2s ease; }
#page_reservation .payment-options .modepaiement:hover { border-color:var(--coral); background:#fff8f7; transform:translateY(-1px); }
#page_reservation .payment-options img { display:block; max-width:105px; max-height:42px; object-fit:contain; }
#page_reservation .payment-options span { font-size:10px; font-weight:600; line-height:1.35; text-transform:uppercase; }
#page_reservation .checkout-summary { position:sticky !important; top:18px; padding:0 !important; overflow:hidden; }
.checkout-summary__heading { padding:23px 23px 18px; border-bottom:1px solid #e5e9ef; }
.checkout-summary__heading h2 { margin:0 !important; color:var(--blue); font-size:25px !important; font-weight:400; }
.checkout-summary__heading > span { display:inline-flex; align-items:center; gap:6px; margin-top:9px; color:#788397; font-size:10px; text-transform:uppercase; }
#page_reservation .checkout-summary > .recap { width:100% !important; max-width:none !important; overflow:visible !important; }
#page_reservation .checkout-summary .item { width:100%; margin:0; padding:0; }
#page_reservation .checkout-summary .item .media { width:100%; height:205px; margin:0; overflow:hidden; }
#page_reservation .checkout-summary .item .media img { display:block; width:100%; height:100%; object-fit:cover; }
#page_reservation .checkout-summary .item h5.titre { margin:0; padding:17px 22px; border-bottom:1px solid #e5e9ef; color:var(--blue); font-size:17px; font-weight:500; line-height:1.4; }
#page_reservation .checkout-summary #recap { margin:0; padding:20px 22px 23px; }
#page_reservation .checkout-summary #recap > h4.titre { margin:0 0 15px !important; color:var(--blue); font-size:12px !important; font-weight:600; text-transform:uppercase; }
#page_reservation .checkout-summary .table-header { display:grid !important; grid-template-columns:1fr !important; gap:0 !important; margin:0 0 18px !important; padding:0 !important; border:1px solid #e5e9ef !important; }
#page_reservation .checkout-summary .table-header > div { display:flex !important; align-items:center; justify-content:space-between; gap:12px; float:none !important; width:auto !important; padding:9px 11px !important; border-bottom:1px solid #edf0f4; color:#536077; font-size:12px; text-align:right !important; white-space:nowrap; }
#page_reservation .checkout-summary .table-header > div:last-child { border-bottom:0; }
#page_reservation .checkout-summary .table-header strong { min-width:0 !important; margin:0 !important; color:#7b8597; font-size:10px; text-align:left; text-transform:uppercase; }
#page_reservation .checkout-summary .table-header br { display:none; }
#page_reservation .checkout-summary .table-detail { display:table !important; width:100% !important; margin:0 0 15px !important; table-layout:fixed; border-collapse:collapse; }
#page_reservation .checkout-summary .table-detail caption { padding:8px 0; border-bottom:1px solid #e1e5eb; color:var(--blue); font-size:11px; font-weight:600; text-align:left; text-transform:uppercase; }
#page_reservation .checkout-summary .table-detail tbody { display:table-row-group !important; }
#page_reservation .checkout-summary .table-detail tr { display:table-row !important; }
#page_reservation .checkout-summary .table-detail td { display:table-cell !important; float:none !important; width:auto !important; padding:9px 5px !important; border-top:1px solid #edf0f4; color:#5e6a7e; font-size:11px; line-height:1.45; vertical-align:top; white-space:normal !important; overflow-wrap:anywhere; }
#page_reservation .checkout-summary .table-detail td:first-child { width:68% !important; }
#page_reservation .checkout-summary .table-detail td:last-child { width:32% !important; text-align:right !important; }
@media (max-width:930px) { #page_reservation .reservation-grid--checkout { grid-template-columns:1fr !important; } #page_reservation .checkout-summary { position:static !important; } }
@media (max-width:620px) { #page_reservation .checkout-page { padding:25px 14px 50px !important; } .checkout-progress li { font-size:0; } .checkout-progress li span { font-size:10px; } .checkout-intro { grid-template-columns:1fr; padding:22px 20px; } #page_reservation .account-tabs { margin:0 20px !important; } #page_reservation .account-tabs > li > a { gap:6px; padding:12px 8px !important; font-size:10px; } .checkout-account-content { padding:22px 20px; } #page_reservation .checkout-account-content .form-group { grid-template-columns:1fr; } #page_reservation .checkout-account-content .form-group > [class*="col-"] { grid-column:auto; } #page_reservation .checkout-section { padding:23px 20px !important; } #page_reservation #refreshPromo input { width:100%; } #page_reservation #refreshPromo .btn { width:100%; margin-left:0; } #page_reservation .payment-options { grid-template-columns:1fr; } .login-actions { align-items:flex-start; flex-direction:column; } }

.newsletter__feedback { width:100%; min-height:24px; margin-top:12px; }
.newsletter__feedback p { margin:0; padding:9px 12px; border-left:3px solid; font-size:12px; line-height:1.5; }
.newsletter__feedback .is-success { border-color:#4b8a63; background:#eaf5ee; color:#39734f; }
.newsletter__feedback .is-error { border-color:#b65b55; background:#fff0ef; color:#91443f; }
