.guide-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin:30px 0}.guide-directory h3{font-size:1.2rem;border-bottom:1px solid #cac7c4;padding-bottom:12px}.guide-directory ul,.next-reading ul{padding-left:20px}.guide-directory li,.next-reading li{margin:10px 0}.site-footer .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}.sources-panel{margin-top:35px;padding:16px;border-top:1px solid #d5d3d1;font-size:.9rem}.sources-panel summary{cursor:pointer;font-weight:650;color:#214d57}.sources-panel ul{overflow-wrap:anywhere}.quick-answer{border-left:4px solid #34725c;background:#f7f8f5;padding:22px 26px;margin:0 0 28px}.quick-answer h2{margin-top:0}.tool-panel{background:#edebea;border:1px solid #cbc7c4;border-radius:4px;padding:26px;margin:30px 0}.tool-panel h2{margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.form-grid label,.map-controls label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.95rem}.form-grid input,.map-controls input,.map-controls select{font:inherit;max-width:100%;min-width:0;padding:10px;border:1px solid #8caf9a;border-radius:3px;background:#fff;color:#292b29}.tool-result{background:#fff;margin:20px 0;padding:22px;border-left:4px solid #214d57}.budget-total{font:700 1.7rem Georgia,serif;display:block;margin:10px 0}.budget-breakdown{font-size:.95rem}.map-controls{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin:24px 0}.map-controls label:has(input[type=checkbox]){flex-direction:row;align-items:center;font-weight:400}.places-map{position:relative;border:1px solid #bebab6;background:#e5e3e2;overflow:hidden}.places-map>img{width:100%;height:auto;display:block}.places-map>svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.places-map svg a{cursor:pointer}.places-map svg circle{fill:#214d57;stroke:#fff;stroke-width:3}.places-map svg text{font:bold 17px system-ui;fill:#fff;pointer-events:none;text-anchor:middle}.place-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.place-list li{border:1px solid #d4d1cf;background:#fff;padding:16px;margin:0}.place-list h3{font-size:1.15rem;margin:0 0 8px}.place-list p{font-size:.9rem;margin:5px 0}.places-fallback{margin:25px 0}.js .places-fallback{display:none}.next-reading{background:#edeceb;padding:24px;margin-top:36px;border-top:3px solid #34725c}.next-reading h2{font-size:1.6rem;margin-top:8px}.route-small{margin:25px 0}.route-small img{width:100%;height:auto}.private-notice{padding:10px;background:#eeedec;color:#36233e}.hotel-card,.ticket{overflow-wrap:anywhere}.article-content table{max-width:100%}.article-title .hero-bits{flex-wrap:wrap}.footer-links a{overflow-wrap:anywhere}.guide-directory a{text-decoration-thickness:1px;text-underline-offset:3px}.article-sidebar .toc-panel ol{max-height:52vh;overflow:auto;scrollbar-width:thin}.article-title h1{overflow-wrap:break-word}.article-content>div{max-width:100%}
@media(max-width:1050px){.guide-directory{grid-template-columns:1fr 1fr}.site-footer .footer-grid{grid-template-columns:1fr 1fr}.main-nav{gap:0}.main-nav>li>a,.main-nav summary{padding-left:13px;padding-right:13px}}
@media(max-width:650px){.guide-directory,.place-list{grid-template-columns:1fr}.guide-directory{gap:12px}.form-grid,.map-controls{grid-template-columns:1fr}.tool-panel{padding:18px 16px;margin-left:0;margin-right:0}.tool-result{padding:17px}.quick-answer{padding:18px}.places-map svg text{font-size:21px}.places-map svg circle{r:22px}.site-footer .footer-grid{grid-template-columns:1fr}.map-controls{gap:14px}.article-sidebar .toc-panel ol{max-height:none}.budget-total{font-size:1.5rem}}
.menu-drop.has-current>summary:after{transform:scaleX(1)}.submenu a[aria-current=page]{color:var(--brick);font-weight:750}.modal-map-viewport{position:relative}.modal-map-viewport>img{width:100%;height:auto}.modal-map-pins{position:absolute;inset:0;width:100%;height:100%}.modal-map-pins circle{fill:var(--brick);stroke:#fff;stroke-width:2}.modal-map-pins text{fill:#fff;text-anchor:middle;font:700 15px system-ui}.modal-map-pins a:focus-visible circle{stroke:var(--gold);stroke-width:5}
@media print{.map-controls,[data-save-budget],.places-fallback,.sources-panel{display:none}.place-list{grid-template-columns:1fr 1fr}.guide-directory{grid-template-columns:1fr 1fr}.tool-panel{break-inside:avoid;background:white}.places-map>svg{position:absolute}.next-reading{display:none}}
/* Clear navigation groups and the common map category key. */
.submenu.menu-wide{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;width:560px;max-width:calc(100vw - 48px)}.submenu-group{min-width:0}.submenu-group strong{padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:8px}.main-nav>li:nth-last-child(-n+3) .submenu{left:50%;right:auto;transform:translateX(-50%)}.places-legend{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:16px 0;font-size:12px;color:var(--ink)}.places-legend li{display:flex;align-items:center;gap:8px;margin:0}.category-dot{display:inline-block;width:10px;height:10px;flex:none;border-radius:50%;background:var(--place-color)}.place-list li{border-top:3px solid var(--place-color)}.place-category{display:flex;align-items:center;gap:7px;color:var(--place-color);font-size:10px;font-weight:750;letter-spacing:.5px;margin-bottom:9px}.place-list .place-description{line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-height:3.2em;margin-bottom:12px}.place-list li>a{font-size:12px}.places-map svg circle{fill:var(--place-color,#214d57)}.modal-map-pins circle{fill:var(--place-color,#214d57)}
@media(min-width:761px) and (max-width:1050px){.main-nav{gap:8px;justify-content:space-between}.main-nav>li>a,.main-nav summary{padding-inline:4px}}
@media(max-width:760px){.submenu.menu-wide{display:block;width:100%;max-width:none}.submenu-group+.submenu-group{margin-top:22px}.main-nav>li:nth-last-child(-n+3) .submenu{left:auto;right:auto;transform:none}.places-legend{font-size:11px;gap:9px 15px}}

/* Commercial tickets retain their perforation, clear hierarchy and touch targets. */
.activity-ticket p{font-size:13px;line-height:1.8;color:var(--ink)}
.activity-ticket p.activity-note{font-size:12px;color:var(--muted);margin-top:9px}
.activity-ticket .ticket-icon{align-self:stretch;height:auto;min-height:86px}
.activity-ticket .button{min-height:44px}
.ticket-compact{grid-template-columns:30px minmax(0,1fr);gap:14px;padding:23px 18px;margin:23px 0}
.ticket-compact .ticket-icon{grid-row:1/3;padding-right:9px}
.ticket-compact .ticket-icon .icon{width:22px;height:22px}
.ticket-compact h3{font-size:23px}
.ticket-compact p{font-size:12px}
.ticket-compact .button{grid-column:2;max-width:100%;justify-self:start}
.ticket-compact .eyebrow{font-size:8px}
.sidebar-commercial-intro{font-size:12px;line-height:1.8;margin:24px 0 -10px}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.activity-grid .ticket{grid-template-columns:34px minmax(0,1fr);margin:0;align-items:start;padding:25px 22px;gap:16px}
.activity-grid .ticket-icon{grid-row:1/3;padding-right:9px}
.activity-grid .ticket h3{font-size:25px}
.activity-grid .ticket .button{grid-column:2;justify-self:start;max-width:100%;align-self:end}
.activity-grid .ticket p{font-size:13px}
.merchant-inline{border-left:2px solid var(--brick);padding-left:16px}
.merchant-inline a{font-size:14px;font-weight:650}
.merchant-inline .icon{width:16px;vertical-align:middle;margin-left:5px}
.day-heading .day-number{background:#6b3f7d}.day-heading.day-two .day-number{background:#214d57}.day-heading.day-three .day-number{background:#34725c}
.map-legend span:before{background:#6b3f7d}.map-legend .second:before{background:#214d57}.map-legend .third:before{background:#34725c}
@media(max-width:1040px){.activity-grid{gap:20px}.activity-grid .ticket{padding:22px 17px;gap:12px}}
@media(max-width:760px){.activity-grid{grid-template-columns:1fr;gap:24px}.activity-grid .ticket{padding:25px 22px}.activity-ticket p{font-size:13px}.activity-ticket p.activity-note{font-size:12px}.activity-ticket .button{font-size:12px;padding:12px 15px}.activity-ticket .eyebrow{font-size:9px}.activity-grid .ticket h3{font-size:26px}}

/* Prune as the main accent: pale surfaces, charcoal headings and quiet supporting details. */
:root{--sea-light:#f6f3ef;--brick-light:#f4eff5;--gold-light:#f4f1ed;--ticket-edge:#d9d1dc}
a{color:var(--brick)}
h1,h2,h3,h4,.brand,.header-note b,.guide-index,.map-figure h3,.mini-facts b,.fare-price,.tool-result strong{color:var(--ink)}
:focus-visible{outline:3px solid var(--brick);outline-offset:5px}
.site-header{background:#fff;border-top:1px solid var(--line)}
.nav-shell{background:#fff;border-block:1px solid var(--line)}
.main-nav>li>a,.menu-drop>summary{color:var(--ink)}
.main-nav>li>a:hover,.menu-drop>summary:hover,.main-nav>li>a[aria-current=page],.menu-drop[open]>summary,.menu-drop.has-current>summary{color:var(--brick)}
.main-nav>li>a:after,.menu-drop>summary:after{background:var(--brick);height:2px}
.submenu{border-top-width:2px;box-shadow:0 10px 24px #29282d0d}
.submenu a{color:var(--ink)}
.submenu a:hover,.submenu a[aria-current=page]{color:var(--brick)}
.mobile-menu-button{color:var(--ink);border-color:var(--line);min-height:44px}
.hero-home,.article-hero,.paper-section{background:var(--paper)}
.header-note{border-color:var(--line)}
.eyebrow{color:#716676}
.hero-copy>.eyebrow,.hero-copy h1 em{color:var(--brick)}
.hero-photo:before{border-color:#cfc7c5}
.hero-tag{background:#fffdf9;border-color:#d9d3ce;box-shadow:4px 4px 0 #ded8d347;color:var(--ink)}
.hero-tag:after{border-color:#ded8d3}
.hero-footnote:before{background:#c6b9cc}
.guide-index{background:#fffdf9;border-color:var(--line)}
.section-title h2:after{background:#c6b4ce}
.hero-bits>span,.byline,.credit,.day-meta,.day-tile-description,.reading-nav a,.tool label,.map-credit{color:var(--muted)}
.reading-nav-label{background:var(--sand);color:var(--muted)}
.quick-answer{background:var(--paper);border-color:var(--line);border-top-color:#d2c2d8;border-left-color:#d2c2d8}
.quick-answer h2{color:var(--ink)}
.article-sidebar .toc-panel{background:var(--paper);border-color:var(--line);border-top-color:#c6b4ce}
th{background:var(--sand);color:var(--ink);border-bottom:1px solid var(--line)}
.ticket,.activity-ticket{background:#fff;border-color:var(--ticket-edge)}
.ticket-icon{border-right-color:#d9d1dc}
.ticket:before,.ticket:after{border-color:var(--ticket-edge)}
.ticket:before{border-left-color:transparent}.ticket:after{border-right-color:transparent}
.ticket .button,.mobile-actions a{background:var(--brick);border-color:var(--brick);color:#fff}
.ticket .button:hover,.mobile-actions a:hover{background:var(--brick-dark);border-color:var(--brick-dark);color:#fff}
.button.secondary{color:var(--ink);border-color:#c5bdc8}
.button.secondary:hover{background:var(--sand);color:var(--brick)}
.budget-note,.tool,.tool-panel,.next-read,.next-reading{background:var(--paper);border-color:var(--line)}
.budget-note{border-left-color:#c6b4ce}
.tool:before{background:#d2c2d8}
.tool-result{border-color:var(--line);border-left-color:var(--brick)}
.money-eur,.mini-facts b .money-eur,.budget-note .money-eur,.fare-price .money-eur,.conversion-note,.result-label{color:var(--muted)}
.decision-box{background:#fff;border-top-color:#d2c2d8}
.help-note{border-color:var(--line);border-left-color:#c6b4ce}
.article-content .photo figcaption{border-left-color:var(--line)}
.map-figure{background:#fff;border-color:var(--line)}
.map-eyebrow{color:var(--muted)}
.map-button,.places-map,.place-list li,.form-grid input,.map-controls input,.map-controls select{border-color:#ccc5ce}
.next-read:before{background:#c6b4ce}
.day-heading .day-number{color:#6b3f7d}.day-heading:before{background:#6b3f7d}
.day-heading.day-two .day-number{color:#214d57}.day-heading.day-two:before{background:#214d57}
.day-heading.day-three .day-number{color:#34725c}.day-heading.day-three:before{background:#34725c}
.modal-map-pins a:focus-visible circle{stroke:#29282d;stroke-width:5}
.site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.site-footer .brand{color:var(--ink)}.site-footer .brand img{filter:none}
.site-footer p,.footer-brand p,.footer-bottom,.footer-links a,.credits-trigger{color:var(--muted)}
.footer-links strong{color:var(--ink);border-bottom-color:var(--line)}
.footer-bottom{border-top-color:var(--line)}
.footer-links a:hover,.credits-trigger:hover{color:var(--brick)}
@media(max-width:760px){.main-nav>li>a,.menu-drop>summary{border-bottom-color:var(--line)}.submenu{border-left-color:#d2c2d8}.main-nav>li>a[aria-current=page]{border-left-color:var(--brick)}}

/* Approved editorial reading links. */
.editorial-link{display:inline-flex;align-items:center;gap:18px;max-width:100%;min-height:52px;padding:3px 0;color:var(--brick);font:400 22px/1.35 var(--serif);text-decoration:none}
.editorial-label{border-bottom:1px solid currentColor;padding-bottom:4px}
.editorial-disc{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;flex:none;transition:background .18s,color .18s,transform .18s}
.editorial-disc .icon{width:18px;height:18px}
.editorial-link:hover{color:var(--brick-dark)}
.editorial-link:hover .editorial-disc{background:var(--brick);border-color:var(--brick);color:#fff;transform:translateX(3px)}
.editorial-link-small{font-size:18px;gap:12px;min-height:44px}
.editorial-link-small .editorial-disc{width:34px;height:34px}

/* Original reservation buttons, with a dashed line as the only visual addition. */
.activity-ticket .button,a.button[data-hotel]{position:relative}
.activity-ticket .button:after,a.button[data-hotel]:after{content:'';position:absolute;inset:4px;border:1px dashed #ffffff9c;border-radius:1px;pointer-events:none}
@media(max-width:760px){.hero-actions{gap:15px 22px}.hero-actions .editorial-link{font-size:21px;gap:14px}}
@media(prefers-reduced-motion:reduce){.editorial-disc{transition:none;transform:none!important}}
@media print{.editorial-link{display:none!important}}
/* Photographs retain their composition in the reading column. */
.article-content .photo-natural img{height:auto;max-height:none;object-fit:contain}
.article-content .photo-portrait{width:min(100%,420px);margin-inline:auto}
.credits-list small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px}

/* Guide Bristol: the longer name stays legible beside the mobile menu. */
.brand strong{white-space:nowrap}
.brand>span{min-width:0}
@media(max-width:760px){.site-header .brand strong,.site-footer .brand strong{font-size:32px}}
@media(max-width:360px){.site-header .brand strong,.site-footer .brand strong{font-size:28px}.site-header .brand small{font-size:7.5px;letter-spacing:.8px}}

/* Only the current language is visible until the reader opens the picker. */
.language-switcher{position:relative;flex:0 0 auto;font-size:12px;line-height:1.4;color:var(--muted,#626b68)}
.site-footer .language-switcher{display:inline-block;vertical-align:middle;margin-left:auto;color:#b9ccc6}
.site-footer .language-options{top:auto;bottom:calc(100% + 4px)}
.language-picker>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-width:42px;min-height:44px;padding:8px 5px;cursor:pointer;list-style:none;font-size:11px;letter-spacing:.05em;font-weight:600}
.language-picker>summary::-webkit-details-marker{display:none}
.language-chevron{width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.language-picker[open] .language-chevron{transform:translateY(1px) rotate(225deg)}
.language-options{position:absolute;top:calc(100% + 4px);right:0;z-index:60;min-width:160px;padding:6px;background:var(--paper,#fffdf8);border:1px solid var(--line,#dedbd5);box-shadow:0 8px 24px #173e4814}
.language-picker:not([open])>.language-options{display:none}
.language-options a{display:block;color:var(--petrol,#173e48);text-decoration:none;padding:9px 12px;font-size:13px;white-space:nowrap}
.language-options a:hover,.language-options a[aria-current=page]{background:#214d570b}
.language-options a[aria-current=page]{font-weight:700}
.language-picker>summary:focus-visible,.language-options a:focus-visible{outline:2px solid var(--brick,#9b4a36);outline-offset:2px}
@media(max-width:700px){.main-nav a,.main-nav summary{overflow-wrap:anywhere}}

.offer-language{display:block;margin:.55rem 0;font-size:.8rem;line-height:1.5;color:inherit}
