/* Ajustes de dimensiones exclusivamente: se conserva el flujo y diseño del formulario. */
html,body{height:auto;min-height:0;overflow:visible}
body{margin:0}
.card[ng-controller]{position:relative;inset:auto!important;width:min(100%,700px)!important;height:auto!important;min-height:0;max-height:none;overflow:visible;margin:0 auto;padding:20px 12px}
.card-header.sm,.couple-message p,.guest-confirm,.guest-resume{height:auto!important;min-height:0;max-height:none!important;overflow:visible!important}
.mobile-800-h{height:auto!important}
.card-footer{max-width:100%;flex-wrap:wrap;gap:12px}
.mobile-wrap{margin-bottom:20px}
.guest-row{max-width:100%;margin-left:0;margin-right:0}
.guest-row>div{min-width:0;max-width:100%}
.guest-row>div:last-child>div{flex:0 1 auto;width:auto;max-width:50%;min-width:0;padding:0 12px}
.guest-name,.guest-header{overflow-wrap:anywhere}
.card .row{margin-left:0;margin-right:0;max-width:100%}

/* Los pasos salientes no reservan espacio durante su transición. */
.card[ng-controller] > form.ng-hide{display:none!important}

@media(max-width:700px){
  .card[ng-controller]{width:calc(100% - 24px)!important}
}

/* El aviso de confirmación se mide completo dentro del iframe. */
.swal2-popup{max-height:none!important}
