
#touristRecommendations{margin:12px 0 22px;padding:18px 14px;border-radius:22px;background:#f3f6fc;color:#192b4c;text-align:start;min-width:0;box-sizing:border-box}
#touristRecommendations h1{font-size:23px;margin:8px 0 16px;line-height:1.4}
#touristRecommendations .tourist-time{font-size:13px;color:#405577;font-weight:800}
#touristRecommendations .tourist-place{padding:0;border:1px solid #d9e2f0;border-radius:17px;background:#fff;min-width:0;align-self:start;box-sizing:border-box}
#touristRecommendations .tourist-place.is-featured{border:2px solid #315fc2}
#touristRecommendations .tourist-place-header{display:flex;align-items:center;gap:12px;min-height:72px;padding:16px;cursor:pointer;list-style:none;box-sizing:border-box}
#touristRecommendations .tourist-place-header::-webkit-details-marker{display:none}
#touristRecommendations .tourist-place-heading{flex:1;min-width:0}
#touristRecommendations .tourist-place h2,#touristRecommendations .tourist-place h3{margin:0;font-size:19px;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}
#touristRecommendations .tourist-address{font-size:13px;line-height:1.65;color:#52617a;margin:6px 0 0;word-break:keep-all;overflow-wrap:break-word}
#touristRecommendations .tourist-place-indicator{flex:none;font-size:24px;line-height:1}
#touristRecommendations .tourist-place[open]>.tourist-place-header .tourist-place-indicator{transform:rotate(180deg)}
#touristRecommendations .tourist-place-content{padding:0 16px 16px;min-width:0}
#touristRecommendations .tourist-description{font-size:14px;line-height:1.65;margin:0 0 12px;word-break:keep-all;overflow-wrap:break-word}
#touristRecommendations .tourist-summary-description{margin:6px 0 0;font-size:13px;color:#52617a;line-height:1.5}
#touristRecommendations .tourist-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,86px),1fr));gap:8px;margin-top:8px;min-width:0}
#touristRecommendations .tourist-actions>a,#touristRecommendations .tourist-actions>button{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:48px;box-sizing:border-box;padding:10px 8px;border:1px solid #c5d3e8;border-radius:12px;background:#eef3fb;color:#193466;font:inherit;font-size:14px;font-weight:800;text-decoration:none;white-space:normal;word-break:keep-all;overflow-wrap:break-word;text-align:center;max-width:100%;cursor:pointer;line-height:1.45}
#touristRecommendations .tourist-content-actions{grid-template-columns:1fr;margin-top:0}
#touristRecommendations .tourist-content-actions>a:first-child{background:#172b54;color:#fff}
#touristRecommendations .tourist-actions>button:disabled{opacity:.5;cursor:default}
#touristRecommendations .tourist-actions>button:hover,#touristRecommendations .tourist-actions>a:hover{filter:brightness(.96)}
#touristRecommendations .tourist-actions>:focus-visible,#touristRecommendations summary:focus-visible{outline:3px solid #315fc2;outline-offset:3px}
#touristRecommendations .tourist-action-group{margin-top:16px;padding-top:12px;border-top:1px solid #e4eaf4}
#touristRecommendations .tourist-action-group h4{margin:0;font-size:13px;line-height:1.5;color:#52617a;font-weight:800}
#touristRecommendations .tourist-all{margin-top:18px}
#touristRecommendations .tourist-all>summary{min-height:44px;padding:9px 0;font-weight:800;cursor:pointer}
#touristRecommendations .tourist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
#touristRecommendations .tourist-handoff-note{margin:14px 0 0;font-size:12px;line-height:1.7;color:#52617a;word-break:keep-all;overflow-wrap:break-word}
#touristRecommendations .tourist-selected{padding:12px;background:#e2edff;border-radius:12px;font-size:14px;line-height:1.6;overflow-wrap:break-word}
@media(max-width:760px){
 #touristRecommendations{padding:16px 12px}
 #touristRecommendations h1{font-size:22px}
 #touristRecommendations .tourist-grid{grid-template-columns:minmax(0,1fr)}
 #touristRecommendations .tourist-place-header{padding:14px 12px}
 #touristRecommendations .tourist-place-content{padding:0 12px 14px}
 #touristRecommendations .tourist-taxi-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
 #touristRecommendations .tourist-route-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 #touristRecommendations .tourist-route-actions>button:last-child{grid-column:1/-1}
 #touristRecommendations .tourist-actions:not(.tourist-content-actions):not(.tourist-route-actions):not(.tourist-taxi-actions){grid-template-columns:1fr}
}

/* Destination recovery remains usable within the visual viewport / keyboard. */
.travel-dialog.tourist-recovery{position:fixed;inset-inline:0;bottom:auto;margin:0 auto;overscroll-behavior:contain;scroll-padding-block:16px 64px}
.tourist-recovery h2{font-size:20px;line-height:1.4;margin:0 0 12px}
.tourist-recovery form,.tourist-recovery label{display:grid;gap:8px;min-width:0;margin-block:10px}
.tourist-recovery input,.tourist-recovery select{box-sizing:border-box;min-width:0;width:100%;min-height:48px;font:inherit;font-size:16px;padding:10px;border:1px solid #bdcce0;border-radius:10px;background:#fff;color:#152238}
.tourist-recovery button,.tourist-recovery-actions a,[data-tourist-recover]{box-sizing:border-box;min-height:48px;max-width:100%;padding:12px;border:1px solid #bdcce0;border-radius:10px;background:#eef3fb;color:#193466;font:inherit;line-height:1.5;text-align:center;white-space:normal;overflow-wrap:break-word;cursor:pointer}
.tourist-recovery form>button{width:100%;background:#172b54;color:#fff}
.tourist-recovery-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.tourist-recovery-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none}
.tourist-recovery-status,.tourist-recovery-note{font-size:14px;line-height:1.65;overflow-wrap:break-word}
.tourist-recovery-note{color:#52617a;font-size:12px}
.tourist-recovery>button:last-child{position:sticky;bottom:0;width:100%;background:#fff;border:2px solid #315fc2;z-index:1;box-shadow:0 -8px 12px #ffffffed}
.tourist-recovery-results{display:grid;gap:8px;margin-block:12px}
.tourist-recovery-results button{text-align:start}
[data-tourist-recover]{display:block;width:100%;margin-block:12px}
