/**
 * AGE D'OR Repas — Front-office v5 (wizard + invités)
 * Accessible WCAG AA, ≥16px, contraste élevé
 */

/* ══════════════════════════════════
   Barre d'accessibilité A+ / A-
   ══════════════════════════════════ */
.agedor-a11y-bar{max-width:860px;margin:0 auto 0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;background:#f8f6f4;border:1px solid #d4d0cc;border-radius:10px 10px 0 0;font-family:'Segoe UI',Tahoma,Verdana,sans-serif}
.agedor-a11y-label{font-size:14px;color:#666;margin-right:auto;font-weight:600}
.agedor-a11y-btn{width:44px;height:44px;font-size:18px;font-weight:800;border:2px solid #141F51;background:#fff;color:#141F51;border-radius:8px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;line-height:1}
.agedor-a11y-btn:hover:not(:disabled){background:#141F51;color:#fff}
.agedor-a11y-btn:disabled{opacity:.3;cursor:not-allowed}
.agedor-a11y-btn-plus{background:#DF6253;color:#fff;border-color:#DF6253;font-size:22px}
.agedor-a11y-btn-plus:hover:not(:disabled){background:#c94e40}
.agedor-a11y-btn-reset{font-size:20px;border-color:#999;color:#999;width:auto;padding:0 14px}
.agedor-a11y-btn-reset:hover{background:#999;color:#fff}
.agedor-a11y-level{font-size:14px;font-weight:700;color:#141F51;min-width:45px;text-align:center}
/* Sur les pages avec la barre, enlever le border-radius du header */
.agedor-a11y-bar + .agedor-repas-wrapper .agedor-header,
.agedor-a11y-bar + .agedor-pdf-viewer .agedor-pdf-header,
.agedor-a11y-bar + .agedor-historique .agedor-hist-header{border-radius:0}
.agedor-a11y-bar + .agedor-repas-wrapper,
.agedor-a11y-bar + .agedor-pdf-viewer,
.agedor-a11y-bar + .agedor-historique{border-radius:0 0 10px 10px}
@media(max-width:600px){
    .agedor-a11y-bar{flex-wrap:wrap;justify-content:center;border-radius:8px 8px 0 0;gap:6px;padding:8px 12px}
    .agedor-a11y-label{width:100%;text-align:center;margin:0}
}
.agedor-repas-wrapper{--pri:#DF6253;--pri-dk:#c94e40;--pri-lt:#f5d3cf;--sec:#141F51;--txt:#1a1a2e;--bg:#fff;--bg2:#f8f6f4;--brd:#d4d0cc;--ok:#2e7d32;--ok-bg:#e8f5e9;--err:#c62828;--err-bg:#ffebee;--rad:10px;max-width:860px;margin:0 auto;padding:0 16px;font-family:'Segoe UI',Tahoma,Verdana,sans-serif;font-size:18px;line-height:1.6;color:var(--txt)}

/* Header */
.agedor-header{text-align:center;padding:25px 20px;background:var(--sec);color:#fff;border-radius:var(--rad) var(--rad) 0 0}
.agedor-title{margin:0 0 5px;font-size:26px;font-weight:700}
.agedor-subtitle{margin:0;font-size:15px;opacity:.8}
.agedor-erreur{background:var(--err-bg);border:2px solid var(--err);color:var(--err);padding:20px;border-radius:var(--rad);font-size:18px;text-align:center}

/* Messages */
.agedor-messages{padding:0;margin:0}
.agedor-msg-success{background:var(--ok-bg);border:2px solid var(--ok);color:var(--ok);padding:20px 25px;border-radius:var(--rad);margin:20px 0;font-size:19px;font-weight:600;text-align:center}
.agedor-msg-error{background:var(--err-bg);border:2px solid var(--err);color:var(--err);padding:16px 20px;border-radius:var(--rad);margin:15px 0;font-size:17px}

/* Stepper */
.agedor-stepper{background:#eee;border-radius:20px;height:36px;position:relative;margin:15px 0;overflow:hidden}
.agedor-stepper-fill{height:100%;background:linear-gradient(90deg,var(--pri),var(--sec));border-radius:20px;transition:width .4s;width:0}
.agedor-stepper-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:700;color:#fff;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.4)}

/* Steps */
.agedor-step{display:none;animation:fadeIn .3s ease}
.agedor-step.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Fieldsets */
.agedor-fieldset{border:none;margin:0;padding:25px 30px;background:var(--bg);border:1px solid var(--brd);border-top:none}
.agedor-fieldset legend{font-size:22px;font-weight:700;color:var(--sec);padding:0 0 10px;margin-bottom:15px;width:100%;border-bottom:3px solid var(--pri);display:block}
.agedor-fieldset-jour legend{background:var(--bg2);padding:10px 15px;border-radius:6px}
.agedor-week-hint{font-size:14px;color:#777;margin:0 0 12px}
.agedor-description{font-size:16px;margin:0 0 15px;color:#555}

/* Champs texte */
.agedor-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.agedor-field{margin-bottom:18px}
.agedor-field label{display:block;font-size:17px;font-weight:600;color:var(--sec);margin-bottom:6px}
.agedor-field input[type="text"]{width:100%;padding:14px 16px;font-size:18px;border:2px solid var(--brd);border-radius:8px;box-sizing:border-box;transition:border-color .2s}
.agedor-field input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-lt)}
.agedor-field input.agedor-input-error{border-color:var(--err);box-shadow:0 0 0 3px #ffcdd2}
.agedor-req{color:var(--pri);font-weight:bold}

/* Radios */
.agedor-category-group{margin-bottom:18px}
.agedor-cat-label{font-size:17px;font-weight:700;color:var(--pri-dk);margin:0 0 10px}
.agedor-radio-group{display:flex;flex-direction:column;gap:8px}
.agedor-radio-item{position:relative}
.agedor-radio-item input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.agedor-radio-item label{display:block;padding:14px 18px 14px 52px;font-size:18px;background:var(--bg2);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;position:relative}
.agedor-radio-item label::before{content:'';position:absolute;left:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:2px solid var(--brd);border-radius:50%;background:#fff;transition:all .2s}
.agedor-radio-item label::after{content:'';position:absolute;left:22px;top:50%;transform:translateY(-50%) scale(0);width:10px;height:10px;border-radius:50%;background:var(--pri);transition:transform .2s}
.agedor-radio-item label:hover{background:#fff;border-color:var(--pri-lt)}
.agedor-radio-item input:checked+label{background:#fff;border-color:var(--pri);font-weight:600;box-shadow:0 2px 8px rgba(223,98,83,.15)}
.agedor-radio-item input:checked+label::before{border-color:var(--pri)}
.agedor-radio-item input:checked+label::after{transform:translateY(-50%) scale(1)}
.agedor-radio-item input:focus-visible+label{outline:3px solid var(--pri);outline-offset:2px}

/* Checkboxes grosses */
.agedor-checkbox-big{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--bg2);border:2px solid transparent;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s}
.agedor-checkbox-big:hover{border-color:var(--pri-lt);background:#fff}
.agedor-checkbox-big input[type="checkbox"]{width:26px;height:26px;min-width:26px;accent-color:var(--pri);cursor:pointer}
.agedor-checkbox-big label{font-size:17px;cursor:pointer;line-height:1.5}

/* Semaines grisées (déjà commandées) */
.agedor-disabled{opacity:.5;cursor:not-allowed;background:#f0f0f0}
.agedor-disabled input{cursor:not-allowed}
.agedor-disabled label{cursor:not-allowed;color:#999}
.agedor-badge-done{display:inline-block;background:var(--ok);color:#fff;font-size:12px;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}

/* ══════════════════════════════════
   Personnes (principal + invités)
   ══════════════════════════════════ */
.agedor-person-block{margin-bottom:20px}
.agedor-person-title{font-size:19px;color:var(--sec);margin:0 0 12px;padding:10px 15px;background:var(--bg2);border-radius:6px;border-left:4px solid var(--sec)}
.agedor-guest-title{border-left-color:var(--pri);color:var(--pri-dk)}
.agedor-guest-person-block{border-top:2px dashed var(--brd);padding-top:15px;margin-top:15px}

/* Zone ajout invités */
.agedor-guest-row{background:var(--bg2);padding:12px 16px;border-radius:8px;margin-bottom:10px;border:1px solid var(--brd)}
.agedor-guest-row .agedor-field-row{grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.agedor-guest-row .agedor-field{margin-bottom:0}
.agedor-guest-row input{font-size:16px;padding:10px 12px}
.agedor-btn-secondary{padding:12px 24px;font-size:16px;font-weight:600;border:2px dashed var(--pri);background:transparent;color:var(--pri);border-radius:8px;cursor:pointer;transition:all .2s;margin-top:8px}
.agedor-btn-secondary:hover{background:var(--pri-lt)}
.agedor-btn-remove-guest{background:none;border:none;font-size:22px;cursor:pointer;padding:8px;border-radius:4px}
.agedor-btn-remove-guest:hover{background:#ffcdd2}

/* Navigation */
.agedor-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:var(--bg);border:1px solid var(--brd);border-top:none;border-radius:0 0 var(--rad) var(--rad)}
.agedor-nav-btn{padding:16px 35px;font-size:19px;font-weight:700;border:2px solid var(--sec);background:#fff;color:var(--sec);border-radius:8px;cursor:pointer;transition:all .2s}
.agedor-nav-btn:hover{background:var(--sec);color:#fff}
.agedor-nav-next{background:var(--pri);color:#fff;border-color:var(--pri)}
.agedor-nav-next:hover{background:var(--pri-dk)}
.agedor-submit-btn{padding:18px 50px;font-size:21px;font-weight:700;background:var(--pri);color:#fff;border:none;border-radius:10px;cursor:pointer;box-shadow:0 4px 12px rgba(223,98,83,.3);transition:background .2s;text-decoration:none;display:inline-block}
.agedor-submit-btn:hover{background:var(--pri-dk)}
.agedor-submit-btn:focus-visible{outline:3px solid var(--sec);outline-offset:3px}
.agedor-spinner{font-size:18px;color:#555;padding:15px}
.agedor-spinner-icon{display:inline-block;width:24px;height:24px;border:3px solid var(--brd);border-top:3px solid var(--pri);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Récap */
.agedor-recap-table{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0}
.agedor-recap-table th{background:var(--sec);color:#fff;padding:8px 10px;text-align:left;font-size:13px}
.agedor-recap-table td{padding:7px 10px;border-bottom:1px solid #eee}
.agedor-recap-table tr:nth-child(even) td{background:#fafafa}

/* RGPD */
.agedor-rgpd-info{font-size:14px;color:#777;margin-top:10px;font-style:italic;padding-left:40px}

/* Responsive */
@media(max-width:600px){.agedor-repas-wrapper{font-size:16px;padding:0 8px}.agedor-title{font-size:22px}.agedor-fieldset{padding:18px 16px}.agedor-field-row{grid-template-columns:1fr}.agedor-nav-btn,.agedor-submit-btn{width:100%;padding:14px 20px;font-size:17px}.agedor-nav{flex-direction:column;gap:10px}.agedor-radio-item label{font-size:16px;padding:12px 16px 12px 48px}.agedor-guest-row .agedor-field-row{grid-template-columns:1fr 1fr}}
@media(prefers-contrast:high){.agedor-radio-item label{border:2px solid #333}.agedor-radio-item input:checked+label{background:#ffe0dc}}
@media(prefers-reduced-motion:reduce){.agedor-step{animation:none}}

/* ══════════════════════════════════
   PDF Viewer [repas_pdf]
   ══════════════════════════════════ */
.agedor-pdf-viewer{max-width:900px;margin:0 auto;font-family:'Segoe UI',Tahoma,Verdana,sans-serif;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(20,31,81,.12);border:1px solid #d4d0cc}
.agedor-pdf-header{background:#141F51;color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}
.agedor-pdf-title{margin:0;font-size:20px;font-weight:700}
.agedor-pdf-page-info{font-size:14px;opacity:.8;font-weight:600;background:rgba(255,255,255,.15);padding:4px 12px;border-radius:12px}

/* Navigation semaines */
.agedor-pdf-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#f8f6f4;border-bottom:1px solid #e0e0e0;gap:10px}
.agedor-pdf-btn{padding:12px 22px;font-size:16px;font-weight:700;border:2px solid #141F51;background:#fff;color:#141F51;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}
.agedor-pdf-btn:hover:not(:disabled){background:#141F51;color:#fff}
.agedor-pdf-btn:disabled{opacity:.35;cursor:not-allowed}
.agedor-pdf-btn-next{background:#DF6253;color:#fff;border-color:#DF6253}
.agedor-pdf-btn-next:hover:not(:disabled){background:#c94e40}
.agedor-pdf-label{flex:1;text-align:center;font-size:15px;font-weight:600;color:#141F51;line-height:1.3}

/* Zone canvas */
.agedor-pdf-canvas-wrap{background:#e8e8e8;overflow-x:auto;overflow-y:hidden;text-align:center;min-height:300px;position:relative}
.agedor-pdf-canvas-wrap canvas{display:block;margin:0 auto;max-width:none}

/* Contrôles zoom */
.agedor-pdf-controls{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 20px;background:#f8f6f4;border-top:1px solid #e0e0e0}
.agedor-pdf-zoom-btn{width:44px;height:44px;font-size:18px;border:1px solid #ccc;background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;text-decoration:none;color:#333}
.agedor-pdf-zoom-btn:hover{background:#141F51;color:#fff;border-color:#141F51}
.agedor-pdf-zoom-level{font-size:15px;font-weight:700;color:#141F51;min-width:50px;text-align:center}

/* Responsive PDF viewer */
@media(max-width:600px){
    .agedor-pdf-header{flex-direction:column;gap:8px;text-align:center;padding:12px 16px}
    .agedor-pdf-title{font-size:17px}
    .agedor-pdf-nav{flex-direction:column;gap:8px;padding:10px 12px}
    .agedor-pdf-btn{width:100%;text-align:center;padding:10px 16px;font-size:15px}
    .agedor-pdf-label{font-size:14px}
    .agedor-pdf-controls{flex-wrap:wrap}
}

/* ══════════════════════════════════
   Historique [repas_historique]
   ══════════════════════════════════ */
.agedor-historique{max-width:860px;margin:0 auto;font-family:'Segoe UI',Tahoma,Verdana,sans-serif;font-size:16px;color:#1a1a2e}
.agedor-hist-header{background:#141F51;color:#fff;padding:20px 25px;border-radius:10px 10px 0 0;text-align:center}
.agedor-hist-header h2{margin:0 0 4px;font-size:24px;font-weight:700}
.agedor-hist-header p{margin:0;font-size:14px;opacity:.8}

/* Filtres */
.agedor-hist-filters{display:flex;align-items:center;gap:10px;padding:15px 20px;background:#f8f6f4;border:1px solid #d4d0cc;border-top:none;flex-wrap:wrap}
.agedor-hist-filters label{font-size:14px;font-weight:600;color:#333}
.agedor-hist-filters input[type="date"]{padding:8px 12px;border:2px solid #d4d0cc;border-radius:6px;font-size:15px}
.agedor-hist-filters input:focus{border-color:#DF6253;outline:none}
.agedor-hist-btn{padding:10px 20px;font-size:14px;font-weight:700;border:none;border-radius:6px;cursor:pointer;background:#DF6253;color:#fff;transition:background .2s;text-decoration:none;display:inline-block}
.agedor-hist-btn:hover{background:#c94e40}
.agedor-hist-btn-reset{background:#999}
.agedor-hist-btn-reset:hover{background:#777}

/* Vide */
.agedor-hist-empty{text-align:center;padding:50px 20px;background:#fff;border:1px solid #d4d0cc;border-top:none;border-radius:0 0 10px 10px;font-size:18px;color:#666}

/* Liste */
.agedor-hist-list{border:1px solid #d4d0cc;border-top:none;border-radius:0 0 10px 10px;overflow:hidden}

/* Carte commande */
.agedor-hist-card{border-bottom:1px solid #eee;background:#fff}
.agedor-hist-card:last-child{border-bottom:none}
.agedor-hist-card-header{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background .15s;gap:15px;flex-wrap:wrap}
.agedor-hist-card-header:hover{background:#fef9f8}
.agedor-hist-card-left{display:flex;align-items:center;gap:10px;min-width:200px}
.agedor-hist-semaine{font-size:18px;font-weight:800;color:#141F51}
.agedor-hist-dates{font-size:14px;color:#666}
.agedor-hist-card-center{flex:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.agedor-hist-type{font-size:14px;color:#333;font-weight:600}
.agedor-hist-pers{font-size:13px;color:#DF6253;font-weight:600}
.agedor-hist-card-right{display:flex;align-items:center;gap:10px}
.agedor-hist-statut{font-size:12px;font-weight:700;color:#fff;padding:4px 12px;border-radius:12px;white-space:nowrap}
.agedor-hist-date-sub{font-size:12px;color:#999}
.agedor-hist-toggle{font-size:14px;color:#999;transition:transform .2s}

/* Détail dépliable */
.agedor-hist-detail{padding:0 20px 20px;background:#fafafa;border-top:1px solid #eee}
.agedor-hist-person{margin:15px 0}
.agedor-hist-person h4{font-size:16px;margin:0 0 10px;padding:8px 12px;border-radius:6px}
.agedor-hist-person-main h4{background:#e3f2fd;color:#141F51;border-left:4px solid #141F51}
.agedor-hist-person-guest h4{background:#fff3e0;color:#e65100;border-left:4px solid #DF6253}
.agedor-hist-table{width:100%;border-collapse:collapse;font-size:14px}
.agedor-hist-table th{background:#141F51;color:#fff;padding:8px 10px;text-align:left;font-size:12px}
.agedor-hist-table td{padding:6px 10px;border-bottom:1px solid #eee}
.agedor-hist-table tr:nth-child(even) td{background:#f5f5f5}

/* Responsive historique */
@media(max-width:600px){
    .agedor-hist-card-header{flex-direction:column;align-items:flex-start;gap:8px}
    .agedor-hist-card-left{min-width:auto}
    .agedor-hist-filters{flex-direction:column;align-items:stretch}
    .agedor-hist-filters input[type="date"]{width:100%}
    .agedor-hist-table{font-size:12px}
    .agedor-hist-table th,.agedor-hist-table td{padding:5px 6px}
}

/* ══════════════════════════════════
   Scaling texte pour A+ / A-
   Les éléments de texte principaux héritent de la taille du wrapper
   ══════════════════════════════════ */
.agedor-repas-wrapper .agedor-radio-item label,
.agedor-repas-wrapper .agedor-cat-label,
.agedor-repas-wrapper .agedor-field label,
.agedor-repas-wrapper .agedor-field input[type="text"],
.agedor-repas-wrapper .agedor-description,
.agedor-repas-wrapper .agedor-checkbox-big label,
.agedor-repas-wrapper .agedor-person-title,
.agedor-repas-wrapper .agedor-fieldset legend{font-size:inherit}
.agedor-historique .agedor-hist-semaine,
.agedor-historique .agedor-hist-type,
.agedor-historique .agedor-hist-table td,
.agedor-historique .agedor-hist-card-header{font-size:inherit}
