:root{--ink:#153e38;--muted:#58756f;--green:#176f61;--green-dark:#0d4d43;--cream:#f7f2e8;--orange:#f47949;--line:rgba(18,70,61,.13);--shadow:0 22px 60px rgba(17,58,51,.1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.catalog-page{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 3%,rgba(242,164,92,.17),transparent 28rem),radial-gradient(circle at 90% 18%,rgba(47,126,108,.14),transparent 32rem),linear-gradient(180deg,#f7f3e9 0,#eaf2ed 44%,#dfeae5 100%);font-family:"Manrope",sans-serif}
.catalog-shell{width:min(1480px,calc(100% - 28px));margin:14px auto 38px}
.catalog-topbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 18px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.catalog-brand img{display:block;width:154px;height:auto}
.catalog-topbar nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.catalog-topbar nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:#315e56;text-decoration:none;font-weight:850}
.catalog-topbar nav a:hover,.catalog-topbar nav a[aria-current=page]{background:#e5f0ec;color:var(--green-dark)}
.catalog-topbar nav .catalog-reservation{color:#fff;background:linear-gradient(135deg,var(--orange),#ee9a4b);box-shadow:0 12px 24px rgba(225,102,55,.22)}
.catalog-menu-toggle{display:none;min-height:44px;padding:0 16px;border:0;border-radius:999px;color:#fff;background:var(--green);font:800 1rem inherit}
.catalog-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px;margin-top:18px;padding:clamp(30px,6vw,84px);border:1px solid var(--line);border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,245,240,.88));box-shadow:var(--shadow)}
.catalog-hero h1{max-width:980px;margin:12px 0 20px;font:900 clamp(2.8rem,6.2vw,6.3rem)/.93 "Outfit",sans-serif;letter-spacing:-.055em}
.catalog-hero>div>p:not(.catalog-eyebrow){max-width:72ch;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.78}
.catalog-eyebrow{margin:0;color:var(--green);font-size:.78rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.catalog-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.catalog-hero-actions a,.catalog-proof-grid a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;color:#fff;background:var(--green);text-decoration:none;font-weight:900}
.catalog-hero-actions a+ a{color:var(--green-dark);background:#fff;border:1px solid var(--line)}
.catalog-hero aside{align-self:end;display:grid;gap:11px;padding:25px;border-radius:28px;color:#eaf6f1;background:linear-gradient(145deg,#154c43,#0d342e);box-shadow:0 20px 45px rgba(10,48,42,.2)}
.catalog-hero aside strong{color:#fff;font:900 1.4rem "Outfit",sans-serif}
.catalog-hero aside span{line-height:1.55}
.catalog-hero aside a{width:max-content;color:#ffc29e;font-weight:850}
.catalog-filter-panel{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1.65fr);gap:24px;margin:18px 0;padding:26px;border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.88);box-shadow:var(--shadow)}
.catalog-filter-panel h2,.catalog-section-heading h2,.catalog-proof-grid h2,.catalog-faq h2{margin:8px 0 0;font:900 clamp(1.8rem,3vw,2.7rem)/1 "Outfit",sans-serif;letter-spacing:-.035em}
#catalog-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(130px,1fr));gap:10px;align-items:end}
#catalog-filters label{display:grid;gap:6px;color:#426a63;font-size:.75rem;font-weight:900}
#catalog-filters input,#catalog-filters select,#catalog-filters button{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:#f8fbf9;color:var(--ink);padding:0 13px;font:800 .88rem inherit}
#catalog-filters button{color:#fff;background:var(--green);cursor:pointer}
.catalog-list-section{padding:22px 0 10px;scroll-margin-top:18px}
.catalog-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 6px 22px}
#catalog-result-count{margin:0;color:var(--muted);font-weight:850}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 18px 44px rgba(14,58,51,.08)}
.catalog-card[hidden]{display:none}
.catalog-card-image{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:#dfe9e5}
.catalog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.catalog-card:hover .catalog-card-image img{transform:scale(1.035)}
.catalog-card-image span{position:absolute;left:14px;top:14px;padding:8px 11px;border-radius:999px;color:#fff;background:rgba(12,63,55,.9);font-size:.72rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.catalog-card-body{display:grid;gap:14px;padding:21px}
.catalog-route{min-height:2.6em;margin:0;color:#718a85;font-size:.78rem;font-weight:800;line-height:1.45}
.catalog-card h2{margin:0;font:900 clamp(1.35rem,2vw,1.8rem)/1.04 "Outfit",sans-serif;letter-spacing:-.028em}
.catalog-card h2 a{color:inherit;text-decoration:none}
.catalog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.catalog-facts div{padding:11px 12px;border-radius:14px;background:#eff5f2}
.catalog-facts dt{color:#78908b;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.catalog-facts dd{margin:4px 0 0;font-size:.84rem;font-weight:900;line-height:1.35}
.catalog-dates{display:flex;gap:7px;flex-wrap:wrap;min-height:35px}
.catalog-dates time,.catalog-dates span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:#3a655d;background:#fff;font-size:.72rem;font-weight:850}
.catalog-card-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid var(--line)}
.catalog-card-footer p{display:grid;gap:2px;margin:0}.catalog-card-footer small{color:#78908b;font-weight:850}.catalog-card-footer strong{color:#d65335;font:950 1.28rem "Outfit",sans-serif}
.catalog-card-footer>div{display:flex;gap:7px}.catalog-card-footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;text-decoration:none;font-size:.76rem;font-weight:900}
.catalog-link{color:var(--green-dark);background:#edf5f2}.catalog-book{color:#fff;background:var(--orange)}
.catalog-empty{padding:34px;border:1px dashed var(--line);border-radius:24px;text-align:center;color:var(--muted);background:#fff}
.catalog-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}
.catalog-proof-grid article,.catalog-faq{padding:clamp(26px,4vw,48px);border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.88);box-shadow:var(--shadow)}
.catalog-proof-grid p:not(.catalog-eyebrow),.catalog-faq details p{color:var(--muted);line-height:1.72}
.catalog-proof-grid a{min-height:44px;margin-top:6px}
.catalog-faq>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.catalog-faq details{padding:0 18px;border:1px solid var(--line);border-radius:18px;background:#f7faf8}
.catalog-faq summary{padding:18px 0;cursor:pointer;font-weight:900}.catalog-faq details p{margin:0 0 18px}
.catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:25px 28px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.78);color:var(--muted)}
.catalog-footer nav{display:flex;gap:14px;flex-wrap:wrap}.catalog-footer a{color:inherit;font-weight:850}
@media(max-width:1180px){#catalog-filters{grid-template-columns:repeat(3,1fr)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.catalog-shell{width:min(100% - 18px,1480px);margin-top:9px}.catalog-topbar{align-items:center}.catalog-menu-toggle{display:inline-flex;align-items:center}.catalog-topbar nav{position:absolute;left:0;right:0;top:calc(100% + 8px);display:none;padding:12px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.catalog-topbar nav.is-open{display:grid;grid-template-columns:1fr 1fr}.catalog-hero,.catalog-filter-panel{grid-template-columns:1fr}.catalog-hero{padding:36px 24px;border-radius:30px}.catalog-hero aside{align-self:auto}.catalog-filter-panel{padding:22px}.catalog-proof-grid{grid-template-columns:1fr}.catalog-faq>div{grid-template-columns:1fr}}
@media(max-width:620px){.catalog-brand img{width:132px}#catalog-filters,.catalog-grid{grid-template-columns:1fr}.catalog-section-heading,.catalog-card-footer,.catalog-footer{align-items:flex-start;flex-direction:column}.catalog-card-footer>div{width:100%}.catalog-card-footer a{flex:1;justify-content:center}.catalog-topbar nav.is-open{grid-template-columns:1fr}.catalog-hero h1{font-size:clamp(2.45rem,13vw,4rem);overflow-wrap:anywhere}.catalog-facts{grid-template-columns:1fr}.catalog-proof-grid article,.catalog-faq{border-radius:26px}.catalog-footer{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.catalog-card-image img{transition:none}}
