:root{--bg:#f4f1ec;--panel:#fffaf3;--text:#221c18;--muted:#6d625a;--brand:#b87333;--brand-dark:#8b4f1f;--line:#e4dbcf;--shadow:0 20px 45px rgba(80,55,35,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.container{width:min(1120px,92%);margin:0 auto}.header{position:sticky;top:0;z-index:20;background:rgba(244,241,236,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.navbar{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em}.logo span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--text);color:#fff}.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;font-weight:700;color:var(--muted)}.nav-links a:hover{color:var(--brand-dark)}.admin-dot{opacity:.25;font-size:22px}.menu-btn{display:none;border:0;background:#fff;border-radius:12px;padding:9px 12px;font-size:22px}.hero{padding:92px 0;background:radial-gradient(circle at 80% 20%,#ead4bb 0,#f4eadf 38%,#f4f1ec 72%)}.hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:58px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--brand-dark);font-size:13px;font-weight:900}.hero h1{font-size:clamp(42px,7vw,82px);line-height:.92;margin:18px 0 24px;letter-spacing:-.07em}.hero p{font-size:18px;line-height:1.7;color:var(--muted);max-width:640px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:900;border:1px solid var(--line);cursor:pointer}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:hover{background:var(--brand-dark)}.btn.secondary{background:#fff;color:#181310}.hero-card{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#fff;min-height:440px}.hero-card img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block}.contact-box{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:24px;padding:22px;box-shadow:var(--shadow);display:grid;gap:7px}.contact-box small{color:var(--muted)}.contact-box strong{font-size:28px}.contact-box a{color:var(--brand-dark);font-weight:900}.section{padding:88px 0}.section-title{max-width:720px;margin-bottom:34px}.section-title h2,.gallery-header h2,.contact-card h2,.admin-page h1{font-size:clamp(32px,4vw,54px);line-height:1;margin:10px 0;letter-spacing:-.04em}.section-title p,.gallery-header p,.contact-card p{color:var(--muted);line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 12px 30px rgba(80,55,35,.07)}.service-card span{width:44px;height:44px;border-radius:16px;background:#efe4d8;display:grid;place-items:center;color:var(--brand-dark);font-weight:900;font-size:22px}.service-card p{color:var(--muted);line-height:1.65}.gallery-section{background:#ece7df}.gallery-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-item{aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:#ddd;border:1px solid var(--line);box-shadow:0 12px 28px rgba(80,55,35,.08)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.06)}.contact-card{background:var(--text);color:#fff;border-radius:34px;padding:48px;box-shadow:var(--shadow)}.contact-card p{color:#d7cbc1}.contact-details{display:grid;gap:8px;font-size:22px}.contact-details a{color:#f1bc7e;font-weight:900}.footer{text-align:center;padding:28px;color:var(--muted);border-top:1px solid var(--line)}.admin-page{padding:60px 0}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:28px;margin:22px 0;box-shadow:var(--shadow)}.login-card{max-width:480px}.admin-form,.upload-form{display:grid;gap:16px}.admin-form label{display:grid;gap:8px;font-weight:800}.admin-form input,.upload-form input{border:1px solid var(--line);border-radius:15px;padding:14px;font:inherit;background:#fff}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.alert{padding:14px 18px;border-radius:16px;font-weight:800}.alert.error{background:#ffe4e4;color:#8a1f1f}.alert.success{background:#e7f8e8;color:#24692d}.admin-item{position:relative}.delete-btn{position:absolute;right:10px;bottom:10px;border:0;border-radius:999px;background:#9b2424;color:white;padding:10px 14px;font-weight:900;cursor:pointer}@media(max-width:900px){.hero-grid,.services-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:54px 0}.nav-links{position:absolute;top:76px;left:4%;right:4%;display:none;flex-direction:column;background:#fff;padding:20px;border-radius:22px;box-shadow:var(--shadow)}.nav-links.active{display:flex}.menu-btn{display:block}.gallery-header{align-items:start;flex-direction:column}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.contact-card{padding:30px}.hero-card,.hero-card img{min-height:320px}}


@media (max-width: 768px) {
  .container {
    width: min(100% - 28px, 1180px);
  }

  .navbar {
    padding: 14px 0;
  }

  .logo {
    font-size: 15px;
    gap: 10px;
  }

  .logo span {
    width: 42px;
    height: 42px;
    font-size: 15px;
  }

  .menu-btn {
    width: 48px;
    height: 48px;
    font-size: 26px;
  }

  .hero {
    padding: 52px 0 64px;
  }

  .hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .eyebrow {
    font-size: 13px;
    letter-spacing: 5px;
    line-height: 1.5;
  }

  .hero-text h1 {
    font-size: clamp(38px, 12vw, 58px);
    line-height: 0.98;
    letter-spacing: -2px;
    max-width: 100%;
  }

  .hero-text p {
    font-size: 17px;
    line-height: 1.75;
  }

  .hero-buttons {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-top: 26px;
  }

  .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: 17px 20px;
    font-size: 16px;
  }

  .hero-card {
    margin-top: 8px;
    border-radius: 28px;
  }

  .hero-card img {
    height: 360px;
    object-fit: cover;
  }

  .contact-box {
    position: static;
    margin-top: 16px;
    width: 100%;
    border-radius: 22px;
  }

  .section {
    padding: 64px 0;
  }

  .section-title h2,
  .gallery-header h2,
  .contact-card h2 {
    font-size: 34px;
    line-height: 1.1;
  }

  .services-grid,
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .gallery-item img {
    height: 260px;
  }

  .gallery-header {
    gap: 22px;
  }

  .contact-card {
    padding: 34px 24px;
  }
}

