.catering-page { background: #fcf8ee; }
.catering-main { --ct-red: #990814; --ct-gold: #b67d30; --ct-ink: #382c22; --ct-cream: #fffaf0; color: var(--ct-ink); background: #fcf8ee; overflow: clip; }
.catering-main, .catering-main * { font-family: var(--site-font) !important; }
.catering-main :is(h1,h2,h3,strong,b) { font-weight: 400 !important; }
.catering-main :is(button,input,select,textarea) { font-family: var(--site-font) !important; }
.catering-main h1, .catering-main h2, .catering-main h3, .catering-main p { margin: 0; }
.catering-main [hidden] { display: none !important; }
.catering-main .icon { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.catering-main :is(button,input,select,textarea,a):focus-visible { outline: 3px solid #a87325; outline-offset: 4px; }
.catering-wrap { width: min(1280px, calc(100% - 80px)); margin-inline: auto; }
.catering-hero { position: relative; background: #fff9ef url("/assets/images/catering/hero-food-v2.webp?v=80fe4864492fd57df7bc9d864db5f17735218f03") center / 100% auto no-repeat; }
.catering-hero-inner { min-height: 540px; display: flex; align-items: center; position: relative; }
.catering-hero-copy { width: 40%; min-width: 0; padding-block: 28px 36px; }
.catering-main .catering-eyebrow { color: #9a6529; font-size: 10px; letter-spacing: 2px; margin-bottom: 10px; line-height: 1.5; }
.catering-main h1 { font-size: clamp(45px, 5.05vw, 72px); line-height: .97; color: var(--ct-red); letter-spacing: -2px; margin-bottom: 12px; }
.catering-hero-lead { font-size: clamp(18px, 1.65vw, 23px); line-height: 1.3; color: #9c551d; max-width: 580px; }
.catering-main .catering-hero-description { font-size: 15px; line-height: 1.45; max-width: 470px; margin-top: 8px; }
.catering-occasions { display: flex; list-style: none; gap: 24px; padding: 0; margin: 15px 0 0; max-width: 500px; justify-content: space-between; }
.catering-occasions li { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 14px; text-align: center; color: #671a0c; }
.catering-occasions li > span { width: 48px; height: 48px; border: 1px solid #b97b27; border-radius: 50%; display: grid; place-items: center; background: #fff9eac9; color: #915013; }
.catering-occasions .icon { width: 27px; height: 27px; }
.catering-main .catering-hero-note { position: absolute; right: 4px; top: 30px; color: #fce1a2; font-size: 23px; line-height: 1.3; font-style: italic !important; text-align: center; transform: rotate(-8deg); text-shadow: 0 2px 4px #27180c; }
.catering-hero-note span { color: #f5bd4a; }
.catering-promotion-wrap { position: relative; z-index: 2; margin-top: -6px; }
.catering-promotion { min-height: 76px; padding: 14px 27px; display: flex; align-items: center; justify-content: center; gap: 18px; border: 2px solid #c7984a; border-radius: 14px; background: url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846") left / 90px, linear-gradient(100deg, #a00812, #aa0710 65%, #8f0810); box-shadow: inset 0 0 0 3px #fff0c235, 0 5px 12px #7b410c12; color: #fff6e3; }
.catering-promotion > .icon { width: 35px; height: 35px; color: #fbd176; }
.catering-promotion p { font-size: clamp(20px, 2.15vw, 30px); line-height: 1.25; }
.catering-promotion strong { color: #ffe39c; }
.catering-promotion > span { border-left: 1px solid #d4a155; padding-left: 20px; font-size: 12px; line-height: 1.45; }
.promo-break { display: none; }
.catering-promo-flower { width: 140px; height: auto; position: absolute; top: -27px; pointer-events: none; }
.catering-promo-flower.left { left: -73px; transform: rotate(40deg); }
.catering-promo-flower.right { right: -73px; transform: scaleX(-1) rotate(40deg); }
.catering-menu-section { padding-block: 30px 24px; }
.catering-section-heading { display: flex; align-items: center; justify-content: center; gap: 16px; text-align: center; }
.catering-main h2 { color: var(--ct-red); font-size: 34px; line-height: 1.15; letter-spacing: -.6px; }
.catering-section-heading > span { color: #c4944a; font-size: 30px; }
.catering-main .catering-section-intro { text-align: center; font-size: 16px; line-height: 1.5; margin-top: 4px; }
.catering-menu-note { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin: 19px 0 12px; font-size: 12px; color: #6f6353; }
.catering-menu-note > span:first-child { display: flex; gap: 7px; align-items: center; }
.catering-menu-note .icon { width: 16px; height: 16px; color: #72823e; }
.catering-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.catering-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: #fffcf5; border: 1px solid #e8d8bb; border-radius: 8px; box-shadow: 0 3px 10px #9356130b; transition: border-color .15s, box-shadow .15s; }
.catering-card.selected { border-color: #b88532; box-shadow: 0 0 0 1px #b8853260; }
.catering-card > img { display: block; width: 100%; height: auto; aspect-ratio: 2.4; object-fit: cover; }
.catering-card-copy { padding: 13px 15px 14px; flex: 1; display: flex; flex-direction: column; }
.catering-main .catering-card h3 { color: #2f241c; font-size: 19px; line-height: 1.2; }
.catering-main .catering-card p { margin: 7px 0 10px; font-size: 14px; line-height: 1.38; }
.catering-card-bottom { margin-top: auto; }
.catering-price { display: block; color: #8b4d26; font-size: 12px; margin-bottom: 10px; }
.catering-add { width: 100%; display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 36px; border: 1px solid #a11a14; border-radius: 9px; padding: 7px 10px; background: linear-gradient(#c31c24, #a10811); color: #fff9ed; font-size: 13px; cursor: pointer; }
.catering-add .icon { width: 17px; height: 17px; }
.catering-add:hover { background: #850813; }
.catering-add:disabled { opacity: .55; cursor: wait; }
.catering-selection { padding: 20px 24px 17px; margin-top: 24px; border: 1px solid #ddc49a; border-radius: 10px; background: linear-gradient(115deg, #fffaf0, #fffdf8); }
.selection-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.selection-top .catering-eyebrow { margin-bottom: 4px; font-size: 9px; }
.catering-main .selection-top h3 { font-size: 25px; color: var(--ct-red); }
.selection-next { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #8b1c17; text-decoration: none; }
.selection-next .icon { width: 16px; height: 16px; }
.selection-progress { display: flex; gap: 18px; align-items: center; margin-block: 13px; }
.selection-progress-track { width: 145px; height: 6px; overflow: hidden; background: #eee0c9; border-radius: 10px; flex-shrink: 0; }
.selection-progress-track span { display: block; width: 0; height: 100%; background: #b5141b; transition: width .2s; border-radius: 10px; }
.selection-progress p { font-size: 13px; line-height: 1.45; color: #7c5126; }
.selection-progress .eligible { color: #43602a; }
.selection-content { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; }
#catering-selected { list-style: none; margin: 0; padding: 0; }
#catering-selected:empty + [hidden] { display: none; }
.selection-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; border-top: 1px solid #eadfca; padding: 10px 0; }
.selection-item-name { font-size: 15px; line-height: 1.4; }
.selection-item-name small { display: block; font-size: 11px; color: #79674f; }
.selection-quantity { display: flex; align-items: center; border: 1px solid #d9c3a1; border-radius: 5px; background: #fffdf8; overflow: hidden; }
.selection-quantity button { border: 0; background: transparent; width: 32px; min-height: 34px; color: #94121c; font: 19px Georgia, serif; cursor: pointer; }
.selection-quantity input { width: 42px; border: 0; background: transparent; text-align: center; font-size: 14px; color: #392f21; padding: 6px 0; appearance: textfield; -moz-appearance: textfield; }
.selection-quantity input::-webkit-inner-spin-button { appearance: none; }
.selection-remove { border: 0; background: transparent; color: #8b5d3b; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; cursor: pointer; }
.catering-totals { align-self: start; background: #f7ecd9; padding: 15px; border-radius: 7px; font-size: 13px; line-height: 1.5; }
.catering-totals > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.catering-totals .total-final { border-top: 1px solid #cfb68c; margin-top: 8px; padding-top: 10px; color: var(--ct-red); font-size: 16px; }
.catering-main .catering-totals p { margin-top: 7px; font-size: 12px; }
.catering-totals .discount-ready { color: #48602f; }
.catering-main .selection-footnote { font-size: 11px; line-height: 1.5; color: #73634f; }
.catering-guide { border-top: 1px solid #ebdfc9; border-bottom: 2px solid #d5b681; background: #fffdf7; }
.catering-guide-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 35px; padding-block: 25px; }
.catering-guide h2 { font-size: 28px; }
.catering-guide h2 > span, .catering-request h2 > span { color: #c59142; font-size: 22px; }
.catering-guide-grid > div > p { font-size: 14px; line-height: 1.5; margin-top: 6px; }
.catering-steps { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; text-align: center; }
.catering-steps li { position: relative; }
.catering-steps li:not(:last-child)::after { content: '›'; position: absolute; top: 20px; right: -15px; color: #d4a150; font-size: 38px; }
.step-number { position: absolute; top: 0; left: 5px; width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: #fff8e9; background: #af0b17; font-size: 18px; }
.step-icon { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: #faf0dc; margin: 0 auto 12px; color: #985413; }
.step-icon .icon { width: 35px; height: 35px; }
.catering-main .catering-steps h3 { font-size: 15px; line-height: 1.2; margin-bottom: 6px; }
.catering-steps p { font-size: 12px; line-height: 1.4; }
.catering-reasons { border-left: 1px solid #ecdfc8; padding-left: 30px; }
.catering-reasons h2 { font-size: 24px; }
.catering-reasons-grid { margin-top: 19px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.catering-reasons-grid > div { display: flex; gap: 12px; }
.catering-reasons-grid .icon { width: 31px; height: 31px; color: #97521c; }
.catering-main .catering-reasons-grid h3 { color: var(--ct-red); font-size: 13px; line-height: 1.3; margin-bottom: 4px; }
.catering-reasons-grid p { font-size: 12px; line-height: 1.35; }
.catering-main .catering-notice { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid #dcc29a; border-radius: 7px; background: #fff8e9; font-size: 11px; line-height: 1.4; margin-top: 20px; }
.catering-notice .icon { width: 24px; height: 24px; color: #9c5918; }
.catering-request { position: relative; background: linear-gradient(#fcf8eef0,#fcf8eef0), url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846") center / 110px; }
.catering-request-grid { display: grid; grid-template-columns: 1.18fr 1fr; gap: 30px; padding-block: 30px; }
.catering-form-panel { padding: 23px 25px; border: 1px solid #e9d8ba; border-radius: 10px; background: #fffdf8ed; }
.catering-form-panel h2 { font-size: 30px; }
.catering-form-panel > p { font-size: 14px; line-height: 1.4; margin-top: 5px; }
#catering-fields { padding: 0; margin: 18px 0 0; border: 0; min-width: 0; }
.catering-fields-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 13px 16px; }
.catering-fields-grid > label { font-size: 13px; line-height: 1.4; display: block; }
.catering-fields-grid label > span:not(:last-child), .catering-fields-grid label > span:first-child { color: #a01b1b; }
.field-half { grid-column: span 3; }
.field-email { grid-column: span 3; }
.field-date { grid-column: span 2; }
.field-guests { grid-column: span 1; }
.field-full { grid-column: 1 / -1; }
.catering-fields-grid :is(input:not([type='checkbox']),textarea,select) { display: block; width: 100%; min-width: 0; padding: 10px 11px; margin-top: 6px; border: 1px solid #d8d5cc; border-radius: 5px; background: #fff; color: #332a23; font-size: 14px; line-height: 1.4; box-shadow: none; }
.catering-fields-grid textarea { resize: vertical; min-height: 64px; }
.catering-fields-grid label small { color: #7b6953; display: block; font-size: 10px; line-height: 1.4; margin-top: 4px; }
.catering-fields-grid .catering-consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 2px; font-size: 12px; color: #62523f; line-height: 1.5; }
.catering-consent input { margin-top: 3px; width: 16px; height: 16px; flex-shrink: 0; accent-color: #a60b15; }
.catering-consent span { color: #62523f !important; }
.catering-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.catering-submit { display: flex; justify-content: center; align-items: center; gap: 12px; width: 100%; margin-top: 17px; border: 1px solid #990a11; border-radius: 7px; background: linear-gradient(#bd1520, #a70713); color: #fff9e9; padding: 12px 16px; min-height: 45px; font-size: 16px; cursor: pointer; }
.catering-submit .icon { width: 18px; height: 18px; }
.catering-submit:disabled { background: #ede4d5; color: #6b5b46; border-color: #d7c7ac; cursor: not-allowed; }
.catering-main .catering-submit-note { text-align: center; font-size: 11px; line-height: 1.5; color: #796349; margin-top: 9px; }
.catering-form-error, .catering-load-error { color: #8c1519; background: #fcece6; border: 1px solid #dbb5a6; padding: 12px 15px; border-radius: 6px; font-size: 14px; line-height: 1.5; }
.catering-main .catering-form-error { margin-top: 14px; }
.catering-load-error { margin-bottom: 15px; }
.catering-load-error button, #catering-new-request { border: 1px solid #bc9c6b; background: #fffaf0; color: #922119; border-radius: 6px; padding: 8px 14px; margin-top: 10px; cursor: pointer; }
#catering-loading { font-size: 13px; margin: 8px 0 14px; color: #826b49; }
.catering-aloha { position: relative; align-self: stretch; min-height: 430px; overflow: hidden; border-radius: 9px; }
.catering-aloha > img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 53% center; }
.catering-aloha::after { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg,#301c2070,transparent 62%); }
.catering-aloha > div { position: relative; z-index: 1; padding: 30px 28px; color: #fff5df; transform: rotate(-8deg); }
.catering-aloha > div p { font-size: 66px; color: #ffe0a1; line-height: 1.1; font-style: italic !important; }
.catering-aloha > div span { display: block; font-size: 28px; line-height: 1.2; font-style: italic !important; margin-left: 18px; text-shadow: 0 2px 7px #35101e; }
.catering-success { text-align: center; padding: 27px 5px; }
.catering-success > .icon { width: 55px; height: 55px; color: #677f35; margin-bottom: 16px; }
.catering-main .catering-success h3 { font-size: 24px; color: var(--ct-red); line-height: 1.25; }
.catering-main .catering-success p { font-size: 15px; line-height: 1.6; margin-top: 14px; }
.catering-main .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.catering-noscript { padding: 14px; margin-bottom: 18px !important; background: #f9ecd4; font-size: 15px; line-height: 1.5; }
@media (min-width: 1600px) {
 .catering-hero { background-size: 1600px auto; }
 .catering-hero-copy { max-width: 480px; }
}
@media (max-width: 1100px) {
 .catering-wrap { width: calc(100% - 48px); }
 .catering-hero-inner { min-height: 340px; }
 .catering-hero-description { max-width: 400px !important; }
 .catering-occasions { gap: 12px; }
 .catering-occasions li { font-size: 12px; }
 .catering-hero-note { right: 10px !important; font-size: 20px !important; }
 .catering-promotion { gap: 13px; padding-inline: 18px; }
 .catering-promotion > span { padding-left: 15px; font-size: 10px; }
 .catering-grid { gap: 12px; }
 .catering-card-copy { padding: 11px; }
 .catering-main .catering-card h3 { font-size: 17px; }
 .catering-main .catering-card p { font-size: 13px; }
 .catering-add { font-size: 12px; gap: 6px; }
 .catering-guide-grid { grid-template-columns: 1.3fr 1fr; gap: 20px; }
 .catering-guide h2 { font-size: 24px; }
 .catering-reasons { padding-left: 20px; }
 .catering-reasons h2 { font-size: 21px; }
 .catering-reasons-grid { gap: 16px 10px; }
 .catering-reasons-grid > div { gap: 7px; }
 .catering-reasons-grid .icon { width: 25px; height: 25px; }
 .catering-request-grid { grid-template-columns: 1.4fr 1fr; gap: 18px; }
 .catering-form-panel { padding: 20px 18px; }
 .catering-form-panel h2 { font-size: 27px; }
 .field-email { grid-column: span 6; }
 .field-date, .field-guests { grid-column: span 3; }
 .catering-aloha > div p { font-size: 57px; }
}
@media (max-width: 760px) {
 .catering-wrap { width: calc(100% - 32px); }
 .catering-hero { background-position: right top; background-size: auto calc(100vw * .58); padding-top: calc(100vw * .58); }
 .catering-hero-inner { min-height: 0; }
 .catering-hero-copy { width: 100%; text-align: center; padding: 24px 0 28px; }
 .catering-main .catering-eyebrow { font-size: 9px; letter-spacing: 1.6px; }
 .catering-main h1 { font-size: clamp(41px,8vw,58px); line-height: 1; letter-spacing: -1px; }
 .catering-hero-lead { font-size: 19px; max-width: 400px; margin-inline: auto !important; }
 .catering-main .catering-hero-description { font-size: 14px; max-width: 395px !important; margin: 10px auto 0; line-height: 1.5; }
 .catering-occasions { margin: 20px auto 0; max-width: 430px; gap: 9px; }
 .catering-occasions li { flex: 1; font-size: 11px; }
 .catering-occasions li > span { width: 43px; height: 43px; }
 .catering-occasions .icon { width: 23px; height: 23px; }
 .catering-main .catering-hero-note { display: none; }
 .catering-promotion-wrap { margin-top: 0; }
 .catering-promotion { flex-wrap: wrap; text-align: center; gap: 7px; padding: 14px 16px; border-radius: 10px; }
 .catering-promotion > .icon { display: none; }
 .catering-promotion p { font-size: 23px; line-height: 1.25; }
 .promo-break { display: block; }
 .catering-promotion > span { width: 100%; border: 0; padding: 0; font-size: 10px; }
 .catering-promotion > span br { display: none; }
 .catering-promo-flower { width: 85px; top: 12px; }
 .catering-promo-flower.left { left: -62px; }
 .catering-promo-flower.right { right: -62px; }
 .catering-menu-section { padding-block: 27px 25px; }
 .catering-main h2 { font-size: 27px; }
 .catering-section-heading { gap: 8px; }
 .catering-section-heading > span { font-size: 19px; }
 .catering-main .catering-section-intro { font-size: 14px; }
 .catering-menu-note { display: block; text-align: center; font-size: 11px; line-height: 1.6; margin-top: 13px; }
 .catering-menu-note > span:first-child { justify-content: center; }
 .catering-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
 .catering-card > img { aspect-ratio: 1.7; }
 .catering-main .catering-card h3 { font-size: 17px; line-height: 1.2; }
 .catering-main .catering-card p { font-size: 12px; line-height: 1.4; }
 .catering-add { font-size: 12px; min-height: 38px; padding: 7px 5px; gap: 6px; }
 .catering-price { font-size: 11px; }
 .catering-add .icon { width: 15px; height: 15px; }
 .catering-selection { padding: 17px 15px; margin-top: 19px; }
 .selection-top { display: block; }
 .catering-main .selection-top h3 { font-size: 24px; }
 .selection-next { margin-top: 8px; font-size: 13px; }
 .selection-progress { display: block; margin-block: 15px; }
 .selection-progress-track { width: 100%; margin-bottom: 8px; }
 .selection-progress p { font-size: 12px; }
 .selection-content { display: block; }
 .selection-row { gap: 8px; grid-template-columns: minmax(0,1fr) auto; }
 .selection-remove { grid-column: 1; justify-self: start; padding: 0 0 3px; }
 .selection-item-name { font-size: 14px; }
 .selection-quantity { grid-column: 2; grid-row: span 2; }
 .selection-quantity button { width: 30px; }
 .selection-quantity input { width: 32px; font-size: 16px; }
 .catering-totals { margin-top: 10px; }
 .catering-main .selection-footnote { margin-top: 12px; font-size: 11px; }
 .catering-guide-grid { display: block; padding-block: 26px; }
 .catering-guide h2 { font-size: 27px; }
 .catering-guide-grid > div > p { font-size: 14px; }
 .catering-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 21px; margin-top: 23px; }
 .catering-steps li:not(:last-child)::after { display: none; }
 .step-number { left: calc(50% - 51px); }
 .catering-steps p { max-width: 140px; margin-inline: auto; }
 .catering-main .catering-steps h3 { font-size: 16px; }
 .catering-reasons { margin-top: 27px; padding: 23px 0 0; border: 0; border-top: 1px solid #e7d9bd; }
 .catering-reasons h2 { font-size: 25px; }
 .catering-reasons-grid { gap: 20px 15px; }
 .catering-reasons-grid .icon { width: 29px; height: 29px; }
 .catering-reasons-grid h3 { font-size: 13px !important; }
 .catering-request-grid { display: flex; flex-direction: column; gap: 20px; padding-block: 22px; }
 .catering-form-panel { padding: 20px 17px; }
 .catering-form-panel h2 { font-size: 27px; }
 .catering-form-panel h2 > span { display: none; }
 .catering-form-panel > p { font-size: 14px; line-height: 1.5; margin-top: 7px; }
 .catering-fields-grid { gap: 14px 12px; }
 .catering-fields-grid :is(input:not([type='checkbox']),textarea,select) { font-size: 16px; padding: 11px 10px; }
 .field-half { grid-column: span 6; }
 .field-date { grid-column: span 4; }
 .field-guests { grid-column: span 2; }
 .catering-submit { font-size: 16px; }
 .catering-aloha { min-height: 260px; }
 .catering-aloha > img { object-position: center; }
 .catering-aloha > div { padding: 24px; }
 .catering-aloha > div p { font-size: 55px; }
 .catering-aloha > div span { font-size: 24px; }
}
@media (max-width: 360px) {
 .catering-wrap { width: calc(100% - 24px); }
 .catering-grid { gap: 9px; }
 .catering-card-copy { padding: 9px; }
 .catering-main .catering-card h3 { font-size: 16px; }
 .catering-add .icon { display: none; }
 .catering-main h2 { font-size: 24px; }
 .catering-section-heading { gap: 5px; }
 .catering-section-heading > span { font-size: 14px; }
 .catering-promotion p { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { .catering-main *, .catering-main *::before, .catering-main *::after { transition: none !important; scroll-behavior: auto !important; } }
.catering-menu-tools { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:24px 0; }
.catering-menu-tools label { display:grid; gap:6px; flex:1 1 220px; }
.catering-menu-tools input,.catering-menu-tools select { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid #ccbda6; border-radius:6px; background:#fffdf8; color:#39261f; }
.catering-menu-pages { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; margin:24px 0; }
.catering-menu-pages button { min-height:44px; padding:8px 14px; border:1px solid #a20712; border-radius:6px; background:#fffdf8; color:#8b0710; cursor:pointer; }
.catering-menu-pages button:disabled { opacity:.5; cursor:default; }
.catering-options { width:min(560px,calc(100% - 32px)); border:1px solid #ccbda6; border-radius:12px; padding:24px; background:#fffaf2; }
.catering-options::backdrop { background:#190407b8; }
#catering-options-close { display:block; margin-left:auto; width:44px; height:44px; border:1px solid #ccbda6; border-radius:50%; background:white; color:#8b0710; font-size:28px; cursor:pointer; }
.catering-options fieldset { border:1px solid #ccbda6; padding:16px; margin:16px 0; }
.catering-options label { display:flex; align-items:center; gap:12px; min-height:44px; }
.catering-options input { width:20px; height:20px; accent-color:#a20712; }

.catering-pickup-note { margin-top:16px !important; padding:12px; background:#fff5df; border-left:3px solid #a30d1a; font-size:16px; line-height:1.5; }
.catering-quote-link { display:inline-block; margin-top:14px; color:#8d111b; text-underline-offset:4px; }
.catering-mode { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:16px; }
.catering-mode label { display:flex; gap:8px; align-items:center; padding:12px; border:1px solid #d5b681; border-radius:6px; cursor:pointer; }
.catering-mode input { width:18px; height:18px; accent-color:#990814; }
#catering-payment-notice { font-size:14px; line-height:1.6; margin-bottom:16px; }
.catering-payment-result { margin-block:24px; padding:24px; border:1px solid #d5b681; border-radius:10px; background:#fff8e9; overflow-wrap:anywhere; }
.catering-payment-result p { margin-top:12px; }
.catering-payment-result a,.catering-payment-result button { display:inline-block; margin:12px 12px 0 0; padding:10px; }
.catering-options,.catering-options * { font-family:var(--site-font) !important; }
.catering-card > img { object-fit:contain; background:#fff8eb; }
.catering-card-copy { display:flex; flex-direction:column; flex:1; }
.catering-card-bottom { margin-top:auto; flex-wrap:wrap; }
.catering-price { line-height:1.5; }
.catering-main h1 { line-height:1.15; letter-spacing:0; }
.catering-main h2 { font-size:29px; line-height:1.35; }
.catering-form-panel h2 { font-size:27px; }
.catering-options { max-height:85dvh; overflow-y:auto; }
/* Clover ordering replaces only the former catering menu section. */
.catering-clover-card { display:grid; grid-template-columns:1.05fr 1fr; overflow:hidden; border:1px solid #d7b477; border-radius:20px; background:#fffdf7; box-shadow:0 12px 35px #6533190d; }
.catering-clover-copy { position:relative; padding:42px clamp(24px,3.4vw,48px); background:radial-gradient(ellipse at top left,#fff0d2,transparent 70%); }
.catering-main .catering-clover-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:16px; color:#996823; font-size:11px; letter-spacing:2px; line-height:1.5; }
.catering-clover-eyebrow .icon { width:27px; height:27px; }
.catering-main .catering-clover-copy h2 { font-size:clamp(30px,3.3vw,46px); color:#8d0b19; line-height:1.2; }
.catering-main .catering-clover-description { max-width:430px; margin-top:15px; font-size:18px; line-height:1.6; color:#654d39; }
.catering-clover-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; margin-top:24px; min-height:54px; padding:13px 24px; border:1px solid #ae7c37; border-radius:9px; background:linear-gradient(120deg,#a10819,#710b18); box-shadow:0 6px 16px #8e122024; color:#fff7e6; text-decoration:none; font-size:18px; transition:background .2s,box-shadow .2s; }
.catering-clover-button:hover { background:#670c17; box-shadow:0 8px 22px #8e122035; }
.catering-clover-button .icon { width:21px; height:21px; color:#f7dca0; }
.catering-clover-button .icon:last-child { width:17px; }
.catering-main .catering-clover-note { margin-top:17px; max-width:420px; color:#82674a; font-size:13px; line-height:1.6; }
.catering-clover-photo { position:relative; min-width:0; background:#eedcc4; }
.catering-clover-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.catering-clover-photo > span { position:absolute; right:18px; bottom:18px; left:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border:1px solid #d8b87580; border-radius:8px; background:#3d0b17e8; color:#fff3d6; font-size:16px; line-height:1.5; }
.catering-clover-photo > span > span { color:#edc571; font-size:24px; }
@media(max-width:760px) {
 .catering-clover-card { grid-template-columns:1fr; border-radius:15px; }
 .catering-clover-copy { padding:28px 24px; }
 .catering-main .catering-clover-description { font-size:17px; }
 .catering-clover-photo { height:260px; }
 .catering-clover-photo > span { right:14px; bottom:14px; left:14px; font-size:14px; }
}
@media(max-width:400px) {
 .catering-clover-copy { padding:25px 18px; }
 .catering-clover-button { width:100%; padding-inline:14px; font-size:17px; }
 .catering-clover-photo { height:220px; }
}
@media(max-width:760px) { .catering-main h1 { font-size:40px; } .catering-main h2 { font-size:27px; } .catering-card-bottom { display:block; } .catering-add { margin-top:8px; width:100%; } }
