.ctreg{--navy:#0b1f3a;--blue:#0757c8;--red:#bc0606;--line:#dce5ef;--muted:#64748b;max-width:1120px;margin:34px auto;background:#fff;border:1px solid #e3eaf2;border-radius:24px;box-shadow:0 24px 70px rgba(11,31,58,.10);overflow:hidden;color:var(--navy);font-family:Arial,sans-serif}.ctreg *{box-sizing:border-box}.ctreg-head{padding:36px 42px;background:linear-gradient(135deg,#0b1f3a,#123e73);color:#fff}.ctreg-brand{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#c8d9eb}.ctreg-head h2{margin:7px 0 9px;font-family:Georgia,serif;font-size:34px;line-height:1.05;color:#fff}.ctreg-head p{margin:0;max-width:780px;line-height:1.65;color:#dce8f5}.ctreg-form{padding:34px 42px}.ctreg-section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line)}.ctreg-section-title{display:flex;gap:14px;align-items:center;margin-bottom:22px}.ctreg-section-title>span{width:42px;height:42px;border-radius:12px;background:#edf4fc;color:var(--blue);font-weight:900;display:grid;place-items:center}.ctreg-section-title h3{margin:0;font-size:21px}.ctreg-section-title p{margin:3px 0 0;font-size:12px;color:var(--muted)}.ctreg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}.ctreg label>span,.ctreg-date-block>span,.ctreg-choice-row>span{display:block;font-size:12px;font-weight:800;margin-bottom:7px;color:#324a64}.ctreg input,.ctreg select,.ctreg textarea{width:100%;border:1px solid #ccd8e5;border-radius:11px;background:#fff;padding:12px 13px;font:inherit;color:#12283e;outline:none;transition:.18s}.ctreg input:focus,.ctreg select:focus,.ctreg textarea:focus{border-color:#4b86cf;box-shadow:0 0 0 3px rgba(7,87,200,.10)}.ctreg-full{grid-column:1/-1}.ctreg-date-block{margin-top:18px;padding:17px;border-radius:14px;background:#f7f9fc;border:1px solid #e7edf4}.ctreg-date-grid{display:grid;grid-template-columns:110px minmax(150px,1fr) 140px;gap:12px}.ctreg-date-grid label{font-size:11px;font-weight:700;color:#718096}.ctreg-date-inline{margin-top:0}.ctreg-choice-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.ctreg-choice-row>span{margin:0 10px 0 0}.ctreg-choice-row label{display:flex;align-items:center;gap:7px;font-size:14px}.ctreg-choice-row input{width:auto}.ctreg-allergy-notes{display:none;margin-top:16px}.ctreg-allergy-notes.is-visible{display:block}.ctreg-trip-select{display:block}.ctreg-trip-select select{font-weight:700}.ctreg-other-trip{display:none;margin:14px 0 18px;padding:18px;border:1px dashed #9dbbe0;background:#f3f8fe;border-radius:14px}.ctreg-other-trip.is-visible{display:block}.ctreg-other-trip p{margin:8px 0 0;color:var(--muted);font-size:12px}.ctreg-consent{display:flex;gap:10px;align-items:flex-start;margin:22px 0}.ctreg-consent input{width:auto;margin-top:3px}.ctreg-consent span{font-weight:500;line-height:1.5}.ctreg-submit{border:0;border-radius:12px;background:var(--blue);color:#fff;padding:15px 23px;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 8px 22px rgba(7,87,200,.2)}.ctreg-submit:disabled{opacity:.65;cursor:wait}.ctreg-status{margin-top:16px;padding:0;font-weight:700}.ctreg-status.is-success,.ctreg-status.is-error,.ctreg-status.is-loading{padding:13px 15px;border-radius:10px}.ctreg-status.is-success{background:#ecf9f1;color:#17603a}.ctreg-status.is-error{background:#fff0f0;color:#9d1616}.ctreg-status.is-loading{background:#f2f6fb;color:#3b5875}.ctreg-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){.ctreg{margin:18px 12px;border-radius:18px}.ctreg-head,.ctreg-form{padding:26px 20px}.ctreg-head h2{font-size:29px}.ctreg-grid{grid-template-columns:1fr}.ctreg-full{grid-column:auto}.ctreg-date-grid{grid-template-columns:1fr 1fr 1fr;gap:8px}.ctreg-choice-row{align-items:flex-start;flex-direction:column;gap:10px}.ctreg-section-title{align-items:flex-start}}
@media(max-width:440px){.ctreg-date-grid{grid-template-columns:1fr}.ctreg-date-inline{grid-column:1/-1}}

/* v6.80.36 · Registro Multi-Step */
.ctreg-progress{padding:26px 42px 4px;background:#fff}
.ctreg-progress-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.ctreg-progress-top span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.ctreg-progress-top strong{font-family:Georgia,serif;font-size:17px;color:var(--navy);text-align:right}
.ctreg-progress-track{height:7px;background:#e9eff6;border-radius:999px;overflow:hidden}
.ctreg-progress-track span{display:block;width:20%;height:100%;background:linear-gradient(90deg,#0757c8,#123e73);border-radius:inherit;transition:width .28s ease}
.ctreg-step-dots{display:flex;justify-content:space-between;margin-top:12px;position:relative}
.ctreg-step-dots span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef3f8;color:#718096;font-size:12px;font-weight:900;border:2px solid #fff;box-shadow:0 0 0 1px #dce5ef;transition:.2s;cursor:default}
.ctreg-step-dots span.is-active{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(7,87,200,.10)}
.ctreg-step-dots span.is-done{background:#e7f6ee;color:#167047;cursor:pointer}
.ctreg-step{display:none!important;border-bottom:0;margin-bottom:8px;animation:ctregStepIn .26s ease}
.ctreg-step.is-active{display:block!important}
@keyframes ctregStepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.ctreg-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.ctreg-nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.ctreg-nav-hint{font-size:12px;color:var(--muted);max-width:260px;text-align:right}
.ctreg-back,.ctreg-next{border:1px solid #ccd8e5;border-radius:12px;padding:13px 20px;font-weight:850;font-size:14px;cursor:pointer;background:#fff;color:var(--navy);transition:.18s}
.ctreg-next{background:var(--navy);border-color:var(--navy);color:#fff}
.ctreg-back:hover{background:#f5f8fc}
.ctreg-next:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(11,31,58,.15)}
.ctreg-submit[hidden],.ctreg-next[hidden]{display:none!important}
.ctreg-invalid{border-color:#bc0606!important;box-shadow:0 0 0 4px rgba(188,6,6,.09)!important}
@media(max-width:720px){
 .ctreg-progress{padding:22px 20px 2px}
 .ctreg-progress-top{align-items:flex-start;flex-direction:column;gap:5px}
 .ctreg-progress-top strong{text-align:left}
 .ctreg-nav{align-items:stretch}
 .ctreg-nav-right{width:100%;margin-left:0;flex-direction:column;align-items:stretch}
 .ctreg-nav-hint{text-align:left;max-width:none}
 .ctreg-back,.ctreg-next,.ctreg-submit{width:100%}
 .ctreg-nav{flex-direction:column-reverse}
}


/* v6.80.40 · Corrección de desbordamiento en Paso 5 */
.ctreg-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ctreg-grid>*{min-width:0;max-width:100%}
.ctreg-date-block{min-width:0;max-width:100%;overflow:hidden}
.ctreg-date-grid{
  width:100%;
  min-width:0;
  grid-template-columns:minmax(64px,.8fr) minmax(105px,1.2fr) minmax(82px,.9fr);
  gap:10px
}
.ctreg-date-grid label{min-width:0;max-width:100%}
.ctreg-date-grid input,.ctreg-date-grid select{
  display:block;
  min-width:0;
  max-width:100%;
  width:100%
}
.ctreg-trip-section>.ctreg-grid{align-items:end}
.ctreg-trip-section .ctreg-date-inline{width:100%;margin-top:0}

@media(max-width:980px){
  .ctreg-trip-section>.ctreg-grid{grid-template-columns:1fr}
  .ctreg-trip-section .ctreg-date-inline{grid-column:1/-1}
}
@media(max-width:720px){
  .ctreg-date-grid{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,.9fr);
    gap:8px
  }
}
@media(max-width:480px){
  .ctreg-date-grid{grid-template-columns:1fr}
}
