.meiso-phoenix-section,
.meiso-phoenix-layer {
  font-family: Rubik, Arial, sans-serif;
  color: #1A2E35;
}
.meiso-phoenix-section { margin: 2rem 0 1.5rem; padding: 0; }
.meiso-phoenix-section > .titre-achat { margin-bottom: 1rem; }
.ecrans-compte .container-achats .meiso-phoenix-ticket.wrapper-service {
  margin: 0 6px 1rem; position: relative; padding: 0; background: transparent; box-shadow: none;
  filter: drop-shadow(0 6px 9px rgba(4,72,80,.12));
}
/* Same side cuts as the native available-ticket cards. */
.ecrans-compte .container-achats .meiso-phoenix-ticket.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;
}
.ecrans-compte .container-achats .meiso-phoenix-ticket > * { position: relative; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .principal { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 16px; padding: 20px 20px 0; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .principal .visuel { width: 96px; height: 96px; margin: 0; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .principal .visuel img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .principal .infos { display: block; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .principal .titre-cta { display: block; margin: 0; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .titre { margin: 0; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .titre h4 { margin: 0 0 .25rem; font-size: 18px; line-height: 1.2; }
.ecrans-compte .container-achats .meiso-phoenix-ticket p { margin: 0 0 .4rem; font-size: 14px; line-height: 1.35; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .meiso-phoenix-kind { color: #54595F; font-size: 12px; }
.ecrans-compte .container-achats .meiso-phoenix-ticket.wrapper-service .exp_date_achat { margin: .75rem 0 .4rem; text-align: left; font-size: 12.5px; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .meiso-phoenix-expired-date { display: block; color: #EE6C4D; font-weight: 700; }
.meiso-phoenix-ticket .exp_date_achat span { display: block; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .meiso-phoenix-ticket-hint { color: #216b6e; font-size: 13px; }
.meiso-phoenix-expired-badge { position: absolute; top: 4px; left: 4px; padding: 2px 5px; border-radius: 3px; background: #f4f7fa; color: #344b49; font: 500 11px/1.2 Rubik,Arial,sans-serif; }
.meiso-phoenix-ticket-actions { padding: 12px 20px 16px 132px; }
.meiso-phoenix-ticket-actions > .btn { max-width: 420px; font-size: 14px; }
.meiso-phoenix-ticket-details { margin-top: 8px; border-top: 1px solid #d8e4e1; color: #344b49; }
.meiso-phoenix-ticket-details summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: .4rem 0; list-style: none; cursor: pointer; color: #216b6e; font-size: 13px; font-weight: 500; }
.meiso-phoenix-ticket-details summary::-webkit-details-marker { display: none; }
.meiso-phoenix-ticket-details summary::after { content: '+'; font-size: 20px; font-weight: 400; }
.meiso-phoenix-ticket-details[open] summary::after { content: '−'; }
.meiso-phoenix-detail-text { white-space: pre-line; }
.meiso-phoenix-ticket-details p { overflow-wrap: anywhere; }
.meiso-phoenix-pending { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin: 1rem 6px; padding: 16px 20px; font-size: 14px; }
.meiso-phoenix-pending > span { min-width: 0; overflow-wrap: anywhere; }
.meiso-phoenix-inline {
  margin: .75rem 0;
  padding: .9rem 1rem;
  border-left: 4px solid #24CCCC;
  border-radius: 0 8px 8px 0;
  background: #F4F7FA;
  font: 400 1rem/1.45 Rubik,Arial,sans-serif;
  color: #1A2E35;
}
.meiso-phoenix-inline p { margin: 0 0 .65rem; }
.meiso-phoenix-section [hidden],
.meiso-phoenix-section .btn[hidden] { display: none; }
.meiso-phoenix-open { overflow: hidden; }
.meiso-phoenix-layer {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 1rem;
  background: rgba(11,31,35,.64);
}
.meiso-phoenix-dialog {
  width: min(100%, 550px);
  max-height: min(92vh, 92dvh);
  overflow: auto;
  box-sizing: border-box;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(0,0,0,.2);
  font-size: 16px;
  line-height: 1.5;
}
.meiso-phoenix-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #DCE4E7;
}
.meiso-phoenix-head h2 { margin: 0; color: #1A2E35; font: 700 1.175rem/1.1 Rubik,Arial,sans-serif; }
.meiso-phoenix-dialog .meiso-phoenix-close {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  box-sizing: border-box;
  margin: -.35rem -.5rem 0 0;
  border: 0;
  background: transparent;
  color: #1A2E35;
  font: 400 1.75rem/1 Rubik,Arial,sans-serif;
  cursor: pointer;
}
.meiso-phoenix-dialog .meiso-phoenix-close:hover,
.meiso-phoenix-dialog .meiso-phoenix-close:active,
.meiso-phoenix-dialog .meiso-phoenix-close:focus { background: transparent; color: #1A2E35; border: 0; }
.meiso-phoenix-dialog .meiso-phoenix-close:focus-visible { outline: 2px solid #24CCCC; outline-offset: 2px; }
.meiso-phoenix-body { padding: 1.25rem; }
.meiso-phoenix-body p { margin: 0 0 1rem; }
.meiso-phoenix-live { padding: 0 1.25rem; color: #1A626B; }
.meiso-phoenix-live:not(:empty) { padding-top: .75rem; }
.meiso-phoenix-offer { font-size: 1rem; }
.meiso-phoenix-service { font-weight: 500; }
.meiso-phoenix-prices { margin: 1rem 0; padding: .5rem 0; border-top: 1px solid #C6D3D7; border-bottom: 1px solid #C6D3D7; }
.meiso-phoenix-prices > div { display: flex; justify-content: space-between; gap: .75rem; padding: .35rem 0; }
.meiso-phoenix-prices dd { margin: 0; font-weight: 500; white-space: nowrap; }
.meiso-phoenix-card { margin: 1rem 0 .5rem; }
.meiso-phoenix-card h3 { margin: 0 0 .65rem; color: #1A2E35; font: 700 1.175rem/1.1 Rubik,Arial,sans-serif; }
.meiso-phoenix-card-field { margin-bottom: .7rem; }
.meiso-phoenix-card-field label { display: block; margin-bottom: .25rem; font-size: .9rem; font-weight: 500; cursor: text; }
.meiso-phoenix-card-slot { min-height: calc(1.5em + .8rem + 4px); box-sizing: border-box; padding: .3rem .6rem; border: 1px solid #C7D3D7; border-radius: .35rem; background: #fff; }
.meiso-phoenix-note { color: #54595F; font-size: .9rem; }
.meiso-phoenix-error { color: #9B3E2B; }
.meiso-phoenix-state { color: #1A2E35; }
.meiso-phoenix-section .btn,
.meiso-phoenix-inline .btn,
.meiso-phoenix-dialog .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: .3rem 1.15rem;
  border: 1px solid #24CCCC;
  border-radius: 8px;
  font: 500 1em/1.5 Rubik,Arial,sans-serif;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.meiso-phoenix-primary { color: #1A2E35; background: #24CCCC; }
.meiso-phoenix-primary:hover,
.meiso-phoenix-primary:active,
.meiso-phoenix-primary:focus { color: #1A2E35; background: #23B1B1; }
.meiso-phoenix-secondary { color: #1A2E35; background: #fff; border-color: #C6D3D7 !important; }
.meiso-phoenix-secondary:hover,
.meiso-phoenix-secondary:active,
.meiso-phoenix-secondary:focus { color: #1A2E35; background: #F4F7FA; }
.meiso-phoenix-source .btn { width: auto; flex-shrink: 0; }
.meiso-phoenix-body > .btn + .btn { margin-top: .75rem; }
.meiso-phoenix-prices dt { min-width: 0; }
.meiso-phoenix-dialog { overflow-wrap: anywhere; }
@media (min-width: 401px) {
  .meiso-phoenix-head h2,
  .meiso-phoenix-card h3 { font-size: 1.375rem; }
}
.meiso-phoenix-section .btn:disabled,
.meiso-phoenix-inline .btn:disabled,
.meiso-phoenix-dialog .btn:disabled { opacity: .6; cursor: wait; }
.meiso-phoenix-dialog button:focus-visible,
.meiso-phoenix-dialog a:focus-visible,
.meiso-phoenix-section summary:focus-visible,
.meiso-phoenix-section button:focus-visible,
.meiso-phoenix-inline button:focus-visible,
.meiso-phoenix-card-slot:focus-within { outline: 3px solid rgba(35,177,177,.55); outline-offset: 2px; }
@media (max-width: 600px) {
  .meiso-phoenix-layer { align-items: end; padding: 0; }
  .meiso-phoenix-dialog { width: 100%; max-height: min(94vh, 94dvh); border-radius: 8px 8px 0 0; }
  .meiso-phoenix-body { padding: 1rem 1.125rem calc(1rem + env(safe-area-inset-bottom)); }
  .meiso-phoenix-head { padding: .8rem 1.125rem; }
  .meiso-phoenix-dialog .btn { width: 100%; }
  .meiso-phoenix-section { padding: 0; }
  .ecrans-compte .container-achats .meiso-phoenix-ticket .principal { grid-template-columns: 76px minmax(0,1fr); gap: 12px; padding: 16px 16px 0; }
  .ecrans-compte .container-achats .meiso-phoenix-ticket .principal .visuel { width: 76px; height: 76px; }
  .meiso-phoenix-ticket-actions { padding: 12px 16px 16px; }
  .ecrans-compte .container-achats .meiso-phoenix-ticket .meiso-phoenix-ticket-actions > .btn { width: 100%; max-width: none; }
  .meiso-phoenix-source .btn { width: 100%; }
}
.meiso-phoenix-pending-group { margin-top: 1.25rem; }
.meiso-phoenix-pending-group h3 { margin: 0 6px .65rem; font: 500 18px/1.2 Rubik,Arial,sans-serif; }
.ecrans-compte .container-achats .meiso-phoenix-ticket .meiso-phoenix-origin { font-size: 12.5px; color: #54595F; }
.meiso-phoenix-detail-label { font-weight: 500; }
