/* Small visual polish overrides for GyorsKulcs site
   - improves typography, buttons, cards, hero sizing and small responsive tweaks
   - kept minimal and additive so original layout stays intact
*/
:root{
  --accent:#0b6e4f;
  --accent-2:#06a37a;
  --muted:#647074;
  --shadow: 0 8px 22px rgba(12,40,30,0.08);
}

/* Smooth fonts and subtle surface background */
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.hero{ background: linear-gradient(180deg, rgba(11,110,79,0.045), transparent); }

/* Hero */
.hero h1{ font-weight:800; color: #0b3f33; font-size: 2rem; margin-bottom: .4rem; }
.lead{ color:var(--muted); font-size:1.05rem }
.trust-line{ margin-top:.6rem; font-weight:600; color:#b8860b; font-size:.95rem; letter-spacing:.01em }
.trust-line a{ color:inherit; text-decoration:none; border-bottom:1px dashed rgba(184,134,11,0.5) }
.trust-line a:hover{ border-bottom-color:#b8860b }

/* Buttons */
.btn{ border-radius:10px; padding:.6rem .95rem; }
.btn.primary{ background: linear-gradient(90deg,var(--accent),var(--accent-2)); color:#fff; box-shadow:var(--shadow); border:0 }
.btn.primary:hover{ transform:translateY(-3px); }

/* Price list */
.price-list{ list-style:none; margin:1rem 0; padding:0; display:flex; flex-direction:column; gap:.5rem }
.price-list li{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.3rem .75rem; padding:.7rem 1rem; border-radius:10px; background:rgba(11,110,79,0.05); box-shadow:var(--shadow) }
.price-item{ color:#0b3f33; font-weight:600; flex:1 1 auto; min-width:0 }
.price-value{ color:var(--accent); font-weight:800; font-size:1.05rem; white-space:nowrap }
@media (max-width:420px){
  .price-list li{ flex-direction:column; align-items:flex-start; gap:.2rem }
}
.price-note{ margin-top:1rem; color:var(--muted) }
.price-disclaimer{ margin-top:.4rem; color:var(--muted); font-size:.9rem; font-style:italic }

/* Services cards */
.service-grid li{ border-radius:12px; padding:1.25rem; box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease }
.service-grid li:hover{ transform:translateY(-8px); box-shadow:0 24px 48px rgba(12,40,30,0.10) }

/* How it works cards */
.how .steps li{ border-radius:12px; box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease }
.how .steps li:hover{ transform:translateY(-6px); box-shadow:0 24px 48px rgba(12,40,30,0.10) }
.how .steps .step-num{ background:linear-gradient(135deg,var(--accent),var(--accent-2)); box-shadow:0 6px 16px rgba(11,110,79,0.28) }
.how .steps h3{ color:#0b3f33; font-weight:700 }

/* Contact form */
.contact-form{ border-radius:10px; padding:1.25rem; box-shadow:var(--shadow) }
.contact-form input:focus, .contact-form textarea:focus{ outline:2px solid rgba(11,110,79,0.12); border-color:rgba(11,110,79,0.18) }

/* Header tweaks */
.site-header{ background: rgba(255,255,255,0.95); backdrop-filter: blur(6px); }
.main-nav a{ transition: color .14s ease }
.main-nav a:hover{ color: var(--accent) }

/* Footer */
.site-footer{ color: #5f6b66 }

/* Responsive hero sizing */
@media (min-width:1100px){ .hero h1{ font-size:2.4rem } .hero-art{ width:380px } }

/* Make header fixed so it remains visible at all times */
:root{ --header-height:92px; }
.site-header{ position:fixed; top:0; left:0; right:0; z-index:1000; }
main{ padding-top:var(--header-height); transition:padding-top .12s ease; }

/* Subpage: breadcrumb, local facts, why-us, nearby */
.breadcrumb{ font-size:.85rem; color:var(--muted); margin-bottom:.5rem }
.breadcrumb a{ color:var(--accent); text-decoration:none }
.breadcrumb a:hover{ text-decoration:underline }
.fact-list, .why-list{ list-style:none; margin:1rem 0 0; padding:0; display:flex; flex-direction:column; gap:.7rem }
.fact-list li, .why-list li{ background:#fff; border:1px solid #f0f0f0; border-radius:10px; padding:.9rem 1.1rem; box-shadow:var(--shadow); color:#333 }
.why-list strong{ color:#0b3f33 }
.nearby p{ color:var(--muted) }

/* Service area list */
.area-list{ list-style:none; margin:.4rem 0 .8rem; padding:0; display:flex; flex-direction:column; gap:.4rem }
.area-list li{ color:var(--muted); font-size:.92rem; line-height:1.5 }
.area-list strong{ color:#0b3f33 }
.area-note{ color:var(--muted); font-size:.9rem; font-style:italic }

/* Opening hours styling */
.opening-hours{ margin:0; padding:0; }
.opening-hours ul{ list-style:none; padding:0; margin:0; }
.opening-hours li{ display:flex; align-items:center; gap:.6rem; padding:.35rem 0; color:var(--muted) }
.opening-hours .oh-icon{ width:18px; height:18px; flex:0 0 18px; display:inline-block; }
.opening-hours strong{ color:var(--accent); margin-left:.2rem }

/* Footer compact hours */
.footer-hours{ margin-top:.5rem; font-size:.95rem; color:var(--muted); display:flex; flex-wrap:wrap; gap:.6rem; align-items:center }
.footer-hours .dot{ width:6px; height:6px; background:var(--accent); border-radius:50%; display:inline-block }
.footer-hours span{ display:inline-flex; gap:.4rem; align-items:center }

/* Closed (Sunday) styling: red to indicate closed */
.opening-hours li.closed .oh-icon circle,
.opening-hours li.closed .oh-icon path{ stroke:#d64545 !important; }
.opening-hours li.closed strong{ color:#d64545 !important }

/* Cookie / adatkezelési hozzájárulás sáv (GDPR, Google Consent Mode v2) */
.cookie-banner{ position:fixed; left:0; right:0; bottom:-100%; z-index:2000; background:#0b3f33; box-shadow:0 -8px 24px rgba(0,0,0,0.18); transition:bottom .25s ease; }
.cookie-banner.show{ bottom:0; }
.cookie-banner-inner{ max-width:1100px; margin:0 auto; padding:1rem 1.25rem; display:flex; flex-wrap:wrap; gap:.9rem 1.5rem; align-items:center; justify-content:space-between; }
.cookie-banner p{ margin:0; font-size:.92rem; line-height:1.5; flex:1 1 420px; color:#e7efe9; }
.cookie-banner a{ color:#8fe3c4; text-decoration:underline; }
.cookie-banner-actions{ display:flex; gap:.6rem; flex:0 0 auto; }
.cookie-banner .btn{ white-space:nowrap; cursor:pointer; font:inherit; border:1px solid rgba(255,255,255,0.35); background:transparent; color:#fff; }
.cookie-banner .btn.primary{ background:linear-gradient(90deg,var(--accent-2),var(--accent)); border:0; }
@media (max-width:600px){
  .cookie-banner-inner{ flex-direction:column; align-items:stretch; }
  .cookie-banner-actions{ justify-content:flex-end; }
}
.site-footer .consent-reopen{ color:inherit; cursor:pointer; text-decoration:underline; }

/* Small-screen header: hide large wordmark so hamburger is visible and prominent */
@media (max-width:700px){
  :root{ --header-height:60px; }
  .logo img{ display:none !important; max-width:none; height:auto }
  .nav-toggle{ display:inline-flex !important; align-items:center; justify-content:center; font-size:1.25rem; padding:.45rem .6rem; border-radius:8px; background:transparent; color:var(--accent); border:1px solid rgba(11,110,79,0.08) }
  /* make sure toggle is above other elements */
  .nav-toggle{ z-index:1200 }
  /* Center the phone and make header items compact */
  .header-contact{ flex:1; display:flex; justify-content:center }
  .header-contact .phone{ font-size:0.95rem }
}

