.pg-ics{max-width:1100px;margin:1.5rem auto;font-family:inherit}.pg-ics h3{text-align:center}.pg-ics-nav{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.pg-ics-nav button{cursor:pointer;border:1px solid #69737d;border-radius:6px;padding:8px 16px;background:#fff;color:#17232b;font:inherit}.pg-ics-nav button:hover{background:#eef2f5}.pg-ics-nav button:focus-visible{outline:3px solid #245dc1;outline-offset:3px}.pg-ics-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pg-ics table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px;border:0;margin:0}.pg-ics caption{font-size:1.1rem;font-weight:700;text-transform:capitalize;padding:10px;color:inherit}.pg-ics th,.pg-ics td{text-align:center;border:0;padding:9px 2px;font-size:.9rem}.pg-ics td{border-radius:4px}.pg-ics .pg-ics-free{background:#bce8c7;color:#113f23}.pg-ics .pg-ics-busy{background:#f5b8b8;color:#611818}.pg-ics .pg-ics-empty{background:transparent}.pg-ics-legend{text-align:center;margin-top:16px}.pg-ics-legend span{display:inline-block;padding:5px 12px;border-radius:4px;margin:4px}.pg-ics-status{text-align:center}.pg-ics-status:empty{display:none}@media(max-width:700px){.pg-ics-months{grid-template-columns:1fr}.pg-ics-month{max-width:400px;width:100%;margin:auto}}
.pg-ics .pg-ics-pending{background:#f8e08e;color:#5a4300}.pg-ics-legend .pg-ics-pending{background:#f8e08e;color:#5a4300}
.pg-ics td.pg-ics-past{opacity:.45}.pg-ics td.pg-ics-click{padding:0}
.pg-ics td button{display:block;width:100%;min-height:0;margin:0;padding:9px 2px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:inherit;font:inherit;text-transform:none;cursor:pointer}
.pg-ics td button:hover{filter:brightness(.93)}.pg-ics td button:focus-visible{outline:3px solid #245dc1;outline-offset:1px}
.pg-ics td.pg-ics-sel{box-shadow:inset 0 0 0 3px #245dc1;font-weight:700}.pg-ics td.pg-ics-sel-end{box-shadow:inset 0 0 0 3px #245dc1;border-style:dashed}
.pg-ics-hint{text-align:center;min-height:1.4em;margin:0 0 12px}.pg-ics-hint:empty{display:none}
.pg-ics-dialog{width:min(520px,calc(100% - 24px));border:1px solid #69737d;border-radius:10px;padding:20px;color:#17232b;background:#fff}.pg-ics-dialog::backdrop{background:rgba(0,0,0,.45)}
.pg-ics-form h4{margin:0 0 6px}.pg-ics-summary{margin:0 0 14px;font-weight:600}
.pg-ics-form label{display:block;margin-bottom:12px;font-size:.95rem}.pg-ics-form input,.pg-ics-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px;border:1px solid #69737d;border-radius:6px;font:inherit}
.pg-ics-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pg-ics-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pg-ics-price{margin:6px 0 12px;padding:10px 12px;border-radius:6px;background:#eef2f5}.pg-ics-price:empty{display:none}
.pg-ics-line{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.pg-ics-total{margin-top:4px;padding-top:6px;border-top:1px solid #69737d;font-weight:700;font-size:1.1rem}.pg-ics-price small{display:block;margin-top:6px;color:#4a555e}
.pg-ics-formmsg{color:#8a1c1c;font-weight:600;margin:0 0 10px}.pg-ics-formmsg:empty{display:none}
.pg-ics-actions{display:flex;gap:10px;justify-content:flex-end}.pg-ics-actions button{cursor:pointer;border:1px solid #69737d;border-radius:6px;padding:9px 18px;background:#fff;color:#17232b;font:inherit}.pg-ics-actions .pg-ics-send{background:#245dc1;border-color:#245dc1;color:#fff}.pg-ics-actions button:disabled{opacity:.6;cursor:wait}
.pg-ics-form [hidden]{display:none}.pg-ics-extras{border:1px solid #c5ccd2;border-radius:6px;margin:0 0 12px;padding:8px 12px}.pg-ics-extras legend{padding:0 6px;font-size:.95rem}.pg-ics-extras label{margin-bottom:6px}.pg-ics-extras label{display:flex;justify-content:space-between;align-items:center;gap:10px}.pg-ics-extras input{display:inline-block;width:70px;margin:0}
.pg-ics-pay h4{margin:0 0 8px}.pg-ics-payactions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.pg-ics .pg-ics-btn{display:inline-block;padding:11px 18px;border:0;border-radius:6px;color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.pg-ics-btn-card{background:#1b7f4b}.pg-ics-btn-wero{background:#245dc1}.pg-ics .pg-ics-btn[hidden]{display:none}
.pg-ics-wero{text-align:center;margin:8px 0}.pg-ics-wero img{max-width:220px;height:auto}.pg-ics-weroinfo{font-weight:600}
.pg-ics-pay[hidden]{display:none}
.pg-ics th,.pg-ics td{padding:2px;line-height:1.25}.pg-ics td button{padding:2px;line-height:1.25}
.pg-ics-gate{display:flex;justify-content:center;margin:8px 0}.pg-ics-weromsg{font-weight:600}.pg-ics-wero img[hidden]{display:none}

/* Dates révolues : neutralisées visuellement, quel que soit leur état ICS. */
.pg-ics td.pg-ics-past{opacity:1!important;background:#d5d5d5!important;color:#656565!important}.pg-ics td.pg-ics-past button{background:transparent!important;color:#656565!important}

/* 2.1.4 : navigation alignée avec les titres de mois, sans espace vertical excessif. */
.pg-ics .pg-ics-nav{justify-content:center;margin:0 0 4px;gap:0}
.pg-ics .pg-ics-nav button[hidden]{display:none!important}
.pg-ics .pg-ics-nav [data-today]{font-size:.78rem;padding:3px 10px}
.pg-ics .pg-ics-month-heading{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:2px;min-height:38px;text-align:center;text-transform:capitalize}
.pg-ics .pg-ics-month-heading strong{font-size:1.05rem}
.pg-ics .pg-ics-month-arrow{appearance:none;border:1px solid #69737d;border-radius:6px;background:#fff;color:#17232b;font-size:1.5rem;line-height:1;min-height:32px;cursor:pointer;padding:0}
.pg-ics .pg-ics-month-arrow:focus-visible{outline:3px solid #245dc1;outline-offset:2px}
.pg-ics .pg-ics-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.pg-ics .pg-ics-hint{margin:2px 0 6px;min-height:1.2em;font-size:.9rem}
@media(max-width:700px){.pg-ics .pg-ics-month-heading{grid-template-columns:36px minmax(0,1fr) 36px}.pg-ics .pg-ics-month-arrow-spacer{display:block}}

/* 2.1.5 : cases des jours environ 30 % moins hautes (ordinateur et mobile). */
.pg-ics table td{padding:1px 2px!important;line-height:1.05!important}
.pg-ics table td button{padding:0 2px!important;line-height:1.05!important;min-height:0!important}

/* 2.1.6: eliminate intermittent blank space before the calendar. */
.pg-ics{margin-top:0!important;margin-bottom:1.5rem;}
.pg-ics > h3{margin-top:0!important;margin-bottom:8px!important;}
.pg-ics > .pg-ics-status:empty,.pg-ics > .pg-ics-hint:empty{display:none!important;margin:0!important;padding:0!important;min-height:0!important;}
.pg-ics > .pg-ics-status:not(:empty){margin:0 0 6px!important;}
.pg-ics > .pg-ics-nav{margin-top:0!important;}

/* 2.1.7 : masquer toute ancienne barre de liens de séjours restant dans le DOM. */
.pg-ics .pg-ics-my-stays{display:none!important;margin:0!important;padding:0!important}

/* 2.1.9 : libellés compacts, alignement et navigation. */
.pg-ics .pg-ics-hint{font-weight:700}
.pg-ics .pg-ics-month-arrow:disabled{visibility:hidden;pointer-events:none}
.pg-ics-dialog .pg-ics-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pg-ics-dialog .pg-ics-people label{display:flex;align-items:center;gap:5px;min-width:0}
.pg-ics-dialog .pg-ics-people input{width:56px;min-width:0;margin:0;padding:5px}
.pg-ics-dialog .pg-ics-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.pg-ics-dialog .pg-ics-extras legend{font-weight:600}
.pg-ics-dialog .pg-ics-extras label{min-width:0}
@media(max-width:420px){.pg-ics-dialog .pg-ics-people{gap:4px}.pg-ics-dialog .pg-ics-people input{width:42px;padding:3px}}

/* 2.1.10 : libellés et champs alignés horizontalement. */
.pg-ics-dialog .pg-ics-form > label,.pg-ics-dialog .pg-ics-dinner > label{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pg-ics-dialog .pg-ics-form > label > input,.pg-ics-dialog .pg-ics-dinner > label > input,.pg-ics-dialog .pg-ics-form > label > textarea{display:inline-block;flex:0 1 62%;width:62%;min-width:0;margin:0}
.pg-ics-dialog .pg-ics-people label{display:flex;flex-wrap:nowrap;white-space:nowrap;justify-content:flex-start;gap:5px}
.pg-ics-dialog .pg-ics-people input{display:inline-block;flex:0 0 48px;width:48px;margin:0;padding:4px}
.pg-ics-dialog .pg-ics-extras label{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:5px;font-size:.9rem}
.pg-ics-dialog .pg-ics-extras input{flex:0 0 50px;width:50px;margin:0;padding:4px}
@media(max-width:420px){.pg-ics-dialog{padding:12px}.pg-ics-dialog .pg-ics-people{gap:3px}.pg-ics-dialog .pg-ics-people label{font-size:.83rem;gap:3px}.pg-ics-dialog .pg-ics-people input{flex-basis:36px;width:36px;padding:3px}.pg-ics-dialog .pg-ics-extras{gap:4px;padding:6px}.pg-ics-dialog .pg-ics-extras label{font-size:.78rem;gap:3px}.pg-ics-dialog .pg-ics-extras input{flex-basis:36px;width:36px;padding:3px}}

/* 2.3.2 : dîners, fromage et dessert sur une même ligne, avec retour mobile. */
.pg-ics-dialog .pg-ics-meal-options{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:12px 0}
.pg-ics-dialog .pg-ics-meal-options .pg-ics-dinner{margin:0;padding:0}
.pg-ics-dialog .pg-ics-meal-options .pg-ics-dinner[hidden],.pg-ics-dialog .pg-ics-meal-options .pg-ics-extras[hidden]{display:none!important}
.pg-ics-dialog .pg-ics-meal-options .pg-ics-extras{display:contents;border:0;padding:0;margin:0;min-width:0}
.pg-ics-dialog .pg-ics-meal-options label,.pg-ics-dialog .pg-ics-meal-options .pg-ics-dinner>label{display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;gap:6px;margin:0;white-space:nowrap;font-size:.9rem}
.pg-ics-dialog .pg-ics-meal-options input,.pg-ics-dialog .pg-ics-meal-options .pg-ics-dinner input{box-sizing:border-box;flex:0 0 55px;width:55px;min-width:0;padding:5px;margin:0}
@media(max-width:480px){.pg-ics-dialog .pg-ics-meal-options{gap:9px 12px}.pg-ics-dialog .pg-ics-meal-options label{font-size:.85rem}.pg-ics-dialog .pg-ics-meal-options input,.pg-ics-dialog .pg-ics-meal-options .pg-ics-dinner input{flex-basis:48px;width:48px}}

/* 2.1.12 : boutons de paiement empilés et alignés, virement visible si autorisé. */
.pg-ics .pg-ics-payactions{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-width:370px;margin:16px 0;}
.pg-ics .pg-ics-payactions .pg-ics-btn{display:block;box-sizing:border-box;width:100%;margin:0;text-align:center;line-height:1.35;}
.pg-ics .pg-ics-payactions .pg-ics-btn[hidden]{display:none!important;}
.pg-ics .pg-ics-btn-transfer{background:#245dc1;}

/* 2.2.19 : présentation publique configurable */
.pg-ics-mode-choice,.pg-ics-date-search{display:flex;flex-wrap:wrap;gap:10px;align-items:end;justify-content:center;margin:12px auto;padding:10px}
.pg-ics-mode-choice[hidden],.pg-ics-date-search[hidden]{display:none!important}
.pg-ics-date-search label{display:flex;flex-direction:column;gap:4px}
.pg-ics-date-search input{max-width:170px;padding:7px}
.pg-ics-mode-choice button,.pg-ics-date-search button{padding:9px 12px;cursor:pointer}
.pg-ics-search-result{flex-basis:100%;text-align:center;margin:4px}
.pg-ics.pg-ics-compact:not(.pg-ics-revealed) .pg-ics-nav,.pg-ics.pg-ics-compact:not(.pg-ics-revealed) .pg-ics-months,.pg-ics.pg-ics-compact:not(.pg-ics-revealed) .pg-ics-legend,.pg-ics.pg-ics-compact:not(.pg-ics-revealed) .pg-ics-hint{display:none}
@media(max-width:700px){.pg-ics-months{gap:6px}.pg-ics-month{max-width:360px}.pg-ics th,.pg-ics td{padding:5px 1px}.pg-ics{margin:8px auto}.pg-ics-date-search{padding:4px}}

/* 2.2.27 — keep reservation dialog scrollable when the mobile keyboard opens */
.pg-ics-dialog{box-sizing:border-box!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@supports not (height:100dvh){.pg-ics-dialog{max-height:calc(100vh - 24px)!important}}
.pg-ics-dialog .pg-ics-form{padding-bottom:24px}
@media(max-width:700px){.pg-ics-dialog{max-height:calc(100dvh - 12px)!important;margin:auto!important;padding-bottom:18px!important;scroll-padding-bottom:36px}}

/* 2.3.3 : alignement compact, prioritaire sur les styles généraux des formulaires. */
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options{display:flex!important;flex-flow:row wrap!important;align-items:center;justify-content:flex-start;column-gap:14px;row-gap:8px;margin:12px 0}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner{display:block;flex:0 0 auto;width:auto;max-width:100%}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner[hidden],.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras[hidden]{display:none!important}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras{display:contents!important;border:0!important;margin:0!important;padding:0!important}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras legend{display:none!important}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options label,.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner>label{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;max-width:100%;gap:5px!important;margin:0!important;white-space:nowrap}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options input[type=number],.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner input[type=number]{box-sizing:border-box!important;display:inline-block!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:36px;padding:4px 3px!important;margin:0!important;text-align:center;font-size:14px}
@media(max-width:420px){.pg-ics-dialog .pg-ics-form .pg-ics-meal-options{column-gap:9px;row-gap:7px}.pg-ics-dialog .pg-ics-form .pg-ics-meal-options label{font-size:.83rem}}

/* 2.3.13 : formulaire plus compact et commentaire pleine largeur. */
.pg-ics-dialog .pg-ics-form > label{margin-bottom:7px}
.pg-ics-dialog .pg-ics-form > label > input{padding:5px 7px;min-height:32px}
.pg-ics-dialog .pg-ics-form .pg-ics-people input{padding:3px 4px}
.pg-ics-dialog .pg-ics-form .pg-ics-comment{display:block;width:100%;margin:7px 0}
.pg-ics-dialog .pg-ics-form .pg-ics-comment > textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:54px;height:54px;resize:vertical;padding:6px 8px;margin:0;flex:none}
.pg-ics-dialog .pg-ics-comment textarea::placeholder{color:#777;opacity:1}

/* 2.3.14 : champs de saisie environ 20 % moins hauts (sans toucher aux boutons). */
.pg-ics-dialog .pg-ics-form > label > input{min-height:26px!important;padding:3px 6px!important;line-height:1.15!important}
.pg-ics-dialog .pg-ics-form .pg-ics-row input{min-height:26px!important;padding:3px 6px!important;line-height:1.15!important}
.pg-ics-dialog .pg-ics-form .pg-ics-people input{height:29px!important;min-height:29px!important;padding:2px 3px!important;line-height:1.15!important}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options input[type=number]{height:29px!important;min-height:29px!important;padding:2px!important;line-height:1.15!important}
.pg-ics-dialog .pg-ics-form .pg-ics-comment > textarea{height:44px!important;min-height:44px!important;padding:4px 7px!important;line-height:1.2!important}

/* 2.3.15 : commentaire visible sur trois lignes, sans agrandir les autres champs. */
.pg-ics-dialog .pg-ics-form .pg-ics-comment > textarea{height:66px!important;min-height:66px!important;line-height:18px!important;resize:vertical}

/* 2.3.16 : aligner le premier champ avec les autres champs du formulaire. */
.pg-ics-dialog .pg-ics-form > label:not(.pg-ics-comment){box-sizing:border-box!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.pg-ics-dialog .pg-ics-form > label:not(.pg-ics-comment) > input{box-sizing:border-box!important;flex:0 1 62%!important;width:62%!important;max-width:62%!important;margin-left:auto!important;margin-right:0!important}

/* 2.3.17 : alignement strict des trois champs d'identité, indépendant du thème. */
.pg-ics-dialog .pg-ics-form > label:has(> input[name="name"]),
.pg-ics-dialog .pg-ics-form > label:has(> input[name="email"]),
.pg-ics-dialog .pg-ics-form > label:has(> input[name="phone"]){
  display:grid!important;grid-template-columns:minmax(0,38fr) minmax(0,62fr)!important;
  align-items:center!important;column-gap:0!important;
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;
  margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;
  position:static!important;transform:none!important;text-indent:0!important;
}
.pg-ics-dialog .pg-ics-form > label > input:is([name="name"],[name="email"],[name="phone"]){
  display:block!important;grid-column:2!important;justify-self:stretch!important;
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;
  min-width:0!important;margin:0!important;position:static!important;transform:none!important;
}

/* 2.3.18 : même grille à trois colonnes pour occupants et repas. */
.pg-ics-dialog .pg-ics-form .pg-ics-people,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:8px!important;
  row-gap:5px!important;
  width:100%!important;
  box-sizing:border-box!important;
  align-items:start!important;
}
.pg-ics-dialog .pg-ics-form .pg-ics-people > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras > label{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  text-align:center!important;
  white-space:normal!important;
}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner:not([hidden]){
  display:contents!important;
}
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras:not([hidden]){
  display:contents!important;
}
.pg-ics-dialog .pg-ics-form .pg-ics-people input[type=number],
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options input[type=number]{
  box-sizing:border-box!important;
  display:block!important;
  flex:none!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:29px!important;
  min-height:29px!important;
  padding:2px!important;
  margin:0 auto!important;
  text-align:center!important;
}
@media(max-width:420px){
  .pg-ics-dialog .pg-ics-form .pg-ics-people,
  .pg-ics-dialog .pg-ics-form .pg-ics-meal-options{column-gap:4px!important}
  .pg-ics-dialog .pg-ics-form .pg-ics-people > label,
  .pg-ics-dialog .pg-ics-form .pg-ics-meal-options label{font-size:.8rem!important}
}

/* 2.3.19 : libellé et quantité côte à côte dans chacune des trois colonnes. */
.pg-ics-dialog .pg-ics-form .pg-ics-people > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras > label{
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:4px!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}
.pg-ics-dialog .pg-ics-form .pg-ics-people input[type=number],
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options input[type=number]{
  flex:0 0 44px!important;
  margin:0!important;
}
@media(max-width:480px){
  .pg-ics-dialog .pg-ics-form .pg-ics-people,
  .pg-ics-dialog .pg-ics-form .pg-ics-meal-options{column-gap:5px!important}
  .pg-ics-dialog .pg-ics-form .pg-ics-people > label,
  .pg-ics-dialog .pg-ics-form .pg-ics-meal-options label{font-size:.76rem!important;gap:3px!important}
  .pg-ics-dialog .pg-ics-form .pg-ics-people input[type=number],
  .pg-ics-dialog .pg-ics-form .pg-ics-meal-options input[type=number]{width:38px!important;min-width:38px!important;max-width:38px!important;flex-basis:38px!important}
}

/* 2.3.20 : libellés alignés à droite, accolés aux champs numériques. */
.pg-ics-dialog .pg-ics-form .pg-ics-people > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras > label {
  justify-content:flex-end!important;
  text-align:right!important;
  gap:4px!important;
}

/* 2.4.0 : espacement régulier des trois lignes d'identité. */
.pg-ics-dialog .pg-ics-form > label:has(> input[name="name"]),
.pg-ics-dialog .pg-ics-form > label:has(> input[name="email"]),
.pg-ics-dialog .pg-ics-form > label:has(> input[name="phone"]){
  margin-top:0!important;
  margin-bottom:7px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
  row-gap:0!important;
}
.pg-ics-dialog .pg-ics-form > label > input:is([name="name"],[name="email"],[name="phone"]){
  height:32px!important;
  min-height:32px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* 2.4.1 : coordonnées en placeholders et quantité à gauche du libellé. */
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity{display:block!important;margin-bottom:7px!important}
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity > input{display:block!important;width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;box-sizing:border-box!important}
.pg-ics-dialog .pg-ics-form .pg-ics-people > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-dinner > label,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options .pg-ics-extras > label{flex-direction:row!important;justify-content:flex-start!important;text-align:left!important;gap:4px!important}
.pg-ics-dialog .pg-ics-form .pg-ics-people > label > span,
.pg-ics-dialog .pg-ics-form .pg-ics-meal-options label > span{min-width:0!important;text-align:left!important}

/* 2.4.2 : champs d'identité sur toute la largeur, dès le bord gauche du formulaire. */
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity {
  display:block!important; width:100%!important; max-width:none!important;
  margin-left:0!important; margin-right:0!important; padding:0!important;
  box-sizing:border-box!important; text-align:left!important;
}
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity > input {
  display:block!important; width:100%!important; max-width:none!important;
  min-width:0!important; margin:0!important; padding-left:9px!important;
  box-sizing:border-box!important; flex:none!important; float:none!important;
}
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity > .screen-reader-text {
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

/* 2.4.3 : neutraliser explicitement l'ancienne grille 38/62 (2.3.17).
   Les trois champs d'identité occupent la même largeur que Commentaire. */
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity:has(> input[name="name"]),
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity:has(> input[name="email"]),
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity:has(> input[name="phone"]){
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity > input:is([name="name"],[name="email"],[name="phone"]){
  display:block!important;
  grid-column:auto!important;
  flex:initial!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.pg-ics-request-receipt{margin:18px 0;padding:18px 20px;border:1px solid #94b8aa;border-radius:8px;background:#f1f8f4;color:#203b30;line-height:1.65;overflow-wrap:anywhere}
.pg-ics-request-receipt .pg-ics-receipt-text{margin:0 0 12px;white-space:pre-wrap}
.pg-ics-request-receipt .pg-ics-receipt-link{font-weight:600;text-decoration:underline}
.pg-ics-request-receipt[hidden],.pg-ics-request-receipt [hidden]{display:none!important}

/* 2.5.6 — indication visible sous le téléphone international dans le formulaire public. */
.pg-ics-dialog .pg-ics-form > label.pg-ics-identity > .pg-ics-phone-help{display:block!important;font-size:.78rem;line-height:1.35;color:#53606b;margin:4px 0 0;text-align:left}

/* 2.5.14 : harmonisation des champs avec la police héritée du thème par défaut.
   Les choix explicites de Réglages > Planning sont ajoutés en CSS après cette feuille. */
.pg-ics :is(button,input,select,textarea),
.pg-ics-global :is(button,input,select,textarea){font-family:inherit}
