:root{--green:#0d3f25;--green2:#17653a;--light:#f7f9f5;--text:#163222;--shadow:0 12px 35px rgba(0,0,0,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#f7f9f5}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);box-shadow:0 2px 16px rgba(0,0,0,.08)}.nav-wrap{max-width:1180px;margin:auto;min-height:78px;display:flex;align-items:center;gap:25px;padding:10px 20px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark,.footer-logo{font-size:35px;width:45px;height:45px;display:grid;place-items:center;border:2px solid var(--green);border-radius:50%}.brand strong{display:block;font-size:18px;color:#0d3f25}.brand small{display:block;font-size:11px;margin-top:2px}.desktop-nav{display:flex;gap:21px;font-size:14px;font-weight:600}.desktop-nav a:hover{color:#16804b}.menu-btn{display:none;border:0;background:none;font-size:26px}.mobile-nav{display:none}.hero{min-height:520px;position:relative;background:url('../assets/hero.jpg') center/cover no-repeat;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.68) 42%,rgba(255,255,255,.05) 72%)}.hero-content{position:relative;max-width:1180px;width:100%;margin:auto;padding:55px 20px}.hero h1{font-size:58px;line-height:1;margin:0 0 10px;color:#0d3f25;letter-spacing:-2px}.tagline{font-size:31px;color:#367b4d;font-style:italic;margin:0 0 25px}.hero-text{font-size:17px;line-height:1.6;font-weight:600}.primary-btn{display:inline-flex;align-items:center;gap:12px;background:#075b31;color:white;border:0;border-radius:30px;padding:15px 28px;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.15)}.primary-btn:hover{background:#0b7440;transform:translateY(-1px)}.map-section{max-width:1180px;margin:-65px auto 0;padding:0 20px;position:relative;z-index:5}.map-card{height:360px;background:#fff;border-radius:16px;padding:8px;box-shadow:var(--shadow)}#map{width:100%;height:100%;border-radius:11px;overflow:hidden}.section{max-width:1180px;margin:0 auto;padding:55px 20px}.section-title{display:flex;align-items:center;gap:20px;justify-content:center;margin-bottom:30px}.section-title span{height:1px;background:#cbd5ca;flex:1}.section-title h2{font-size:27px;margin:0;white-space:nowrap}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.category-card{border:0;background:white;border-radius:12px;padding:24px 16px 20px;box-shadow:0 5px 20px rgba(0,0,0,.09);text-align:center;cursor:pointer;transition:.2s;color:var(--text)}.category-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px rgba(0,0,0,.14)}.category-card .icon{width:68px;height:68px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-size:29px}.green{background:#e8f1e5}.blue{background:#e6f2fb}.orange{background:#fff0dc}.aqua{background:#e4f6f3}.brown{background:#f0e7de}.leaf{background:#e6f1e5}.category-card h3{margin:0 0 10px;font-size:16px}.category-card p{font-size:13px;line-height:1.5;min-height:60px;margin:0 0 16px;color:#4a554d}.category-card span{display:inline-block;background:#075b31;color:white;padding:10px 18px;border-radius:5px;font-size:13px;font-weight:700}.features{max-width:1140px;background:#edf4e9;border-radius:12px;margin:0 auto 55px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:28px 35px}.features b{font-size:15px}.features p{font-size:12px;line-height:1.55;color:#56635a;margin-bottom:0}.footer{background:#063b21;color:white;padding:42px max(20px,calc((100% - 1180px)/2));display:grid;grid-template-columns:2fr 2fr 1fr;gap:35px;position:relative}.footer-brand{display:flex;gap:12px;align-items:center}.footer-logo{border-color:white}.footer-brand strong{display:block;font-size:19px}.footer-brand small{display:block;margin-top:3px;font-size:11px}.footer h4{margin:0 0 15px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.social{font-size:22px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:18px;font-size:11px;color:#cbd9cf}.modal{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:2000;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-box{background:white;max-width:430px;width:100%;border-radius:18px;padding:35px;text-align:center;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-close{position:absolute;right:13px;top:8px;border:0;background:none;font-size:30px;cursor:pointer;color:#555}.modal-icon{font-size:40px}.modal-box h2{margin:8px 0}.modal-box p{line-height:1.6;color:#58635c}.modal-box .primary-btn{margin-top:10px}
@media(max-width:1000px){.desktop-nav{gap:12px;font-size:12px}.category-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.desktop-nav{display:none}.menu-btn{display:block}.mobile-nav{background:white;padding:12px 20px;display:none;flex-direction:column;gap:12px;border-top:1px solid #eee}.mobile-nav.open{display:flex}.hero{min-height:470px}.hero h1{font-size:40px}.tagline{font-size:23px}.hero-text{font-size:14px}.desktop-only{display:none}.map-section{margin-top:-35px}.map-card{height:340px}.category-grid{grid-template-columns:repeat(2,1fr)}.section-title h2{font-size:20px;white-space:normal;text-align:center}.features{grid-template-columns:1fr 1fr;margin:0 20px 35px;padding:22px}.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:480px){.brand strong{font-size:14px}.brand small{font-size:9px}.hero h1{font-size:33px}.category-grid{grid-template-columns:1fr}.features{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.copyright{grid-column:1}}

.custom-blue-marker{background:transparent;border:0}.custom-blue-marker span{display:block;width:18px;height:18px;background:#148ad6;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35);margin:3px}.tour-tooltip{border:0!important;border-radius:10px!important;box-shadow:0 8px 25px rgba(0,0,0,.18)!important;padding:9px 11px!important;color:#173322!important;background:#fff!important;font-size:12px;line-height:1.35}.tour-tooltip:before{border-top-color:#fff!important}.point-popup-content h3{margin:0 0 8px;color:#0d3f25;font-size:18px}.point-popup-content p{margin:0 0 10px;line-height:1.45;color:#4d5a51;font-size:13px}.point-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.point-gallery img{width:100%;height:105px;object-fit:cover;border-radius:8px;display:block}.point-coords{margin-top:10px;font-size:11px;color:#68746b}.place-choice{width:100%;border:1px solid #dbe7dc;background:#f5f9f4;border-radius:12px;padding:12px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;color:#163222;transition:.18s}.place-choice:hover{background:#eaf4e8;transform:translateY(-1px)}.place-choice .place-icon{width:42px;height:42px;border-radius:50%;background:#e5f0e1;display:grid;place-items:center;font-size:21px;flex:0 0 auto}.place-choice strong{display:block;font-size:14px;margin-bottom:3px}.place-choice small{display:block;font-size:11px;line-height:1.35;color:#667269}.place-choice>b{margin-left:auto;font-size:24px;color:#17653a}@media(max-width:480px){.point-gallery img{height:92px}.tour-tooltip{display:none}}

/* Mobilbarát térkép és helyszínablak */
.leaflet-control-zoom a{font-weight:700}
.tour-popup .leaflet-popup-content-wrapper{border-radius:14px}
.tour-popup .leaflet-popup-content{margin:12px 14px;max-width:360px}
@media(max-width:700px){
  .map-section{padding:0 12px;margin-top:-25px}
  .map-card{height:390px;padding:5px;border-radius:14px}
  #map{border-radius:10px}
  .leaflet-control-zoom{margin-right:8px!important;margin-top:8px!important}
  .leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:22px!important}
  .tour-popup .leaflet-popup-content{margin:10px 11px;max-width:calc(100vw - 70px)}
  .point-popup-content h3{font-size:16px}
  .point-popup-content p{font-size:12px;line-height:1.4}
  .point-gallery{gap:5px}
  .point-gallery img{height:92px}
  .point-coords{font-size:10px}
}
@media(max-width:480px){
  .hero{min-height:455px;background-position:center right}
  .hero-overlay{background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.72) 68%,rgba(255,255,255,.15) 100%)}
  .hero-content{padding:42px 18px}
  .map-card{height:410px}
  .point-gallery img{height:82px}
  .place-choice{padding:11px 10px}
  .place-choice .place-icon{width:38px;height:38px;font-size:19px}
  .place-choice strong{font-size:13px}
  .place-choice small{font-size:10px}
}

/* Statisztikák */
.stats-strip{padding-top:28px;padding-bottom:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stat-card{background:#fff;border-radius:14px;box-shadow:0 5px 20px rgba(0,0,0,.08);padding:16px 18px;display:flex;align-items:center;gap:13px;border:1px solid #edf1ed}
.stat-icon{width:44px;height:44px;border-radius:12px;background:#edf5eb;display:grid;place-items:center;font-size:22px;flex:0 0 auto}
.stat-card strong{display:block;font-size:22px;color:#0d3f25;line-height:1.1}
.stat-card small{display:block;color:#69756c;font-size:11px;margin-top:4px}
@media(max-width:700px){
  .stats-strip{padding:20px 12px 6px;grid-template-columns:repeat(3,1fr);gap:8px}
  .stat-card{padding:12px 8px;gap:7px;min-width:0}
  .stat-icon{width:34px;height:34px;border-radius:9px;font-size:17px}
  .stat-card strong{font-size:17px}
  .stat-card small{font-size:9px;line-height:1.2}
}
@media(max-width:480px){
  .stats-strip{grid-template-columns:1fr;gap:8px}
  .stat-card{padding:11px 14px}
  .stat-card strong{font-size:19px}
  .stat-card small{font-size:10px}
}

/* ===== Kifejezetten kompakt mobilnézet ===== */
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:700px){
  .site-header{position:sticky}
  .nav-wrap{min-height:60px;padding:7px 12px;gap:8px}
  .brand{gap:7px;min-width:0}
  .brand-mark{width:38px;height:38px;font-size:25px;flex:0 0 38px}
  .brand strong{font-size:13px;line-height:1.1;white-space:nowrap}
  .brand small{font-size:8px;white-space:nowrap}
  .menu-btn{font-size:24px;padding:4px 7px}
  .mobile-nav{padding:9px 12px;gap:2px}
  .mobile-nav a{padding:8px 4px;font-size:13px}

  .hero{min-height:390px;align-items:center;background-position:center center}
  .hero-overlay{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 55%,rgba(255,255,255,.16) 100%)}
  .hero-content{padding:30px 15px;max-width:100%}
  .hero h1{font-size:31px;line-height:1.05;letter-spacing:-1px;margin-bottom:7px}
  .tagline{font-size:19px;margin-bottom:14px}
  .hero-text{font-size:13px;line-height:1.42;max-width:310px;margin-bottom:15px}
  .primary-btn{padding:10px 16px;font-size:13px;gap:7px}

  .map-section{padding:0 10px;margin-top:-24px}
  .map-card{height:320px;padding:4px;border-radius:12px}
  #map{border-radius:9px}
  .leaflet-control-zoom{margin:7px 7px 0 0!important}
  .leaflet-control-zoom a{width:32px!important;height:32px!important;line-height:32px!important;font-size:19px!important}
  .leaflet-control-attribution{font-size:8px!important}

  .stats-strip{padding:16px 10px 4px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .stat-card{padding:9px 6px;gap:6px;min-width:0;justify-content:center}
  .stat-icon{width:29px;height:29px;border-radius:8px;font-size:15px}
  .stat-card strong{font-size:15px}
  .stat-card small{font-size:8px;line-height:1.1;margin-top:2px}

  .section{padding:34px 10px}
  .section-title{gap:8px;margin-bottom:18px}
  .section-title span{min-width:10px}
  .section-title h2{font-size:18px;line-height:1.15}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .category-card{padding:12px 7px 10px;border-radius:10px}
  .category-card .icon{width:45px;height:45px;font-size:21px;margin-bottom:8px}
  .category-card h3{font-size:12px;margin-bottom:5px}
  .category-card p{font-size:10px;line-height:1.3;min-height:40px;margin-bottom:8px}
  .category-card span{padding:7px 10px;border-radius:5px;font-size:10px}

  .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 10px 28px;padding:14px 10px;border-radius:10px}
  .features b{font-size:11px}
  .features p{font-size:9px;line-height:1.35;margin-top:5px}

  .footer{grid-template-columns:1fr 1fr;gap:18px;padding:28px 12px}
  .footer-brand{grid-column:1/-1}
  .footer-brand strong{font-size:14px}
  .footer-brand small{font-size:9px}
  .footer h4{font-size:12px;margin-bottom:9px}
  .footer-links{gap:9px;font-size:10px}
  .social{font-size:17px}
  .copyright{font-size:9px;padding-top:12px}

  /* A felugró helyszínkártya mindig beférjen a telefon kijelzőjére. */
  .tour-popup .leaflet-popup-content-wrapper{max-width:calc(100vw - 42px);overflow:hidden;border-radius:12px}
  .tour-popup .leaflet-popup-content{width:auto!important;max-width:calc(100vw - 66px)!important;margin:9px 10px!important}
  .point-popup-content{width:100%;overflow:hidden}
  .point-popup-content h3{font-size:14px;margin-bottom:5px;white-space:normal}
  .point-popup-content p{font-size:10px;line-height:1.35;margin-bottom:7px;overflow-wrap:anywhere}
  .point-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .point-gallery img{height:66px;min-width:0;border-radius:6px}
  .point-coords{font-size:8px;margin-top:6px;white-space:nowrap}

  .modal{padding:10px}
  .modal-box{max-width:calc(100vw - 20px);padding:22px 14px;border-radius:14px}
  .modal-box h2{font-size:18px}
  .modal-box p{font-size:12px;line-height:1.4}
  .modal-close{font-size:26px;right:9px;top:5px}
  .place-choice{padding:9px 8px;gap:7px}
  .place-choice .place-icon{width:32px;height:32px;font-size:16px}
  .place-choice strong{font-size:11px}
  .place-choice small{font-size:9px;line-height:1.25}
  .place-choice>b{font-size:20px}
}

@media (max-width:380px){
  .hero{min-height:365px}
  .hero h1{font-size:28px}
  .tagline{font-size:17px}
  .hero-text{font-size:12px}
  .map-card{height:295px}
  .category-card p{min-height:36px;font-size:9px}
  .category-card span{font-size:9px;padding:6px 8px}
  .stat-card small{font-size:7px}
  .point-gallery img{height:60px}
}

.house{background:#f1e9df}

/* ===== Bejelentkezés / regisztráció ===== */
.auth-area{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}
.auth-btn{border:1px solid #cfe0d2;background:#f5faf4;color:#0d3f25;border-radius:20px;padding:9px 14px;font-weight:700;font-size:12px;cursor:pointer}
.auth-btn:hover{background:#e8f3e7}
.auth-user{font-size:11px;color:#536158;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.auth-box{text-align:left;max-width:430px}
.auth-box .modal-icon,.auth-box h2,.auth-box>p{text-align:center}
.auth-box>p{font-size:13px;margin:7px 0 16px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#edf4e9;border-radius:10px;padding:4px;margin-bottom:16px}
.auth-tab{border:0;background:transparent;border-radius:7px;padding:9px;font-weight:700;color:#587061;cursor:pointer}
.auth-tab.active{background:#fff;color:#0d3f25;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.auth-field{display:block;margin:0 0 11px}
.auth-field span{display:block;font-size:11px;font-weight:700;color:#365241;margin-bottom:5px}
.auth-field input{width:100%;border:1px solid #cfdad1;border-radius:9px;padding:11px 12px;font:inherit;font-size:13px;outline:none;background:#fbfdfb}
.auth-field input:focus{border-color:#2b7d4c;box-shadow:0 0 0 3px rgba(43,125,76,.1)}
.auth-submit{width:100%;justify-content:center;margin-top:4px}
.auth-message{min-height:20px;text-align:center;color:#a03a2f;font-size:11px;line-height:1.4;margin-top:8px}
@media(max-width:700px){
  .auth-area{gap:5px}
  .auth-btn{padding:7px 9px;font-size:10px}
  .auth-user{display:none}
  .auth-box{max-width:calc(100vw - 20px);padding:20px 13px}
  .auth-box>p{font-size:11px;line-height:1.4}
  .auth-field input{padding:10px;font-size:12px}
  .auth-tab{padding:8px;font-size:11px}
}

/* ===== FINAL STABIL MOBILE + AUTH OVERRIDES ===== */
.auth-modal{display:none!important;position:fixed!important;inset:0!important;z-index:5000!important;align-items:center!important;justify-content:center!important;padding:16px!important;background:rgba(0,0,0,.55)!important;overflow:auto!important}
.auth-modal.open{display:flex!important}
.auth-modal .auth-box{display:block!important;width:min(460px,calc(100vw - 32px))!important;max-width:460px!important;max-height:calc(100vh - 32px)!important;overflow-y:auto!important;background:#fff!important;padding:30px!important;border-radius:18px!important;text-align:left!important;position:relative!important;box-sizing:border-box!important}
.auth-modal .auth-box form{display:block!important;width:100%!important;margin:0!important;padding:0!important}
.auth-modal .auth-field{display:block!important;width:100%!important;margin:0 0 12px!important}
.auth-modal .auth-field span{display:block!important;width:100%!important;margin:0 0 5px!important}
.auth-modal .auth-field input{display:block!important;width:100%!important;height:44px!important;margin:0!important;padding:10px 12px!important;box-sizing:border-box!important;border:1px solid #cfdad1!important;border-radius:9px!important}
.auth-modal .auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;margin:0 0 16px!important}
.auth-modal .auth-tab{display:block!important;width:100%!important;margin:0!important}
.auth-modal .auth-submit{display:flex!important;width:100%!important;height:46px!important;margin:6px 0 0!important;justify-content:center!important;align-items:center!important}
.auth-modal .modal-close{z-index:2!important}
.auth-modal .auth-message{width:100%!important;min-height:20px!important}
@media(max-width:700px){
  .auth-modal{padding:10px!important}
  .auth-modal .auth-box{width:calc(100vw - 20px)!important;max-width:none!important;max-height:calc(100vh - 20px)!important;padding:22px 16px!important;border-radius:15px!important}
  .auth-modal .auth-box h2{font-size:20px!important}
  .auth-modal .auth-box>p{font-size:12px!important;line-height:1.45!important;margin:7px 0 14px!important}
  .auth-modal .auth-field input{height:43px!important;font-size:16px!important}
  .auth-modal .auth-tab{font-size:12px!important;padding:9px!important}
  .auth-modal .auth-submit{height:45px!important;font-size:14px!important}
  .map-section{padding-left:10px!important;padding-right:10px!important}
  .map-card{height:400px!important}
}
@media(max-width:480px){
  .map-card{height:420px!important}
  .auth-modal .auth-box{padding:20px 14px!important}
}

/* Térképes képgaléria – nagyítás és lapozás */
.image-lightbox{display:none;position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.88);align-items:center;justify-content:center;padding:24px}
.image-lightbox.open{display:flex}
.lightbox-inner{position:relative;width:min(1100px,94vw);height:min(88vh,850px);display:flex;align-items:center;justify-content:center}
.lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 15px 50px rgba(0,0,0,.45);user-select:none}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;color:#fff;background:rgba(0,0,0,.58);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:28px;line-height:1;z-index:2}
.lightbox-close{top:4px;right:4px;font-size:34px}
.lightbox-prev{left:8px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:8px;top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(13,63,37,.9)}
.lightbox-caption{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background:rgba(0,0,0,.62);color:#fff;padding:8px 14px;border-radius:20px;font-size:14px;white-space:nowrap;max-width:80%;overflow:hidden;text-overflow:ellipsis}
.point-gallery img{cursor:zoom-in;transition:transform .15s ease,opacity .15s ease}
.point-gallery img:hover{opacity:.9;transform:scale(1.02)}
@media(max-width:700px){
  .image-lightbox{padding:10px}
  .lightbox-inner{width:100%;height:82vh}
  .lightbox-prev,.lightbox-next{width:42px;height:42px;font-size:25px}
  .lightbox-prev{left:4px}.lightbox-next{right:4px}
  .lightbox-close{top:-2px;right:0}
  .lightbox-caption{bottom:4px;font-size:12px;max-width:70%}
}
\n\n/* ===== Éttermek kategória ===== */\n.category-card.restaurant-card{border:2px solid rgba(194,118,34,.18);}\n.category-card.restaurant-card:hover{border-color:rgba(194,118,34,.42);}\n.restaurant{background:#fff0dc!important;color:#9b5314!important}\n.restaurant-intro{display:flex;flex-direction:column;gap:5px;background:#fff8ee;border:1px solid #f1dfc5;border-radius:12px;padding:13px 14px;margin-bottom:12px;color:#4c3a28}\n.restaurant-intro strong{font-size:14px;color:#7c4618}\n.restaurant-intro span{font-size:11px;line-height:1.45;color:#6e6255}\n.restaurant-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:55vh;overflow:auto;padding:2px}\n.restaurant-choice{display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:9px;text-align:left;background:#fff;border:1px solid #e8e0d5;border-radius:11px;padding:9px;cursor:pointer;transition:.15s ease}\n.restaurant-choice:hover{transform:translateY(-1px);border-color:#d3b58d;box-shadow:0 4px 12px rgba(80,50,20,.08)}\n.restaurant-choice-icon{width:38px;height:38px;border-radius:10px;background:#fff3e2;display:grid;place-items:center;font-size:20px}\n.restaurant-choice strong{display:block;font-size:11px;color:#27362d;margin-bottom:3px}\n.restaurant-choice small{display:block;font-size:9px;line-height:1.3;color:#6f756f}\n.restaurant-choice>b{font-size:21px;color:#9a6b35}\n.restaurant-empty{text-align:center;padding:12px 4px 6px}\n.restaurant-empty-icon{width:60px;height:60px;margin:0 auto 9px;border-radius:16px;background:#fff3e2;display:grid;place-items:center;font-size:30px}\n.restaurant-empty h3{margin:0 0 6px;font-size:17px;color:#284334}\n.restaurant-empty p{margin:0 auto 9px;max-width:420px;font-size:12px;line-height:1.5;color:#59645d}\n.restaurant-empty small{display:block;max-width:460px;margin:auto;font-size:10px;line-height:1.45;color:#7a807b}\n@media(max-width:700px){\n  .restaurant-category-grid{grid-template-columns:1fr;max-height:58vh;gap:6px}\n  .restaurant-choice{grid-template-columns:38px 1fr 16px;padding:8px}\n  .restaurant-choice-icon{width:34px;height:34px;font-size:18px}\n  .restaurant-choice strong{font-size:10px}\n  .restaurant-choice small{font-size:8px}\n  .restaurant-intro{padding:10px 11px}\n  .restaurant-intro strong{font-size:12px}\n  .restaurant-intro span{font-size:9px}\n}\n

/* === Éttermek kategóriapanel – Túra Kaland Atlasz === */
.ettermek-panel,
.restaurant-panel,
.food-category-panel {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(35,90,70,.16);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(20,55,45,.12);
  padding: 18px;
  backdrop-filter: blur(8px);
}
.ettermek-panel h2,
.restaurant-panel h2,
.food-category-panel h2 {
  margin: 0 0 14px;
  color: #245f4b;
  font-weight: 800;
  letter-spacing: .2px;
}
.ettermek-panel .category-grid,
.restaurant-panel .category-grid,
.food-category-panel .category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
}
.ettermek-panel button,
.restaurant-panel button,
.food-category-panel button,
.ettermek-panel .category-btn,
.restaurant-panel .category-btn,
.food-category-panel .category-btn {
  border: 1px solid rgba(36,95,75,.16);
  border-radius: 13px;
  padding: 11px 12px;
  background: #f7fbf8;
  color: #245f4b;
  font-weight: 700;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.ettermek-panel button:hover,
.restaurant-panel button:hover,
.food-category-panel button:hover,
.ettermek-panel .category-btn:hover,
.restaurant-panel .category-btn:hover,
.food-category-panel .category-btn:hover {
  background: #edf7f1;
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(20,55,45,.10);
}
.ettermek-panel button.active,
.restaurant-panel button.active,
.food-category-panel button.active,
.ettermek-panel .category-btn.active,
.restaurant-panel .category-btn.active,
.food-category-panel .category-btn.active {
  background: #245f4b;
  color: #fff;
  border-color: #245f4b;
}
@media (max-width: 600px) {
  .ettermek-panel,
  .restaurant-panel,
  .food-category-panel { padding: 14px; border-radius: 15px; }
  .ettermek-panel .category-grid,
  .restaurant-panel .category-grid,
  .food-category-panel .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

/* ===== Térképes pontok – kompakt mobilkártya ===== */
.mobile-point-card{display:none}
@media (max-width:700px){
  .mobile-point-card{
    display:block;
    position:fixed;
    left:12px;
    bottom:12px;
    z-index:1600;
    width:min(430px,calc(100vw - 24px));
    background:rgba(255,255,255,.98);
    border:1px solid #dce8de;
    border-radius:15px;
    box-shadow:0 12px 34px rgba(0,0,0,.22);
    padding:11px 11px 9px;
    transform:translateY(calc(100% + 30px));
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease,opacity .22s ease;
    backdrop-filter:blur(8px);
  }
  .mobile-point-card.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-point-close{position:absolute;right:7px;top:5px;width:30px;height:30px;border:0;border-radius:50%;background:#edf4ee;color:#355242;font-size:22px;line-height:28px;cursor:pointer;z-index:2}
  .mobile-point-head{padding-right:30px}
  .mobile-point-head h3{margin:0 0 3px;color:#0d3f25;font-size:14px;line-height:1.2}
  .mobile-point-head p{margin:0 0 7px;color:#56645b;font-size:10px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .mobile-point-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;margin:0!important}
  .mobile-point-gallery img{height:56px!important;width:100%;min-width:0;border-radius:7px;object-fit:cover;cursor:pointer}
  .mobile-point-coords{margin-top:6px;font-size:8px;color:#748078;white-space:nowrap}
}
@media(max-width:380px){
  .mobile-point-card{left:8px;bottom:8px;width:calc(100vw - 16px);padding:9px}
  .mobile-point-gallery img{height:50px!important}
  .mobile-point-head h3{font-size:13px}
  .mobile-point-head p{font-size:9px}
}

/* ===== Kategória darabszámok és rendezett étterem-választékok ===== */
.category-card h3{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.category-count{display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:10px;font-weight:700;background:#edf4e9;color:#17653a;border-radius:999px;padding:4px 7px;white-space:nowrap;line-height:1.1}
.place-choice{position:relative}
.place-number,.restaurant-choice-number{width:25px;height:25px;border-radius:50%;background:#17653a;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto;line-height:1}
/* Az étteremválasztó egy stabil, négy részes sor: sorszám – ikon – szöveg – nyíl. */
.restaurant-choice{grid-template-columns:25px 42px minmax(0,1fr) 18px;min-width:0;overflow:hidden}
.restaurant-choice > span:nth-child(3){min-width:0}
.restaurant-choice strong,.restaurant-choice small{white-space:normal;word-break:normal;overflow-wrap:normal}
.restaurant-choice-number{background:#9a6b35}
.restaurant-choice>b{display:grid;place-items:center;line-height:1}
@media(max-width:700px){
  .restaurant-choice{grid-template-columns:23px 34px minmax(0,1fr) 16px}
  .restaurant-choice-number{width:23px;height:23px;font-size:10px}
  .place-number{width:23px;height:23px;font-size:10px}
}

.auth-forgot{display:block;width:100%;border:0;background:none;color:#17653a;font-size:11px;text-decoration:underline;cursor:pointer;margin-top:9px}.auth-forgot:hover{color:#0d3f25}


/* =========================================================
   TÚRA KALAND ATLASZ – ÚJ MOBIL FELSŐ HÁTTÉR
   CSAK TELEFONON AKTÍV. ASZTALI NÉZETET NEM MÓDOSÍTJA.
   ========================================================= */
@media (max-width:700px){
  .hero{
    min-height:520px !important;
    height:520px !important;
    background-image:url('../assets/mobile-hero.jpg') !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
    align-items:flex-end !important;
  }

  /* A háttérképen már rajta van a Túra Kaland Atlasz és a
     „Fedezd fel velünk Magyarország és Európa legszebb helyeit!”
     felirat, ezért a régi hero-szöveg mobilon nem duplázódik. */
  .hero-overlay,
  .hero-content{
    display:none !important;
  }

  .map-section{
    margin-top:-22px !important;
  }
}

@media (max-width:380px){
  .hero{
    min-height:485px !important;
    height:485px !important;
  }
}


/* ===== Túra Kaland Atlasz – hozzászólások ===== */
.comments-section{padding-top:28px;padding-bottom:42px}
.comments-wrap{max-width:900px;margin:0 auto}
.comment-compose{background:#fff;border:1px solid #e3e8e4;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.06);margin-bottom:18px}
.comment-login-info{margin-bottom:10px;color:#31533f}
.comment-compose textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #ccd8cf;border-radius:12px;padding:13px 14px;font:inherit;outline:none;background:#fbfdfb}
.comment-compose textarea:focus{border-color:#47815c;box-shadow:0 0 0 3px rgba(71,129,92,.12)}
.comment-compose textarea:disabled{background:#f1f3f1;cursor:not-allowed}
.comment-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.comment-compose-bottom small{color:#718078}
.comment-compose-bottom .primary-btn:disabled{opacity:.5;cursor:not-allowed}
.comment-message{min-height:22px;margin-top:8px;font-size:.93rem;color:#31533f}
.comment-list{display:grid;gap:12px}
.comment-item{display:flex;gap:12px;background:#fff;border:1px solid #e5ebe6;border-radius:16px;padding:15px 16px}
.comment-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;background:#edf5ef}
.comment-body{min-width:0;flex:1}
.comment-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}
.comment-head strong{color:#214c31}
.comment-head time{font-size:.82rem;color:#7b877f;white-space:nowrap}
.comment-body p{margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.55;color:#333}
.comment-empty,.comment-loading{text-align:center;padding:22px;color:#6d786f;background:#fff;border-radius:14px;border:1px solid #e5ebe6}

@media(max-width:700px){
  .comments-section{padding-left:12px;padding-right:12px}
  .comment-compose{padding:14px;border-radius:14px}
  .comment-compose-bottom{align-items:flex-end}
  .comment-compose-bottom .primary-btn{padding:10px 12px}
  .comment-item{padding:13px 12px}
  .comment-head{align-items:flex-start;flex-direction:column;gap:2px}
}


/* ===== Hozzászólás szerkesztés / törlés gombok ===== */
.comment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.comment-action{
  width:auto;
  border:1px solid #d4ded6;
  background:#f7faf7;
  color:#31533f;
  border-radius:8px;
  padding:7px 10px;
  font-size:.84rem;
  cursor:pointer;
}
.comment-action:hover{
  background:#edf5ef;
}
.comment-delete{
  color:#9d2020;
  border-color:#efd0d0;
  background:#fff8f8;
}
.comment-delete:hover{
  background:#fdecec;
}
.comment-edited{
  margin-left:4px;
  color:#89928c;
  font-size:.78rem;
}
@media(max-width:700px){
  .comment-actions{
    margin-top:8px;
  }
  .comment-action{
    padding:7px 9px;
  }
}


/* ===== VÉGLEGES GÉPES + MOBIL HERO ===== */
.hero{
  min-height:650px !important;
  height:auto !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  background:
    linear-gradient(90deg,rgba(3,22,13,.14),rgba(3,22,13,.03),rgba(3,22,13,.12)),
    url('../assets/hero-atlasz-desktop-final.jpg') center center / cover no-repeat !important;
  background-color:#173d2d !important;
}
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.03),rgba(3,24,15,.18)) !important;}
.hero-content{
  position:relative !important;z-index:2 !important;
  width:min(560px,calc(100% - 48px)) !important;max-width:560px !important;
  margin-left:max(24px,calc((100vw - 1180px)/2)) !important;margin-right:auto !important;
  padding:27px 29px !important;border-radius:22px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:rgba(5,34,20,.58) !important;
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  box-shadow:0 18px 42px rgba(0,0,0,.18) !important;
}
.hero-content h1,.hero-content .tagline,.hero-content .hero-text{
  color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.30) !important;
}
@media(max-width:900px) and (min-width:701px){
  .hero{min-height:610px !important;}
  .hero-content{width:min(520px,calc(100% - 36px)) !important;margin-left:18px !important;padding:23px 21px !important;}
}

/* Telefonon a teljes álló kép látszik: nincs oldallevágás. */
@media(max-width:700px){
  .hero{
    min-height:0 !important;height:auto !important;
    aspect-ratio:9/16 !important;
    display:flex !important;align-items:flex-end !important;
    background:
      linear-gradient(180deg,rgba(3,22,13,0) 0%,rgba(3,22,13,.02) 62%,rgba(3,22,13,.30) 100%),
      url('../assets/hero-atlasz-mobile-final.jpg') center center / contain no-repeat !important;
    background-color:#173d2d !important;
  }
  .hero-overlay{background:transparent !important;}
  .hero-content{
    display:block !important;width:calc(100% - 20px) !important;max-width:520px !important;
    margin:0 auto 14px !important;padding:15px 14px !important;border-radius:16px !important;
    background:rgba(5,34,20,.60) !important;
  }
  .hero-content h1{font-size:27px !important;line-height:1.02 !important;margin-bottom:7px !important;}
  .hero-content .tagline{font-size:17px !important;margin-bottom:8px !important;}
  .hero-content .hero-text{font-size:12.5px !important;line-height:1.4 !important;margin-bottom:12px !important;}
  .hero-content .primary-btn{width:100% !important;justify-content:center !important;padding:11px 13px !important;}
  .map-section{margin-top:0 !important;}
}

/* ===== AUTOMATIKUS TÚRAPONT SZÁMLÁLÓ ===== */
.tour-point-counter{
  width:min(1180px,calc(100% - 28px));margin:20px auto 6px;display:flex;justify-content:center;
}
.tour-point-counter-card{
  display:flex;align-items:center;gap:13px;padding:14px 22px;border:1px solid #dce7df;
  border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(20,55,34,.08);color:#214c31;
}
.tour-point-counter-icon{
  width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:50%;
  background:#edf5ef;font-size:23px;
}
.tour-point-counter-text{display:flex;flex-direction:column;line-height:1.12;}
.tour-point-counter-text strong{font-size:27px;color:#174b2c;}
.tour-point-counter-text span{margin-top:3px;font-size:14px;color:#65766a;}
@media(max-width:700px){
  .tour-point-counter{margin:14px auto 4px;}
  .tour-point-counter-card{width:100%;justify-content:center;padding:12px 16px;border-radius:15px;}
  .tour-point-counter-text strong{font-size:24px;}
}


/* ============================================================
   TÚRA KALAND ATLASZ – MOBIL FELSŐ RÉSZ, KÖZVETLEN JAVÍTÁS
   A kép teljes szélességben, levágás nélkül.
   Alatta fehér információs blokk.
   ============================================================ */

@media (max-width:700px){

  .hero{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;

    margin:0 !important;
    padding:0 !important;

    /* A teljes álló kép látható */
    background-image:url('../assets/hero-atlasz-mobile-final.jpg') !important;
    background-size:100% auto !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
    background-color:#fff !important;

    /* hely a teljes képnek */
    padding-top:177.7vw !important;

    overflow:visible !important;
  }

  .hero-overlay{
    display:none !important;
  }

  .hero-content{
    display:block !important;
    position:relative !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:24px 18px 24px !important;

    background:#fff !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    text-align:center !important;

    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  .hero-content::before,
  .hero-content::after{
    display:none !important;
    content:none !important;
  }

  .hero-content h1{
    margin:0 0 6px !important;
    font-size:32px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    letter-spacing:-.6px !important;
    color:#0d4b2c !important;
    text-shadow:none !important;
  }

  .hero-content .tagline{
    margin:0 0 13px !important;
    font-size:20px !important;
    line-height:1.24 !important;
    font-weight:500 !important;
    font-style:italic !important;
    color:#155a39 !important;
    text-shadow:none !important;
  }

  .hero-content .hero-text{
    max-width:620px !important;
    margin:0 auto 17px !important;
    font-size:16px !important;
    line-height:1.42 !important;
    font-weight:400 !important;
    color:#20252a !important;
    text-align:center !important;
    text-shadow:none !important;
  }

  .hero-content .primary-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:min(420px,92%) !important;
    margin:0 auto !important;
    padding:14px 22px !important;

    border:0 !important;
    border-radius:999px !important;

    background:linear-gradient(180deg,#08603a 0%,#004d2d 100%) !important;
    color:#fff !important;

    font-size:17px !important;
    font-weight:700 !important;
    text-decoration:none !important;

    box-shadow:0 7px 17px rgba(0,66,39,.18) !important;
  }

  .map-section{
    margin-top:0 !important;
  }
}

@media (max-width:430px){
  .hero-content{
    padding:21px 14px 20px !important;
  }

  .hero-content h1{
    font-size:29px !important;
  }

  .hero-content .tagline{
    font-size:18px !important;
  }

  .hero-content .hero-text{
    font-size:14px !important;
  }

  .hero-content .primary-btn{
    width:94% !important;
    padding:13px 18px !important;
    font-size:16px !important;
  }
}
