body {
  font-family: 'Inter', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  overflow-x: hidden;
  color: #222;
  margin: 0;
  padding: 0;
  background: linear-gradient(135deg, #f7fafc 0%, #e3e9f7 100%);  color: #222;
  font-size: 1.08rem;
  letter-spacing: 0.01em;
}

h2, h3, h4 {
  font-family: 'Inter', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #222222;
  margin-bottom: 0.7em;
}

p, ul, li, a, label, input, textarea, button {
  font-family: 'Inter', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  color: #333;
  line-height: 1.7;
}

header {
 background: 
    linear-gradient(rgba(44,62,80,0.35), rgba(44,62,80,0.35)),
    url('Images/house outside.jpg') center center / cover no-repeat fixed;
  color:  #fff;
  padding: 200px 20px 20px 20px;
  padding-top: 200px;
  text-align: center;
  min-height: 450px;
  position: relative;
  background-attachment: fixed;
  box-shadow: 0 4px 24px rgba(44,62,80,0.12);
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
}


.cta {
  display: inline-block;
  font-size: 1.15rem;
  font-weight: 600;
  margin-top: 20px;
  padding: 14px 32px;
  background:#fffaf2;
  border:1px solid var(--panel-border);
  color:var(--accent-hover);
  box-shadow:none;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.cta:hover {
  background:var(--accent-alt);
  border-color:var(--accent-alt);
  color:var(--heading-color);
  box-shadow:0 2px 6px rgba(var(--shadow-color)/0.18);
}


section {
  max-width: 800px;
  margin: 40px auto;
  padding: 0 20px;
  padding-top: 50px;
  background: white;
  border-radius: 8px;
}

ul {
  list-style: none;
  padding: 0;
}
.features {
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding-left: 4vw;
  padding-right: 4vw;
  box-sizing: border-box;
  box-shadow: 0 4px 24px rgba(44,62,80,0.08);
  background: rgba(255,255,255,0.85);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#apartman.features {
  margin-top: 60px;
}

.features > * {
  width: 100%;
  max-width: 1000px; /* Match gallery-grid */
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.features h2{
  font-size: 2.1rem;
  font-weight: 700;
  color: #34495e;
  margin-bottom: 0.6em;
  text-shadow: 0 2px 8px rgba(44,62,80,0.08);
}
.features p,
.features ul,
.features form,
.features .feature-block {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 18px 24px;
  margin-bottom: 18px;
  border-bottom: 1px solid #eee;
  box-shadow: 0 2px 8px rgba(44,62,80,0.04);
  font-size: 1.12rem;
  color: #333;
  max-width: 1000px; /* Match gallery-grid */
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.feature-block {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 18px 24px;
  border-bottom: 1px solid #eee;
  box-shadow: 0 2px 12px rgba(44,62,80,0.06);
}
.feature-block:last-child {
  border-bottom: none;
}

form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}

input, textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

button {
  background: #ffffff;
  color:var(--accent-hover);
  border:1px solid var(--panel-border);
  box-shadow:none;
  transition:.25s background,.25s color,.25s box-shadow;
}

button:hover {
  background:var(--accent-alt);
  color:var(--heading-color);
  box-shadow:0 2px 6px rgba(var(--shadow-color)/0.15);
}

footer {
  background: #34495e;
  color: #ffd700;
  text-align: center;
  padding: 18px 0;
  font-size: 1rem;
  letter-spacing: 0.02em;
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  box-shadow: 0 -2px 16px rgba(44,62,80,0.10);
}
.lang-selector {
  margin-top: 20px;
  color: white;
}

.lang-selector label {
  margin-right: 8px;
}

.lang-selector select {
  padding: 5px;
  border-radius: 4px;
  border: none;
}
.navbar {
    position: fixed;
    height: 50px;
font-family: 'Inter', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-size: 1.35rem;
  background: rgba(44,62,80,0.98);
  padding: 28px 0;
  letter-spacing: 0.03em;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent;
  box-shadow: 0 2px 16px rgba(44,62,80,0.18);
  text-align: left;
  padding: 28px 0;
  letter-spacing: 0.03em;
  border-radius: 0 0 6px 6px;
  transition: background 0.3s, box-shadow 0.3s;
}
.navbar.scrolled {
  padding: 28px 0;
  background: rgba(44,62,80,0.98);
  box-shadow: 0 2px 16px rgba(44,62,80,0.18);
}

.navbar ul {
 list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block;
}
.navbar ul li {
  display: inline;
  margin: 0 15px 0 0;
}
.navbar ul li a {
 font-family: 'Inter', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  color: #fff;
  text-decoration: none;
  padding: 12px 26px;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s;
}
.navbar ul li a:hover,
.navbar ul li a:focus {
  background:rgba(255,255,255,0.18);
  color:var(--accent-hover);
  box-shadow:none;
  text-decoration:none;
}

/* Navbar background appears after leaving hero */
.navbar.scrolled { background:var(--panel-bg,#fffaf2) !important; box-shadow:0 2px 8px rgba(var(--shadow-color,34 26 18)/0.15) !important; border-bottom:1px solid var(--panel-border,#e7dac7); }
.navbar.scrolled ul li a { color:var(--accent-hover,#4d3c2a); }
.navbar.scrolled ul li a:hover, .navbar.scrolled ul li a:focus { background:rgba(0,0,0,0.06); color:var(--heading-color,#2f281f); }
/* End navbar scroll background */

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 18px;
  margin-top: 16px;
  padding: 18px;
  background: #f7f7fa;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(44,62,80,0.10);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.gallery-grid img {
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(44,62,80,0.10);
  background: #eaeaea;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
  display: block;
}
.gallery-grid img:hover {
  transform: scale(1.06);
  box-shadow: 0 6px 24px rgba(44,62,80,0.18);
}
.modal {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: rgba(44,62,80,0.85);
  box-shadow: 0 8px 48px rgba(44,62,80,0.18);
 
}
.modal-content {
 margin: auto;
  display: block;
  max-width: 80vh;
  max-height: 80vh;
  transition: transform 0.3s cubic-bezier(.4,2,.6,1), box-shadow 0.3s;
  /* Remove zoom-in cursor and animation */
  cursor: default;
  animation: none;
  border-radius: 12px;
  box-shadow: 0 4px 32px rgba(44,62,80,0.18);
}
.modal-animate {
  animation: modalPop 0.3s;
}
@keyframes modalPop {
  from {
    transform: scale(0.7);
    opacity: 0.5;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
.modal-content.zoomed {
  cursor: zoom-out;
  transform: scale(1.8);
  box-shadow: 0 8px 64px rgba(0,0,0,0.7);
  z-index: 2200;
}
#modal-caption {
  color: #fff;
  text-align: center;
  margin-top: 10px;
  font-size: 18px;
  background: rgba(0,0,0,0.5);
  padding: 8px 16px;
  border-radius: 6px;
  max-width: 90vw;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.modal-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 48px;
  font-weight: bold;
  cursor: pointer;
  user-select: none;
  z-index: 2100;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.modal-arrow:hover {
  background: rgba(0,0,0,0.6);
}
.modal-arrow-left {
  left: 20px;
}
.modal-arrow-right {
  right: 20px;
}
.navbar-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  width: 100%;
}
.navbar-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
}
.navbar-toggle-icon {
  display: inline-block;
  font-size: 2rem;
  line-height: 1;
}
.navbar-right {
  width: auto;
  padding: 0 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-left: auto;
}
.navbar.scrolled .navbar-right {
  padding: 0 8px;
  max-width: 32px;
}

.lang-icon {
  background: none;
  border: none;
  margin-left: 18px;
  cursor: pointer;
  vertical-align: middle;
  padding: 0;
  transition: filter 0.2s;
}
.lang-icon img {
  filter: grayscale(0.3) brightness(1.1);
  transition: filter 0.2s;
}
.lang-icon:hover img {
  filter: none;
}
html {
     scroll-behavior: smooth;
  scroll-padding-top: 56px; /* vagy a navbar magassága */
}


/* Responsive styles for mobile devices */
@media (max-width: 700px) {
  body {
    font-size: 1rem;
    padding: 0;
  }

  header {
      border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
    padding: 56px 0 16px 0; /* top right bottom left */
    min-height: 220px;
    background-attachment: scroll;
    width: 100vw;
    margin: 0;
    box-sizing: border-box;
  }
  section:first-of-type {
    margin-top: 56px;
  }
  
    .features {
    width: 100vw;
    max-width: 100vw;
    margin: 0;
     padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
    border-radius: 0;
    overflow-x: hidden;
  }

  section,
  .features > *,
  .features h2,
  .features p,
  .features ul,
  .features form,
  .features .feature-block {
   width: 100%;
    max-width: 100vw;
    margin: 0 0 12px 0;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
    border-radius: 0;
    overflow-x: hidden;
  }

  .gallery-grid {
    width: 100vw;
    max-width: 100vw;
    margin: 0;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
    border-radius: 0;
    overflow-x: hidden;
  }

  .gallery-grid img {
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(44,62,80,0.10);
  }

  .navbar {
    height: 56px;
    font-size: 1.05rem;
    padding: 0 0;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 1000;
    background: rgba(44,62,80,0.98);
    box-shadow: 0 2px 16px rgba(44,62,80,0.18);
  }
    .navbar-brand {
         width: 100%;
    padding: 0 8px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
  }
  .navbar-right {
     padding: 0;
    margin-left: 0;
    max-width: 32px;
    overflow: hidden;
    display: flex;
    align-items: center;
  }
    .lang-icon {
     margin-left: 0;
    width: 28px;
    height: 28px;
    padding: 0;
    display: block;
  }
   .lang-icon img {
    width: 28px;
    height: 28px;
    max-width: 100%;
    display: block;
  }

  .navbar ul.navbar-menu {
    display: none;
    flex-direction: column;
    gap: 8px;
    background: rgba(44,62,80,0.98);
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    padding: 16px 0;
    z-index: 9999;
    box-shadow: 0 2px 16px rgba(44,62,80,0.18);
  }
  .navbar ul.navbar-menu.active {
    display: flex;
  }
  .navbar-toggle {
    display: block;
    padding-bottom: 12px; /* More space under the hamburger icon */
    padding-top: 4px;     /* Optional: add some space above too */
  }
  .navbar ul li {
    margin: 0;
    display: block;
  }

  .navbar ul li a {
    padding: 10px 16px;
    font-size: 1rem;
    border-radius: 6px;
  }

  .modal-content {
    max-width: 96vw;
    max-height: 60vh;
  }

  .modal-arrow {
    width: 38px;
    height: 38px;
    font-size: 32px;
    left: 8px;
    right: 8px;
  }
  .modal-arrow-left {
  left: 20px;
  right: auto;
}

.modal-arrow-right {
  right: 20px;
  left: auto;
}

  #modal-caption {
    font-size: 1rem;
    padding: 6px 8px;
  }

  footer {
    padding-left: 12px;
    padding-right: 12px;
  }
  html {
  scroll-padding-top: 56px; /* vagy amekkora a navbar magassága (pl. 56px mobilon) */
}
}

/* Pastel Beige Theme Overrides */
:root {
  --bg-gradient-start:#f5efe6; /* light cream */
  --bg-gradient-end:#e9dfd1;   /* soft beige */
  --panel-bg:#fffaf2;          /* off-white warm */
  --panel-border:#e7dac7;      /* light warm border */
  --text-color:#3c3328;        /* warm dark */
  --heading-color:#2f281f;
  --accent:#c59a4a;            /* muted gold */
  --accent-alt:#e8c27a;        /* lighter gold */
  --accent-hover:#4d3c2a;      /* deep brown */
  --shadow-color:34 26 18;     /* shadow reference */
}

body { background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%); color:var(--text-color); }

h1,h2,h3,h4 { color:var(--heading-color); }

header { background:linear-gradient(rgba(85,65,45,0.38),rgba(85,65,45,0.38)), url('Images/house outside.jpg') center center / cover no-repeat fixed; box-shadow:0 4px 24px rgba(var(--shadow-color)/0.20); }

.cta { background:#fffaf2; border:1px solid var(--panel-border); color:var(--accent-hover); box-shadow:none; font-weight:600; }
.cta:hover { background:var(--accent-alt); border-color:var(--accent-alt); color:var(--heading-color); box-shadow:0 2px 6px rgba(var(--shadow-color)/0.18); }

.features { background:rgba(255,250,242,0.85); box-shadow:0 4px 24px rgba(var(--shadow-color)/0.12); }
.features h2 { color:var(--heading-color); text-shadow:0 2px 8px rgba(var(--shadow-color)/0.10); }
.features p, .features ul, .features form, .features .feature-block, .feature-block { background:var(--panel-bg); border-bottom:1px solid var(--panel-border); box-shadow:0 2px 8px rgba(var(--shadow-color)/0.06); color:var(--text-color); }
.feature-block:last-child { border-bottom:none; }

.navbar { background:transparent; backdrop-filter:none !important; }
.navbar.scrolled { background:transparent; box-shadow:none; }

.navbar ul li a { color:#fff; }
.navbar ul li a:hover, .navbar ul li a:focus { background:rgba(255,255,255,0.18); color:var(--accent-hover); box-shadow:none; }

.gallery-grid { background:#f3ede3; box-shadow:0 4px 24px rgba(var(--shadow-color)/0.12); }
.gallery-grid img { background:#efe5d7; box-shadow:0 2px 8px rgba(var(--shadow-color)/0.12); }
.gallery-grid img:hover { box-shadow:0 6px 24px rgba(var(--shadow-color)/0.28); }

.modal { background:rgba(60,47,32,0.88); }
.modal-content { box-shadow:0 4px 32px rgba(var(--shadow-color)/0.40); }

footer { background:var(--accent-hover); color:var(--accent-alt); box-shadow:0 -2px 18px rgba(var(--shadow-color)/0.25); }

/* Language toggle recolor */
.lang-opt { background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.35); color:#fff; }
.lang-opt:hover { background:rgba(255,255,255,0.32); }
.lang-opt.active { background:linear-gradient(90deg,var(--accent),var(--accent-alt)); color:var(--accent-hover); box-shadow:0 0 0 1px rgba(0,0,0,0.10),0 4px 10px rgba(var(--shadow-color)/0.30); }

/* --- Minimalistic lighter buttons update --- */
/* CTA button */
.cta { background:#fffaf2; border:1px solid var(--panel-border); color:var(--accent-hover); box-shadow:none; font-weight:600; }
.cta:hover { background:var(--accent-alt); border-color:var(--accent-alt); color:var(--heading-color); box-shadow:0 2px 6px rgba(var(--shadow-color)/0.18); }

/* Generic buttons */
button { background:#ffffff; color:var(--accent-hover); border:1px solid var(--panel-border); box-shadow:none; transition:.25s background,.25s color,.25s box-shadow; }
button:hover { background:var(--accent-alt); color:var(--heading-color); box-shadow:0 2px 6px rgba(var(--shadow-color)/0.15); }

/* Language toggle minimal */
.lang-opt { background:rgba(255,255,255,0.35); border:1px solid rgba(0,0,0,0.08); color:var(--accent-hover); box-shadow:none; }
.lang-opt:hover { background:rgba(255,255,255,0.55); }
.lang-opt.active { background:var(--accent-alt); color:var(--heading-color); box-shadow:0 0 0 1px rgba(0,0,0,0.05); }

/* Navbar link hover lighter */
.navbar ul li a:hover, .navbar ul li a:focus { background:rgba(255,255,255,0.18); color:var(--accent-hover); box-shadow:none; text-decoration:none; }
/* --- End minimalistic update --- */

/* Mobile tweaks */
@media (max-width:700px){
  header { background-attachment:scroll; }
  .navbar.scrolled { background:rgba(90,70,50,0.97); }
  .gallery-grid { background:#f6efe5; }
}

/* --- Navbar layout & language toggle right alignment --- */
.navbar { display:flex; align-items:center; }
.navbar-toggle { margin-left:12px; }
.navbar-menu { display:flex; align-items:center; margin:0 0 0 16px; padding:0; gap:4px; flex-wrap:wrap; }
.lang-toggle { display:flex; gap:6px; margin-left:auto !important; margin-right:20px; padding:0; align-items:center; }
.lang-opt { font-size:.7rem; }
@media (max-width:700px){
  .navbar { justify-content:flex-start; }
  .navbar-menu { position:absolute; top:100%; left:0; width:100vw; flex-direction:column; align-items:flex-start; }
  .lang-toggle { margin-right:12px; }
}
/* --- End navbar layout update --- */

/* --- Ultra Light Variant Overrides (lighter colors) --- */
:root {
  --bg-gradient-start:#faf7f2; /* lighter cream */
  --bg-gradient-end:#f2ebe3;   /* paler beige */
  --panel-bg:#fffcf7;          /* very light warm */
  --panel-border:#efe3d4;      /* softer border */
  --text-color:#4a4034;        /* softened contrast */
  --heading-color:#3d3328;
  --accent:#d8b572;            /* lighter muted gold */
  --accent-alt:#f3dfb0;        /* pale highlight */
  --accent-hover:#6e5a45;      /* softened brown */
  --shadow-color:140 120 95;   /* gentler shadow tone */
}

body { background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%); color:var(--text-color); }

header { background:linear-gradient(rgba(110,90,65,0.25),rgba(110,90,65,0.25)), url('Images/house outside.jpg') center/cover no-repeat fixed; box-shadow:0 3px 18px rgba(var(--shadow-color)/0.18); }

.features { background:rgba(255,252,247,0.78); box-shadow:0 3px 18px rgba(var(--shadow-color)/0.10); }
.features p, .features ul, .features form, .features .feature-block, .feature-block { background:var(--panel-bg); border-bottom:1px solid var(--panel-border); box-shadow:0 1px 4px rgba(var(--shadow-color)/0.10); }

.cta { background:#fffcf7; border:1px solid var(--panel-border); color:var(--accent-hover); box-shadow:none; }
.cta:hover { background:var(--accent-alt); color:var(--heading-color); }

button { background:#ffffff; border:1px solid var(--panel-border); color:var(--accent-hover); }
button:hover { background:var(--accent); color:var(--heading-color); }

.navbar { backdrop-filter:none !important; }
.navbar.scrolled { background:transparent; box-shadow:none; }
.navbar { border-radius:0 0 6px 6px !important; }

.navbar ul li a { color:var(--accent-hover); }
.navbar ul li a:hover, .navbar ul li a:focus { background:rgba(255,255,255,0.45); color:var(--heading-color); }

.gallery-grid { background:#f8f3ec; box-shadow:0 3px 20px rgba(var(--shadow-color)/0.12); }
.gallery-grid img { background:#f4ede4; box-shadow:0 1px 6px rgba(var(--shadow-color)/0.14); }
.gallery-grid img:hover { box-shadow:0 4px 18px rgba(var(--shadow-color)/0.28); }

footer { background:#6e5a45; color:var(--accent-alt); box-shadow:0 -2px 14px rgba(var(--shadow-color)/0.22); }

@media (max-width:700px){
  .navbar.scrolled { background:rgba(240,232,223,0.92); }
  .gallery-grid { background:#fbf7f2; }
}
/* --- End Ultra Light Variant Overrides --- */

/* Language toggle size & spacing tweak */
.lang-toggle { margin-right:32px !important; padding-right:4px; }
.lang-toggle .lang-opt { font-size:0.8rem; padding:6px 14px; }
@media (max-width:700px){ .lang-toggle { margin-right:18px !important; } .lang-toggle .lang-opt { font-size:0.75rem; padding:5px 12px; } }
/* End tweak */

/* --- Pastel Sand Beige Scheme Override (replaces brown tones) --- */
:root {
  --bg-gradient-start:#fdfbf8; /* very light sand */
  --bg-gradient-end:#f5eee9;   /* pale warm beige */
  --panel-bg:#fffdfb;          /* near-white warm */
  --panel-border:#e9e0d8;      /* soft border */
  --text-color:#4d463f;        /* gentle neutral */
  --heading-color:#3b352e;     /* slightly deeper */
  --accent:#e4cbb1;            /* soft sand */
  --accent-alt:#f9e5d2;        /* light peach */
  --accent-hover:#8a7868;      /* muted taupe for contrast */
  --shadow-color:130 115 100;  /* updated shadow tone */
}

/* Apply new gradient + neutralize previous fixed overlays */
body { background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%); color:var(--text-color); }
header { background:linear-gradient(rgba(138,120,104,0.30),rgba(138,120,104,0.30)), url('Images/house outside.jpg') center center / cover no-repeat fixed; }
.features { background:rgba(255,253,251,0.82); }
.cta { background:var(--panel-bg); border:1px solid var(--panel-border); color:var(--accent-hover); }
.cta:hover { background:var(--accent-alt); color:var(--heading-color); }
button { background:#ffffff; border:1px solid var(--panel-border); color:var(--accent-hover); }
button:hover { background:var(--accent-alt); color:var(--heading-color); }
.navbar.scrolled { background:rgba(255,253,251,0.92) !important; }
.navbar.scrolled ul li a { color:var(--accent-hover); }
.navbar ul li a:hover, .navbar ul li a:focus { color:var(--accent-hover); }
.gallery-grid { background:#faf5f1; }
.modal { background:rgba(138,120,104,0.85); }
footer { background:var(--accent-hover); color:var(--accent-alt); }
.lang-opt.active { background:linear-gradient(90deg,var(--accent),var(--accent-alt)); color:var(--heading-color); }
/* --- End Pastel Sand Beige Scheme Override --- */

/* --- High Contrast Enhancement Overrides (accessibility contrast boost) --- */
:root {
  --text-color:#2d2620; /* darker body text */
  --heading-color:#1d1813; /* stronger heading */
  --accent:#d49d53; /* richer accent */
  --accent-alt:#f6d7a4; /* lighter accent for hovers */
  --accent-hover:#4a3c30; /* deep hover / primary */
}

body { color:var(--text-color); }

h1,h2,h3,h4 { color:var(--heading-color); }

/* Increase contrast for feature containers */
.features { background:rgba(255,255,255,0.92); }
.features p, .features ul, .features form, .features .feature-block, .feature-block { background:#ffffff; color:var(--text-color); border:1px solid var(--panel-border,#e0d6cc); }

/* Higher contrast buttons / CTA */
.cta { background:var(--accent-hover); color:#ffffff; border:1px solid var(--accent-hover); box-shadow:0 2px 6px rgba(0,0,0,0.15); }
.cta:hover { background:var(--accent); border-color:var(--accent); color:#1d1813; box-shadow:0 4px 10px rgba(0,0,0,0.20); }

button { background:#ffffff; color:var(--accent-hover); border:1px solid var(--accent-hover); font-weight:600; }
button:hover { background:var(--accent); color:#1d1813; }

/* Navbar contrast */
.navbar ul li a { color:#ffffff; text-shadow:0 1px 3px rgba(0,0,0,0.35); }
.navbar ul li a:hover, .navbar ul li a:focus { background:rgba(0,0,0,0.35); color:#fff; }
.navbar.scrolled ul li a { color:var(--heading-color); text-shadow:none; }
.navbar.scrolled ul li a:hover, .navbar.scrolled ul li a:focus { background:var(--accent); color:#1d1813; }

/* Language toggle */
.lang-opt { background:#ffffff; color:var(--accent-hover); border:1px solid var(--accent-hover); }
.lang-opt:hover { background:var(--accent-alt); color:var(--heading-color); }
.lang-opt.active { background:linear-gradient(90deg,var(--accent-hover),var(--accent)); color:#fff; border:1px solid var(--accent-hover); box-shadow:0 2px 6px rgba(0,0,0,0.25); }

/* Gallery contrast tweaks */
.gallery-grid { background:#ffffff; }
.gallery-grid img { box-shadow:0 2px 10px rgba(0,0,0,0.18); }
.gallery-grid img:hover { box-shadow:0 6px 24px rgba(0,0,0,0.30); }

/* Modal improved contrast */
.modal { background:rgba(30,24,19,0.88); }
#modal-caption { background:rgba(0,0,0,0.55); }

/* Footer stronger contrast */
footer { background:var(--accent-hover); color:#fcefdc; }

/* Focus outlines for accessibility */
a:focus-visible, button:focus-visible { outline:3px solid var(--accent); outline-offset:2px; border-radius:4px; }

@media (max-width:700px){
  .navbar ul li a:hover, .navbar ul li a:focus { background:rgba(255,255,255,0.20); }
  .navbar.scrolled ul li a:hover, .navbar.scrolled ul li a:focus { background:var(--accent); color:#1d1813; }
}
/* --- End High Contrast Enhancement Overrides --- */

/* --- Minimalistic Language Switcher Override --- */
.lang-toggle { gap:4px; padding:0 4px 0 0; background:transparent; }
.lang-opt { 
  background:none; 
  border:none; 
  padding:4px 10px; 
  font-size:0.72rem; 
  font-weight:600; 
  letter-spacing:0.06em; 
  text-transform:uppercase; 
  color:#fff; 
  border-radius:6px; 
  line-height:1; 
  box-shadow:none; 
  transition:background .18s,color .18s; 
}
.lang-opt:hover { background:rgba(255,255,255,0.18); color:#fff; }
.lang-opt.active { background:var(--accent); color:#1d1813; box-shadow:none; }
/* Scrolled state adjustments */
.navbar.scrolled .lang-opt { color:var(--heading-color); }
.navbar.scrolled .lang-opt:hover { background:rgba(0,0,0,0.06); color:var(--heading-color); }
.navbar.scrolled .lang-opt.active { background:var(--accent-hover); color:#fff; }
/* High contrast mode keeps focus outline already defined */
/* --- End Minimalistic Language Switcher Override --- */

/* --- Neutral Minimal Palette Override (F2F2F0 / EEEAE3 / DDD6CE / B0A99F) --- */
:root {
  --bg-gradient-start:#F2F2F0;
  --bg-gradient-end:#EEEAE3;
  --panel-bg:#FFFFFF;
  --panel-border:#DDD6CE;
  --accent:#B0A99F; /* primary neutral */
  --accent-alt:#DDD6CE; /* soft hover fill */
  --accent-hover:#3a352f; /* deep neutral for contrast */
  --text-color:#4a453f; /* body */
  --heading-color:#2f2a25; /* headings */
}

body { background:linear-gradient(140deg,var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%); color:var(--text-color); }
header { background:linear-gradient(rgba(176,169,159,0.35),rgba(176,169,159,0.35)), url('Images/house outside.jpg') center/cover no-repeat fixed; }
.features { background:rgba(255,255,255,0.90); }
.features p, .features ul, .features form, .features .feature-block, .feature-block { background:var(--panel-bg); border:1px solid var(--panel-border); box-shadow:0 2px 6px rgba(0,0,0,0.04); }

/* Buttons & CTAs */
.cta { background:var(--accent); color:#fff; border:1px solid var(--accent); }
.cta:hover { background:var(--accent-hover); border-color:var(--accent-hover); color:#fff; }
button { background:#fff; border:1px solid var(--accent); color:var(--accent-hover); }
button:hover { background:var(--accent); color:#fff; }

/* Navbar */
.navbar ul li a { color:#fff; }
.navbar ul li a:hover, .navbar ul li a:focus { background:rgba(255,255,255,0.16); color:#fff; }
.navbar.scrolled { background:rgba(242,242,240,0.92)!important; box-shadow:0 2px 8px rgba(0,0,0,0.08)!important; border-bottom:1px solid var(--panel-border); }
.navbar.scrolled ul li a { color:var(--accent-hover); text-shadow:none; }
.navbar.scrolled ul li a:hover, .navbar.scrolled ul li a:focus { background:var(--accent-alt); color:var(--heading-color); }

/* Language toggle minimalist */
.lang-opt { background:none; border:none; color:#fff; }
.lang-opt:hover { background:rgba(255,255,255,0.15); }
.lang-opt.active { background:var(--accent); color:#fff; border:none; }
.navbar.scrolled .lang-opt { color:var(--accent-hover); }
.navbar.scrolled .lang-opt:hover { background:rgba(0,0,0,0.05); }
.navbar.scrolled .lang-opt.active { background:var(--accent-hover); color:#fff; }

/* Gallery & modal */
.gallery-grid { background:#F2F2F0; }
.modal { background:rgba(58,53,47,0.88); }

/* Footer */
footer { background:var(--accent-hover); color:#EEEAE3; }
/* --- End Neutral Minimal Palette Override --- */

/* --- Back to Top Button Styles --- */
#toTop { position:fixed; right:20px; bottom:24px; width:44px; height:44px; border-radius:50%; border:1px solid var(--accent,#B0A99F); background:var(--accent,#B0A99F); color:#fff; font-size:24px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,0.18); opacity:0; pointer-events:none; transition:opacity .3s, transform .3s, background .25s; z-index:1400; }
#toTop:hover { background:var(--accent-hover,#3a352f); }
#toTop.show { opacity:1; pointer-events:auto; transform:translateY(0); }
@media (max-width:700px){ #toTop { right:14px; bottom:18px; width:40px; height:40px; font-size:22px; } }
/* --- End Back to Top Button Styles --- */

/* --- Back to Top Button Size Override --- */
#toTop { width:56px; height:56px; font-size:28px; padding:4px; }
@media (max-width:700px){ #toTop { width:50px; height:50px; font-size:26px; padding:4px; } }
/* --- End Back to Top Button Size Override --- */

/* --- Mobile Hamburger Contrast Override --- */
.navbar-toggle { 
  color:#fff; 
  background:rgba(0,0,0,0.38); 
  border:1px solid rgba(255,255,255,0.55); 
  border-radius:8px; 
  padding:6px 14px 8px; 
  line-height:1; 
  display:none; /* kept desktop hidden */
  cursor:pointer; 
  transition:background .25s,border-color .25s,color .25s; 
  -webkit-tap-highlight-color:transparent; 
}
.navbar-toggle-icon { display:inline-block; transform-origin:center; transition:transform .35s,color .25s; pointer-events:none; }
@media (max-width:700px){
  .navbar-toggle { display:block; }
}
.navbar-toggle:focus-visible { outline:3px solid var(--accent,#B0A99F); outline-offset:2px; }
.navbar.scrolled .navbar-toggle { background:var(--accent,#B0A99F); border-color:var(--accent,#B0A99F); color:#fff; }
.navbar-toggle:active { background:var(--accent-hover,#3a352f); border-color:var(--accent-hover,#3a352f); color:#fff; }
.navbar-toggle.open { background:var(--accent-hover,#3a352f); border-color:var(--accent-hover,#3a352f); color:#fff; }
.navbar-toggle.open .navbar-toggle-icon { transform:rotate(90deg); }
/* --- End Mobile Hamburger Contrast Override --- */

/* --- Mobile Menu Neutral Background Override --- */
@media (max-width:700px){
  .navbar ul.navbar-menu { 
    background:rgba(242,242,240,0.97) !important; 
    border-bottom:1px solid var(--panel-border,#DDD6CE); 
    backdrop-filter:blur(6px); 
  }
  .navbar ul.navbar-menu a { color:var(--accent-hover,#3a352f); }
  .navbar ul.navbar-menu a:hover, .navbar ul.navbar-menu a:focus { background:var(--accent-alt,#DDD6CE); color:var(--heading-color,#2f2a25); }
}
/* --- End Mobile Menu Neutral Background Override --- */

/* --- Navbar Shadow Only After Scroll Override --- */
.navbar { box-shadow:none !important; }
.navbar.scrolled { box-shadow:0 2px 12px rgba(0,0,0,0.12) !important; }
@media (max-width:700px){ .navbar { box-shadow:none !important; } }
/* --- End Navbar Shadow Only After Scroll Override --- */

/* --- Navbar hide class transition (applies to all viewports now) */
.navbar { transition:transform .35s ease; }
.navbar.nav-hide { transform:translateY(-140%); }

/* Light hero title override to match navbar (white on hero) */
header h1 { 
  color:#ffffff !important; 
  text-shadow:0 3px 12px rgba(0,0,0,0.35); 
}

/* --- Contact Cards Modern Styles --- */
.contact-block { display:flex; flex-direction:column; gap:22px; }
.contact-cards { display:flex; gap:24px; flex-wrap:wrap; }
.contact-card { flex:1 1 260px; background:var(--panel-bg,#fff); border:1px solid var(--panel-border,#DDD6CE); padding:18px 20px 22px; border-radius:14px; box-shadow:0 4px 14px rgba(0,0,0,0.06); position:relative; overflow:hidden; display:flex; flex-direction:column; gap:10px; }
.contact-card:before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(176,169,159,0.12),rgba(58,53,47,0.06)); opacity:0; transition:.4s opacity; }
.contact-card:hover:before { opacity:1; }
.contact-card h3 { margin:0 0 4px; font-size:1.15rem; font-weight:600; color:var(--heading-color,#2f2a25); }
.contact-card .contact-label { align-self:flex-start; font-size:.65rem; letter-spacing:.08em; font-weight:600; text-transform:uppercase; background:var(--accent,#B0A99F); color:#fff; padding:5px 10px 4px; border-radius:30px; box-shadow:0 2px 6px rgba(0,0,0,0.08); }
.contact-card .badge-en { background:var(--accent-hover,#3a352f); color:#fff; }
.contact-card .badge-hu { background:var(--accent,#B0A99F); }
.contact-card a.contact-phone { font-size:1.05rem; font-weight:600; color:var(--accent-hover,#3a352f); text-decoration:none; background:var(--accent-alt,#DDD6CE); padding:10px 14px; border-radius:10px; display:inline-flex; align-items:center; gap:10px; transition:.25s background,.25s color,.25s box-shadow; box-shadow:0 2px 6px rgba(0,0,0,0.04); }
.contact-card a.contact-phone:before { content:"\260E"; font-size:1.1rem; }
.contact-card a.contact-phone:hover { background:var(--accent-hover,#3a352f); color:#fff; box-shadow:0 4px 12px rgba(0,0,0,0.12); }
@media (max-width:700px){ .contact-cards { flex-direction:column; gap:16px; } .contact-card { padding:16px 16px 20px; } }
/* --- End Contact Cards Modern Styles --- */

/* --- Minimal Contact Cards Refresh --- */
.contact-cards.minimal { display:flex; flex-wrap:wrap; gap:18px; padding:4px 0; }
.contact-cards.minimal .contact-card { flex:1 1 240px; background:#fff; border:1px solid var(--panel-border,#DDD6CE); border-radius:12px; padding:14px 16px 16px; box-shadow:0 2px 6px rgba(0,0,0,0.04); display:flex; flex-direction:column; gap:6px; position:relative; transition:.25s box-shadow,.25s border-color,.25s transform; }
.contact-cards.minimal .contact-card:hover { box-shadow:0 4px 14px rgba(0,0,0,0.10); border-color:var(--accent,#B0A99F); transform:translateY(-2px); }
.contact-cards.minimal .contact-card h3 { margin:0; font-size:1.02rem; font-weight:600; letter-spacing:.01em; color:var(--heading-color,#2f2a25); }
.contact-cards.minimal .contact-card .contact-label { font-size:.58rem; letter-spacing:.10em; font-weight:600; text-transform:uppercase; background:var(--accent-alt,#DDD6CE); color:var(--accent-hover,#3a352f); padding:4px 8px 3px; border-radius:24px; display:inline-block; }
.contact-cards.minimal .contact-card .badge-en { background:var(--accent-hover,#3a352f); color:#fff; }
.contact-cards.minimal .contact-card .badge-hu { background:var(--accent,#B0A99F); color:#fff; }
.contact-cards.minimal .contact-card a { text-decoration:none; font-weight:600; font-size:.95rem; color:var(--accent-hover,#3a352f); word-break:break-all; }
.contact-cards.minimal .contact-card a:hover { text-decoration:underline; }
.contact-cards.minimal .email-card a.contact-email { font-weight:500; }
@media (max-width:700px){ .contact-cards.minimal { flex-direction:column; } }
/* --- End Minimal Contact Cards Refresh --- */

/* --- Ultra Minimal Contact List --- */
.contact-min { list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:4px; }
.contact-min li { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:4px 0 6px; border-bottom:1px solid var(--panel-border,#DDD6CE); font-size:.9rem; }
.contact-min li:last-child { border-bottom:none; }
.contact-min .contact-badge { font-size:.52rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--accent-hover,#3a352f); background:none; padding:0; }
.contact-min a.contact-phone { color:var(--accent-hover,#3a352f); text-decoration:none; font-weight:500; font-size:.9rem; }
.contact-min a.contact-phone:hover, .contact-min a.contact-phone:focus { text-decoration:underline; }
@media (max-width:700px){ .contact-min li { gap:6px; font-size:.88rem; } }
/* --- End Ultra Minimal Contact List --- */

/* --- Colored Contact Badges --- */
.contact-min .contact-badge { background:var(--accent,#B0A99F); color:#fff; padding:4px 8px 3px; border-radius:18px; font-size:.55rem; }
.contact-min .i18n-en-label { background:var(--accent-hover,#3a352f); }
/* Hover emphasis */
.contact-min li:hover .contact-badge { filter:brightness(0.92); }
/* --- End Colored Contact Badges --- */

/* --- Bold contact names --- */
.contact-min .i18n-gaborne-name,
.contact-min .i18n-gabor-name,
.contact-min .i18n-mark-name { font-weight:700; }
/* --- End bold contact names --- */

/* --- Contact Minimal List Larger Text Override --- */
.contact-min { font-size:1rem; }
.contact-min li { font-size:1rem; }
.contact-min .i18n-gaborne-name,
.contact-min .i18n-gabor-name,
.contact-min .i18n-mark-name { font-size:1.08rem; }
.contact-min a.contact-phone { font-size:1.02rem; }
.contact-min .contact-badge { font-size:.62rem; }
@media (max-width:700px){
  .contact-min { font-size:1.02rem; }
  .contact-min .i18n-gaborne-name,
  .contact-min .i18n-gabor-name,
  .contact-min .i18n-mark-name { font-size:1.12rem; }
  .contact-min a.contact-phone { font-size:1.06rem; }
}
/* --- End Contact Minimal List Larger Text Override --- */

/* --- Contact Line Layout --- */
.contact-min li { flex-direction:column; align-items:flex-start; }
.contact-min .contact-name { display:block; margin:4px 0 2px; }
.contact-min .contact-line { display:flex; align-items:center; gap:6px; line-height:1.4; margin:2px 0; }
.contact-min .contact-label { font-size:.60rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--accent-hover,#3a352f); background:var(--accent-alt,#DDD6CE); padding:3px 6px 2px; border-radius:10px; }
.contact-min .contact-email { text-decoration:none; color:var(--accent-hover,#3a352f); font-weight:500; }
.contact-min .contact-email:hover, .contact-min .contact-email:focus { text-decoration:underline; }
@media (max-width:700px){
  .contact-min .contact-line { flex-wrap:wrap; }
}
/* --- End Contact Line Layout --- */

/* --- Fullscreen Gallery Modal Override --- */
.modal { inset:0; width:100vw; height:100vh; padding:0; background:rgba(30,24,19,0.92); }
.modal-content { max-width:90vw; max-height:86vh; }
.modal-arrow { background:rgba(0,0,0,0.45); }
.modal-arrow:hover { background:rgba(0,0,0,0.70); }
@media (max-width:700px){
  .modal-content { max-width:94vw; max-height:70vh; }
}
/* --- End Fullscreen Gallery Modal Override --- */

/* --- Sharper Navbar & Footer Corners Override (reduced rounding) --- */
.navbar { border-radius:0 0 2px 2px !important; }
footer { border-top-left-radius:6px !important; border-top-right-radius:6px !important; }
/* --- End Sharper Corners Override --- */

/* --- Global Sharper Corners Minimal Override --- */
header { border-bottom-left-radius:8px !important; border-bottom-right-radius:8px !important; }
section, .features, .features p, .features ul, .features form, .features .feature-block, .feature-block,
.gallery-grid, .gallery-grid img,
.contact-card, .contact-cards.minimal .contact-card, .contact-min li,
.modal-content, .navbar ul li a,
.cta, button, input, textarea { border-radius:4px !important; }
.contact-card .contact-label, .contact-min .contact-badge, .contact-min .contact-label, .lang-opt { border-radius:4px !important; }
footer { border-top-left-radius:4px !important; border-top-right-radius:4px !important; }
.navbar { border-radius:0 0 2px 2px !important; }
/* --- End Global Sharper Corners Minimal Override --- */

/* --- Header Sharper Corners Final Override --- */
header { border-bottom-left-radius:2px !important; border-bottom-right-radius:2px !important; }
@media (max-width:700px){ header { border-bottom-left-radius:2px !important; border-bottom-right-radius:2px !important; } }
/* --- End Header Sharper Corners Final Override --- */

/* --- Back to Top Button Circular Override --- */
#toTop { border-radius:50% !important; }
/* --- End Back to Top Button Circular Override --- */