/* Same compact visit layout as the two planned restaurant visits. */
.completed-visit { background:#f4eee7; color:#211815; font:16px/1.65 Arial,sans-serif; }
.completed-visit header { width:min(1132px,calc(100% - 40px)); padding:16px 0; }
.completed-visit main { width:min(1132px,calc(100% - 40px)); padding:34px 0 36px; }
.completed-visit h1 { max-width:920px; font:700 clamp(36px,5.5vw,64px)/1.08 Arial,sans-serif; letter-spacing:-.045em; margin:0; }
.completed-visit h2 { font:700 26px/1.3 Arial,sans-serif; letter-spacing:-.025em; margin:0 0 14px; }
.completed-visit .eyebrow { color:#285761; font-size:12px; margin:16px 0 12px; }
.visit-status { margin:0 0 22px; color:#285761; font-weight:650; font-size:14px; }
.completed-visit .travel-distinction { font-size:14px; color:#73604a; opacity:1; }
.completed-visit-intro { margin-bottom:28px; }
.visit-lead { max-width:800px; font-size:18px; line-height:1.65; }
.completed-restaurant-facts { padding:24px; background:#fffaf4; border:1px solid #d6c8b9; border-radius:14px; }
.completed-restaurant-facts>p { max-width:850px; }
.completed-restaurant-facts dl { display:flex; flex-wrap:wrap; gap:20px 48px; margin:24px 0; }
.completed-restaurant-facts dt { font-size:14px; color:#73604a; margin-bottom:6px; }
.completed-restaurant-facts dd { margin:0; font-weight:650; }
.visit-source-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.visit-source-links a { min-height:44px; display:inline-flex; align-items:center; color:#285761; text-underline-offset:4px; }
.completed-visit-sections { padding:24px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.completed-visit-sections>details { min-width:0; border:1px solid #d6c8b9; border-radius:10px; background:#fffaf4; scroll-margin-top:180px; }
.completed-visit-sections>details[open] { grid-column:1/-1; }
.completed-visit-sections>details>summary { display:flex; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; min-height:58px; align-items:center; padding:14px 18px; font-weight:700; font-size:16px; }
.completed-visit-sections summary::-webkit-details-marker { display:none; }
.completed-visit-sections summary:focus-visible { outline:3px solid #aa522d; outline-offset:-3px; border-radius:10px; }
.completed-visit-sections summary span { font-size:24px; color:#934624; }
.completed-visit-sections details[open]>summary span { transform:rotate(45deg); }
.visit-section-body { padding:18px; border-top:1px solid #d6c8b9; }
.visit-section-body .menu { padding:0; border:0; }
.visit-section-body .chapter { margin-top:30px; }
.visit-section-body .chapter:first-child { margin-top:0; }
.visit-section-body figure { margin:0; }
.visit-landscape { max-width:480px; margin:0 auto!important; }
.visit-vineyard { display:block; width:100%; height:auto; border-radius:8px; }
.visit-landscape figcaption { color:#73604a; font-size:14px; margin-top:6px; }
.visit-section-body .arrival img { height:auto; max-height:480px; object-fit:contain; }
.visit-section-body .michelin-photo img { max-height:480px; object-fit:contain; }
.visit-skip-link { position:absolute; top:0; left:-9999px; z-index:100; padding:12px; background:#fffaf4; color:#285761; }
.visit-skip-link:focus { left:16px; }
@media(max-width:820px) { .completed-visit header { position:sticky; top:0; z-index:30; background:#f4eee7; gap:12px; } .completed-visit header>span { display:none; } .completed-visit header>b { font-size:18px; } }
@media(max-width:700px) { .completed-visit main,.completed-visit header { width:calc(100% - 40px); } .completed-visit-sections { grid-template-columns:1fr; } .completed-visit main { padding-top:26px; } .visit-lead { font-size:16px; } .completed-restaurant-facts { padding:20px; } .visit-section-body { padding:16px; } .visit-section-body .menu,.visit-section-body .arrival { grid-template-columns:1fr; } }
