/* The tourism directory is isolated from the museum and existing editorial spaces. */
.pcgr-tourism [hidden]{display:none!important}
.pcgr-tourism{--tourism-line:#355564;--tourism-ink:#dcebf0;scroll-margin-top:110px}
.pcgr-tourism-byline{font-size:calc(12px * var(--reading-scale,1));border-left:2px solid #b7c894;padding-left:14px;margin:-9px 0 30px!important;color:#d2daba!important}
.pcgr-tourism-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:22px;background:#0b1c28;border:1px solid var(--tourism-line);border-radius:8px}
.pcgr-tourism-field{display:flex;flex-direction:column;gap:8px;min-width:180px;flex:1}
.pcgr-tourism-field:first-of-type{flex:1.6}
.pcgr-tourism-field label{font-size:calc(12px * var(--reading-scale,1));color:#ccdde7}
.pcgr-tourism-field input,.pcgr-tourism-field select{font:inherit;font-size:calc(14px * var(--reading-scale,1));color:#e4eff4;min-height:46px;padding:10px 12px;max-width:100%;width:100%;background:#061520;border:1px solid #527384;border-radius:4px}
.pcgr-tourism-field input::placeholder{color:#a1b7c4;opacity:1}
.pcgr-tourism-clear{display:inline-flex;align-items:center;min-height:46px;font-size:calc(12px * var(--reading-scale,1));color:#bce0e5;text-decoration:underline;text-underline-offset:4px}
.pcgr-tourism-statusline{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:24px 0 16px;font-size:calc(13px * var(--reading-scale,1))}
.pcgr-tourism-statusline p{margin:0;color:#d3e5e9}
.pcgr-tourism-statusline a{text-decoration:underline;text-underline-offset:4px;color:#bce0e5;min-height:44px;display:inline-flex;align-items:center}
.pcgr-tourism-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:24px;align-items:start}
.pcgr-tourism-map-panel,.pcgr-tourism-directory{min-width:0}
.pcgr-tourism-canvas{height:590px;min-height:350px;width:100%;position:relative;isolation:isolate;border:1px solid #52707a;border-radius:8px;background:radial-gradient(ellipse at 60% 35%,#183b49,#081b27 75%);font-family:inherit;color:#dcebf0}
.pcgr-tourism-canvas:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#87b5c40b 1px,transparent 1px),linear-gradient(90deg,#87b5c40b 1px,transparent 1px);background-size:42px 42px;z-index:0}
.pcgr-tourism-map-fallback{position:absolute;top:40%;left:12%;right:12%;text-align:center;font-size:calc(14px * var(--reading-scale,1));margin:0}
.pcgr-tourism-canvas .leaflet-control-zoom{border:1px solid #688791;border-radius:5px;box-shadow:0 4px 16px #0005;overflow:hidden}
.pcgr-tourism-canvas .leaflet-control-zoom a{background:#112e3b;color:#e7f3f5;border-color:#557080;width:42px;height:42px;line-height:42px}
.pcgr-tourism-canvas .leaflet-control-zoom a:hover{background:#20495a}
.pcgr-tourism-canvas .leaflet-control-zoom a.leaflet-disabled{background:#142a34;color:#7795a2}
.pcgr-tourism-canvas .leaflet-control-attribution{background:#061522e8;color:#afc5ce;font-size:11px;padding:4px 7px;max-width:calc(100% - 20px);line-height:1.4}
.pcgr-tourism-canvas .leaflet-control-attribution a{color:#c6e6ed;text-decoration:underline}
.pcgr-tourism-pin{background:none;border:none}
.pcgr-tourism-pin-shape{display:block;width:29px;height:29px;transform:rotate(-45deg);border-radius:50% 50% 50% 2px;border:2px solid #ebf5dd;background:#c7d39a;box-shadow:0 3px 8px #00151dbb;margin:2px;position:relative}
.pcgr-tourism-pin-shape>span{display:block;position:absolute;inset:7px;border-radius:50%;background:#143c47}
.pcgr-tourism-pin:hover .pcgr-tourism-pin-shape,.pcgr-tourism-pin.is-selected .pcgr-tourism-pin-shape{background:#f4dfa7;border-color:#fff6d6;box-shadow:0 0 0 5px #e5c08630,0 4px 12px #0008}
.pcgr-tourism-pin:focus{outline:3px solid #fff!important;outline-offset:6px;border-radius:6px}
.pcgr-tourism-map-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:14px}
.pcgr-tourism-map-tools>span{font-size:calc(10px * var(--reading-scale,1));letter-spacing:.08em;color:#96b1bf}
.pcgr-tourism-map-help{font-size:calc(12px * var(--reading-scale,1))!important;margin:14px 0!important}
.pcgr-tourism-tiles{border-top:1px solid var(--tourism-line);padding-top:18px;margin-top:18px}
.pcgr-tourism-tiles p{font-size:calc(12px * var(--reading-scale,1));margin:0 0 12px}
.pcgr-tourism-tiles a{color:#c1e0e7;text-decoration:underline;text-underline-offset:3px}
.pcgr-tourism-tiles .eco-button{font-size:calc(12px * var(--reading-scale,1));text-align:left}
.pcgr-tourism-tiles .eco-button:disabled{opacity:.8;cursor:default}
.pcgr-tourism-tiles-status:empty{display:none}
.pcgr-tourism-tiles-status{margin:12px 0 0!important}
.pcgr-tourism-directory>h3{font-size:calc(22px * var(--reading-scale,1));margin:0 0 18px;line-height:1.35;scroll-margin-top:110px}
.pcgr-tourism-list{margin:0;padding:0;list-style:none;display:grid;gap:16px;max-height:750px;overflow-y:auto;padding-right:6px;scrollbar-color:#557988 #0b1d2a;scrollbar-width:thin}
.pcgr-tourism-list>li{list-style:none;margin:0;padding:0;min-width:0}
.pcgr-tourism-card{border:1px solid var(--tourism-line);border-radius:7px;background:#0b1e2b;overflow:hidden}
.pcgr-tourism-card.is-selected{border-color:#c5cf9c;box-shadow:0 0 0 1px #c5cf9c55}
.pcgr-tourism-card-copy{padding:23px}
.pcgr-tourism-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.pcgr-tourism-card h4{font-size:calc(21px * var(--reading-scale,1));font-weight:500;line-height:1.25;margin:0 0 9px;color:#e3eff1;overflow-wrap:anywhere;scroll-margin:20px}
.pcgr-tourism-kind{font-size:calc(10px * var(--reading-scale,1))!important;letter-spacing:.04em;color:#c6d19e!important;margin:0 0 10px!important}
.pcgr-tourism-city{font-size:calc(13px * var(--reading-scale,1));margin:0 0 10px!important;color:#b8ced7!important}
.pcgr-tourism-details summary{padding:9px 0;min-height:44px;cursor:pointer;color:#c5dfe7;font-size:calc(13px * var(--reading-scale,1));text-decoration:underline;text-underline-offset:4px;list-style:none}
.pcgr-tourism-details summary::-webkit-details-marker{display:none}
.pcgr-tourism-details p{font-size:calc(13px * var(--reading-scale,1));margin:10px 0 15px;overflow-wrap:anywhere}
.pcgr-tourism-website{display:inline-flex;align-items:center;min-height:44px;font-size:calc(13px * var(--reading-scale,1));text-decoration:underline;color:#bde5e9;text-underline-offset:4px}
.pcgr-tourism-locate{margin-top:14px;font-size:calc(12px * var(--reading-scale,1))}
.pcgr-tourism-empty{padding:27px;border:1px dashed #547780;border-radius:7px;font-size:calc(14px * var(--reading-scale,1));background:linear-gradient(150deg,#18344066,#0a1825);color:#c1d3dc!important}
.pcgr-tourism-visit-note{margin-top:25px;font-size:calc(12px * var(--reading-scale,1))!important}
.pcgr-tourism :is(a,button,input,select,summary):focus-visible{outline:3px solid #c1e5ed;outline-offset:3px}
.pcgr-tourism-proposal{margin-top:68px;border-top:1px solid #355564;padding-top:48px;max-width:940px}
.pcgr-tourism-proposal h2{font-size:calc(35px * var(--reading-scale,1));line-height:1.2}
.pcgr-tourism-proposal h3{font-size:calc(26px * var(--reading-scale,1));margin-top:35px}
.pcgr-tourism-proposal p,.pcgr-tourism-proposal li{font-size:calc(15px * var(--reading-scale,1));line-height:1.85;color:#b4c7d2}
.pcgr-tourism-proposal li{margin:7px 0}
.pcgr-tourism-proposal-sections{border-top:1px solid #355564;margin-top:32px}
.pcgr-tourism-proposal-detail{border-bottom:1px solid #355564}
.pcgr-tourism-proposal-detail>summary{padding:22px 5px;cursor:pointer;list-style:none;color:#d5e5ec}
.pcgr-tourism-proposal-detail>summary::-webkit-details-marker{display:none}
.pcgr-tourism-proposal-detail>summary h3{font-size:calc(22px * var(--reading-scale,1));margin:0;line-height:1.5}
.pcgr-tourism-proposal-detail>summary:hover{color:#bce3e5}
.pcgr-tourism-proposal-detail>summary:focus-visible{outline:3px solid #c1e5ed;outline-offset:3px}
.pcgr-tourism-proposal-detail[open]>summary{color:#bce3e5}
.pcgr-tourism-proposal-body{padding:0 5px 20px}
.pcgr-tourism-proposal-note{font-size:calc(12px * var(--reading-scale,1))!important;margin-top:24px}
@media(max-width:980px){.pcgr-tourism-layout{grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr);gap:18px}.pcgr-tourism-canvas{height:540px}.pcgr-tourism-card-copy{padding:20px}.pcgr-tourism-field{min-width:210px}.pcgr-tourism-filters{gap:12px}}
@media(max-width:760px){.pcgr-tourism-layout{grid-template-columns:1fr;gap:30px}.pcgr-tourism-canvas{height:520px}.pcgr-tourism-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;padding:0}.pcgr-tourism-directory>h3{font-size:calc(26px * var(--reading-scale,1))}.pcgr-tourism-filters{padding:19px}.pcgr-tourism-byline{margin-top:-6px!important}}
@media(max-width:480px){.pcgr-tourism-field,.pcgr-tourism-field:first-of-type{flex:1 0 100%;min-width:0}.pcgr-tourism-list{grid-template-columns:1fr}.pcgr-tourism-canvas{height:440px;min-height:320px}.pcgr-tourism-map-tools{gap:10px}.pcgr-tourism-map-tools>span{font-size:calc(9px * var(--reading-scale,1))}.pcgr-tourism-filters{padding:18px}.pcgr-tourism-statusline{margin-top:17px}.pcgr-tourism-tiles .eco-button{width:100%}.pcgr-tourism-proposal h2{font-size:calc(29px * var(--reading-scale,1))}}
@media(prefers-reduced-motion:reduce){.pcgr-tourism *{scroll-behavior:auto!important;transition:none!important}}
.a11y-contrast .pcgr-tourism :is(.pcgr-tourism-filters,.pcgr-tourism-card,.pcgr-tourism-empty,.pcgr-tourism-canvas){background:#000!important;border-color:#fff!important;color:#fff!important}
.a11y-contrast .pcgr-tourism :is(input,select,.leaflet-control-zoom a){background:#000!important;color:#fff!important;border-color:#fff!important}
.a11y-contrast .pcgr-tourism p,.a11y-contrast .pcgr-tourism label,.a11y-contrast .pcgr-tourism a,.a11y-contrast .pcgr-tourism summary{color:#fff!important}
@media print{.pcgr-tourism-map-panel,.pcgr-tourism-filters,.pcgr-tourism-locate,.pcgr-tourism-statusline>a{display:none!important}.pcgr-tourism-layout{display:block}.pcgr-tourism-list{max-height:none;overflow:visible;display:block}.pcgr-tourism-card{break-inside:avoid;margin-bottom:20px}}
@media(max-width:980px){.pcgr-tourism-field input,.pcgr-tourism-field select{font-size:calc(16px * var(--reading-scale,1))}}