.back-btn {
  display: inline-block;
  margin-bottom: 20px;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  font-size: 14px;
}

.back-btn:hover {
  color: #b87333;
}

.file-upload {
  display: block;
  width: 100%;
  padding: 18px;
  border-radius: 20px;
  background: #f2f2f2;
  cursor: pointer;
  text-align: center;
  font-weight: 600;
  border: 2px dashed #ddd;
  transition: all 0.2s ease;
}

.file-upload:hover {
  background: #e9e9e9;
  border-color: #b87333;
}

.file-upload input {
  display: none;
}

.preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 18px;
}

.preview-item {
  height: 110px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #e2d6c8;
}

.preview-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 600px) {
  .preview-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .preview-item {
    height: 120px;
  }
}

.admin-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}

.admin-item {
  position: relative;
  height: auto;
  background: #f3eee8;
  border-radius: 22px;
  overflow: hidden;
  padding-bottom: 70px;
}

.admin-item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.admin-item form {
  position: absolute;
  right: 14px;
  bottom: 14px;
}

.delete-btn {
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: #a83232;
  color: white;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 600px) {
  .admin-item img {
    height: 180px;
  }
}

.hero-card {
  border-radius: 26px;
  overflow: hidden;
  background: transparent;
}

.hero-card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  border-radius: 26px;
}

.contact-box {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(10px);
  padding: 18px;
  border-radius: 18px;
}

@media (max-width: 768px) {
  .hero-card img {
    height: 220px;
  }

  .contact-box {
    margin: auto;
    padding: 10px;
    width: 300px;
  }
}

.admin-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.admin-item {
  background: transparent;
  border-radius: 22px;
  overflow: hidden;
  display: block;
}

.admin-item img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  border-radius: 22px;
}

.admin-actions {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
}

.delete-btn {
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  background: #a83232;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

/* 📱 Mobil galéria - 2 oszlop */
@media (max-width: 768px) {

  .gallery-grid,
  .admin-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .gallery-item img,
  .admin-item img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 14px;
  }

  .admin-actions {
    justify-content: center;
  }

  .delete-btn {
    padding: 8px 12px;
    font-size: 13px;
  }
}

@media (max-width: 768px) {
  .admin-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .admin-item {
    background: #f3eee8;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .admin-item img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-radius: 0;
  }

  .admin-actions {
    padding: 10px;
    display: flex;
    justify-content: center;
  }

  .delete-btn {
    width: 100%;
    padding: 9px 10px;
    font-size: 13px;
    border-radius: 999px;
  }
}

/* ===== JAVÍTÁS: menü ne látszódjon szétesve ===== */
.nav-links {
  list-style: none;
}

/* ===== MOBIL JAVÍTÁS ===== */
@media (max-width: 768px) {
  .gallery-grid,
  .admin-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .gallery-item,
  .admin-item {
    aspect-ratio: 1 / 1 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    background: #eee7df !important;
    position: relative !important;
  }

  .gallery-item img,
  .admin-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
  }

  .admin-actions,
  .admin-item form {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .delete-btn {
    width: auto !important;
    padding: 7px 11px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }
}

.admin_title{
    width: 100%;
    margin: auto;
}

.admin-gallery {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
}

.admin-gallery .admin-item {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #eee7df !important;
  padding: 0 !important;
  margin: 0 !important;
}

.admin-gallery .admin-item img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

.admin-gallery .admin-item form {
  position: absolute !important;
  right: 8px !important;
  bottom: 8px !important;
  margin: 0 !important;
}

.admin-gallery .delete-btn {
  width: auto !important;
  padding: 7px 11px !important;
  font-size: 12px !important;
}

/* ===== ADMIN GALÉRIA FIX (MINDEN KÉPERNYŐN) ===== */
.admin-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

.admin-gallery .admin-item {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  position: relative !important;
  background: #eee7df !important;
}

.admin-gallery .admin-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.admin-gallery .admin-item form {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
}

.admin-gallery .delete-btn {
  padding: 8px 12px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
}