:root{
  --bg: #fbe0b5; /* Sötétebb háttérszín */
  --card: #fff;
  --accent: #A07200; /* Sötétebb arany a jobb kontrasztért (WCAG barátabb) */
  --accent-dark: #8a6308; /* Mélyebb árnyalat a hover effektekhez */
  --muted: #704214; /* **ÚJ: Mély barna a szöveghez és alacsony kontrasztú elemekhez** */
  --shadow: rgba(34,34,34,0.06);
}
*{box-sizing:border-box}
body{font-family: 'Segoe UI', Roboto, Arial, sans-serif;margin:0;background:var(--bg);color:#2b2b2b;line-height:1.45}
.container{max-width:1100px;margin:0 auto;padding:28px}
.site-header{
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}
.site-header.hidden {
  transform: translateY(-100%);
  box-shadow: none;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand .logo{height:78px}
.unified-header nav{display:flex;gap:22px;align-items:center}
.mobile-logo{display:none}
.mobile-site-title{display:none}

@media (max-width:900px){
  .desktop-logo{display:none}
  .mobile-logo{display:block;height:50px;width:auto;object-fit:contain}
  .mobile-site-title{
    display:block;
    color:var(--accent);
    font-weight:800;
    font-size:1.1rem;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    white-space:nowrap;
    z-index:1;
    text-decoration:none;
  }
  .header-inner{position:relative}
}

/* Navigation Links Styling */
nav a, .dropbtn {
  color: var(--muted);
  text-decoration: none;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 20px;
  transition: all 0.3s ease;
}
nav a:hover, .dropdown:hover .dropbtn {
  background-color: var(--accent);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(160, 114, 0, 0.2);
}
.unified-header nav a{font-weight:700}

/* Dropdown Menu */
.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #fff;
  min-width: 200px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.1);
  z-index: 10;
  border-radius: 8px;
  overflow: hidden; /* Ensures border-radius is applied to children */
}
.dropdown-content a {
  color: var(--muted);
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  margin-left: 0;
  font-weight: 600;
  border-radius: 0;
}
.dropdown-content a:hover{
  background-color: #fdf5e9;
  color: var(--accent);
  box-shadow: none;
  transform: none;
}
.dropdown:hover .dropdown-content {
  display: block;
}

.lang-switcher {
  margin-left: 22px;
  color: var(--accent);
  font-weight: 700;
}
.lang-switcher span {
  opacity: 0.6; /* Elhalványítja az aktív nyelvet */
}
.lang-switcher a {
  color: var(--muted);
  font-weight: 600;
  text-decoration: none;
  margin-left: 0;
  transition: color 0.2s;
  padding: 0;
  background: none;
  box-shadow: none;
}
.lang-switcher a:hover {
  color: var(--accent);
  text-decoration: underline;
  background: none;
  transform: none;
  box-shadow: none;
}

/* New top logo */
.top-logo{background:var(--bg);padding:28px 0;text-align:center}
.top-logo img{width:240px}

/* hide old top-logo if present */
.top-logo{display:none}

/* Hamburger Menu Icon */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
}
.hamburger span {
  display: block;
  width: 25px;
  height: 3px;
  background-color: var(--accent);
  margin: 5px 0;
  transition: 0.3s;
  border-radius: 2px;
}

