/* Canteen Contactos — formulario de /contacto/ (usa las variables del tema canteen24h) */

.c24c-form fieldset{border:0;margin:0;padding:0;min-width:0}
.c24c-form legend{padding:0}
.c24c-grupo{margin:0 0 30px}
.c24c-grupo>legend{display:block;width:100%;font-size:1.2rem;font-weight:800;color:var(--tinta);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--borde)}
.c24c-nota-obligatorios{margin:0 0 20px;font-size:.9rem;color:var(--tinta-suave)}
.c24c-req{color:#8A1F1F;margin-left:2px;font-weight:700}
.c24c-campo{margin:0 0 20px}
.c24c-ayuda{margin:.4em 0 0;font-size:.85rem;color:var(--tinta-suave)}
/* Campos: altura táctil solo en los de texto (no en casillas ni en la del captcha) y borde con contraste 3:1 */
.c24c-form input[type=text],.c24c-form input[type=email],.c24c-form input[type=tel],.c24c-form select{min-height:48px}
.c24c-form textarea{min-height:130px}
.c24c-form input[type=text],.c24c-form input[type=email],.c24c-form input[type=tel],.c24c-form select,.c24c-form textarea{border-color:#879173}
.c24c-form input:not([type=radio]):focus-visible,.c24c-form select:focus-visible,.c24c-form textarea:focus-visible{outline:3px solid var(--verde-grande);outline-offset:2px}

/* Opciones como píldoras (radio nativo visible dentro) */
.c24c-opciones{margin:0 0 20px}
.c24c-opciones>legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.55em;color:var(--tinta)}
.c24c-chips{display:flex;flex-wrap:wrap;gap:10px}
.c24c-chip{display:inline-flex;align-items:center;gap:.55em;margin:0;min-height:46px;padding:.55em 1.05em;border:1.5px solid #879173;border-radius:999px;background:#fff;font-weight:600;font-size:.95rem;color:var(--tinta);cursor:pointer;transition:border-color .2s,background-color .2s}
.c24c-chip input{flex:none;width:18px;height:18px;min-height:0;margin:0;accent-color:var(--verde-texto)}
@media (hover:hover){.c24c-chip:hover{border-color:var(--verde-grande)}}
.c24c-chip:has(input:checked){border-color:var(--verde-grande);background:var(--crema);color:var(--verde-texto)}
@supports selector(:has(*)){
  .c24c-chip input:focus-visible{outline:none}
  .c24c-chip:has(input:focus-visible){outline:3px solid var(--verde-grande);outline-offset:2px}
}

/* Detalle del local: visible solo si responde «Sí» (sin JS se ve siempre) */
.c24c-detalle{margin:-6px 0 22px;padding:16px 18px 2px;border-left:3px solid var(--verde);background:var(--crema);border-radius:0 var(--radio-sm) var(--radio-sm) 0}
.js .c24c-detalle:not(.is-visible){display:none}
.c24c-campo-m2 input{max-width:160px}

/* Errores */
.c24c-errores{margin:0 0 22px;padding:16px 20px;border-radius:var(--radio-sm);background:#FBEAEA;color:#6E1A1A}
.c24c-errores:focus{outline:3px solid #B42318;outline-offset:2px}
.c24c-errores p{margin:0 0 .4em}
.c24c-errores ul{margin:0;padding-left:1.2em}
.c24c-errores a{color:#6E1A1A;font-weight:600}
.c24c-error{margin:.4em 0 0;font-size:.9rem;font-weight:600;color:#8A1F1F}
.c24c-form [aria-invalid="true"],.c24c-form input[aria-invalid="true"]{border-color:#B42318}
.c24c-check input[aria-invalid="true"]{outline:2px solid #B42318;outline-offset:2px}

/* Captcha ALTCHA */
.c24c-captcha{margin:6px 0 22px}
.c24c-captcha altcha-widget{
  --altcha-border-color:#879173;
  --altcha-border-width:1.5px;
  --altcha-border-radius:var(--radio-sm);
  --altcha-color-base:#fff;
  --altcha-color-base-content:var(--tinta);
  --altcha-color-primary:var(--verde-texto);
  --altcha-color-primary-content:#fff;
  --altcha-color-success:#12572A;
  --altcha-color-error:#8A1F1F;
  --altcha-checkbox-border-color:var(--tinta-suave);
  --altcha-max-width:340px;
  display:block;font-family:var(--fuente)
}
.c24c-captcha .altcha-checkbox input:focus-visible{outline:3px solid var(--verde-grande);outline-offset:2px}

/* Consentimientos */
.c24c-consentimientos{display:flex;flex-direction:column;gap:14px;margin:0 0 24px}
.c24c-check{gap:.75em}
.c24c-check input{flex:none;width:20px;height:20px;min-height:0;margin-top:.15em;accent-color:var(--verde-texto)}
.c24c-check label{margin:0;font-weight:400;font-size:.95rem;line-height:1.5;color:var(--tinta)}

/* Botón y notas */
.c24c-enviar[aria-disabled="true"]{opacity:.75;cursor:progress;transform:none}
.c24c-micro{margin:10px 0 0;font-size:.9rem;color:var(--tinta-suave)}
.c24c-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.c24c-info-rgpd{margin:0 0 18px;padding:14px 16px;border:1px solid var(--borde);border-radius:var(--radio-sm);font-size:.85rem;color:var(--tinta-suave)}
.c24c-info-titulo{margin:0;font-weight:600;color:var(--tinta)}
.c24c-info-rgpd dl{margin:8px 0 0;display:grid;grid-template-columns:max-content 1fr;gap:6px 14px}
.c24c-info-rgpd dt{font-weight:700;color:var(--tinta)}
.c24c-info-rgpd dd{margin:0}
@media (max-width:640px){.c24c-info-rgpd dl{display:block}.c24c-info-rgpd dt{display:inline}.c24c-info-rgpd dt::after{content:": "}.c24c-info-rgpd dd{display:inline}.c24c-info-rgpd dd::after{content:"";display:block;margin-bottom:5px}}

/* Páginas de confirmación y baja */
.c24c-aviso{margin:0 0 18px;padding:14px 18px;border-radius:var(--radio-sm);background:#FBEAEA;color:#6E1A1A;font-weight:600}
.c24c-form-suscripcion{margin:22px 0 28px}

/* Envío correcto */
.c24c-exito{padding:26px 28px;border-radius:var(--radio);background:#E8F6EC;color:#12572A}
.c24c-exito:focus{outline:3px solid var(--verde-grande);outline-offset:2px}
.c24c-exito h3{margin:0 0 .5em;color:#12572A;font-size:1.35rem}
.c24c-exito p{margin:0 0 .8em;color:#14532d}
.c24c-exito a{color:#12572A;font-weight:600}
.c24c-otra{margin-top:1em}
