:root { --green:#103e30; --ink:#24352e; --muted:#64716b; --line:#dfe5df; }
body { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.visitor-language { display:flex; align-items:center; gap:7px; flex-shrink:0; padding:0 10px; min-height:42px; border:1px solid #ffffff69; border-radius:6px; color:#fff; background:transparent; }
.language-label { display:flex; align-items:center; margin:0; }
.visitor-language select { width:auto; max-width:130px; border:0; min-height:40px; background:transparent; color:inherit; font-size:13px; font-weight:600; padding:6px 4px; }
.visitor-language option { color:#24352e; background:#fff; }
.language-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.language-content-note { padding:10px 24px; background:#eef3ed; color:#36503d; font-size:12px; text-align:center; }
.language-content-note a { color:#103e30; text-underline-offset:3px; }
.language-content-note[hidden] { display:none; }
.top { background:#103e30; border-bottom:1px solid #2b5b49; gap:20px; padding-block:16px; min-height:80px; }
.top .brand,.top nav > a:not(.nav-action):not(.nav-stay),.top .brand .brand-copy,.top .brand>.bi { color:#fff; }
.top nav > a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.top .brand-copy small { color:#e0d2d7; }
.top .brand .brand-copy { font-size:20px; }
.top nav { gap:6px; margin-left:auto; }
.top .nav-action { color:#fff; font-weight:600; padding:10px 12px; }
.top .nav-action.active { color:#103e30; background:#fff; }
.top .nav-route { border-color:#b18e9b; }
.top .nav-stay { background:#fff; color:#103e30; border-color:#fff; }
.top .nav-action:hover { background:#f3eaf0; color:#103e30; transform:none; }
main { padding-top:24px; }
.explore-hero { min-height:280px; border-radius:8px; margin-bottom:32px; }
.explore-hero h1 { font-size:46px; font-weight:750; line-height:1.12; }
.explore-hero-copy { padding:32px; }
.explore-hero p { max-width:560px; font-size:16px; }
.catalogue-section .catalogue-heading h2 { font-size:29px; color:#24352e; max-width:680px; }
.catalogue-section .filters { border:0; background:#f3f6f2; padding:12px; border-radius:6px; }
.catalogue-section .explore-search { background:white; border-radius:6px; }
.catalogue-section .cards { gap:22px; }
.catalogue-section .card { background:#fff; border-color:#dfe5df; box-shadow:0 3px 12px #24352e06; }
.catalogue-section .card-content { padding:20px; }
.catalogue-section .card h3 { font-size:18px; line-height:1.5; }
.explore-guide { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,2fr); gap:28px; align-items:center; margin:0 auto 34px; padding:24px; border:1px solid #dfe5df; border-radius:8px; background:#fff; }
.explore-guide h2 { margin:6px 0 0; font-size:23px; line-height:1.3; color:#24352e; }
.explore-guide-items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.explore-guide-items>span { min-width:0; padding:6px 16px; border-left:1px solid #dfe5df; }
.explore-guide-items i { display:block; margin-bottom:8px; color:#103e30; font-size:19px; }
.explore-guide-items strong,.explore-guide-items small { display:block; overflow-wrap:anywhere; }
.explore-guide-items strong { font-size:13px; line-height:1.4; color:#24352e; }
.explore-guide-items small { margin-top:3px; color:#64716b; font-size:11px; line-height:1.45; }
.experience-button { background:#103e30; border-color:#103e30; }
.experience-button:hover { background:#0b3025; border-color:#0b3025; }
.stay-band { border-top:1px solid #dfe5df; background:transparent; padding:32px 0; }
body[data-visual-identity="pilgrimage-stays"] { background:#fff; }
body[data-visual-identity="pilgrimage-stays"] .nav-custom { border-bottom:1px solid #2b5b49; }
body[data-visual-identity="pilgrimage-stays"] .nav-custom>.container { gap:16px; }
body[data-visual-identity="pilgrimage-stays"] .navbar-brand { font-size:20px!important; }
body[data-visual-identity="pilgrimage-stays"] .hero-premium { border-radius:0; min-height:320px; height:42vh; }
body[data-visual-identity="pilgrimage-stays"] .hero-premium h1 { font-size:44px; line-height:1.15; }
body[data-visual-identity="pilgrimage-stays"] .hero-premium p { font-size:17px; margin:16px auto 24px; max-width:720px; }
body[data-visual-identity="pilgrimage-stays"] .hero-premium .btn { min-width:150px; }
body[data-visual-identity="pilgrimage-stays"] .section-heading h2 { font-size:29px; line-height:1.3; max-width:740px; }
body[data-visual-identity="pilgrimage-stays"] .section-heading .text-muted { max-width:680px; font-size:14px; line-height:1.8; }
body[data-visual-identity="pilgrimage-stays"] .published-place { box-shadow:0 2px 10px #24352e06; }
body[data-visual-identity="pilgrimage-stays"] .published-place-copy h4 { font-size:18px; line-height:1.5; }
body[data-visual-identity="pilgrimage-stays"] .search-box { border:1px solid #dfe5df; box-shadow:none; border-radius:8px; }
body[data-visual-identity="pilgrimage-stays"] .section-kicker { color:#103e30; }
.top :is(a,select):focus-visible,.visitor-language select:focus-visible { outline:3px solid #d9bc74; outline-offset:3px; }
@media(max-width:1050px) { .top { flex-wrap:wrap; gap:12px; } .top nav { margin-left:0; } .visitor-language { margin-left:auto; } body[data-visual-identity="pilgrimage-stays"] .nav-custom>.container { justify-content:flex-start!important; } }
@media(max-width:900px) { .explore-guide { grid-template-columns:1fr; } .explore-guide-items>span:first-child { border-left:0; padding-left:0; } }
@media(max-width:640px) { .top { display:grid; grid-template-columns:1fr auto; align-items:center; padding:14px 16px; } .top nav { grid-row:2; grid-column:1/-1; width:100%; grid-template-columns:1fr 1fr 1fr; } .top .nav-action { font-size:12px; min-width:0; overflow-wrap:anywhere; } .top .visitor-language { grid-row:1; grid-column:2; } .explore-hero { min-height:250px; } .explore-hero-copy { padding:24px 20px; } .explore-hero h1 { font-size:36px; } .catalogue-section .catalogue-heading h2 { font-size:25px; } .visitor-language select { font-size:12px; max-width:105px; } body[data-visual-identity="pilgrimage-stays"] .nav-custom>.container { gap:8px 12px; } body[data-visual-identity="pilgrimage-stays"] .nav-custom [aria-label="Pilgrim services"] { order:4; width:100%; justify-content:space-between; gap:10px!important; } body[data-visual-identity="pilgrimage-stays"] .navbar-brand { margin-right:auto; font-size:18px!important; } body[data-visual-identity="pilgrimage-stays"] #userSection { order:3; } body[data-visual-identity="pilgrimage-stays"] .hero-premium { height:auto; min-height:320px; padding:44px 16px; } body[data-visual-identity="pilgrimage-stays"] .hero-premium h1 { font-size:32px; } body[data-visual-identity="pilgrimage-stays"] .section-heading h2 { font-size:25px; } }
@media(max-width:640px) { .explore-guide { padding:20px; margin-bottom:26px; } .explore-guide-items { grid-template-columns:1fr 1fr; } .explore-guide-items>span { padding:12px; border-left:0; border-top:1px solid #dfe5df; } .explore-guide-items>span:nth-child(odd) { padding-left:0; border-right:1px solid #dfe5df; } }
@media(prefers-reduced-motion:reduce) { .experience-button,.nav-action { transition:none!important; transform:none!important; } }
