/* Local refinements for native Rubik account and login components. */
.mon-compte .btn:not(.orange):not(.outline), .connexion .btn { color:#1A2E35; }
.mon-compte .btn, .connexion .btn, .mon-compte .menu-compte a, .mon-compte .quantity_selected { min-height:44px; }
.mon-compte .btn { display:inline-flex; align-items:center; justify-content:center; }
.mon-compte a:focus-visible, .mon-compte button:focus-visible, .mon-compte select:focus-visible,
.connexion a:focus-visible, .connexion button:focus-visible, .connexion input:focus-visible { outline:2px solid #044850; outline-offset:3px; }
.mon-compte .btn.outline:not(.orange), .mon-compte .meiso-account-shortcuts a, .mon-compte .meiso-booking-link,
.mon-compte .container-historique a, .connexion .meiso-login-status,
.mon-compte #card-valid { color:#044850 !important; }
.mon-compte .ecrans-compte h2, .mon-compte .ecrans-compte h3, .mon-compte .modal-window h1 { color:#044850; }
.mon-compte .ecrans-compte p[style*="color: gray"], .mon-compte .ecrans-compte p[style*="color:gray"] { color:#54595F !important; }
.mon-compte .meiso-account-gift-card .bt-code { text-transform:none !important; color:#973D29 !important; }
.mon-compte .meiso-account-gift-card .meiso-gift-card-primary { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.mon-compte .meiso-account-gift-card .bt-code strong { text-transform:uppercase; }
.mon-compte .meiso-account-gift-card .bt-code { display:block; }
.mon-compte .meiso-account-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0 6px 1rem; padding:1rem 0; border-bottom:1px solid #C7D3D7; }
.mon-compte .meiso-account-summary h3 { font-size:15px; margin:0 0 .5rem; line-height:1.35; }
.mon-compte .meiso-account-summary p { font-size:14px; line-height:1.5; margin:0 0 .4rem; }
.mon-compte .meiso-account-summary a { color:#044850; text-decoration:underline; font-size:14px; }
.mon-compte .meiso-account-summary small { font-size:12px; line-height:1.45; }
.mon-compte .meiso-account-shortcuts { display:flex; flex-wrap:wrap; gap:.25rem 1rem; margin:0 6px 1.25rem; }
.mon-compte .meiso-account-shortcuts a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; font-size:14px; }
.mon-compte .meiso-quantity-label { font-size:12px; font-weight:500; line-height:1.35; margin:.25rem 0; }
.mon-compte .meiso-available-quantity { font-size:14px; color:#1A2E35; margin:.35rem 0; }
.mon-compte .meiso-booking-link { min-height:44px; display:inline-flex; align-items:center; font-size:13px; text-decoration:underline; }
.mon-compte .meiso-center-address { font-size:13px; font-weight:400; line-height:1.45; }
.mon-compte .meiso-account-empty { margin:0 6px 1.5rem; }
.mon-compte .meiso-account-empty .btn { max-width:280px; margin:0 .5rem .5rem 0; }
.mon-compte .container-historique { margin-top:2rem; scroll-margin-top:1.5rem; }
.mon-compte .meiso-invoice-scroll { overflow-x:auto; }
.mon-compte .meiso-invoice-table { width:100%; border-collapse:collapse; font-size:14px; }
.mon-compte .meiso-invoice-table th { text-align:left; background:#DCF2F2; font-weight:500; }
.mon-compte .meiso-invoice-table th, .mon-compte .meiso-invoice-table td { padding:.65rem .5rem; border-bottom:1px solid #C7D3D7; vertical-align:top; overflow-wrap:anywhere; }
.mon-compte .meiso-invoice-table a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; }
.mon-compte .meiso-account-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.mon-compte #confirmation_suppression_compte > div,
.mon-compte #confirmation_suspension_abonnement > div,
.mon-compte #confirmation_annulation > div,
.mon-compte #late_cancellation_payment > div { box-sizing:border-box; width:400px; max-width:calc(100vw - 2rem); max-height:calc(100dvh - 2rem); overflow-y:auto; border-radius:8px; padding:3.5rem 1.5rem 1.5rem; }
.mon-compte .modal-close { color:#044850; min-height:44px; min-width:64px; }
.mon-compte .modal-window .content-response { gap:.75rem; flex-wrap:wrap; }
.mon-compte .modal-window .content-response a, .mon-compte .modal-window .content-response button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.6rem 1rem; border-radius:8px; }
.mon-compte #form_infos_user small { display:block; font-size:12px; line-height:1.45; margin-top:.35rem; }
.mon-compte .meiso-subscription-help { margin-top:1rem; font-size:14px; }
.mon-compte .wrapper-select-compte label { display:block; font-size:14px; font-weight:500; margin-bottom:.4rem; }
.mon-compte .wrapper-select-compte .select2-selection { min-height:44px; }
.connexion label { display:block; text-align:left; margin-bottom:.35rem; font-weight:500; }
.connexion .meiso-login-help { border:1px solid #C7D3D7; border-radius:8px; padding:.75rem; margin-top:1rem; font-size:14px; line-height:1.5; }
@media(max-width:600px) {
 .mon-compte .meiso-account-summary { grid-template-columns:1fr; gap:.75rem; }
 .mon-compte .meiso-account-summary > div + div { border-top:1px solid #C7D3D7; padding-top:.75rem; }
 .mon-compte .meiso-invoice-table { font-size:12px; }
 .mon-compte .meiso-invoice-table th, .mon-compte .meiso-invoice-table td { padding:.5rem .2rem; }
 .mon-compte .ecran-compte-infos > div:first-child { flex-wrap:wrap; gap:.5rem; }
 .mon-compte .wrapper-service .principal .titre h4 { overflow-wrap:anywhere; }
 .mon-compte .wrapper-service .cta { min-width:0; }
}

.mon-compte .meiso-purchase-actions { display:flex; flex-direction:column; }
.mon-compte .meiso-purchase-actions .meiso-quantity-label { order:-1; }
.mon-compte .btn.orange:not(.outline), .mon-compte .wrapper-service .new { color:#1A2E35; }
.mon-compte .btn.outline.orange { color:#973D29; }
.mon-compte .ecran-compte-infos p[style*="color:#1CADAD"] { color:#044850 !important; }

.mon-compte .meiso-account-sort { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem 1rem; margin:0 6px 1rem; font-size:14px; }
.mon-compte .meiso-account-sort select { width:auto; min-height:44px; max-width:100%; }

.mon-compte .menu-compte h2 span, .mon-compte .menu-compte a.active { color:#216B6E; }

.mon-compte .modal-window.meiso-account-dialog-open { visibility:visible; opacity:1; pointer-events:auto; }

/* Booking cards: information first, utilities next, booking actions last. */
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service { padding:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal { align-items:flex-start; gap:20px; padding:20px; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .visuel { width:120px; flex:0 0 120px; margin:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .visuel img { width:120px; height:120px; object-fit:cover; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos { min-width:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta { flex-direction:column; align-items:stretch; gap:0; margin:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta .titre { width:100%; margin:0; flex:0 1 auto; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .titre h4 { font-size:22px; line-height:1.2; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-heading > p { font-size:14px; line-height:1.45; margin:4px 0 0 !important; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-meta { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px 24px; margin-top:16px; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-meta p { margin:0 !important; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-date, .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-times, .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-practitioner { grid-column:1; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-date { font-size:18px; font-weight:500; line-height:1.3; color:#1A2E35; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-times { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin-top:5px !important; font-size:14px; line-height:1.5; color:#1A2E35; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-arrival { color:#54595F; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-practitioner { margin-top:8px !important; font-size:14px; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-location { grid-column:2; grid-row:1 / span 3; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-center { font-size:14px; font-weight:500; line-height:1.5; color:#044850; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-center-address { font-size:13px; line-height:1.5; font-weight:400; color:#54595F; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta .cta { display:flex; flex-direction:row; justify-content:space-between; align-items:center; flex-wrap:wrap; width:100%; gap:12px; margin:16px 0 0; padding-top:12px; border-top:1px solid #E5ECEE; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta .cta > * + * { margin-left:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-utilities { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta .cta a { flex-grow:0; max-width:none; width:auto; margin:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-utilities .meiso-booking-link { min-height:44px; padding:0; font-size:13px; font-weight:400; line-height:1.4; text-decoration:underline; white-space:nowrap; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:0; border:0; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .btn,
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-native-move-button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; min-width:108px; padding:10px 16px; border-radius:8px; font:500 14px/1.3 Rubik,Arial,sans-serif; margin:0; box-sizing:border-box; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .btn.orange:not(.outline) { color:#fff !important; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-native-move-button { background:#fff; color:#044850; border:1px solid #28787B; cursor:pointer; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-native-move-button:hover { background:#F4F7FA; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-native-move-button:focus-visible { outline:2px solid #044850; outline-offset:3px; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management > span { flex-basis:100%; margin-top:0 !important; text-align:left !important; font-size:13px !important; line-height:1.45; }
@media(max-width:600px) {
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service { padding:0; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal { display:block; padding:16px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .visuel { width:72px; flex-basis:72px; float:left; margin:0 12px 12px 0; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .visuel img { width:72px; height:72px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos { display:block; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta { display:block; width:100%; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-heading { min-height:72px; margin-left:84px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .titre h4 { font-size:18px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-meta { display:block; clear:both; margin-top:12px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-location { margin-top:10px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-date { font-size:16px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-times { display:block; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-time-separator { display:none; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-arrival { display:block; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta .cta { gap:8px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-utilities { gap:0 12px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management { gap:10px; }
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .btn,
 .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-native-move-button { min-width:100px; }
}

/* Postage-stamp cuts: decorative side edges, original content and actions retained. */
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service {
 position:relative; background:transparent; box-shadow:none;
 filter:drop-shadow(0 6px 9px rgba(4,72,80,.12));
}
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service::before {
 content:""; position:absolute; inset:0; border-radius:8px; background:#fff; pointer-events:none;
 -webkit-mask:radial-gradient(circle at 0 12px,transparent 5px,#000 5.75px) left top / 50% 24px repeat-y,radial-gradient(circle at 100% 12px,transparent 5px,#000 5.75px) right top / 50% 24px repeat-y;
 mask:radial-gradient(circle at 0 12px,transparent 5px,#000 5.75px) left top / 50% 24px repeat-y,radial-gradient(circle at 100% 12px,transparent 5px,#000 5.75px) right top / 50% 24px repeat-y;
}
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service > * { position:relative; }

/* Available sessions and owned gift codes share the compact native ticket style. */
.mon-compte .ecrans-compte #container-achats > .wrapper-service {
 position:relative; padding:0; background:transparent; box-shadow:none;
 filter:drop-shadow(0 6px 9px rgba(4,72,80,.12));
}
.mon-compte .ecrans-compte #container-achats > .wrapper-service::before {
 content:""; position:absolute; inset:0; border-radius:8px; background:#fff; pointer-events:none;
 -webkit-mask:radial-gradient(circle at 0 12px,transparent 5px,#000 5.75px) left top / 50% 24px repeat-y,radial-gradient(circle at 100% 12px,transparent 5px,#000 5.75px) right top / 50% 24px repeat-y;
 mask:radial-gradient(circle at 0 12px,transparent 5px,#000 5.75px) left top / 50% 24px repeat-y,radial-gradient(circle at 100% 12px,transparent 5px,#000 5.75px) right top / 50% 24px repeat-y;
}
.mon-compte .ecrans-compte #container-achats > .wrapper-service > * { position:relative; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal { display:flex; align-items:flex-start; gap:20px; padding:20px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .visuel { flex:0 0 120px; width:120px; margin:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .visuel img { width:120px; height:120px; object-fit:cover; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos { flex:1 1 0; min-width:0; display:grid; gap:12px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta { display:contents; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta .titre { width:100%; margin:0; grid-row:1; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .titre h4 { font-size:22px; line-height:1.2; margin:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .titre p { font-size:14px; line-height:1.45; margin:4px 0 0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .titre .meiso-available-quantity { font-size:14px; margin:12px 0 0; color:#1A2E35; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .titre h5 { font-size:14px; line-height:1.5; margin:8px 0 0; font-weight:500; color:#044850; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .titre h5 span { color:inherit; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .exp_date_achat { font-size:13px; line-height:1.5; color:#54595F; margin:0; text-align:left; grid-row:2; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .infos > .tags { grid-row:4; margin:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .infos > .tags:empty { display:none; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta .cta {
 grid-row:3; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; flex-wrap:wrap; width:100%; max-width:none; gap:10px 12px; margin:0; padding-top:12px; border-top:1px solid #E5ECEE;
}
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta .cta > * + * { margin-left:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-quantity-label { order:-1; flex-basis:100%; font-size:12px; line-height:1.35; margin:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta .cta select { width:90px; min-height:44px; font-size:14px; margin:0; box-sizing:border-box; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta .cta a { width:auto; max-width:none; flex-grow:0; margin:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .btn { min-height:44px; padding:10px 16px; border-radius:8px; font:500 14px/1.3 Rubik,Arial,sans-serif; box-sizing:border-box; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .bt-offrir { color:#fff !important; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .bt-savoirplus { display:inline-flex; min-height:44px; padding:0; border:0; font-size:13px; font-weight:400; text-decoration:underline; background:transparent; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-actions { padding:0 20px 20px 160px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-primary { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; padding-top:12px; border-top:1px solid #E5ECEE; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-primary .btn { min-height:58px; display:inline-flex; margin:0; width:auto; max-width:none; flex:0 1 auto; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-primary .bt-code { display:block; box-shadow:none; border-width:1px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin-top:8px; }
@media(max-width:600px) {
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .principal { display:block; padding:16px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .visuel { float:left; width:72px; margin:0 12px 12px 0; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .visuel img { width:72px; height:72px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos { display:block; width:auto; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta { display:block; width:100%; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .titre h4 { font-size:18px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .titre .meiso-available-quantity,
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .titre h5 { clear:both; padding-top:4px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos .titre-cta .cta { clear:both; margin-top:16px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .exp_date_achat { clear:both; margin-top:12px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-actions { clear:both; padding:0 16px 16px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-primary .btn { flex:1 1 140px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-footer .exp_date_achat { margin:0; }
}
@media(max-width:600px) {
 .mon-compte .ecrans-compte #container-achats > .wrapper-service { margin:0 6px 20px -20px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .titre h4,
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .titre > p:not(.meiso-available-quantity) { margin-left:84px; }
}
.mon-compte .ecrans-compte #container-achats > .wrapper-service .principal .infos { grid-template-columns:minmax(0,1fr); justify-content:stretch; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-gift-card-primary { max-width:none; width:100%; box-sizing:border-box; }

/* Compact owned gift tickets: expiry with information, three short actions together. */
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal { padding:16px 20px 12px; gap:16px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal .visuel { flex-basis:80px; width:80px; height:80px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal .visuel img { width:80px; height:80px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .titre h4 { font-size:20px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .titre h5 { font-size:13px; margin-top:6px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .titre .exp_date_achat { font-size:12px; margin-top:4px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .meiso-gift-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; padding:12px 20px 16px 116px; margin:0; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .meiso-gift-card-primary,
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .meiso-gift-card-footer { display:contents; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .meiso-gift-card-primary .btn { display:inline-flex; align-items:center; gap:8px; flex:0 1 auto; min-height:44px; padding:8px 12px; font-size:13px; line-height:1.3; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .bt-code strong { font-size:12px; font-weight:500; padding:3px 6px; border-radius:4px; background:#FFF0EA; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .bt-savoirplus { font-size:13px; min-height:44px; }
@media(max-width:600px) {
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal { padding:16px 16px 8px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal .visuel { width:64px; height:64px; margin-right:12px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal .visuel img { width:64px; height:64px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .titre h4 { font-size:18px; margin-left:76px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .titre > p:not(.meiso-available-quantity) { margin-left:76px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .titre h5 { padding-top:0; margin-top:8px; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .meiso-gift-card-actions { clear:both; padding:8px 16px 12px; gap:6px 10px; }
}
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal .infos { display:block; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .principal { padding-bottom:6px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service.meiso-account-gift-card .meiso-gift-card-actions { padding-top:8px; }

/* A private recipient reminder unfolds only when edited. */
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient { margin-top:4px; font-size:13px; line-height:1.4; clear:both; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; min-height:44px; cursor:pointer; list-style:none; color:#044850; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient summary::-webkit-details-marker { display:none; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-value { overflow-wrap:anywhere; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-edit { text-decoration:underline; font-size:12px; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-form { margin:4px 0 8px; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-form label { display:block; font-size:12px; font-weight:500; margin:0 0 4px; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-fields { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-fields input { flex:1 1 160px; min-width:0; min-height:44px; margin:0; width:auto; border:1px solid #C7D3D7; border-radius:6px; padding:8px 10px; font:400 14px/1.4 Rubik,Arial,sans-serif; background:#fff; color:#1A2E35; box-sizing:border-box; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-fields button { min-height:44px; border:1px solid #28787B; border-radius:6px; padding:8px 12px; background:#F3FAFA; color:#044850; font:500 13px/1.4 Rubik,Arial,sans-serif; cursor:pointer; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-fields button:disabled { opacity:.65; cursor:wait; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-form small { display:block; font-size:11px; line-height:1.4; color:#54595F; margin-top:6px; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient-form output { display:block; margin-top:4px; font-size:12px; color:#044850; }
.mon-compte .ecrans-compte #container-achats > .meiso-account-gift-card .meiso-gift-recipient summary:focus-visible { outline:2px solid #044850; outline-offset:2px; }


/* Account overview, progressive explanations and distinct purchase actions. */
.mon-compte .meiso-account-summary strong { display:inline-block; overflow-wrap:anywhere; }
.mon-compte .meiso-summary-arrival { color:#54595f; font-size:13px; }
.mon-compte .ecrans-compte .meiso-section-intro { margin:0 6px 6px; color:#54595f; font-size:14px; line-height:1.5; }
.mon-compte .ecrans-compte details.meiso-account-help { margin:0 6px 16px; color:#54595f; font-size:13px; line-height:1.5; }
.mon-compte .ecrans-compte details.meiso-account-help > summary { min-height:44px; display:flex; align-items:center; gap:8px; color:#044850; cursor:pointer; list-style:none; font-weight:500; }
.mon-compte .ecrans-compte details.meiso-account-help > summary::-webkit-details-marker { display:none; }
.mon-compte .ecrans-compte details.meiso-account-help > summary::before { content:'+'; font-size:18px; }
.mon-compte .ecrans-compte details.meiso-account-help[open] > summary::before { content:'−'; }
.mon-compte .ecrans-compte details.meiso-account-help > p { font-size:13px; line-height:1.5; margin:4px 0 8px; }
.mon-compte .ecrans-compte summary:focus-visible, .mon-compte .ecrans-compte .meiso-offer-ticket:focus-visible { outline:2px solid #044850; outline-offset:3px; }
.mon-compte .ecrans-compte .meiso-ticket-state { display:inline-block; font-size:11px; line-height:1.4; font-weight:500; color:#044850; background:#e8f4f3; border:1px solid #c7dedd; padding:3px 7px; border-radius:4px; margin:0 0 5px; text-transform:none; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions { gap:8px; align-items:stretch; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > .btn { margin:0; min-height:44px; width:auto; min-width:0; box-sizing:border-box; font-size:14px; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > .meiso-offer-ticket { background:#ee6c4d; color:#fff !important; border:1px solid #ee6c4d; font-weight:500; text-transform:none; cursor:pointer; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > .meiso-offer-ticket:disabled { opacity:.65; cursor:wait; }
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > .bt-savoirplus { border:0; box-shadow:none; background:transparent; font-size:13px; font-weight:400; text-decoration:underline; }
.mon-compte .ecrans-compte .meiso-history-complement { border-top:1px solid #c7d3d7; margin-top:20px; padding-top:8px; }

.meiso-offer-dialog { position:fixed; top:50%; left:50%; right:auto; bottom:auto; transform:translate(-50%,-50%); width:440px; max-width:calc(100vw - 32px); max-height:calc(100vh - 32px); overflow:auto; box-sizing:border-box; margin:0; padding:24px; border:1px solid #c7d3d7; border-radius:8px; color:#1a2e35; background:#fff; box-shadow:0 12px 40px rgba(4,72,80,.18); font:400 14px/1.5 Rubik,Arial,sans-serif; }
.meiso-offer-dialog::backdrop { background:rgba(4,32,38,.45); }
.meiso-offer-dialog:not([open]) { display:none; }
.meiso-offer-dialog__title { margin:0 0 12px; color:#044850; font:500 22px/1.3 Rubik,Arial,sans-serif; }
.meiso-offer-dialog__description { font-size:14px; margin:0 0 20px; line-height:1.55; white-space:pre-line; overflow-wrap:anywhere; }
.meiso-offer-dialog__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.meiso-offer-dialog__actions button { border:1px solid #28787b; background:#fff; color:#044850; padding:10px 14px; min-height:44px; border-radius:6px; font:500 14px/1.3 Rubik,Arial,sans-serif; cursor:pointer; }
.meiso-offer-dialog__actions .meiso-offer-dialog__confirm { background:#ee6c4d; border-color:#ee6c4d; color:#fff; }
.meiso-offer-dialog__actions button:focus-visible { outline:2px solid #044850; outline-offset:3px; }

@media(max-width:600px) {
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions { display:grid; grid-template-columns:1fr 1fr; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > select,
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > label,
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > .bt-savoirplus { grid-column:1 / -1; }
 .mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > select { width:100%; }
}

/* Restore the existing coral gift action and native hover palette. */
.mon-compte .ecrans-compte #container-achats > .wrapper-service .meiso-purchase-actions > .meiso-offer-ticket:is(:hover,:active,:focus) { background:#d35d41; border-color:transparent; color:#fff; }
.meiso-offer-dialog__actions .meiso-offer-dialog__confirm:is(:hover,:active,:focus) { background:#d35d41; border-color:transparent; color:#fff; }

/* Inline booking terms: no extra row while closed. */
.mon-compte .ecrans-compte .meiso-booking-utilities .meiso-booking-conditions { margin:0; color:#54595f; font:400 13px/1.4 Rubik,Arial,sans-serif; }
.mon-compte .ecrans-compte .meiso-booking-conditions > summary { display:flex; align-items:center; min-height:44px; cursor:pointer; color:#044850; text-decoration:underline; list-style:none; }
.mon-compte .ecrans-compte .meiso-booking-conditions > summary::-webkit-details-marker { display:none; }
.mon-compte .ecrans-compte .meiso-booking-conditions > summary:focus-visible { outline:2px solid #044850; outline-offset:3px; }
.mon-compte .ecrans-compte .meiso-booking-conditions[open] { display:contents; }
.mon-compte .ecrans-compte .meiso-booking-conditions-content { display:none; }
.mon-compte .ecrans-compte .meiso-booking-conditions[open] > .meiso-booking-conditions-content { display:block; flex-basis:100%; order:1; padding:4px 0 8px; }
.mon-compte .ecrans-compte .meiso-booking-conditions-content p { margin:0 0 8px; font-size:12px; line-height:1.5; }
.mon-compte .ecrans-compte .meiso-booking-conditions-content strong { display:inline; font-weight:500; color:#1a2e35; }
.mon-compte .ecrans-compte .meiso-booking-conditions-content strong::after { content:" :"; }
.mon-compte .ecrans-compte .meiso-booking-conditions-links a { color:#54595f; text-decoration:underline; }

/* Footer palette, three utilities on one row; terms beside Move. */
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .principal .infos .titre-cta .meiso-booking-actions { flex-direction:column; align-items:stretch; margin-top:10px; padding-top:8px; gap:6px; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-utilities { flex-wrap:nowrap; gap:0 12px; width:100%; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-utilities .meiso-booking-link { min-height:40px; font-size:14px; color:#1a626b !important; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management { display:grid; grid-template-columns:108px 108px minmax(0,1fr); align-items:center; gap:10px; }
.mon-compte .ecrans-compte .meiso-booking-management .meiso-booking-conditions { margin:0; min-width:0; }
.mon-compte .ecrans-compte .meiso-booking-management .meiso-booking-conditions > summary { min-height:44px; font:400 14px/1.3 Rubik,Arial,sans-serif; color:#1a626b !important; justify-content:flex-end; text-align:right; white-space:normal; }
.mon-compte .ecrans-compte .meiso-booking-management .meiso-booking-conditions[open] > .meiso-booking-conditions-content { grid-column:1/-1; padding:4px 0 0; }
.mon-compte .ecrans-compte .meiso-booking-management > span { grid-column:1/-1; }
.mon-compte .ecrans-compte .meiso-booking-utilities .meiso-booking-link:hover,
.mon-compte .ecrans-compte .meiso-booking-management .meiso-booking-conditions > summary:hover { color:#044850 !important; }
@media(max-width:600px) { .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management { grid-template-columns:minmax(76px,1fr) minmax(76px,1fr) minmax(0,1.25fr); gap:8px; } .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .btn, .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-native-move-button { min-width:0; padding:10px 8px; } }

/* Native details content stays a block; no anonymous grid column when open. */
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management > .btn,
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management > .meiso-native-move-button { grid-row:1; align-self:start; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-booking-conditions[open] { display:block; grid-column:1/-1; grid-row:1; width:100%; pointer-events:none; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-booking-conditions[open] > summary { margin-left:236px; pointer-events:auto; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-booking-conditions[open] > .meiso-booking-conditions-content { display:block; width:100%; box-sizing:border-box; margin-top:10px; pointer-events:auto; }
@media(max-width:600px) { .mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-booking-conditions[open] > summary { margin-left:calc(61.53846% + 6.154px); } }

.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management > .btn { grid-column:1; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management > .meiso-native-move-button { grid-column:2; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-booking-conditions { grid-column:3; }
.mon-compte .ecrans-compte .meiso-booking-card.wrapper-service .meiso-booking-management .meiso-booking-conditions[open] { grid-column:1 / 4; min-width:0; }
