/* Shared resident and Central preview presentation for Group Dining. */
:is(#section-dining,.dining-preview) .dining-group-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:start;color:var(--dark,#242521);font-family:var(--font-body,Inter,sans-serif);min-width:0}
:is(#section-dining,.dining-preview) .dining-group-layout>div{min-width:0}
:is(#section-dining,.dining-preview) .group-intro{margin:0 0 24px}
:is(#section-dining,.dining-preview) .group-intro h3{font:500 32px/1.25 var(--font-heading,Georgia,serif);margin:0 0 10px;outline:none}
:is(#section-dining,.dining-preview) .group-intro p{font:400 15px/1.65 var(--font-body,Inter,sans-serif);color:var(--resident-soft,#68665f);max-width:64ch;margin:0}
:is(#section-dining,.dining-preview) .group-offering-list{display:grid;gap:18px}
:is(#section-dining,.dining-preview) .dining-group-card{background:var(--resident-paper,#fff);border:1px solid var(--resident-line,#dddcd6);border-radius:14px;padding:26px;min-width:0}
:is(#section-dining,.dining-preview) .group-kind,:is(#section-dining,.dining-preview) .group-eyebrow{display:block;font:600 11px/1.5 var(--font-body,Inter,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--resident-soft,#68665f);margin:0 0 10px}
:is(#section-dining,.dining-preview) .dining-group-card h4{font:500 27px/1.25 var(--font-heading,Georgia,serif);margin:0 0 12px;overflow-wrap:anywhere}
:is(#section-dining,.dining-preview) .group-card-intro{font-size:15px;line-height:1.65;color:var(--resident-soft,#68665f);margin:0 0 14px;white-space:normal}
:is(#section-dining,.dining-preview) :is(.group-offering-details,.group-program-details){font:400 14px/1.65 var(--font-body,Inter,sans-serif);overflow-wrap:anywhere}
:is(#section-dining,.dining-preview) :is(.group-offering-details,.group-program-details) summary{cursor:pointer;color:var(--dark,#242521);padding:6px 0;min-height:36px;box-sizing:border-box}
:is(#section-dining,.dining-preview) :is(.group-offering-details,.group-program-details) p{font-size:14px;line-height:1.65;white-space:pre-line;color:var(--resident-soft,#68665f);margin:10px 0}
:is(#section-dining,.dining-preview) .group-program-details{margin-top:24px;padding-top:16px;border-top:1px solid var(--resident-line,#dddcd6)}
:is(#section-dining,.dining-preview) .group-card-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:20px}
:is(#section-dining,.dining-preview) .group-card-actions>button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 18px;min-height:46px;border:1px solid var(--dark,#242521);border-radius:8px;background:var(--dark,#242521);color:var(--ivory,#f5f3ef);font:500 14px/1.5 var(--font-body,Inter,sans-serif);cursor:pointer}
:is(#section-dining,.dining-preview) .group-source-links{display:flex;gap:16px;flex-wrap:wrap}
:is(#section-dining,.dining-preview) .group-source-link{font:500 13px/1.5 var(--font-body,Inter,sans-serif);color:var(--dark,#242521);text-decoration:underline;text-underline-offset:4px;padding:8px 0;background:none;border:0}
:is(#section-dining,.dining-preview) .dining-group-layout>aside{position:sticky;top:86px;align-self:start}
:is(#section-dining,.dining-preview) .group-flow{border:1px solid var(--resident-line,#dddcd6);border-radius:14px;padding:24px;background:rgba(245,243,239,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
:is(#section-dining,.dining-preview) .group-flow h3{font:500 23px/1.3 var(--font-heading,Georgia,serif);margin:0 0 24px}
:is(#section-dining,.dining-preview) .group-flow ol{list-style:none;padding:0;margin:0;display:grid;gap:23px}
:is(#section-dining,.dining-preview) .group-flow li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px}
:is(#section-dining,.dining-preview) .group-flow-number{display:grid;place-items:center;width:26px;height:26px;border:1px solid #cfcac0;border-radius:50%;font:500 12px/1 var(--font-body,Inter,sans-serif);color:#69655d}
:is(#section-dining,.dining-preview) .group-flow li[aria-current="step"] .group-flow-number{background:var(--dark,#242521);border-color:var(--dark,#242521);color:var(--ivory,#f5f3ef)}
:is(#section-dining,.dining-preview) .group-flow strong{font:600 13px/1.5 var(--font-body,Inter,sans-serif)}
:is(#section-dining,.dining-preview) .group-flow p{font:400 13px/1.6 var(--font-body,Inter,sans-serif);color:#68665f;margin:5px 0 0;white-space:normal}
:is(#section-dining,.dining-preview) .group-flow .group-flow-note{border-top:1px solid var(--resident-line,#dddcd6);padding-top:18px;margin-top:24px;font-size:12px}
#section-dining[data-dining-page="largeformat"] #diningPrimaryTabs{position:sticky;top:0;z-index:24;padding:0;margin:0 0 14px;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:0}
#section-dining #diningRequestForm,#section-dining .group-success{padding:28px;border:1px solid var(--resident-line,#dddcd6);border-radius:14px;background:var(--resident-paper,#fff);margin:0;min-width:0}
#section-dining #diningRequestForm .group-back{border:0;background:none;color:var(--resident-soft,#68665f);font:500 13px/1.5 var(--font-body);padding:4px 0;min-height:36px;border-radius:6px;margin:0 0 24px;cursor:pointer}
#section-dining #diningRequestTitle,#section-dining #diningRequestSuccessTitle{font:500 30px/1.25 var(--font-heading);margin:0 0 14px;outline:none;scroll-margin-top:96px;overflow-wrap:anywhere}
#section-dining #diningGroupHeading{scroll-margin-top:96px}
#section-dining #diningRequestIntro{font-size:14px;line-height:1.65;color:var(--resident-soft,#68665f);margin:0 0 28px}
#section-dining #diningRequestFields{border:0;padding:0;margin:26px 0 0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,1fr);gap:22px 18px;min-width:0}
#section-dining #diningRequestFields label{display:block;font:500 13px/1.5 var(--font-body);margin:0;min-width:0}
#section-dining .group-field-wide{grid-column:1/-1}
#section-dining .group-optional{font-weight:400;color:var(--resident-soft,#68665f)}
#section-dining #diningRequestFields :is(input,select,textarea){display:block;box-sizing:border-box;width:100%;max-width:none;min-width:0;min-height:50px;margin-top:8px;border:1px solid var(--resident-line,#dddcd6);border-radius:8px;background:var(--resident-paper,#fff);color:var(--dark,#242521);padding:12px 14px;font:400 16px/1.5 var(--font-body)}
#section-dining #diningRequestFields select{-webkit-appearance:none;appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2368665f' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
#section-dining #diningRequestFields small{display:block;color:var(--resident-soft,#68665f);font:400 12px/1.6 var(--font-body);margin-top:8px}
#section-dining .group-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
#section-dining .group-form-actions button{border:1px solid var(--resident-line,#dddcd6);border-radius:8px;background:transparent;color:var(--dark,#242521);padding:12px 18px;min-height:46px;font:500 14px/1.5 var(--font-body);margin:0;cursor:pointer}
#section-dining .group-form-actions :is([type="submit"],#diningRequestHistoryButton){background:var(--dark,#242521);color:var(--ivory,#f5f3ef);border-color:var(--dark,#242521)}
#section-dining .group-submit-note{font:400 12px/1.6 var(--font-body);color:var(--resident-soft,#68665f);margin:14px 0 0}
#section-dining .group-review-summary{display:grid;grid-template-columns:1fr;gap:5px;margin:24px 0}
#section-dining .group-review-summary dt{font:500 12px/1.5 var(--font-body);color:var(--resident-soft,#68665f)}
#section-dining .group-review-summary dd{margin:0 0 14px;font:500 15px/1.6 var(--font-body);overflow-wrap:anywhere;white-space:pre-line}
#section-dining .group-review-terms{border-top:1px solid var(--resident-line,#dddcd6);padding-top:20px;font-size:14px;line-height:1.65}
#section-dining .group-review-terms h4{font:600 15px/1.5 var(--font-body);margin:0 0 10px}
#section-dining .group-review-terms p{white-space:pre-line;color:var(--resident-soft,#68665f);margin:10px 0;overflow-wrap:anywhere}
#section-dining .group-review-terms summary{cursor:pointer;margin:14px 0 8px}
#section-dining #diningRequestStatus{font-size:14px;line-height:1.6;color:#87472f;overflow-wrap:anywhere;margin:18px 0 0}
#section-dining #diningRequestStatus:empty{display:none}
#section-dining .group-success-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e8eee4;color:#40543b;font-size:24px;margin-bottom:24px}
#section-dining .group-success p{font-size:15px;line-height:1.65;color:var(--resident-soft,#68665f)}
@media(max-width:1100px){#section-dining .dining-group-layout{grid-template-columns:minmax(0,1fr);gap:28px}#section-dining .dining-group-layout>aside{position:static}#section-dining .group-flow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:600px){#section-dining #diningRequestForm,#section-dining .group-success{padding:22px 18px}#section-dining #diningRequestFields{grid-template-columns:minmax(0,1fr)}#section-dining .group-flow ol{grid-template-columns:minmax(0,1fr)}#section-dining .dining-group-card{padding:22px 20px}#section-dining #diningRequestTitle{font-size:27px}#section-dining .group-form-actions{align-items:stretch}#section-dining .group-form-actions button{flex:1}#section-dining .group-intro h3{font-size:29px}}
@media(max-width:850px){.dining-preview .dining-group-layout{grid-template-columns:minmax(0,1fr)}.dining-preview .dining-group-layout>aside{position:static}}
@supports not (backdrop-filter:blur(10px)){#section-dining[data-dining-page="largeformat"] #diningPrimaryTabs,:is(#section-dining,.dining-preview) .group-flow{background:#f5f3ef}}

@media(max-width:600px){#section-dining #diningPrimaryTabs .dining-tab{font-size:13px;padding:10px 12px;min-height:44px}#section-dining :is(#diningRequestTitle,#diningGroupHeading,#diningRequestSuccessTitle){scroll-margin-top:150px}}

#section-dining #diningSelectedRestaurantName{text-transform:none}
#section-dining:has(#diningRestaurantContext:not([hidden]))>.page-header{display:none}
#section-dining:has(#diningRestaurantContext:not([hidden]))>.page-content{padding-top:26px}
@media(max-width:600px){#section-dining .group-form-actions{flex-direction:column;align-items:stretch}#section-dining .group-form-actions button{width:100%;flex:none}}

@media(max-width:600px){#section-dining #diningRestaurantContext{gap:8px}#section-dining #diningRestaurantContext button{font-size:13px;padding:10px 12px;min-height:44px}}