.hero{
  padding:120px 0;
  text-align:center;
  background: radial-gradient(circle, rgba(255, 228, 196, 0.95) 0%, rgba(255, 228, 196, 0.7) 50%, rgba(255, 228, 196, 0) 100%), url('../assets/images/gallery/nyugtato-legkor-masszazs-studio-budapest.webp');
  background-size: cover;
  background-position: center;
}
.hero, .site-footer { position: relative; overflow: hidden; } /* Hóesés tárolása */
.hero-logo{width:260px;margin:0 auto 18px;display:block}
.hero h1{color:var(--accent);font-weight:800;margin:0 0 18px;font-size:24px}
.hero-subline{color:var(--muted);max-width:550px;margin:-10px auto 18px;font-size:1.05rem;}
.hero-buttons{margin-bottom:18px}
.pill{display:inline-block;background:transparent;border:1px solid var(--accent);padding:10px 18px;border-radius:26px;margin:6px 8px;color:var(--accent-dark);text-decoration:none;font-weight:600;transition:all 0.3s ease}
.pill:hover{background:var(--accent);color:#fff}
.cta{display:inline-block;background:linear-gradient(180deg,var(--accent),var(--accent-dark));color:#fff;padding:14px 30px;border-radius:30px;text-decoration:none;font-weight:700;box-shadow:0 8px 28px rgba(181,101,34,0.18)}

.services h2{ text-align:center;color:var(--muted);margin-top:80px;margin-bottom:18px}

/* Make Árak heading match Szolgáltatások */
.prices h2{ text-align:center;color:var(--muted)}

.prices{margin-top:44px}
.price-card{background:var(--card);padding:24px;border-radius:12px;box-shadow:0 6px 28px var(--shadow)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
table{width:100%;border-collapse:collapse;color:var(--muted)}
th{color:var(--accent);text-align:left;padding-bottom:8px}
td{padding:8px 0}
.prices-note{text-align:center;color:var(--accent);margin-top:14px}

.contact-cta{margin:36px 0}
.payment-methods {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  padding: 16px;
  background-color: #fdfaf5;
  border-radius: 8px;
  border: 1px solid #f3eade;
}
.simplepay-logos {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}
.simplepay-logos img {
  height: 130px;
  width: auto;
}

.szepcard-logos {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}
.szepcard-logos img {
  height: 100px;
  width: auto;
}
.payment-methods p {
  margin: 0;
  color: var(--muted);
}
.contact-grid{display:grid;grid-template-columns:1fr 260px 360px;gap:22px}
.business-card{padding:18px;text-align:center}
.business-card img{width:120px;margin-bottom:12px}
.muted{color:var(--muted)}

.site-footer{padding:28px 0;background:transparent}
.footer-inner{display:flex;justify-content:space-between;align-items:center}

/* Map card */
.map-card{padding:28px 0}
.map-inner{background:linear-gradient(180deg,#fff8e6,#fff5dd);padding:28px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,0.06);text-align:center;display:flex;flex-direction:column}
[data-map-api]{order:1;flex-shrink:0}
.map-caption{order:2;margin-top:12px}
.map-icon{font-size:28px}

/* Map wrapper with cookie consent handling */
.map-wrapper { margin-top: 18px; position: relative; display:flex;flex-direction:column }
[data-map-api]{order:1;flex-shrink:0}
.map-caption{order:2;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--accent)}
.cookieyes-placeholder-wrapper { display: block; }
.cookieyes-placeholder-wrapper.hidden { display: none !important; }

/* Eltünteti a böngésző által generált szóközöket és beállítja a távolságot */
.social-links {
    font-size: 0; /* Eltünteti a soron belüli elemek közti minden szóközt a <p>-ben */
    line-height: 0;
}

.social-icon {
    height: 30px; /* Adja meg itt a kívánt magasságot, pl. 30px */
    width: auto;  /* A szélesség automatikusan igazodjon a magassághoz */
    
    /* Ezek a kiegészítő stílusok a megjelenés javítására szolgálnak: */
    vertical-align: middle; /* Középre igazítás a szöveghez képest */
    margin-right: 8px; /* Egy kis térköz az @puraflow.budapest szövegtől */
}

/* ÚJ SZABÁLY: Eltünteti a kötőjel-szerű szóközt a social linkek között */
.social-links {
    font-size: 0; 
    line-height: 0;
}
/* ÚJ SZABÁLY: A linkeket kiemeli és beállítja a távolságot */
.social-link {
    display: inline-block; 
    font-size: 1rem; 
    margin-right: 15px; /* A kívánt távolság az ikonok között */
}


/* Rich footer - adjusted contrast for readability */
.footer-rich{
  background:linear-gradient(180deg,#6b3d0f,#865118); /* **ÚJ: Mély csokoládébarna alap, elegánsabb, mint a régi sötét narancs** */
  color:#fff;
  padding-top:30px;
}
.footer-inner-rich{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:20px 28px}
.footer-col h4{color: #FFD700;margin-bottom:12px} /* **ÚJ: Tiszta arany a címsoroknak** */
.footer-col p, .footer-col a, .footer-col li{color: #fff6ee}
.footer-col ul{list-style:none;padding:0;margin:0}
/* Footer hours/table contrast */
.footer-hours, .footer-col table{color:#fff6ee}
.footer-col table td:first-child{color:#FFD700;padding-right:10px} /* **ÚJ: Arany szín a napoknak** */
.footer-col table td:last-child{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding:12px 0;text-align:center;color:rgba(255,255,255,0.95)}

@media (max-width:1100px){
  .footer-inner-rich{grid-template-columns:repeat(2,1fr); gap: 30px;}
}

@media (max-width: 680px) {
  .footer-inner-rich {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .footer-col {
    text-align: center;
    margin-bottom: 20px;
  }
  .footer-col:last-child {
    margin-bottom: 0;
  }
  .footer-col h4 {
    margin-bottom: 10px;
  }
  .footer-col ul {
    display: inline-block;
    text-align: left;
    margin: 0;
  }
  .footer-col table {
    margin: 0 auto;
  }
}

.hours-card{background:var(--card);padding:18px;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,0.04);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hours-card h3{color:var(--accent);margin-top:0}
.hours-card h4{color:var(--accent);margin-top:0}
.hours-list{list-style:none;padding:0;margin:8px 0 0;color:var(--muted)}
.hours-list li{padding:6px 0}
.card{background:var(--card);padding:26px;border-radius:12px;box-shadow:0 6px 28px var(--shadow);text-align:left;display:flex;flex-direction:column;gap:12px}
.card-pill{display:inline-block;background:#fff;padding:8px 14px;border-radius:16px;margin-top:-10px;margin-bottom:8px;color:var(--muted);box-shadow:0 4px 14px var(--shadow)}
.card-icon{display:flex;justify-content:center}
.card h3{color:var(--accent);margin-top:0;text-align:center}
.card p{color:var(--muted);margin:0 auto;max-width:520px}

/* Content card for long text pages (Ellenjavallatok, About, etc.) */
.content-card{
  background:var(--card);
  padding:28px;
  border-radius:12px;
  box-shadow:0 6px 28px rgba(0,0,0,0.04);
  text-align:left;
}
.content-card h1{color:var(--accent);margin-top:0}
.content-card h2{color:var(--muted);margin-top:18px}
.content-card h3{color:var(--muted);margin-top:18px}
.content-card h4{color:var(--muted);margin-top:18px}
.content-card p{color:var(--muted)}
.content-card ul{margin-left:1.1rem;color:var(--muted)}

.back-link {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--muted);
  text-decoration: none;
  font-weight: 600;
  text-underline-offset: 4px; /* Távolság a szöveg és az aláhúzás között */
  text-decoration-thickness: 2px; /* Vastagabb aláhúzás */
  text-decoration-color: transparent; /* Alapból rejtett aláhúzás */
  transition: text-decoration-color 0.2s ease-in-out; /* Finom átmenet */
}
.back-link:hover,
.content-card a:hover,
.footer-col a:hover,
.footer-bottom a:hover {
  transition: color 0.2s;
}
.back-link:hover {
  color: var(--accent);
}
.price-box{background:var(--card);border-radius:12px;box-shadow:0 6px 28px var(--shadow);padding:22px}
.price-box h4{color:var(--accent);margin-top:0}
.price-box h3{color:var(--accent);margin-top:0;font-size:1rem;font-weight:700} /* h3 support */
.price-box p{color:var(--muted)}
.price-box table{margin-top:8px}
.price-box td:last-child {
  white-space: nowrap;
}

/* Indications cards (Javallatok) */
.indications h2{ text-align:center;color:var(--muted);margin-top:40px;margin-bottom:18px}
.indications .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:18px}
.indications .card{padding:22px;text-align:left}
.indications .card h3{color:var(--accent);margin-top:0;margin-bottom:8px}
.indications .card ul{margin-left:1.1rem;color:var(--muted)}
.tags{margin-top:14px;text-align:left}
.tags-label{color:var(--accent);font-weight:700;margin-bottom:8px}
.tag-list{display:flex;flex-wrap:wrap;gap:10px}
.tag-list span, .tag-list a{background:#fff3e6;border-radius:20px;padding:8px 12px;color:var(--accent-dark);box-shadow:0 6px 18px rgba(120,80,40,0.06);font-weight:600;text-decoration:none;transition:all 0.3s ease}
.tag-list a:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(160,114,0,0.2)}

/* Kártya belső link wrapper, hogy a kártya felső része egyben kattintható maradjon */
.card-content-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

/* ensure cards with icons align like design */
.card-icon img{width:96px;height:96px;object-fit:contain;border-radius:24px;background:linear-gradient(180deg,#fff8e6,#fff5dd);padding:18px;margin-bottom:0}

/* Services-specific layout to match design */
.services .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.services .card{min-height:360px;display:flex;flex-direction:column;gap:12px;text-align:left}
.services .card-icon{display:flex;justify-content:center;padding:0} /* Remove extra padding */
.services .card-icon img{width:92px;height:92px}
.services .card-pill{margin:-22px auto 4px auto;padding:8px 14px;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,0.06);color:var(--muted);display:inline-block}
.services .card h3{text-align:center;margin-bottom:6px}
.services .card p{max-width:520px;margin:0 auto 0 0;color:var(--muted);text-align:left}
.services .tags{margin-top:auto}
.tag-list{justify-content:flex-start}

/* Clickable card link */
.card-link {
  text-decoration: none;
  color: inherit;
}

/* Centered heading for Kapcsolat page */
.contact-layout h2{ text-align:center; color:var(--muted); margin-top:40px; margin-bottom:18px }

.contact-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  align-items: stretch;
}

@media (max-width:900px){
  .indications .cards{grid-template-columns:1fr}
  .services .cards{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .contact-row {grid-template-columns: 1fr;}
  .gift-card-options{grid-template-columns:1fr}
  .header-inner{flex-direction:row;justify-content:space-between;}
  .brand .logo{height:64px}
  .hamburger{display:block;}
  .unified-header nav{
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    gap: 15px;
  }
  .unified-header nav.active{display:flex;}
  .hamburger.active span:nth-child(1) { transform: rotate(-45deg) translate(-5px, 6px); }
  .hamburger.active span:nth-child(2) { opacity: 0; }
  .hamburger.active span:nth-child(3) { transform: rotate(45deg) translate(-5px, -6px); }
  .price-box td small,
  .gift-card-options small {
    display: block;
    margin-top: 4px;
    font-size: 0.9em;
  }
  .hero { padding: 60px 0; }
  .services h2 { margin-top: 40px; }
}

/* Contact Section CTA Card */
.booking-cta-card {
  text-align: center;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 720px; /* Korlátozza a kártya maximális szélességét */
  margin: 0 auto; /* Középre igazítja a kártyát */
}
.booking-cta-card .booking-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 12px;
}
.booking-cta-card h3 { margin-bottom: 8px; }
.booking-cta-card p { text-align: center; max-width: 320px; margin-bottom: 16px; }

/* Contact Info Table Styles */
.contact-table { width: 100%; }
.contact-table td { padding: 10px 8px; }
.contact-icon-cell {
  width: 44px;
  vertical-align: middle;
  text-align: center;
}
.contact-icon {
  width: 32px;
  height: 32px;
  display: inline-block;
}
.contact-tel {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

/* Loyalty Card Section */
.loyalty-card {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: var(--muted);
  align-items: center; /* Center items for flex-direction: column */
}
.loyalty-card h3 {
  color: var(--accent);
}
.loyalty-card p {
  color: var(--muted);
}

/* Gift Card Section */
.gift-card {
  max-width: auto;
  margin: 0 auto;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  text-align: center;
  justify-content: space-between;
}
.gift-card-icon {
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: contain;
  flex-shrink: 0;
  cursor: pointer;
}
.gift-card-content h3 {
  text-align: center;
}

/* Notice Card (for contraindications) */
.notice-card {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  align-items: center;
  border: 1px solid var(--accent);
  background: linear-gradient(180deg, #fff, #fffaf2);
}
.cta-ghost {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  border: 2px solid var(--accent);
  color: var(--accent);
}

/* About Me Section */
.about-section {
  max-width: 1050px;
  background: linear-gradient(180deg, #fff, #fffaf2);
  margin-top: 40px;
  border-radius: 12px;
  box-shadow: 0 6px 28px var(--shadow);
}
.about-grid {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 36px;
  align-items: center;
}
.about-image img {
  width: 100%;
  border-radius: 50%;
  border: 5px solid #fff;
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}
.about-content .about-heading { text-align: left; margin-top: 0; color: var(--muted); }
.about-content h3 { color: var(--accent); margin-top: -10px; margin-bottom: 12px; }
.about-content p { color: var(--muted); max-width: none; text-align: left; margin-bottom: 12px; }
.about-content a {
  color: inherit; /* Örökli a szülő elem (bekezdés) színét */
  text-decoration: underline; /* Aláhúzás a kattinthatóság jelzésére */
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.about-content a { margin-top: 12px; }

@media (max-width: 900px) {
  .about-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .about-image { max-width: 200px; margin: 0 auto 20px; }
  .about-content .about-heading { text-align: center; }
  .about-section { margin-left: 20px; margin-right: 20px; width: auto; }
}
@media (max-width: 900px) {
  .gift-card {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .gift-card-icon {
    height: auto;
    max-width: 100%;
  }
  .gift-card-content h3 {
    text-align: center;
  }
}

/* Gift Card Page Layout */
.gift-card-layout {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 36px;
  align-items: center;
}

@media (max-width: 900px) {
  .gift-card-layout {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .gift-card-flipper-container {
    max-width: 300px;
  }
}

.gift-card-flipper-container {
  perspective: 1000px;
  max-width: 400px;
      width: 100%;
      aspect-ratio: 400 / 252; /* Képarány megtartása */
}

.gift-card-flipper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  animation: flip 10s infinite ease-in-out;
}

.gift-card-front,
.gift-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.gift-card-front img,
.gift-card-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gift-card-back {
  transform: rotateY(180deg);
}

@keyframes flip {
  0%, 45% { transform: rotateY(0deg); }
  50%, 95% { transform: rotateY(180deg); }
  100% { transform: rotateY(360deg); }
}

.gift-card-details h2 { color: var(--accent); margin-top: 0; }
.gift-card-details ul { margin-left: 1.2rem; }

.gift-card-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 36px;
}

.gift-card-options .price-box h4 {
  text-align: center;
}
.gift-card-options .price-box h3 { text-align: center; } /* h3 support */

@media (max-width: 900px) {
  .gift-card-options {
    grid-template-columns: 1fr;
  }
}

/* Experience Section */
.experience-section h2 {
  text-align: center;
  color: var(--muted);
  margin-top: 40px;
  margin-bottom: 18px;
}
.experience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 900px) {
  .experience-grid { grid-template-columns: 1fr; }
}

.experience-step {
  text-align: center;
}
.experience-step h4 {
  color: var(--accent);
  margin-top: 12px;
  margin-bottom: 8px;
}
.experience-step h3 {
  color: var(--accent);
  margin-top: 12px;
  margin-bottom: 8px;
  font-size: 1rem;
}
.experience-step p {
  color: var(--muted);
  font-size: 0.95rem;
}

/* Oil features in experience section */
.oil-features-label {
  color: var(--accent);
  font-weight: 700;
  margin-top: 16px;
  margin-bottom: 8px;
  font-size: 0.95rem;
}
.oil-features {
  margin-top: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.oil-features span {
  background: #fdf5e9;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  border: 1px solid #f3eade;
}

/* Contact Page Specific Grid & Cards */
.contact-page-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 18px;
}
.contact-page-card {
  align-items: center;
  text-align: center;
}
.contact-page-card .card-icon img {
  width: 56px;
  height: 56px;
  padding: 0;
  background: none;
}
.contact-page-card h3 {
  text-align: center;
  color: var(--accent);
}
.contact-page-card p {
  text-align: center;
}

.contact-page-card table td { color: var(--muted); }
.day-label {
  color: var(--accent) !important;
  font-weight: 700;
  padding-right: 10px;
}

@media (max-width: 768px) {
  .contact-page-grid { grid-template-columns: 1fr; }
}

.full-width-card {
  grid-column: 1 / -1;
  justify-self: center;
  width: 50%;
}
/* Gallery Section on Contact Page */
.gallery-section {
  margin-top: 40px;
}
.gallery-title {
  text-align: center;
  color: var(--muted);
  margin-bottom: 18px;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gallery-grid img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 6px 28px var(--shadow);
  border: 3px solid #fff;
}
@media (max-width: 768px) {
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-grid img { height: auto; }
}

/* Lightbox for Gallery */
.lightbox {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  text-align: center;
  padding: 20px;
}
.lightbox:target {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lightbox img {
  max-width: 100%;
  max-height: 90vh;
  box-shadow: 0 0 30px rgba(0,0,0,0.5);
  border-radius: 4px;  
}
.lightbox-close-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 90%;
}
.lightbox .close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}
.lightbox .close:hover {
  color: var(--accent);
}

.lightbox .prev, .lightbox .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 60px;
    color: white;
    text-decoration: none;
    font-weight: bold;
    padding: 0 20px;
    transition: color 0.2s;
}
.lightbox .prev { left: 10px; }
.lightbox .next { right: 10px; }
.lightbox .prev:hover, .lightbox .next:hover { color: var(--accent); }

.lightbox .counter {
    position: absolute;
    top: 28px;
    left: 30px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    font-weight: bold;
}

.lightbox figure {
    margin: 0;
    position: relative;
}

.lightbox figcaption {
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    margin-top: 10px;
    font-style: italic;
    padding: 0 20px;
}

/* Alapértelmezésben látszik */
.cookieyes-placeholder-wrapper {
    display: block;
}

/* Ha a funkcionális sütik el vannak fogadva, a CookieYes hozzáad egy osztályt a body-hoz. 
   Ekkor elrejtjük a placeholdert. */
body.cky-functional .cookieyes-placeholder-wrapper,
body.cky-consented .cookieyes-placeholder-wrapper {
    display: none !important;
}

/* Floating Booking Button */
.floating-booking-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background: linear-gradient(180deg, var(--accent), var(--accent-dark));
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.floating-booking-btn.show {
  opacity: 1;
  visibility: visible;
}
.floating-booking-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}
.floating-booking-btn img {
  width: 55px;
  height: 55px;
}
@media (max-width: 768px) {
  .floating-booking-btn {
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
  }
  .floating-booking-btn img {
    width: 45px;
    height: 45px;
  }
}

@media (min-width: 1300px) {
  .floating-booking-btn {
    right: auto;
    left: 50%;
    margin-left: 570px; /* 1100px / 2 = 550px + 20px térköz */
  }
}

/* CookieYes gomb pozicionálása - szimmetria a foglalás gombbal */
.cky-btn-revisit-wrapper {
  bottom: 30px !important;
  left: 30px !important;
}
@media (max-width: 768px) {
  .cky-btn-revisit-wrapper {
    bottom: 20px !important;
    left: 20px !important;
  }
}

/* ========================= */
/* == Blog Styles == */
/* ========================= */
.blog-section { padding: 40px 0; }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 30px; }
.blog-card { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 6px 28px rgba(0,0,0,0.06); transition: transform 0.3s ease; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.blog-card:hover { transform: translateY(-5px); }
.blog-card img { width: 100%; height: 220px; object-fit: cover; }
.blog-card-content { padding: 24px; flex-grow: 1; display: flex; flex-direction: column; }
.blog-card h3 { margin-top: 0; color: var(--accent); margin-bottom: 10px; font-size: 1.25rem; }
.blog-card p { color: var(--muted); flex-grow: 1; line-height: 1.6; margin-bottom: 15px; }
.blog-meta { font-size: 0.85rem; color: #999; margin-bottom: 12px; display: block; text-transform: uppercase; letter-spacing: 1px; }
.read-more { color: var(--accent); font-weight: 700; margin-top: auto; display: inline-block; text-decoration: none; }
.read-more:hover { text-decoration: underline; }

/* Inline read-more for service cards */
.services .card p .read-more {
  display: inline;
  margin: 0 0 0 4px;
  font-weight: 600;
}

/* Blog Post Single Page */
.blog-post-container { max-width: 800px; margin: 40px auto; padding: 40px; background: #fff; border-radius: 12px; box-shadow: 0 6px 28px rgba(0,0,0,0.06); }
.blog-post-header { text-align: center; margin-bottom: 40px; border-bottom: 1px solid #eee; padding-bottom: 20px; }
.blog-post-header h1 { color: var(--accent); margin-bottom: 15px; font-size: 2rem; }
.blog-post-date { color: #999; font-style: italic; }
.blog-post-image { width: 100%; height: auto; max-height: 450px; object-fit: cover; border-radius: 20px; margin-bottom: 40px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.blog-post-body { color: var(--muted); line-height: 1.8; font-size: 1.05rem; }
.blog-post-body h2 { color: var(--accent); margin-top: 40px; margin-bottom: 20px; font-size: 1.5rem; }
.blog-post-body p { margin-bottom: 20px; }
.blog-post-body ul { margin-bottom: 25px; padding-left: 20px; }
.blog-post-body li { margin-bottom: 10px; }
@media (max-width: 768px) {
  .blog-post-container { padding: 20px; margin: 20px auto; }
  .blog-post-header h1 { font-size: 1.6rem; }
}

/* Christmas Side Decoration */
.side-decor {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  font-size: 20px;
  z-index: 998; /* Modális ablakok alatt */
  pointer-events: none;
  opacity: 0.9;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}
.left-decor { left: 10px; }
.right-decor { right: 10px; }

@media (max-width: 1300px) {
  .side-decor { display: none; } /* Kisebb képernyőn elrejtjük */
}

/* ========================= */
/* == Promo Popup Styles == */
/* ========================= */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 2000; /* Cookie banner (általában magas z-index) alatt vagy felett, ízlés szerint. Itt felette. */
  display: none;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.4s ease;
  backdrop-filter: blur(3px);
}
.popup-overlay.visible {
  display: flex;
  opacity: 1;
}
.popup-content {
  background: #fff;
  border-radius: 20px;
  max-width: 500px;
  width: 90%;
  position: relative;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  overflow: hidden;
  animation: popupSlideUp 0.5s ease-out;
}
@keyframes popupSlideUp {
  from { transform: translateY(30px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.popup-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 32px;
  border: none;
  background: none;
  color: #fff; /* Kép felett fehér, ha a kép sötét, vagy #333 ha nem lóg a képre */
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  cursor: pointer;
  z-index: 10;
  line-height: 1;
  transition: transform 0.2s;
}
.popup-close:hover { transform: scale(1.1); }
.popup-image img { width: 100%; height: auto; display: block; max-height: 455px; object-fit: cover; object-position: top; }
.popup-text { padding: 25px 30px 35px; }
.popup-text h2 { color: var(--accent); margin-top: 0; font-size: 1.6rem; line-height: 1.3; margin-bottom: 15px; }
.popup-text p { color: var(--muted); font-size: 1rem; line-height: 1.6; margin-bottom: 15px; }
.popup-highlight { font-weight: 700; color: var(--accent-dark); font-size: 1.1rem; background: #fff8e6; padding: 10px; border-radius: 8px; display: inline-block; width: 100%; }

/* ========================= */
/* == Reviews Section == */
/* ========================= */
.reviews-grid {
  display: flex;
  overflow-x: auto;
  gap: 22px;
  padding-bottom: 20px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox: görgetősáv elrejtése */
  cursor: grab; /* Jelzi, hogy megfogható */
}
.reviews-grid::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera: görgetősáv elrejtése */
}
.reviews-grid.active {
  cursor: grabbing; /* Jelzi, hogy épp fogjuk */
  user-select: none;
  -webkit-user-select: none;
}
.reviews-grid .review-card {
  min-width: 300px;
  max-width: 350px;
  flex: 0 0 auto;
  scroll-snap-align: center;
}
.review-card {
  text-align: center;
  align-items: center;
}
.review-stars {
  color: #FFD700;
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.read-more-btn:hover {
  background-color: var(--accent);
  color: #fff !important;
}

/* Vertical reviews for About page */
.reviews-vertical {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 700px;
  margin: 0 auto;
}
.review-card-vertical { width: 100%; }

/* ========================= */
/* == 404 Page Styles == */
/* ========================= */
.error-page-container {
  text-align: center;
  padding: 80px 20px;
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.error-code {
  font-size: 100px;
  font-weight: 800;
  color: var(--accent);
  margin: 0;
  line-height: 1;
  text-shadow: 2px 2px 0px rgba(0,0,0,0.1);
}
.error-title {
  font-size: 24px;
  color: var(--muted);
  margin: 20px 0 10px;
}
.error-desc {
  color: #666;
  margin-bottom: 30px;
  max-width: 500px;
}
.redirect-timer {
  font-weight: bold;
  color: var(--accent);
}

.qvik-link {
  text-decoration: none;
}
.qvik-link:hover {
  text-decoration: underline;
}

/* Service Page Specific Layouts */
.service-section {
  margin-top: 28px;
  margin-bottom: 28px;
}

.dual-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
}

.column-image img {
  width: 100%;
  height: auto;
  border-radius: 20px; /* This was inline, better to have it here */
  display: block;
}

@media (max-width: 768px) {
  .dual-column {
    grid-template-columns: 1fr;
  }
  .column-image {
    order: -1; /* Move image to top on mobile */
  }
}

/* GYIK / FAQ Stílusok */
details {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}
details:hover {
  border-color: var(--accent);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
summary {
  padding: 16px 20px;
  cursor: pointer;
  font-weight: 600;
  color: var(--muted);
  list-style: none;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
summary::-webkit-details-marker {
  display: none;
}
details[open] summary {
  background-color: #fdfaf5;
  border-bottom: 1px solid #f0f0f0;
  color: var(--accent-dark);
}
details p, details ul {
  padding: 20px;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

/* Parallax CTA Section */
.parallax-cta {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 40px 0;
  position: relative;
}
.gallery-teaser-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.gallery-teaser-item {
  position: relative;
  display: block;
  height: 280px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
  text-decoration: none;
}
.gallery-teaser-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4); /* Áttetsző sötét réteg */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gallery-overlay h3 {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
  transform: translateY(20px);
  transition: transform 0.3s ease;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.gallery-teaser-item:hover img, .gallery-teaser-item.auto-hover img {
  transform: scale(1.1);
}
.gallery-teaser-item:hover .gallery-overlay, .gallery-teaser-item.auto-hover .gallery-overlay {
  opacity: 1;
}
.gallery-teaser-item:hover .gallery-overlay h3, .gallery-teaser-item.auto-hover .gallery-overlay h3 {
  transform: translateY(0);
}
@media (max-width: 768px) {
  .parallax-cta { background-attachment: scroll; } /* Mobil támogatás */
  .gallery-teaser-grid { grid-template-columns: 1fr; }
}

/* Features Section (Why Choose Us) */
.features-section {
  padding: 40px 0;
  padding: 40px 28px;
}
.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
.feature-card {
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.05);
  text-align: center;
  transition: transform 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.feature-card:hover { transform: translateY(-5px); }
.feature-icon { width: 60px; height: 60px; margin-bottom: 16px; object-fit: contain; }
.feature-card h3 { color: var(--accent); font-size: 1.1rem; margin-bottom: 10px; margin-top: 0; }
.feature-card p { color: var(--muted); font-size: 0.9rem; line-height: 1.5; margin: 0; }

@media (max-width: 900px) {
  .features-grid { grid-template-columns: 1fr 1fr; }
  .features-section { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 600px) {
  .features-grid { grid-template-columns: 1fr; }
}

/* Extras Grid (Loyalty & Gift Card side-by-side) */
.extras-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.extras-grid h2 { margin-top: 0 !important; } /* Remove top margin inside grid */
@media (max-width: 900px) {
  .extras-grid { grid-template-columns: 1fr; }
  .extras-grid > div#gift-card > h2 {
      margin-top: 40px !important; 
  }
}

/* Tea Page Styles */
.tea-layout {
  display: grid;
  grid-template-columns: 1fr 1.5fr; /* A kép kisebb helyet kap, mint a szöveg */
  gap: 30px;
  margin-top: 30px;
  align-items: start;
}

.tea-image-side {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  position: sticky; /* Gördítéskor a kép követi a listát */
  top: 20px;
}

.tea-list-col {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.tea-item {
  background: #fff;
  border: 1px solid #eee;
  padding: 16px;
  border-radius: 10px;
  display: flex;
  gap: 15px;
  align-items: flex-start;
  transition: transform 0.2s;
}
.tea-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.tea-icon {
  width: 60px;
  height: 60px;
  object-fit: contain;
  flex-shrink: 0;
}
.tea-description h3 {
  margin-top: 0;
  margin-bottom: 8px;
  color: var(--accent);
  font-size: 1.1rem;
}
.tea-description p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
}
.personal-recommendation {
  background-color: #fdfaf5;
  border: 1px solid #f3eade;
  padding: 20px;
  border-radius: 12px;
  margin-top: 40px;
  text-align: center;
}

@media (max-width: 900px) {
  .tea-layout {
    grid-template-columns: 1fr; /* Mobilon egymás alá kerülnek */
  }
  .tea-image-side {
    position: static;
    max-width: 100%;
  }
}   max-width: 100%;
  }
}