.visual-drs{background:radial-gradient(circle at 20% 8%,#17472f 0,transparent 38%),#061e18;color:#eef3e8;padding:24px 32px 34px}
.visual-drs .drs-context{margin-bottom:18px}.visual-result-card{border:1px solid #536a47;border-radius:24px;padding:24px;background:linear-gradient(135deg,#102f22,#092219);box-shadow:0 20px 55px #0002}
.visual-primary{display:grid;grid-template-columns:minmax(240px,43%) 1fr;gap:28px;align-items:start}.visual-food figure{max-width:none}.visual-food .bb-food-image,.visual-food .bb-food-placeholder{width:100%;height:auto;aspect-ratio:4/3;border-radius:19px;object-fit:cover}
.visual-copy h1{font:600 clamp(27px,4vw,38px)/1.18 Poppins,sans-serif;color:#f5f6ec;letter-spacing:-.9px;margin:7px 0 13px}.visual-copy .bb-eyebrow{color:#e7bf69;letter-spacing:.09em}.compact-score{display:flex;align-items:center;gap:13px;margin:8px 0 15px}.compact-score strong{font-size:42px;line-height:1;color:#b8df8b;letter-spacing:-2px}.compact-score strong span{font-size:17px;color:#aab8a4;letter-spacing:0}.fit-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:1px solid #71975f;border-radius:999px;color:#d2eba9;font-size:12px;font-weight:800}.visual-why{font-size:14px;line-height:1.65;color:#d1dbca;margin:0 0 16px}.portion-brief{border-left:2px solid #e8b452;padding-left:13px;font-size:13px;line-height:1.55;color:#c5d1bf}.portion-brief b{display:block;color:#ead28e;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.score-explain{margin-top:18px;border:1px solid #36533c;border-radius:13px;background:#0a281e}.score-explain summary{list-style:none;padding:13px 15px;display:flex;justify-content:space-between;cursor:pointer;color:#dce7d3;font-size:12px}.score-explain summary::-webkit-details-marker{display:none}.score-factors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 15px 15px}.score-factor{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:10px;color:#afc0aa}.score-factor meter{grid-column:1/-1;width:100%;height:6px;accent-color:#a9ce78}.score-factor strong{color:#efd07e}
.visual-sip{display:grid;grid-template-columns:100px 1fr;gap:17px;align-items:center;border:1px solid #456044;border-radius:18px;padding:16px;margin-top:20px;background:#113124}.visual-sip figure,.visual-sip .bb-food-placeholder{width:100%;height:80px}.visual-sip .bb-food-image{width:100%;height:80px;object-fit:cover;border-radius:12px}.visual-sip h2{font-size:19px;color:#f3f4e9;margin:3px 0 5px}.visual-sip p{font-size:12px;line-height:1.55;color:#b9c9b4;margin:0}.visual-sip .bb-eyebrow{color:#a8d18c}
.visual-drs .choice-switch{margin-top:17px}.visual-drs .choice-switch button{min-width:0;text-align:left}.visual-drs .choice-switch button.low-fit span:first-child{color:#f0c56c}.rank-food{display:block;max-width:21ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25}.rank-subtitle{display:block;font-size:8px;letter-spacing:.04em;font-weight:600}.candidate-provenance{margin:10px 0 0;padding:8px 11px;border:1px solid #77683b;border-radius:10px;color:#e4d39f;background:#2d2918;font-size:10px;font-weight:700}.visual-details{margin-top:18px}.visual-actions{margin-top:19px}.visual-pro-back{width:100%;margin:13px 0 0;min-height:44px;border:1px solid #6c8358;border-radius:11px;color:#d8e2ce;font-size:12px}.visual-drs .bb-alternatives{margin-top:23px}.visual-drs .alternative-choice p{display:none}.visual-drs .bb-toolbox,.visual-drs .recovery-plan{margin-top:22px}
.manual-dietary-confirm{padding:16px;border:1px solid #c98a2c;border-radius:16px;background:#fff9ed;color:#183b2e}.manual-dietary-confirm h3{font-size:15px;font-weight:800}.manual-dietary-confirm p{margin-top:6px;font-size:12px;line-height:1.5}.manual-rule-list{font-weight:700;color:#8c601e}.manual-dietary-confirm div{display:flex;gap:9px;margin-top:12px}.manual-dietary-confirm button{min-height:44px;flex:1;border:1px solid #c98a2c;border-radius:11px;padding:8px 12px;font-size:12px;font-weight:700}.manual-dietary-confirm button:first-child{background:#c98a2c;color:white}
.recovery-visual{padding:20px;border:1px solid #54755f;border-radius:22px;background:linear-gradient(145deg,#103c2d,#0b2f24);color:#f5f0df}.recovery-visual header{margin-bottom:14px}.recovery-visual h2{font-size:22px;font-weight:800}.recovery-meal-card{display:grid;grid-template-columns:minmax(180px,42%) 1fr;gap:18px;align-items:center}.recovery-image .food-image-frame,.recovery-image .image-fallback{aspect-ratio:4/3;width:100%;border-radius:16px;overflow:hidden}.recovery-image img{width:100%;height:100%;object-fit:cover}.recovery-meal-card h3,.recovery-sip-card h3{font-size:20px;font-weight:800;line-height:1.15}.recovery-meal-card p:last-child{margin-top:7px;color:#d7e2d5;font-size:12px;line-height:1.45}.recovery-sip-card{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;margin-top:14px;padding:12px;border:1px solid #486a55;border-radius:15px;background:#123a2d}.recovery-sip-card .drink-image-frame,.recovery-sip-card .image-fallback{width:88px;aspect-ratio:4/3;border-radius:12px;overflow:hidden}.recovery-sip-card img{width:100%;height:100%;object-fit:cover}.recovery-portion{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:14px;padding:11px 13px;border-radius:12px;background:#1d4938;font-size:12px}.recovery-portion span{color:#d8b96d;font-weight:800;text-transform:uppercase}.recovery-visual details{margin-top:10px;padding:11px 13px;border:1px solid #486a55;border-radius:12px}.recovery-visual summary{display:flex;justify-content:space-between;font-weight:750;cursor:pointer}.recovery-visual details p{margin-top:9px;color:#d7e2d5;font-size:12px;line-height:1.5}.recovery-visual .recovery-note{margin-top:12px;color:#afc2b2;font-size:10px;line-height:1.4}
@media(max-width:600px){.manual-dietary-confirm div{flex-direction:column}.recovery-visual{padding:15px}.recovery-meal-card{grid-template-columns:1fr}.recovery-image .food-image-frame,.recovery-image .image-fallback{max-height:210px}.recovery-sip-card{grid-template-columns:76px 1fr}.recovery-sip-card .drink-image-frame,.recovery-sip-card .image-fallback{width:72px}}
.visual-drs .choice-switch:has(>button:only-child){grid-template-columns:1fr}.visual-drs .choice-switch:has(>button:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.dietary-evidence{display:inline-flex;width:max-content;margin:2px 0 12px;padding:6px 10px;border-radius:999px;border:1px solid #6e956b;color:#d7efc7;font-size:9px;font-weight:900;letter-spacing:.06em}.dietary-evidence.confirm{border-color:#c59b48;color:#f3d486}
.dietary-effective{display:grid;gap:3px;margin:-2px 0 12px;padding:9px 11px;border:1px solid #456044;border-radius:11px;background:#0b291f;color:#bfcfba;font-size:9px}.dietary-effective b{color:#f2df9f}.dietary-effective span:last-child{color:#d6e8cb}
.dietary-passport{border:1px solid #d9c38a;border-radius:18px;background:#fffaf0;padding:17px;color:#163b2d}.dietary-passport header{display:flex;justify-content:space-between;gap:12px;align-items:start}.dietary-passport h3{font-size:17px!important;margin:0;color:#183f30}.dietary-passport p{font-size:11px!important;margin:4px 0 0;color:#657369}.passport-switch{min-height:36px!important;padding:7px 12px;border-radius:999px!important;background:#173f30;color:#fff;font-weight:800}.passport-profiles,.passport-rules{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.passport-profiles button,.passport-rules button{min-height:38px!important;padding:7px 10px;border:1px solid #d7dfd3;border-radius:999px!important;background:#fff;color:#234638;font-size:11px!important}.passport-profiles button[aria-pressed=true],.passport-rules button[aria-pressed=true]{background:#1c8354;color:#fff;border-color:#1c8354}.passport-custom{display:flex;gap:7px;margin-top:10px}.passport-custom input{flex:1;min-width:0}.passport-status{margin-top:11px!important;padding-top:10px;border-top:1px solid #e4dfcf;color:#355c49!important;font-weight:700}
.menu-entry-paths{margin-top:16px;padding:16px;border:1px solid #dce8e1;border-radius:18px;background:#fff}.menu-entry-paths h3{font-size:15px!important;margin:0 0 4px}.menu-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.menu-entry-grid button{min-height:58px!important;padding:8px!important;border:1px solid #dce8e1;border-radius:11px!important;background:#f5f9f6;color:#173f30;font-size:11px!important}.availability-entry{display:grid;grid-template-columns:1fr auto;gap:7px}.availability-entry input{min-width:0}.page-order{position:absolute;left:4px;bottom:4px;display:flex;gap:3px}.page-order button{width:25px;height:25px;min-height:25px!important;padding:0!important;border-radius:7px!important;background:#082d23dd;color:white;font-size:12px!important}
.place-match-panel{background:#f7f8f2;border:1px solid #d8e0d3;border-radius:17px;padding:15px;margin-bottom:14px}.place-match-panel h3{font-size:17px!important;margin:0;color:#163d2e}.place-match-panel p{font-size:11px!important;line-height:1.5!important;margin:5px 0;color:#65766b}.place-strategies{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.place-strategies button{min-height:40px!important;font-size:10px!important;border:1px solid #cad8cb;border-radius:10px!important;background:#fff;color:#244d3a}.place-strategies button[aria-pressed=true]{background:#174834;color:#fff}.place-result{border-top:1px solid #dae2d7;padding:12px 0}.place-result h4{font-size:14px!important;margin:0 0 4px}.place-result small{display:block;color:#6a776e;margin-bottom:8px}.place-result a{display:inline-flex;padding:8px 11px;border-radius:9px;background:#174834;color:#fff;text-decoration:none;font-size:11px}.place-trust{color:#795f25!important;font-weight:700}
.dietary-card{max-width:520px;background:#fffdf5;border:2px solid #d6ac4f;border-radius:20px;padding:22px;color:#153b2d}.dietary-card h2{font-size:24px;margin:0 0 8px}.dietary-card .local-message{font-size:20px;line-height:1.55;font-weight:650;margin:15px 0}.dietary-card ul{padding-left:20px}.dietary-card button{width:100%;margin-top:12px;min-height:46px;border-radius:12px;background:#174834;color:#fff}
@media(max-width:639px){.visual-drs{padding:17px 14px 25px}.visual-result-card{padding:17px}.visual-primary{grid-template-columns:1fr;gap:17px}.visual-food{order:0}.visual-copy{order:1}.visual-copy h1{font-size:27px}.compact-score strong{font-size:38px}.score-factors{grid-template-columns:1fr}.visual-sip{grid-template-columns:88px 1fr}.menu-entry-grid{grid-template-columns:1fr 1fr}.availability-entry{grid-template-columns:1fr}.dietary-passport header{flex-direction:column}.passport-switch{width:100%}.place-strategies{grid-template-columns:1fr}.visual-drs .bb-actions{grid-template-columns:repeat(2,1fr)}.rank-food{max-width:12ch;font-size:9px}.visual-drs .choice-switch button{padding-left:7px;padding-right:7px}.rank-subtitle{font-size:7px}}
[dir=rtl] .portion-brief{border-left:0;border-right:2px solid #e8b452;padding-left:0;padding-right:13px}[dir=rtl] .visual-copy,[dir=rtl] .dietary-passport,[dir=rtl] .place-match-panel{text-align:right}
.recovery-image figure,.recovery-image .bb-food-placeholder{aspect-ratio:4/3;width:100%;border-radius:16px;overflow:hidden}.recovery-sip-card figure,.recovery-sip-card .bb-food-placeholder{width:88px;aspect-ratio:4/3;border-radius:12px;overflow:hidden}@media(max-width:600px){.recovery-image figure,.recovery-image .bb-food-placeholder{max-height:210px}.recovery-sip-card figure,.recovery-sip-card .bb-food-placeholder{width:72px}}

/* Image closeout: keep missing media compact and representative captions visible. */
.visual-food figure,.recovery-image figure,.recovery-sip-card figure,.visual-sip figure{margin:0;height:auto;max-height:none;overflow:visible}
.recovery-image figure,.recovery-sip-card figure{aspect-ratio:auto}
.visual-food .bb-food-image,.recovery-image .bb-food-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.recovery-sip-card .bb-food-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.visual-food figcaption,.recovery-image figcaption,.recovery-sip-card figcaption,.visual-sip figcaption{margin-top:6px;font-size:11px;line-height:1.4;color:#c0cdbb}
.visual-food .bb-food-placeholder,.recovery-image .bb-food-placeholder{box-sizing:border-box;width:100%;height:auto;min-height:64px;max-height:none;aspect-ratio:auto;padding:14px}
.visual-primary:has(.visual-food>.bb-food-placeholder){grid-template-columns:1fr;gap:14px}
.recovery-meal-card:has(.recovery-image>.bb-food-placeholder){grid-template-columns:1fr;gap:12px}
.recovery-sip-card .bb-food-placeholder{height:auto;min-height:64px;aspect-ratio:auto}

/* DRS image library: non-blank integrity-safe pending visual. Never substitutes a different dish photo. */
.bb-image-pending{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 82% 18%,rgba(218,176,77,.22),transparent 34%),linear-gradient(145deg,#163d2c,#0b261b 72%);border:1px solid rgba(207,177,101,.34)!important;color:#f2f4e9!important;min-height:105px}
.bb-image-pending:before{content:"";position:absolute;inset:auto -12% -45% 28%;height:95%;border-radius:50%;background:rgba(255,255,255,.035);z-index:-1}
.bb-image-pending .bb-placeholder-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(222,190,111,.5);background:rgba(222,190,111,.08);color:#e0bd68;font-size:22px;line-height:1}
.bb-image-pending strong{max-width:92%;font:600 12px/1.45 Poppins,system-ui,sans-serif;text-align:center;color:#f5f3e8}
.bb-image-pending small{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:#a9bea9}

.bb-maps-search .sourcing-alternative-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.bb-maps-search a{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}.bb-maps-search p{font-size:12px;line-height:1.5}.bb-maps-search .action-primary{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:10px;background:#174834;color:#fff;text-decoration:none}@media(max-width:639px){.bb-maps-search .sourcing-alternative-buttons>a{width:100%}}

/* Scoped Maps contrast: override inherited action-dialog link colours. */
body .bb-maps-search a.action-primary,body .bb-maps-search a.action-primary:visited{color:#fff!important;-webkit-text-fill-color:#fff!important;background:#174834!important;border:1px solid #537760;font-weight:600;gap:6px}
body .bb-maps-search a.action-primary span{color:inherit!important;-webkit-text-fill-color:inherit!important}
body .bb-maps-search a.action-primary:hover{color:#ffdf91!important;-webkit-text-fill-color:#ffdf91!important;background:#0d3426!important;border-color:#ffdf91}
body .bb-maps-search a.action-primary:focus-visible,.place-match-panel .place-strategies button:focus-visible{outline:3px solid #d6a937!important;outline-offset:3px;box-shadow:0 0 0 5px #102f24}
body .bb-maps-search a.action-primary[aria-disabled="true"],.place-match-panel .place-strategies button:disabled{background:#40594d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1;cursor:not-allowed;pointer-events:none;border-style:dashed}
.place-match-panel .place-strategies button{color:#244d3a!important;background:#fff!important}
.place-match-panel .place-strategies button[aria-pressed="true"]{background:#174834!important;color:#fff!important}
.place-match-panel .place-strategies button:hover:not(:disabled){background:#e5ecd9!important;color:#173c2a!important}
