@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@800&display=swap');
/* -------------------------------------
   Base typography
------------------------------------- */
body{font-family:system-ui,sans-serif;font-size:16px;line-height:1.6;margin:0;color:#222;background-color: #fffefa; /* try #fdfcf7 or #f9f8f6 as alternatives */}
a{color:#069;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

/* -------------------------------------
   Header Container
------------------------------------- */
.site-header{position:sticky;top:0;z-index:2000;box-shadow:0 4px 10px #00000026}
.site-header::after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:10px;background:linear-gradient(to bottom,#00000014,transparent);pointer-events:none}

/* -------------------------------------
   Top Row (logo + pills)
------------------------------------- */
.header-top{background:linear-gradient(to bottom,#2B4F6C,#5B9BD5);display:flex;justify-content:center;padding:.6rem 0}
.header-row{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;padding:0 .75rem;box-sizing:border-box}

/* Logo */
.header-logo{display:flex;justify-content:center}
.header-logo img.site-logo{display:block;height:auto;max-height:60px;max-width:100%}
@media (max-width: 768px) {
.header-logo img.site-logo{max-height:45px}
}
@media (max-width: 480px) {
.header-logo img.site-logo{max-height:35px}
}

/* -------------------------------------
   Pills row (search + time + weather)
------------------------------------- */
.header-pills{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.4rem;flex-wrap:wrap}

/* Generic pill style */
.header-pills > *{display:inline-flex;align-items:center;gap:.4em;padding:.25em .8em;background:#00000040;border-radius:999px;line-height:1;white-space:nowrap;font-size:.95rem;font-family:'Work Sans',sans-serif;color:#fff;font-weight:600}

/* Search/hamburger button pill */
.mobile-explore-btn{background:#28a745;border:none;cursor:pointer;transition:background .2s ease;font-weight:700}
.mobile-explore-btn:hover{background:#218838}
.mobile-explore-btn span{font-size:1.1em}

/* Weather icon fix */
.header-weather .wi{font-size:1em;position:relative;top:.05em}

/* Hide button on desktop */
@media (min-width: 1025px) {.mobile-explore-btn{display:none!important}}

/* Desktop: align logo left, pills beside it */
@media (min-width: 1025px) {
.header-row{flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}
.header-logo{flex:0 0 auto}
.header-pills{margin-top:0}
}

/* -------------------------------------
   Navigation Row (sticky)
------------------------------------- */
.header-nav{background:#3A5F83;padding:.5rem 0}
.header-nav-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.header-search{flex:0 0 auto}
.header-menu{flex:1 1 auto}
.header-menu .dropdown-menu{display:flex;gap:1rem;margin:0;padding:0;list-style:none}

/* -------------------------------------
   Responsive
------------------------------------- */
@media (max-width: 1024px) {
.header-nav{display:none!important}
}
@media (min-width: 1025px) {
.header-nav{display:block}
}

/*----------------------------------------
    DROPDOWN MENU (Menu2)
-----------------------------------------*/
.dropdown-menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.dropdown-menu li{position:relative}
.dropdown-menu > li > a{display:flex;align-items:center;justify-content:center;gap:.25em;color:#fff;text-decoration:none;padding:.35rem .6rem;font-family:'Work Sans',sans-serif;font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;transition:background-color .3s ease,color .3s ease;white-space:nowrap}
.dropdown-menu > li > a:hover{background:#959b6b80;color:#fff}
.dropdown-menu > li.current-menu-item > a,.dropdown-menu > li.current-menu-ancestor > a{background:#959b6b;color:#fff;font-weight:600}

/* First-level submenu (opens downward) */
.dropdown-menu > li > ul.sub-menu{position:absolute;top:100%;left:0;background:#000000d9;min-width:220px;list-style:none;padding:.25rem 0;margin:0;z-index:9999;opacity:0;visibility:hidden;transform:translateY(5px);
transition:opacity .25s ease,transform .25s ease,visibility .25s ease;border-radius:0 0 8px 8px}

/* Nested sub-submenus (open to the right) */
.dropdown-menu ul.sub-menu li ul.sub-menu{position:absolute;top:0;left:100%;background:#000000d9;min-width:220px;list-style:none;padding:.25rem 0;margin:0;z-index:9999;opacity:0;visibility:hidden;
transform:translateX(5px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;border-radius:0 8px 8px 0}

/* Reveal on hover */
.dropdown-menu li:hover > ul.sub-menu{opacity:1;visibility:visible;transform:translate(0,0)}

/* Submenu links */
.dropdown-menu ul.sub-menu li a {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* ✅ keep text + caret inline */
  gap: .5em;                   /* ✅ spacing between text + caret */
  font-family: "Work Sans", sans-serif;
  font-size: 14px;
  color: #fff;
  padding: .35rem .85rem;
  white-space: nowrap;
  transition: background-color .3s ease, color .3s ease;
  position: relative;
}
transition:background-color .3s ease,color .3s ease;position:relative}
.dropdown-menu ul.sub-menu li a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(to right,transparent,#959b6b99,transparent)}
.dropdown-menu ul.sub-menu li:last-child a::after{display:none}
.dropdown-menu ul.sub-menu li a:hover{background:#0009;color:#b5ba83;text-decoration:none}
.dropdown-menu ul.sub-menu li.current-menu-item > a{background:#959b6b80;color:#fff}

/* Indicators */
.dropdown-menu > li.menu-item-has-children > a::after {
  content: "▾";
  font-size: .75em;
  color: #ccc;
  margin-left: .3em;
}
.dropdown-menu > li.menu-item-has-children > a:hover::after{color:#fff}
.dropdown-menu ul.sub-menu li.menu-item-has-children > a::after {
  content: "▸";
  font-size: .75em;
  color: #ccc;
  margin-left: auto; /* ✅ push caret to the far right */
}
.dropdown-menu ul.sub-menu li.menu-item-has-children > a:hover::after{color:#b5ba83}
@media (max-width: 768px) {.dropdown-menu{display:none}}

/* Reset for mobile explore */
.mobile-explore-menu .sub-menu{display:none;padding-left:1rem;background:#f9f9f9;border-left:2px solid #ddd;margin-top:.3rem}
.mobile-explore-menu .menu-item.open > .sub-menu{display:block}

/* Reveal submenus (all levels) with fade + delay */
.dropdown-menu li:hover > ul.sub-menu,
.dropdown-menu ul.sub-menu li:hover > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(0,0);
  transition-delay: 120ms; /* ⏳ delay before showing */
}

/* Hide state (reset delay for closing) */
.dropdown-menu ul.sub-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  transition: opacity .25s ease, transform .25s
}
/*----------------------------------------
    FOOTER
-----------------------------------------*/
/* Footer top row */
.footer-top{background:linear-gradient(to bottom,#1F2B36,#35424F);padding:2rem 0;color:#fff}
.footer-logo img{max-height:50px;margin-bottom:1rem}
.footer-menu h3{font-size:1rem;margin-bottom:.5rem;color:#ddd}
.footer-nav{list-style:none;margin:0;padding:0}
.footer-nav li{margin:.25rem 0}
.footer-nav a{color:#fff;text-decoration:none}
.footer-nav a:hover{text-decoration:underline}

/* Footer bottom row */
.footer-bottom{background:#202D3A;text-align:center;padding:.75rem 0;font-size:.875rem;color:#ccc}

/*----------------------------------------
    FRONT PAGE
-----------------------------------------*/
.front-page .hero{text-align:center;padding:2rem 1rem}
.front-page .hero h1{font-size:clamp(2rem,4vw,3rem)}
.front-page .front-section{margin:3rem 0}
.front-page .front-section h2{margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2rem)}

/*----------------------------------------
    SEARCH
-----------------------------------------*/
/* Search results layout */
.search-results .search-list{display:grid;grid-template-columns:1fr;gap:1.5rem}
.search-results .search-item{display:flex;gap:1rem;align-items:flex-start}
.search-results .search-thumb img{width:100px;height:100px;object-fit:cover}
.search-results .search-title{font-size:clamp(1.125rem,2vw,1.375rem);margin:0 0 .25rem}

/*----------------------------------------
    404
-----------------------------------------*/
.error-404 .page-title{font-size:clamp(1.75rem,2.5vw,2.25rem);margin-bottom:1rem}
.error-404 .button{display:inline-block;padding:.5rem 1rem;background:#333;color:#fff;text-decoration:none;border-radius:3px;margin-bottom:1rem}
.error-404 .suggested-links{list-style:none;padding:0;margin:1rem 0}
.error-404 .suggested-links li{margin-bottom:.25rem}

/*----------------------------------------
    AREA SINGLE
-----------------------------------------*/
/* Areas archive */
.category-areas .area-list{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width: 768px) {.category-areas .area-list{grid-template-columns:1fr 1fr}}
.area-thumb img{width:100%;height:220px;object-fit:cover;margin-bottom:.5rem}
.area-title{font-size:clamp(1.25rem,2vw,1.5rem);margin-top:.25rem}

/*----------------------------------------
    UNVEILED SINGLE
-----------------------------------------*/
/* Unveiled archive */
.category-unveiled .unveiled-list{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width: 768px) {.category-unveiled .unveiled-list{grid-template-columns:1fr 1fr}}
.unveiled-thumb img{width:100%;height:220px;object-fit:cover;margin-bottom:.5rem}
.unveiled-title{font-size:clamp(1.25rem,2vw,1.5rem);margin-top:.25rem}

/*----------------------------------------
    HOTELS SINGLE
-----------------------------------------*/
/* Hotel archive grid */
.category-hotels .hotel-list{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width: 768px) {.category-hotels .hotel-list{grid-template-columns:1fr 1fr}}
.hotel-thumb img{width:100%;height:200px;object-fit:cover;margin-bottom:.5rem}
.hotel-title{font-size:clamp(1.25rem,2vw,1.5rem)}

/*----------------------------------------
    MUSEUM SINGLE NOMAP
-----------------------------------------*/
.single-museum.no-map .entry-title{color:var(--museum-accent,#333)}
.single-museum.no-map .featured-image{margin-bottom:1rem}

/*----------------------------------------
    MUSEUM SINGLE
-----------------------------------------*/
.single-museum .featured-image img{width:100%;height:auto;object-fit:cover;margin-bottom:1rem}
.single-museum .entry-title{font-size:clamp(1.5rem,2vw,2.25rem);margin-bottom:.5rem}

/*----------------------------------------
    CATEGORY MUSEUMS
-----------------------------------------*/
/* Museum category layout */
.category-museums .museum-list{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width: 768px) {.category-museums .museum-list{grid-template-columns:1fr 1fr}}
.museum-item{display:flex;flex-direction:column}
.museum-thumb img{width:100%;height:200px;object-fit:cover;margin-bottom:.5rem}
.museum-title{font-size:clamp(1.25rem,2vw,1.5rem);margin:.25rem 0}

/*----------------------------------------
    MUSEUM HERO
-----------------------------------------*/
.museum-hero{position:relative;width:100%;height:56vh;max-height:700px;min-height:320px;overflow:hidden;border-radius:12px;margin-top:20px}

/* CRUCIAL: take image out of flow */
.museum-hero-img{position:absolute!important;top:0;left:0;width:100%;height:100%!important;object-fit:cover;border-radius:12px;z-index:1}
.museum-hero-overlay{position:absolute;bottom:2rem;left:2rem;right:2rem;z-index:2;display:flex;justify-content:flex-start;text-align:left}
.museum-hero-overlay h1{margin:0;max-width:70%;color:#fff;font-size:clamp(1.6rem,3vw + 1rem,3rem);line-height:1.2;padding:.15em .55em;border-radius:6px;background:#00000050;backdrop-filter:blur(2px);text-shadow:0 2px 6px #000000e6 0 -2px 6px #fff9}
.museum-hero-caption{text-align:right;font-size:.8rem;color:#666;margin-top:.4rem;padding-right:.5rem;line-height:1.4;opacity:1}

/* On desktop keep it normal */
@media (min-width: 601px) {.museum-hero-caption{opacity:1}}

/* Fade down on mobile */
@media (max-width: 600px) {.museum-hero-caption{opacity:.4;transition:opacity .3s ease}}
@media (max-width: 480px) {.museum-hero-caption{font-size:.7rem;padding-right:.3rem;word-break:break-word}}
@media (max-width: 768px) {
.museum-hero{height:45vh}
.museum-hero-overlay{bottom:1rem;left:1rem;right:1rem;justify-content:center;text-align:center}
.museum-hero-overlay h1{max-width:100%;font-size:clamp(1.3rem,5vw + 0.6rem,2.2rem)}

.h1kursiv{display:block;font-family:"Cormorant",serif;font-style:italic;font-weight:300;font-size:clamp(0.7em,0.4vw + 0.7em,0.85em);line-height:1.3;margin-top:.5em;padding-left:.5em;text-indent:-.5em;color:#333}
.h1kursiv--overlay{color:#f5f5f5;text-shadow:0 2px 4px #0009;font-size:clamp(0.75em,0.35vw + 0.7em,0.95em);font-weight:400;margin-top:.3em}

/*--------------------------------------
  MUSEUM NOTICE
--------------------------------------*/
.museum-notice{background:#fff3cd;color:#856404;border-left:5px solid #ffeeba;padding:1em 1.2em;margin:1.5em 0;border-radius:4px;font-size:.95rem;font-family:'Playfair Display',serif}

