.rd-page,.rd-map { color:#183a2c; font:400 15px/1.65 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rd-page *,.rd-map * { box-sizing:border-box; }
.rd-page { max-width:1100px; margin:0 auto 48px; }
.rd-page h2 { margin:0 0 18px; font:500 clamp(27px,3vw,38px)/1.2 Georgia,serif; color:#183a2c; }
.rd-page h3 { margin:0 0 12px; color:#183a2c; font-size:18px; }
.rd-intro { max-width:700px; font-size:18px; margin-bottom:24px; }
.rd-benefits { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:38px; }
.rd-benefits>div { background:#194532; color:#fff; border-radius:16px; padding:22px 26px; }
.rd-benefits strong,.rd-benefits span { display:block; }
.rd-benefits strong { font-size:24px; }.rd-benefits span { color:#e1eadd; font-size:14px; }
.rd-zone-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:24px 0 16px; }
.rd-zone { border:1px solid #e4dbcc; border-radius:14px; background:#fffdf9; padding:22px; }
.rd-zone p { margin:8px 0; }.rd-zone small { display:block; color:#59645d; line-height:1.6; }
.rd-dot { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:8px; }
.rd-zone-green .rd-dot { background:#43884e; }.rd-zone-red .rd-dot { background:#c64b46; }.rd-zone-yellow .rd-dot { background:#c09629; }
.rd-discount-note,.rd-confirm,.rd-map-note { font-size:13px; color:#59645d; }
.rd-map { margin:22px 0; }.rd-map .rf-zone-map { width:100%; height:auto; display:block; max-height:460px; object-fit:contain; background:#f5f1e8; border:1px solid #e4dbcc; border-radius:14px; }
.rd-map-button,.rd-menu { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 20px; border:0; border-radius:10px; background:#194532; color:#fff!important; text-transform:none; font-weight:600; text-decoration:none!important; cursor:pointer; }
.rd-map button.rd-map-button { background:#194532!important; color:#fff!important; text-transform:none!important; box-shadow:none; }
.rd-map-note { margin:10px 0 0!important; }.rd-map-note a { text-decoration:underline; color:#194532; }
.rd-map-frame { height:460px; overflow:hidden; border:1px solid #e4dbcc; border-radius:14px; }
.rd-map-frame iframe { width:100%; height:100%; display:block; border:0; }
.rd-page [hidden],.rd-map [hidden] { display:none!important; }
.rd-pickup { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:30px; margin:36px 0; background:#eff4ec; border:1px solid #d9e3d5; border-radius:18px; }
.rd-eyebrow { margin-top:0; color:#43884e; font-weight:600; }.rd-steps ol { padding-left:24px; }.rd-steps li { padding:6px 0; }
.rd-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:26px; }.rd-phone { color:#194532; text-decoration:underline; }
.rd-page :is(a,button):focus-visible,.rd-map :is(a,button):focus-visible { outline:3px solid #987039; outline-offset:3px; }
.rf-zone-controls .rd-map { margin:12px 0; }.rf-zone-controls .rd-map-frame { height:360px; }
@media(max-width:767px) { .rd-zone-cards,.rd-pickup { grid-template-columns:1fr; }.rd-benefits { gap:10px; }.rd-benefits>div { padding:16px; }.rd-benefits strong { font-size:19px; }.rd-benefits span { font-size:12px; }.rd-pickup { padding:22px; gap:12px; }.rd-map-frame { height:380px; }.rd-map-button { width:100%; }.rd-zone { padding:18px; }.rd-actions { align-items:stretch; flex-direction:column; }.rd-phone { padding:10px 0; } }

/* The street map belongs in a viewport-sized dialog, never in the order sidebar. */
.rd-map-dialog { box-sizing:border-box; width:min(1120px,calc(100vw - 40px)); max-width:none; height:min(820px,calc(100dvh - 40px)); max-height:none; margin:auto; padding:0; border:1px solid #e4dbcc; border-radius:18px; background:#fffdf9; color:#183a2c; font:400 14px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; box-shadow:0 24px 80px #0004; }
.rd-map-dialog[open] { display:flex; flex-direction:column; }
.rd-map-dialog::backdrop { background:rgba(12,28,21,.65); }
.rd-map-dialog * { box-sizing:border-box; }
.rd-dialog-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px; }
.rd-dialog-header h2 { margin:0 0 4px; color:#183a2c; font:500 28px/1.2 Georgia,serif; }
.rd-dialog-header p { margin:0; color:#59645d; font-size:13px; }
.rd-map-dialog button.rd-dialog-close { flex-shrink:0; width:44px; height:44px; min-height:44px; padding:0; border:1px solid #d9e3d5; border-radius:50%; background:#eff4ec!important; color:#194532!important; font:400 30px/1 sans-serif; cursor:pointer; }
.rd-dialog-map { flex:1; min-height:0; background:#eff4ec; border-block:1px solid #e4dbcc; }
.rd-dialog-map iframe { display:block; width:100%; height:100%; border:0; }
.rd-dialog-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 24px; color:#59645d; font-size:12px; }
.rd-dialog-footer a { color:#194532; text-decoration:underline; white-space:nowrap; padding:8px 0; }
.rd-map-dialog :is(a,button):focus-visible { outline:3px solid #987039; outline-offset:3px; }
.rf-zone-controls .rd-map-button { width:100%; padding:12px; font-size:13px; line-height:1.5; }
@media(max-width:600px) {
 .rd-map-dialog { width:calc(100vw - 16px); height:calc(100dvh - 24px); border-radius:14px; }
 .rd-dialog-header { padding:16px; gap:10px; }
 .rd-dialog-header h2 { font-size:23px; }
 .rd-dialog-header p { font-size:12px; }
 .rd-dialog-footer { padding:10px 16px; flex-direction:column; align-items:flex-start; gap:2px; }
 .rd-dialog-footer a { min-height:44px; display:inline-flex; align-items:center; }
}
