/* A working catalog inside the accepted Riviera visual system. */
.catalog-page{color:var(--ink);background:var(--ground);caret-color:var(--navy);scrollbar-color:var(--muted) var(--ground)}
.catalog-page ::selection{background:var(--yellow);color:var(--navy)}
.catalog-page input,.catalog-page select{font:inherit;caret-color:var(--navy)}
.catalog-page a,.catalog-page button,.catalog-page input,.catalog-page select,.catalog-page summary{outline-offset:4px}
.catalog-page :focus-visible{outline:2px solid var(--focus,#08749a)}
.catalog-page .btn svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}
.catalog-breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;padding-top:26px;padding-bottom:20px;font-size:14px;color:var(--muted)}
.catalog-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.catalog-opening{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px 36px;padding-bottom:54px;align-items:start}
.catalog-intro{padding-top:16px;grid-column:1;grid-row:2}.catalog-intro h1{font-size:clamp(40px,4.05vw,58px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0 0 22px;text-wrap:balance}
.catalog-lead{font-size:19px;line-height:1.55;max-width:42ch;margin:0 0 26px;color:var(--muted)}
.catalog-intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px}
.catalog-page .text-link,.catalog-page .text-button{color:inherit;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.catalog-updated{font-size:13px;line-height:1.55;color:var(--muted);max-width:50ch;margin:22px 0 0}
.catalog-map{min-width:0;margin:0;grid-column:2;grid-row:2}.catalog-map>summary{display:none}
.atlas{min-width:0}.atlas-svg{width:100%;height:auto;display:block;border-radius:12px;overflow:hidden;font-family:inherit}
.atlas-water{fill:var(--sea)}.atlas-land{fill:#edf2ed;stroke:none}.atlas-coast{fill:none;stroke:#a5bbc1;stroke-width:1;stroke-linejoin:round}
.atlas-north{stroke:var(--muted);fill:var(--muted);stroke-width:1.2}.atlas-north text{stroke:none;font-size:13px}
.atlas-water-label{fill:#36555d;font-size:21px;letter-spacing:.035em;font-weight:400}
.atlas-hit{fill:transparent}.atlas-leader{fill:none;stroke:var(--navy);stroke-width:1.1}.atlas-point,.atlas-hotel{fill:var(--navy);stroke:#fff;stroke-width:1.5}
.atlas-hotel{fill:#235568;opacity:.8}.atlas-place{fill:var(--navy);font-size:18px;font-weight:600;paint-order:stroke;stroke:#edf2ed;stroke-width:4;stroke-linejoin:round}
.atlas-destination{transition:color .2s cubic-bezier(.16,1,.3,1)}
.atlas-destination:hover .atlas-point,.atlas-destination:focus .atlas-point,.atlas-destination.is-active .atlas-point{fill:var(--yellow);stroke:var(--navy);stroke-width:2;r:8}
.atlas-destination:focus{outline:none}.atlas-destination:focus .atlas-place{text-decoration:underline}
.atlas-area-label{pointer-events:none}.atlas-area-label text{font-size:15px;fill:var(--navy);font-weight:600;paint-order:stroke;stroke:#edf2ed;stroke-width:4;stroke-linejoin:round}
.atlas-hotel.is-active{fill:var(--yellow);stroke:var(--navy);opacity:1;r:6}
.atlas-caption{font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0}
.atlas-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.atlas-links a{display:flex;flex-direction:column;justify-content:center;min-height:58px;border-bottom:1px solid var(--line);padding:8px 0;text-decoration:none;line-height:1.25}
.atlas-links a>span{font-size:15px}.atlas-links a>small{font-size:12px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
.atlas-links a:hover>span,.atlas-links a:focus-visible>span{text-decoration:underline;text-underline-offset:4px}
.catalog-search{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:minmax(200px,2fr) minmax(145px,1.1fr) minmax(80px,.65fr) minmax(90px,.7fr) auto;gap:16px;align-items:end;background:var(--white);padding:26px 28px;border:1px solid var(--line);border-radius:12px;margin-top:6px}
.catalog-page .field{display:flex;flex-direction:column;gap:7px;min-width:0}.catalog-page .field label{font-size:13px;font-weight:500}
.catalog-page input:not([type=checkbox]),.catalog-page select{width:100%;min-height:48px;border:1px solid var(--field-line,#a8b9bd);border-radius:7px;background:var(--white);color:var(--ink);padding:10px 12px;min-width:0;font-variant-numeric:tabular-nums}
.catalog-page input::placeholder{color:var(--placeholder,#637680);opacity:1}.catalog-page [aria-invalid=true]{border-color:var(--error,#a12424)}
.catalog-search>.btn{min-height:48px;white-space:nowrap;padding:13px 20px}.catalog-search-help{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.catalog-search-help button{border:0;background:transparent;padding:4px 0;font:inherit;font-size:14px;cursor:pointer}.catalog-search-help .text-button{color:var(--ink)}
.catalog-results-section{padding:48px 0 36px;background:#eaf0ec;scroll-margin-top:22px}.catalog-results-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.catalog-results-heading>div{min-width:0}.catalog-results-heading h2{font-size:clamp(30px,3.2vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:0 0 10px;text-wrap:balance}
.catalog-result-count{font-size:15px;color:var(--muted);margin:0;font-variant-numeric:tabular-nums}
.catalog-filter-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;align-items:start}
.catalog-filters{margin:0;padding-top:3px}.catalog-filters>summary{display:none}.catalog-filter-body{display:grid;gap:22px}
.catalog-filter-body h3{font-size:20px;line-height:1.25;font-weight:500;margin:0}.catalog-filter-body fieldset{margin:0;padding:0;border:0;min-width:0}
.catalog-filter-body legend{font-size:13px;font-weight:500;margin-bottom:8px;padding:0}
.catalog-check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:15px}.catalog-check input{width:19px;height:19px;accent-color:var(--navy);flex-shrink:0}
.catalog-filters .btn{padding:13px 16px;width:100%}.catalog-filter-note{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.catalog-list{min-width:0}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;align-items:stretch}
.catalog-hotel{background:var(--white);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.catalog-hotel-image{display:block;aspect-ratio:1.5;overflow:hidden;background:var(--sea)}.catalog-hotel-image img{display:block;width:100%;height:100%;object-fit:cover}
.catalog-hotel-body{padding:20px;display:flex;flex-direction:column;flex:1;min-width:0}.catalog-hotel h3{font-size:21px;line-height:1.25;font-weight:500;letter-spacing:-.02em;margin:0 0 10px;overflow-wrap:anywhere}
.catalog-hotel h3 a{text-decoration:none}.catalog-hotel h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.catalog-hotel-place{font-size:13px;font-weight:500;color:var(--muted);margin:0 0 10px}.catalog-hotel-address{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 14px;overflow-wrap:anywhere}
.catalog-hotel-description{font-size:14px;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.catalog-hotel-features{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0;margin:0 0 16px;list-style:none;font-size:12px;color:var(--muted)}
.catalog-hotel-features li{padding-bottom:3px;border-bottom:1px solid var(--line)}
.catalog-hotel-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:auto;padding-top:5px}
.catalog-hotel-actions .text-link{font-size:14px;min-height:36px}.catalog-hotel-actions .btn{width:100%;min-height:46px;padding:11px 13px;font-size:14px;justify-content:space-between;gap:10px}
.catalog-hotel-text .catalog-hotel-body{padding-top:28px}.catalog-hotel-text{border-top:1px solid var(--line)}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;font-variant-numeric:tabular-nums}
.catalog-pagination a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--field-line,#a8b9bd);border-radius:7px;background:var(--white);text-decoration:none}
.catalog-pagination a[aria-current]{background:var(--navy);color:var(--white);border-color:var(--navy)}
.catalog-source-note{font-size:13px;line-height:1.6;color:var(--muted);margin:30px 0 0;max-width:85ch}
.catalog-guide{padding-top:72px;padding-bottom:72px}.catalog-guide h2,.catalog-faq h2,.catalog-other h2{font-size:clamp(30px,3.3vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:0 0 30px;max-width:26ch;text-wrap:balance}
.catalog-guide dl{margin:0}.catalog-guide dl>div{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);gap:35px;border-top:1px solid var(--line);padding:24px 0}
.catalog-guide dt{font-size:23px;line-height:1.25;font-weight:500;letter-spacing:-.02em}.catalog-guide dd{font-size:16px;line-height:1.65;margin:0;max-width:72ch;color:var(--muted)}
.catalog-notice{background:var(--notice,#e9f0ee);padding:26px 28px;border-radius:12px;margin-top:20px;max-width:88ch}
.catalog-notice h3{font-size:22px;font-weight:500;margin:0 0 10px}.catalog-notice p{margin:0 0 12px;line-height:1.6}.catalog-notice a{text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.catalog-help-section{background:var(--navy);color:var(--white);padding:50px 0}.catalog-help{display:flex;align-items:center;justify-content:space-between;gap:35px}
.catalog-help h2{font-size:clamp(30px,3.3vw,44px);font-weight:500;line-height:1.15;letter-spacing:-.03em;margin:0 0 16px}.catalog-help p{color:#d0dfe3;max-width:62ch;font-size:17px;line-height:1.6;margin:0}.catalog-help .btn{flex-shrink:0;white-space:nowrap}
.catalog-faq{padding-top:72px;padding-bottom:65px}.catalog-faq details{border-top:1px solid var(--line);padding:18px 0}.catalog-faq details:last-child{border-bottom:1px solid var(--line)}
.catalog-faq summary{cursor:pointer;min-height:44px;font-size:19px;font-weight:500;padding:8px 34px 8px 0;line-height:1.4}
.catalog-faq details p{max-width:74ch;color:var(--muted);font-size:16px;line-height:1.65;margin:14px 0 12px}
.catalog-other{padding-bottom:55px}.catalog-other h2{font-size:30px}.catalog-region-links{display:flex;flex-wrap:wrap;gap:10px 30px}.catalog-region-links a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}
.catalog-credit{padding-bottom:45px;font-size:13px;color:var(--muted);line-height:1.6}.catalog-credit p{margin:0 0 12px}.catalog-credit a{text-underline-offset:3px}.catalog-credit summary{cursor:pointer;min-height:44px;display:list-item;align-content:center}.catalog-credit ul{padding-left:20px;margin:0 0 12px}.catalog-credit li{padding:6px 0}
.catalog-error{padding:22px 26px;background:var(--error-ground,#fbece8);color:var(--error,#a12424);margin:0 0 24px;border-radius:8px}.catalog-error h3{font-size:22px;margin:0 0 10px}.catalog-error ul{margin:0;padding-left:22px;line-height:1.6}
.catalog-empty{background:var(--white);border-radius:12px;padding:35px;margin-bottom:24px}.catalog-empty h3{font-size:28px;line-height:1.2;font-weight:500;margin:0 0 16px}.catalog-empty p{max-width:62ch;color:var(--muted);line-height:1.6;margin:0 0 22px}.catalog-empty-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 25px}
@media(max-width:1100px){.catalog-filter-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(75px,.65fr) minmax(75px,.65fr)}.catalog-search>.btn{grid-column:1/-1;justify-content:center}.catalog-intro h1{font-size:46px}}
@media(max-width:1000px){.catalog-opening{grid-template-columns:1fr;gap:26px}.catalog-intro{padding-top:0}.catalog-intro h1{max-width:19ch}.catalog-lead{max-width:60ch}.catalog-intro{grid-row:1;grid-column:1}.catalog-search{grid-row:2;margin:0}.catalog-map{grid-row:3;grid-column:1}.catalog-map>summary,.catalog-filters>summary{display:list-item;min-height:48px;cursor:pointer;align-content:center;font-weight:500;list-style-position:inside}.catalog-map>summary{border-bottom:1px solid var(--line)}.catalog-map[open]>summary{margin-bottom:18px}.atlas{max-width:720px;margin:auto}.catalog-filter-layout{display:block}.catalog-filters{margin-bottom:26px}.catalog-filters>summary{border:1px solid var(--field-line,#a8b9bd);border-radius:7px;padding:9px 15px;background:var(--white)}.catalog-filter-body{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:22px;gap:18px}.catalog-filter-body h3{display:none}.catalog-filter-body fieldset{grid-row:span 2}.catalog-filter-note{grid-column:1/-1}.catalog-guide dl>div{grid-template-columns:1fr 1.7fr;gap:24px}}
@media(max-width:600px){.catalog-page .container{width:100%;margin-inline:0;padding-left:20px;padding-right:20px}.catalog-breadcrumbs{padding-top:20px;padding-bottom:20px;font-size:13px}.catalog-opening{gap:24px;padding-bottom:35px}.catalog-intro h1{font-size:38px;line-height:1.12;letter-spacing:-.03em;margin-bottom:20px}.catalog-lead{font-size:17px;margin-bottom:22px}.catalog-intro-actions{gap:10px 22px}.catalog-updated{margin-top:17px}.catalog-search{padding:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.catalog-search-query,.catalog-search .field:has(input[type=date]){grid-column:1/-1}.catalog-search-help{align-items:flex-start;flex-direction:column;gap:4px}.catalog-search-help .text-button{text-align:left;font-size:14px;line-height:1.5}.atlas-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.atlas-links a{min-height:62px}.atlas-links a>span{font-size:15px}.atlas-caption{font-size:13px}.atlas-place{font-size:32px;stroke-width:6}.atlas-water-label{font-size:30px}.atlas-area-label text{font-size:32px;stroke-width:6}.catalog-results-section{padding-top:34px}.catalog-results-heading{align-items:start;gap:18px;margin-bottom:22px}.catalog-results-heading h2{font-size:30px}.catalog-results-heading>.text-link{font-size:13px;max-width:80px;line-height:1.5;flex-shrink:0}.catalog-filter-body{grid-template-columns:1fr 1fr;gap:20px 16px}.catalog-filter-body fieldset{grid-row:auto;grid-column:1/-1}.catalog-check{display:inline-flex;margin-right:20px}.catalog-filter-body>.btn{grid-column:1/-1}.catalog-grid{grid-template-columns:1fr;gap:24px}.catalog-hotel-body{padding:22px}.catalog-hotel h3{font-size:24px}.catalog-hotel-image{aspect-ratio:1.5}.catalog-hotel-description{font-size:15px}.catalog-hotel-address{font-size:14px}.catalog-hotel-features{font-size:13px}.catalog-hotel-actions{flex-direction:row;align-items:center;justify-content:space-between;gap:15px}.catalog-hotel-actions .text-link{font-size:14px;min-height:44px;white-space:nowrap}.catalog-hotel-actions .btn{width:auto;min-height:48px;font-size:14px;gap:15px;padding:12px 16px}.catalog-guide{padding-top:50px;padding-bottom:44px}.catalog-guide h2,.catalog-faq h2{font-size:31px;margin-bottom:24px}.catalog-guide dl>div{grid-template-columns:1fr;gap:13px;padding:24px 0}.catalog-guide dt{font-size:23px}.catalog-guide dd{font-size:16px}.catalog-notice{padding:23px}.catalog-help-section{padding:36px 0}.catalog-help{flex-direction:column;align-items:flex-start;gap:25px}.catalog-help p{font-size:16px}.catalog-faq{padding-top:48px;padding-bottom:44px}.catalog-faq summary{font-size:18px}.catalog-other h2{font-size:28px}.catalog-other{padding-bottom:32px}.catalog-credit{padding-bottom:32px}.catalog-empty{padding:25px}.catalog-empty h3{font-size:25px}}
@media(max-width:360px){.catalog-intro h1{font-size:34px}.catalog-search{padding:18px}.catalog-hotel-body{padding:20px}.catalog-hotel-actions{align-items:stretch;flex-direction:column;gap:7px}.catalog-hotel-actions .btn{width:100%;justify-content:space-between}.atlas-links{grid-template-columns:1fr 1fr;gap:0 12px}.atlas-links a>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.atlas-destination{transition:none}}

.catalog-photo-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted);background:#e2eae5;font-size:14px}.catalog-photo-missing svg{width:48px;height:40px;fill:none;stroke:currentColor;stroke-width:1.5}
