:root{
  --bg:#f6fbfb;
  --muted:#6b7785;
  --primary:#6aa6c9; /* light blue */
  --accent:#6fc1a9;  /* green */
  --white:#ffffff;
  --card:#ffffff;
  --max-width:1100px;
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#123;line-height:1.5}
.container{max-width:var(--max-width);margin:0 auto;padding:24px}
.site-header{background:linear-gradient(90deg,var(--white),#f0fbff);border-bottom:1px solid #e6f2f4}
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.site-title{margin:12px 0;font-size:20px;color:var(--primary)}
.brand{display:flex;align-items:center;gap:12px}
.site-logo{height:48px;display:block}
.site-nav a{margin-left:16px;color:var(--muted);text-decoration:none}
.hero{padding:48px 0;text-align:center}
.hero h1{font-size:28px;margin:0 0 8px;color:#07364a}
.lead{color:var(--muted);max-width:800px;margin:0 auto 16px}
.cta-group .btn{margin:6px}
.btn{display:inline-block;padding:10px 16px;border-radius:6px;background:transparent;border:1px solid #cfe9f0;color:#064;cursor:pointer;text-decoration:none}
.btn.primary{background:var(--primary);color:var(--white);border:none}
.cards{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}
.card{background:var(--card);padding:18px;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,0.06);flex:1;min-width:220px}
h2{color:#074a58;margin-top:24px}
.site-footer{border-top:1px solid #e6f2f4;background:var(--white);padding:18px;margin-top:24px}
.footer-nav a{margin-right:12px;color:var(--muted);text-decoration:none}
form .form-row{margin-bottom:12px}
label{display:block;margin-bottom:6px;color:#083}
input,select,textarea{width:100%;padding:8px;border:1px solid #d6e6e8;border-radius:6px}
.success{background:#e6fbf0;border:1px solid #c6efd9;padding:12px;border-radius:6px;color:#064;margin-top:8px}

/* Café gallery and thumbnails */
.image-gallery .gallery{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.image-gallery .gallery img{width:32%;height:180px;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.menu-thumb{width:90px;height:60px;object-fit:cover;border-radius:6px;margin-right:12px;vertical-align:middle}
.menu-thumb + strong{vertical-align:middle}
.img-credit{font-size:12px;color:var(--muted);margin-top:8px}

/* Page hero image */
.page-hero-image{width:100%;max-height:320px;object-fit:cover;border-radius:10px;margin-bottom:14px}

/* Hero section with photographic background similar to MIU site */
.hero{position:relative;display:flex;align-items:center;min-height:420px;color:#072;overflow:hidden;padding:0}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(245,249,250,0.95) 0%, rgba(245,249,250,0.6) 20%, rgba(245,249,250,0.2) 40%, transparent 60%);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:680px;padding:48px}
.hero .lead{color:var(--muted);font-size:18px}
.hero .btn{margin-right:8px}

/* When a hero photo is present, apply as background and style text for contrast */
.hero.hero-has-photo{color:var(--white)}
.hero.hero-has-photo::before{background:linear-gradient(90deg, rgba(3,17,23,0.6) 0%, rgba(3,17,23,0.45) 18%, rgba(3,17,23,0.18) 38%, transparent 60%)}
.hero.hero-has-photo{background-position:center right;background-size:cover;background-repeat:no-repeat;filter:none}
.hero.hero-has-photo .lead{color:rgba(255,255,255,0.9)}
.hero.hero-has-photo .page-hero-image{display:none}

/* Left-aligned photographic hero (image on the left, text on the right) */
.hero.hero-has-photo-left{color:var(--white)}
.hero.hero-has-photo-left::before{background:linear-gradient(90deg, transparent 40%, rgba(3,17,23,0.6) 100%)}
.hero.hero-has-photo-left{background-position:left center;background-size:cover;background-repeat:no-repeat;filter:none}
.hero.hero-has-photo-left .lead{color:rgba(255,255,255,0.95)}
.hero.hero-has-photo-left .page-hero-image{display:none}
.hero.hero-has-photo-left .hero-inner{margin-left:auto;padding-right:48px;padding-left:48px;text-align:left}

/* Left column hero photo element (prevents tiling and displays image once) */
.hero-photo{flex:0 0 45%;height:100%;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero.hero-has-photo-left .hero-inner{flex:1;padding:48px}

@media(max-width:800px){
  .hero{min-height:280px}
  .hero-inner{padding:20px}
  .hero-photo{display:none}
}

/* Lightbox */
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,17,23,0.7);z-index:1200;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-width:95%;max-height:85%;border-radius:8px;box-shadow:0 6px 30px rgba(0,0,0,0.6)}
.lightbox .caption{color:var(--white);font-size:14px;margin-top:12px;text-align:center}

@media(max-width:800px){
  .cards{flex-direction:column}
  .site-header .container{flex-direction:column;align-items:flex-start}
  .site-nav{margin:8px 0}
  .image-gallery .gallery img{width:100%;height:160px}
  .menu-thumb{width:70px;height:50px}
}

/* Map container styling for contact page */
.map-container{background:#eef6f5;border-radius:8px;padding:6px;overflow:hidden;margin-top:12px}
.map-container iframe{display:block;border:0;width:100%;height:420px;border-radius:6px}
