/* ==========================================================================
   06-forms.css — Formulaires publics (réservation + commande).
   Porté de docs/index.html et docs/actualite.html.
   ========================================================================== */

.apc-form-wrap{background:var(--blanc-card);border:1px solid var(--hairline);border-radius:18px;padding:34px;max-width:640px}
.apc-form-wrap h3{font-family:var(--font-titre);font-size:27px;margin:0 0 6px}
.apc-form-wrap .note{color:var(--muted);font-size:14.5px;margin:0 0 24px}

/* Case d'inscription newsletter (discrète, avant le bouton) */
.apc-optin{display:flex;gap:9px;align-items:flex-start;margin:4px 0 14px;font-size:13px;line-height:1.45;color:var(--muted);cursor:pointer}
.apc-optin input{margin:2px 0 0;flex-shrink:0;accent-color:var(--laiton)}

/* Boutons */
.apc-form-wrap .btn{display:inline-block;background:var(--laiton);color:#fff;font-weight:700;font-size:14.5px;padding:15px 22px;border-radius:var(--btn-radius);border:0;cursor:pointer;transition:transform .15s ease,background .2s ease,opacity .2s;font-family:var(--font-corps);width:100%;margin-top:6px}
.apc-form-wrap .btn:hover{background:var(--laiton-clair);transform:translateY(-1px)}
.apc-form-wrap .btn:disabled{opacity:.6;cursor:default;transform:none}

/* Champs */
.apc-form .field{margin-bottom:18px}
.apc-form .field label{display:block;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}
.apc-form .field input,.apc-form .field select,.apc-form .field textarea{width:100%;padding:13px 15px;border:1px solid var(--hairline);border-radius:10px;background:#fff;font-family:var(--font-corps);font-size:15.5px;color:var(--encre);transition:border .2s,box-shadow .2s}
.apc-form .field input:focus,.apc-form .field select:focus,.apc-form .field textarea:focus{outline:none;border-color:var(--laiton);box-shadow:0 0 0 3px rgba(176,137,76,.16)}
.apc-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Compteur de menus */
.apc-form .qty{display:flex;align-items:center;border:1px solid var(--hairline);border-radius:10px;width:max-content;overflow:hidden}
.apc-form .qty button{width:46px;height:46px;border:0;background:#fff;cursor:pointer;font-size:20px;color:var(--encre)}
.apc-form .qty button:hover{background:var(--blanc-card)}
.apc-form .qty input{width:56px;text-align:center;border:0;border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);border-radius:0;font-size:16px;font-weight:600}

/* Total */
.apc-form .total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:6px 0 18px;padding:16px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.apc-form .total span{color:var(--muted);font-size:14px}
.apc-form .total b{font-family:var(--font-titre);font-size:26px;color:var(--laiton);font-weight:500;font-variant-numeric:tabular-nums}

/* Indices */
.apc-form .res-hint,.apc-form .order-hint{font-size:12.5px;color:var(--muted);margin:14px 0 0;text-align:center}

/* Message de retour */
.apc-form-msg{margin:14px 0 0;font-size:14px;text-align:center;min-height:1em}
.apc-form-msg.is-ok{color:#4C6B43}
.apc-form-msg.is-error{color:#9A4A4A}

/* Honeypot (caché aux humains, visible aux bots) */
.apc-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

@media (max-width:640px){
  .apc-form-wrap{padding:24px}
  .apc-form .field-row{grid-template-columns:1fr}
}

/* Réservation : avis « jour fermé » (disponibilités). */
.apc-resa-closed{margin:-6px 0 6px;font-size:14px;color:#9a3b2e}
.apc-resa-closed[hidden]{display:none}
