/* Only dimensions and layout; original colors, messages and RSVP logic remain. */
html,body{height:auto!important;min-height:0!important;overflow:visible!important;margin:0!important}
body{padding:16px!important}
.card{position:relative!important;inset:auto!important;width:100%!important;max-width:740px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0 auto!important;padding:24px!important;box-sizing:border-box}
.card form{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0!important}
.card .ng-hide{display:none!important}
.card .fade{transition:none!important}
.card .guest-confirm,.card .guest-resume,.card .couple-message,.card .couple-message p,.card .card-header,.card .card-header.sm,.card .card-body,.card .guests-message,.card .mobile-wrap{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.card .guest-resume,.card .guests-message,.card .couple-message{width:100%!important;margin-left:0!important;margin-right:0!important}
.card .card-footer{height:auto!important;flex-wrap:wrap!important;gap:12px;padding:20px 0 8px!important;margin:0!important}
.card .card-footer .btn{width:auto!important;min-width:120px;max-width:100%;white-space:normal;height:auto!important;min-height:48px;margin:0!important;flex:1}
.card .row{margin-left:0!important;margin-right:0!important;max-width:100%}
.card .mobile-wrap{margin-bottom:20px!important}.card input,.card textarea{max-width:100%;box-sizing:border-box}.card textarea{height:auto!important;min-height:140px!important;resize:vertical}.card .guest-row,.card .guest-name{height:auto!important;overflow-wrap:anywhere}.card .adults-guests,.card .children-guests{padding-inline:8px!important}
@media(max-width:480px){body{padding:8px!important}.card{padding:20px 14px!important}.card .card-footer .btn{min-width:100px}.card .card-instruction-lg{font-size:16px!important}.card .mobile-800-h{height:auto!important}}

/* Contain Bootstrap floats so every form step contributes to the card height. */
.card,.card form{display:flow-root!important}

/* The frame grows with its content; it must never become a nested scroll area. */
html,body{overflow:hidden!important}

/* Alert dialogs participate in the frame sizing instead of overflowing it. */
.swal2-container{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;min-height:100%;height:auto!important;padding:16px!important;overflow:visible!important;box-sizing:border-box;align-items:center!important}
.swal2-container .swal2-popup{height:auto!important;max-height:none!important;max-width:100%!important;box-sizing:border-box;margin:0!important;flex-shrink:0}
.swal2-container .swal2-actions{flex-wrap:wrap;max-width:100%}

.swal2-container{width:100%!important;max-width:100%!important}
.swal2-container .swal2-popup{min-width:0!important;width:100%!important;max-width:32em!important}

/* Keep both invitation totals on the same baseline at every screen width. */
.card .guest-ticket-totals{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;margin-block:10px!important}
.card .guest-ticket-totals>div{width:100%;margin:0!important;padding:0 8px;min-width:0}
.card .guest-ticket-totals h6{margin:0 0 10px;padding:0!important;line-height:1.3}
.card .guest-ticket-totals .total{margin:0;line-height:1.5}
