.reservation-page{max-width:1180px;margin:0 auto;padding:2rem 1.25rem 4rem;color:#18392f;font:400 1rem/1.7 system-ui,sans-serif}.reservation-page *{box-sizing:border-box}.reservation-page h1{font:650 clamp(2rem,4.5vw,3.5rem)/1.12 Georgia,serif;letter-spacing:-.025em;margin:.6rem 0 1rem}.reservation-page h2{font-size:1.5rem;line-height:1.3;margin:.5rem 0 1rem}.reservation-page h3{font-size:1.08rem;line-height:1.5;margin:.5rem 0}.reservation-page a{color:#245a43;text-underline-offset:.2em}.reservation-page p{margin:.65rem 0}.reservation-eyebrow{font-size:.875rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:#7a541c}.reservation-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;margin-bottom:2rem}.reservation-hero figure{margin:0}.reservation-hero img{display:block;width:100%;height:300px;object-fit:cover;border-radius:12px}.reservation-hero figcaption{font-size:.875rem;line-height:1.5;color:#52645a;padding-top:.55rem}.reservation-actions{display:flex;gap:.65rem 1rem;flex-wrap:wrap;align-items:center;margin:1rem 0}.reservation-page .reservation-button,.reservation-page button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1rem;background:#234f3d;color:#fff;border:1px solid #234f3d;border-radius:6px;font:700 1rem/1.4 system-ui;cursor:pointer;text-decoration:none}.reservation-page button[data-copy-text]{background:#f0f6f1;color:#234f3d;border-color:#bdd0c3;font-size:.875rem}.reservation-page .reservation-button:hover,.reservation-page button:hover{background:#173b2c;color:#fff}.reservation-page :is(button,a,input,select,textarea):focus-visible{outline:3px solid #ae791d;outline-offset:3px}.reservation-filter{display:grid;grid-template-columns:1fr 1fr 1.5fr auto auto;gap:.8rem;align-items:end;padding:1rem;border:1px solid #becfc3;border-radius:10px;background:#f3f7f3}.reservation-page label{display:grid;gap:.35rem;font-size:.9375rem;font-weight:650;min-width:0}.reservation-page input,.reservation-page select,.reservation-page textarea{width:100%;max-width:100%;min-height:46px;padding:.65rem .7rem;border:1px solid #9aafa1;border-radius:5px;background:#fff;color:#18392f;font:400 1rem/1.45 system-ui}.reservation-filter>a{padding:.65rem 0}.restaurant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.25rem 0}.restaurant-card{padding:1.4rem;border:1px solid #c6d6cb;border-top:4px solid #9a7940;border-radius:10px;background:#fff}.restaurant-korean{font-size:1.15rem;font-weight:700}.restaurant-address{padding:.6rem .8rem;background:#f1f6f2;border-radius:5px}.reservation-small,.reservation-note{font-size:.875rem;color:#52645a;line-height:1.6}.reservation-guide{padding:1.3rem;border:1px solid #cad8cf;border-radius:9px;background:#f3f7f3;margin:2rem 0}.reservation-heading{max-width:780px;margin-bottom:1.5rem}.reservation-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0}.reservation-tabs a{padding:.8rem 1rem;border:1px solid #bacfc0;border-radius:8px;text-decoration:none;font-weight:750}.reservation-tabs a[aria-current=page]{color:#fff;background:#234f3d;border-color:#234f3d}.reservation-plan{border:1px solid #b9cfc1;padding:1.3rem;border-radius:10px;background:#f4f8f5}.reservation-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.reservation-selected{padding-bottom:1rem}.reservation-summary{display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem;margin:1.5rem 0;padding:1.3rem;border:1px solid #c7d7cd;border-radius:10px}.reservation-summary textarea{resize:vertical;font-size:.9375rem;min-height:215px}.reservation-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.reservation-provider-grid article{padding:1.3rem;border:1px solid #b6c9bd;border-radius:9px;background:#fff}.reservation-error{padding:1rem;border:1px solid #9e3a22;color:#842b18;background:#fff3ef}.reservation-empty{padding:1.5rem;background:#f3f7f3;border-radius:8px}.reservation-page [data-copy-status]{overflow-wrap:anywhere}.booking-home-links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1rem 0}.booking-home-links a{font-weight:750;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:800px){.reservation-hero,.reservation-summary{grid-template-columns:1fr}.reservation-hero img{height:240px}.reservation-filter{grid-template-columns:1fr 1fr}.reservation-fields{grid-template-columns:1fr 1fr}.restaurant-grid{grid-template-columns:1fr}}
@media(max-width:480px){.reservation-page{padding:1.25rem 1rem 3rem}.reservation-filter,.reservation-fields,.reservation-provider-grid{grid-template-columns:1fr}.reservation-tabs a{flex:1 1 100%;text-align:center}.restaurant-card{padding:1rem}.reservation-actions .reservation-button{width:100%}.reservation-page input[type=date]{min-width:0}}

/* Bright text on the shared dark site canvas; preserve contrast on light panels. */
.reservation-page{color:#f4f1e9}
.reservation-page a{color:#bde7d0}
.reservation-page .reservation-eyebrow{color:#edc77b}
.reservation-page :is(.reservation-note,.reservation-small,.reservation-hero figcaption){color:#c7d3cd}
.reservation-page :is(.restaurant-card,.reservation-filter,.reservation-guide,.reservation-plan,.reservation-provider-grid article,.reservation-empty){color:#344e43}
.reservation-page :is(.restaurant-card,.reservation-filter,.reservation-guide,.reservation-plan,.reservation-provider-grid article,.reservation-empty) a{color:#306747}
.reservation-page :is(.restaurant-card,.reservation-guide,.reservation-provider-grid article) .reservation-eyebrow{color:#805b22}
.reservation-page :is(.restaurant-card,.reservation-guide) :is(.reservation-small,.reservation-note){color:#53665b}
.reservation-page a.reservation-button,.reservation-page .reservation-tabs a[aria-current=page]{color:#fff}
.reservation-page .reservation-tabs a:not([aria-current=page]):hover{background:#24382f;color:#fff}
