.eg-group-selection{margin:0 0 32px;padding:24px;border:1px solid #d1d1d1;background:#fff;color:#1f1f1f;scroll-margin-top:110px}
.eg-group-selection[hidden]{display:none}
.eg-group-selection__head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px}
.eg-group-selection h3{margin:0;font-size:21px;font-weight:600;line-height:1.3}
.eg-group-selection p{margin:8px 0 0;font-size:14px;line-height:1.6}
.eg-group-selection__remaining{font-size:14px;font-weight:600;line-height:1.6}
.eg-group-selection ul{list-style:none;padding:0;margin:20px 0 0}
.eg-group-selection li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #ddd}
.eg-group-selection li strong{display:block;font-size:15px;line-height:1.5}
.eg-group-selection li span{display:block;margin-top:4px;color:#62635e;font-size:13px;line-height:1.6}
.eg-group-selection__actions{display:flex;flex-wrap:wrap;gap:20px;flex-shrink:0}
.eg-group-selection__actions button{padding:10px 0;border:0;background:transparent;color:#1f1f1f;text-decoration:underline;text-underline-offset:5px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.5;cursor:pointer}
.eg-group-remove-confirmation{flex:0 0 auto;width:100%;padding:16px;border:1px solid #d1d1d1;background:#f6f6f4}
.eg-group-remove-confirmation[hidden]{display:none!important}
.eg-group-remove-confirmation p{margin:0;color:#1f1f1f;font-size:14px;line-height:1.6}
.eg-group-remove-confirmation__actions{display:inline-flex;flex-direction:column;align-items:stretch;gap:2px;max-width:100%;margin-top:12px}
.eg-group-remove-confirmation button{min-height:44px;padding:10px 16px;border:1px solid #1f1f1f;border-radius:0;background:#1f1f1f;color:#fff;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer}
.eg-group-remove-confirmation [data-group-remove-cancel]{min-height:32px;padding:6px 0;border-color:transparent;background:transparent;color:#696969;font-size:12px!important;font-weight:400;text-decoration:none;text-align:center}
.eg-group-remove-confirmation [data-group-remove-cancel]:hover{text-decoration:underline;text-underline-offset:4px}
.eg-group-remove-confirmation [data-group-remove-confirm]:hover{background:#383838}
.eg-group-selection__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid #ddd}
.eg-group-selection__foot p{margin:0}
.eg-group-selection__foot button,.eg-group-form footer button{flex-shrink:0;min-height:46px;padding:12px 22px;border:1px solid #1f1f1f;border-radius:0;background:#1f1f1f;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
.eg-group-selection__foot button:disabled,.eg-group-form footer button:disabled{opacity:.45;cursor:default}
.eg-group-error{color:#9e2222!important;font-size:14px;line-height:1.6}
.eg-group-dialog-open{overflow:hidden}
.eg-group-dialog{width:min(680px,calc(100% - 32px));max-width:680px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #ddd;border-radius:0;background:#fff;color:#1f1f1f;font-family:inherit;overscroll-behavior:contain}
.eg-group-dialog::backdrop{background:rgb(0 0 0 / .65)}
.eg-group-dialog__shell{padding:28px}
.eg-group-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #ddd}
.eg-group-dialog h3{margin:0;font-size:24px;font-weight:600;line-height:1.3}
.eg-group-dialog header p{margin:8px 0 0;font-size:14px;color:#62635e}
.eg-group-dialog header button{flex:none;width:40px;height:40px;margin:-8px -8px 0 0;padding:0;border:0;background:transparent;color:#1f1f1f;font-size:30px!important;font-family:inherit;line-height:1;cursor:pointer}
.eg-group-form__note{margin:0 0 20px;font-size:14px;line-height:1.6;color:#62635e}
.eg-group-form__counts,.eg-group-form__ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.eg-group-form__ages:empty{display:none}
.eg-group-form label{min-width:0;font-size:13px;font-weight:500;line-height:1.5}
.eg-group-form select{display:block;width:100%;height:46px;margin-top:8px;padding:8px 12px;border:1px solid #999;border-radius:0;background:#fff;color:#1f1f1f;font-family:inherit;font-size:16px;appearance:auto}
.eg-group-spa{display:flex;align-items:center;gap:10px;margin:0 0 22px}
.eg-group-form input[type=checkbox],.eg-group-form input[type=radio]{flex:none;appearance:auto;width:18px;height:18px;margin:0;accent-color:#1f1f1f}
.eg-group-form__plans{min-width:0;padding:0;margin:0;border:0}
.eg-group-form__plans legend{margin-bottom:12px;font-size:15px;font-weight:600}
.eg-group-rate{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:10px;border:1px solid #ccc;cursor:pointer}
.eg-group-rate:has(input:checked){border-color:#1f1f1f;background:#f6f6f6}
.eg-group-rate span{flex:1}
.eg-group-rate strong{white-space:nowrap;font-size:16px}
.eg-group-form__total{margin:18px 0;font-size:15px;font-weight:600;line-height:1.6}
.eg-group-form footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid #ddd}
.eg-group-form footer p{margin:0;font-size:12px;line-height:1.6;color:#62635e}
.eg-group-dialog :focus-visible,.eg-group-selection :focus-visible{outline:2px solid #3d7b4a;outline-offset:3px}
@media(max-width:767px){
 .eg-group-selection{padding:20px;margin-bottom:24px;scroll-margin-top:20px}
 .eg-group-selection li,.eg-group-selection__foot{align-items:flex-start;flex-direction:column;gap:10px}
 .eg-group-selection__foot button{width:100%}
 .eg-group-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .eg-group-dialog__shell{padding:20px}
 .eg-group-dialog h3{font-size:20px}
 .eg-group-form__counts,.eg-group-form__ages{gap:12px}
 .eg-group-rate{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px 10px;padding:12px}
 .eg-group-rate strong{grid-column:2;font-size:15px}
 .eg-group-form footer{flex-direction:column;align-items:stretch;gap:14px}
 .eg-group-form footer button{width:100%}
}

.eg-group-product-context{margin:16px 0;font-size:13px;line-height:1.6;color:#62635e}
.eg-group-product-context a{display:block;margin-top:6px;color:#1f1f1f;text-decoration:underline;text-underline-offset:4px}

.eg-occupancy-supplement{margin:0 0 20px;padding:14px 16px;border:1px solid #bcbdb8;background:#f6f6f4;color:#1f1f1f;font-size:14px;line-height:1.65}
.eg-guest-loading{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#62635e;font-size:13px;line-height:1.6}
.eg-guest-loading::before{content:'';flex:none;width:14px;height:14px;border:1px solid #ccc;border-top-color:#1f1f1f;border-radius:50%;animation:eg-guests-spin .7s linear infinite}
.eg-occupancy-supplement[hidden],.eg-guest-loading[hidden]{display:none!important}
.eg-group-selection__actions button:disabled{opacity:.45;cursor:default}
.eg-product-rooms--filtered.is-updating-guests [data-product-room-grid]{opacity:.55;pointer-events:none}
.eg-product-rooms--filtered.is-updating-guests .eg-group-selection{pointer-events:none;opacity:.55}
@keyframes eg-guests-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.eg-guest-loading::before{animation:none}}
