/* Time Out Spas — formulario propio. Estilo de la web: campos en píldora blancos, botón rojo #ff3132, Urbanist.
   Los !important están porque el kit de Elementor y Astra pintan input/button con selectores de mucha especificidad. */
.tos-lf{
  --tl-accent:#ff3132; --tl-accent-2:#e3201f;
  --tl-ink:#1c1c1c; --tl-mut:#6a6a6a; --tl-line:#d5d5d5; --tl-field:#fff; --tl-fink:#1c1c1c; --tl-ph:#9a9a9a;
  --tl-okbg:#e9f7ef; --tl-okink:#16603a; --tl-errbg:#fdeceb; --tl-errink:#a3201d;
  font-family:Urbanist,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--tl-ink);width:100%;margin:0;display:flex;flex-direction:column;gap:14px;text-align:left;
}
.tos-lf--dark{
  --tl-ink:#fff; --tl-mut:#b8b8b8; --tl-line:rgba(255,255,255,0);
  --tl-okbg:rgba(63,178,138,.16); --tl-okink:#8fe0bd; --tl-errbg:rgba(255,49,50,.14); --tl-errink:#ffb3b3;
}
.tos-lf *{box-sizing:border-box;}
.tos-lf{container-type:inline-size;}
.tos-lf__grid{display:grid;grid-template-columns:1fr;gap:14px;}
@container (min-width:560px){ .tos-lf__grid{grid-template-columns:repeat(3,1fr);} }
.tos-lf__f{display:flex;flex-direction:column;gap:6px;margin:0;}
.tos-lf__l{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--tl-ink);line-height:1.2;}
.tos-lf__opt{font-style:normal;font-weight:400;color:var(--tl-mut);margin-left:4px;}

.tos-lf .tos-lf__in{
  width:100% !important;height:50px !important;margin:0 !important;padding:0 20px !important;
  background:var(--tl-field) !important;color:var(--tl-fink) !important;
  border:1px solid var(--tl-line) !important;border-radius:999px !important;box-shadow:none !important;
  font:500 15px/1.3 Urbanist,system-ui,sans-serif !important;outline:none !important;
  transition:border-color .15s ease, box-shadow .15s ease;-webkit-appearance:none;appearance:none;
}
.tos-lf textarea.tos-lf__in{height:auto !important;min-height:112px;padding:14px 20px !important;border-radius:22px !important;resize:vertical;line-height:1.5 !important;}
.tos-lf .tos-lf__in::placeholder{color:var(--tl-ph);opacity:1;}
.tos-lf .tos-lf__in:focus{border-color:var(--tl-accent) !important;box-shadow:0 0 0 3px rgba(255,49,50,.22) !important;}
.tos-lf .tos-lf__in:user-invalid{border-color:var(--tl-accent) !important;}

.tos-lf__hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

.tos-lf__ok{display:flex;align-items:flex-start;gap:10px;margin:2px 0 0;cursor:pointer;font-size:13.5px;line-height:1.45;color:var(--tl-ink);position:relative;}
.tos-lf__ok input{position:absolute;opacity:0;width:20px;height:20px;margin:0;left:0;top:0;cursor:pointer;}
.tos-lf__box{flex:0 0 20px;height:20px;border-radius:6px;background:var(--tl-field);border:1px solid var(--tl-line);margin-top:0;position:relative;transition:background .15s ease,border-color .15s ease;}
.tos-lf--light .tos-lf__box{border-color:#bdbdbd;}
.tos-lf__ok input:checked + .tos-lf__box{background:var(--tl-accent);border-color:var(--tl-accent);}
.tos-lf__ok input:checked + .tos-lf__box::after{content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.tos-lf__ok input:focus-visible + .tos-lf__box{box-shadow:0 0 0 3px rgba(255,49,50,.3);}

.tos-lf__foot{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;margin-top:4px;}
.tos-lf .tos-lf__btn{
  display:inline-flex !important;align-items:center;justify-content:center;gap:10px;
  height:52px !important;padding:0 30px !important;margin:0 !important;
  background:var(--tl-accent) !important;color:#fff !important;border:0 !important;border-radius:999px !important;
  font:700 15px/1 Urbanist,system-ui,sans-serif !important;letter-spacing:.04em !important;text-transform:uppercase !important;
  cursor:pointer;box-shadow:0 8px 22px rgba(255,49,50,.28) !important;transition:background .15s ease, transform .15s ease;
  flex:0 0 auto;white-space:nowrap;
}
.tos-lf .tos-lf__btn:hover{background:var(--tl-accent-2) !important;transform:translateY(-1px);}
.tos-lf .tos-lf__btn:focus-visible{outline:3px solid rgba(255,49,50,.35) !important;outline-offset:2px;}
.tos-lf .tos-lf__btn[disabled]{opacity:.7;cursor:wait;transform:none;}
.tos-lf__arw{transition:transform .15s ease;}
.tos-lf__btn:hover .tos-lf__arw{transform:translateX(3px);}
.tos-lf__note{flex:1 1 220px;margin:0 !important;font-size:12.5px;line-height:1.5;color:var(--tl-mut);text-align:left !important;}

.tos-lf__msg{margin:0 !important;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.45;background:rgba(127,127,127,.12);color:var(--tl-ink);}
.tos-lf__msg.is-ok{background:var(--tl-okbg);color:var(--tl-okink);}
.tos-lf__msg.is-err{background:var(--tl-errbg);color:var(--tl-errink);}
.tos-lf.is-sending .tos-lf__in{opacity:.75;}

@media (max-width:520px){
  .tos-lf .tos-lf__btn{width:100% !important;}
}
.tos-lf__ok a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.tos-lf__ok a:hover{color:var(--tl-accent);}

/* Páginas legales (/legal-notice/, /privacy-policy/, /cookie-policy/) y enlaces del pie */
.tos-legal{max-width:820px;margin:0 auto;padding:10px 0 60px;font-size:16px;line-height:1.7;}
.tos-legal h2{font-size:22px;line-height:1.25;margin:34px 0 10px;}
.tos-legal__date{font-size:13px;color:#7a7a7a;margin:0 0 6px;}
.tos-legal__lead{font-size:18px;margin:0 0 10px;}
.tos-legal ul{margin:0 0 16px 1.2em;}
.tos-legal li{margin:0 0 6px;}
.tos-legal a{color:#ff3132;}
.tos-legal__table{overflow-x:auto;margin:10px 0 18px;}
.tos-legal table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px;}
.tos-legal th,.tos-legal td{border:1px solid #e2e2e2;padding:9px 12px;text-align:left;vertical-align:top;}
.tos-legal th{background:#f4f4f4;font-weight:600;}
.tos-legal-links{margin:6px 0 0;font-size:13px;}
.tos-legal-links a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  .tos-lf *{transition:none !important;}
}
