/* Disponibilidad: aviso sereno, accesible y adaptado al formulario. */
.rtb-booking-form .time .rtb-error.rfs-availability-note{display:flex;align-items:flex-start;gap:15px;padding:21px;margin:0 0 20px;background:#e7ecdf;border:1px solid #c7d1bf;border-radius:16px;color:#283d2b;font-size:13px;line-height:1.7;text-transform:none;letter-spacing:normal}
.rtb-booking-form .time .rtb-error.rfs-availability-note:before{display:none;content:none}
.rfs-availability-icon{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:12px;background:#50664d;color:#fff}
.rfs-availability-icon svg{width:23px;height:23px}
.rtb-booking-form .rfs-availability-note strong{display:block;font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.025em}
.rtb-booking-form .rfs-availability-note p{margin:9px 0 0;font-size:13px;color:#40513d;line-height:1.7}
.rfs-availability-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:16px}
.rtb-booking-form .rfs-availability-actions button{display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:9px 16px;background:#50664d;color:#fff;border:1px solid #50664d;border-radius:999px;font:600 12px/1.5 var(--sans,Arial,sans-serif);cursor:pointer}
.rtb-booking-form .rfs-availability-actions button:hover{background:#3b5038}
.rfs-availability-actions a{font-size:12px;line-height:1.6;padding-block:10px;color:#283d2b}
.rfs-verification .rfs-verification-title{font-size:19px;font-weight:600;letter-spacing:-.025em;color:#1f2521}
@media(max-width:600px){.rtb-booking-form .time .rtb-error.rfs-availability-note{gap:11px;padding:17px}.rfs-availability-icon{flex-basis:32px;height:32px;border-radius:10px}.rtb-booking-form .rfs-availability-note strong{font-size:18px}}
/* Pantallas de solicitud y gestión: aisladas de los estilos del formulario. */
body.rfs-standalone{background:#efeee8;color:#1f2521;min-height:100svh}
.rfs-flow-shell{width:min(840px,calc(100% - 48px));margin-inline:auto}
.rfs-mini-header{border-bottom:1px solid #1f25211a;background:#faf9f480}
.rfs-mini-header>.rfs-flow-shell{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:21px}
.rfs-mini-header .brand-logo{width:48px;height:48px;flex-basis:48px}
.rfs-mini-header .brand-name{font-size:17px}
.rfs-private-label{font-size:11px;color:#5d635c;white-space:nowrap}
.rfs-simple-brand{font-weight:600;text-decoration:none}
body.rfs-standalone main.rfs-flow-main{padding:46px 0 30px}
.rfs-flow-card{background:#faf9f4;border:1px solid #1f25211c;border-radius:24px;padding:42px 48px;box-shadow:0 14px 50px #1f252108}
.rfs-receipt-card{text-align:center}
.rfs-flow-icon{display:grid;place-items:center;width:66px;height:66px;margin-bottom:24px;border-radius:50%;background:#e1e8da;color:#50664d}
.rfs-receipt-card .rfs-flow-icon{margin-inline:auto}
.rfs-flow-icon svg{width:36px;height:36px}
.rfs-icon-info{background:#eee4dd;color:#722f37}
.rfs-flow-eyebrow{font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:#50664d;margin:0 0 13px}
.rfs-flow-card h1{font-size:clamp(36px,5.6vw,55px);line-height:1.1;letter-spacing:-.055em;font-weight:600;margin:0;text-wrap:balance}
.rfs-flow-card h1:focus{outline:none}
.rfs-flow-card .rfs-flow-lead{font-size:16px;line-height:1.7;color:#5d635c;margin:18px 0 0;max-width:620px}
.rfs-receipt-card .rfs-flow-lead{margin-inline:auto}
.rfs-pending-badge{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 15px;border-radius:999px;background:#eee7d6;color:#695622;font-size:12px;font-weight:600;line-height:1.5;margin:23px 0 0}
.rfs-pending-badge>span{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.rfs-booking-summary{display:grid;grid-template-columns:1.35fr .7fr 1fr .7fr;text-align:left;gap:20px;background:#efeee8;border:1px solid #1f252111;border-radius:13px;padding:23px 25px;margin:30px 0 0}
.rfs-booking-summary>div{min-width:0}
.rfs-booking-summary dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#5d635c;line-height:1.6;margin-bottom:7px}
.rfs-booking-summary dd{margin:0;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.rfs-next-step{margin-top:27px;border-top:1px solid #1f25211c;padding-top:24px;text-align:left;font-size:14px;line-height:1.8}
.rfs-next-step>strong{font-size:16px}
.rfs-next-step p{margin:8px 0 0;color:#5d635c;overflow-wrap:anywhere}
.rfs-flow-card .rfs-keep-reference,.rfs-already-processed{font-size:12px;line-height:1.8;color:#5d635c;margin:20px 0 0}
.rfs-flow-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:29px;flex-wrap:wrap}
.rfs-action{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:1px solid transparent;min-height:51px;padding:13px 22px;border-radius:999px;cursor:pointer;text-decoration:none;font:600 13px/1.6 var(--sans,Arial,sans-serif);transition:background .2s,color .2s,transform .2s}
.rfs-action:hover{transform:translateY(-1px)}
.rfs-action:focus-visible{outline:3px solid #722f37;outline-offset:4px}
.rfs-action-primary{background:#722f37;color:#faf9f4}
.rfs-action-primary:hover{background:#59242c;color:#fff}
.rfs-flow-home{font-size:13px;text-decoration:none;border-bottom:1px solid #1f252155;padding-bottom:4px}
.rfs-flow-footer{font-size:11px;color:#5d635c;text-align:center;line-height:1.9;margin:23px auto 0}
.rfs-flow-footer a{color:#722f37}
.rfs-guest{margin-top:29px;padding-top:25px;border-top:1px solid #1f25211c}
.rfs-guest h2{font-size:25px;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;margin:0}
.rfs-guest .rfs-flow-eyebrow{font-size:9px;margin-bottom:10px}
.rfs-guest-contact{display:flex;gap:12px 23px;flex-wrap:wrap;margin-top:12px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.rfs-guest-contact a{color:#722f37;max-width:100%}
.rfs-guest-note{margin-top:23px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.rfs-guest-note p{color:#5d635c;margin:7px 0 0;max-height:230px;overflow:auto}
.rfs-decision-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:31px;padding-top:27px;border-top:1px solid #1f25211c}
.rfs-action-accept{background:#50664d;color:#fff;border-color:#50664d}
.rfs-action-accept:hover{background:#3b5038;color:#fff}
.rfs-action-reject{background:transparent;color:#722f37;border-color:#722f36aa}
.rfs-action-reject:hover{background:#722f37;color:#fff}
.rfs-action>span{font-size:19px;line-height:1}
.rfs-decision-note{grid-column:1/-1;font-size:12px;color:#5d635c;line-height:1.8;margin:7px 0 0}
.rfs-decision-form button:disabled,.rtb-booking-form button[data-rfs-busy]{opacity:.7;cursor:wait;transform:none}
.rfs-mail-warning{background:#f5eadc;border:1px solid #d0b183;border-radius:12px;padding:20px;color:#695622}
@media(prefers-reduced-motion:no-preference){.rfs-flow-card{animation:rfs-flow-enter .4s ease-out}.rfs-icon-check svg path{stroke-dasharray:32;stroke-dashoffset:32;animation:rfs-check .55s .15s ease-out forwards}}
@keyframes rfs-flow-enter{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes rfs-check{to{stroke-dashoffset:0}}
@media(max-width:700px){
 .rfs-flow-shell{width:calc(100% - 32px)}
 .rfs-mini-header>.rfs-flow-shell{padding-block:16px;gap:12px}
 .rfs-mini-header .brand-logo{width:40px;height:40px;flex-basis:40px}
 .rfs-mini-header .brand-name{font-size:13px;max-width:112px}
 .rfs-private-label{font-size:10px}
 body.rfs-standalone main.rfs-flow-main{padding:25px 0}
 .rfs-flow-card{padding:29px 24px;border-radius:18px}
 .rfs-flow-icon{width:58px;height:58px;margin-bottom:22px}
 .rfs-flow-card h1{font-size:39px;line-height:1.12}
 .rfs-flow-card .rfs-flow-lead{font-size:15px;margin-top:17px}
 .rfs-pending-badge{font-size:11px;padding:9px 12px}
 .rfs-booking-summary{grid-template-columns:1fr 1fr;gap:20px 16px;padding:20px;margin-top:25px}
 .rfs-booking-summary dd{font-size:14px}
 .rfs-next-step{font-size:13px;padding-top:21px;margin-top:24px}
 .rfs-flow-actions{gap:20px;margin-top:25px}
 .rfs-action{font-size:13px;min-height:50px;padding:13px 20px}
 .rfs-flow-footer{font-size:10px;max-width:300px}
 .rfs-guest h2{font-size:23px}
 .rfs-decision-form{grid-template-columns:1fr;margin-top:25px;padding-top:23px}
 .rfs-decision-note{font-size:12px}
}
@media(max-width:360px){.rfs-flow-card{padding:26px 19px}.rfs-flow-card h1{font-size:34px}.rfs-private-label{max-width:82px;white-space:normal;text-align:right}.rfs-pending-badge{font-size:10px}.rfs-booking-summary{padding:17px 15px}.rfs-booking-summary dd{font-size:13px}}
@media(prefers-reduced-motion:reduce){.rfs-flow-card,.rfs-flow-icon svg path{animation:none}.rfs-action{transition:none}}

/* Tres pasos claros; el código aparece después de enviarlo. */
.rfs-form-steps{display:flex;flex-wrap:wrap;gap:12px 24px;counter-reset:rfs-step;list-style:none;padding:0;margin:28px 0 0}
.rfs-form-steps li{display:flex;align-items:center;gap:9px;font-size:12px;color:#50664d;line-height:1.6}
.rfs-form-steps li:before{counter-increment:rfs-step;content:counter(rfs-step);display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e1e3d9;font-weight:600}
.rfs-verification #rfs-code-fields[hidden]{display:none!important}
.rfs-verification #rfs-code-fields{margin-top:20px}
.rfs-verification .rfs-code-expiry{font-size:12px;line-height:1.7;margin-top:12px;color:#5d635c}
.rfs-verification h2.rfs-verification-title{font-size:25px;line-height:1.25;margin:0 0 14px;letter-spacing:-.035em}
.rtb-booking-form .rtb-form-submit>button:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:600px){.rfs-form-steps{gap:10px 16px}.rfs-form-steps li{font-size:11px}.rfs-form-steps li:before{width:24px;height:24px}}
