/* =========================================================================
   Esküvőihelyszínkereső.hu – prémium téma (paletta, tipográfia, mozgás)
   Paletta: mélyzöld #1f3a34 · pezsgő-arany #b08d57 · homok #f4efe6 · papír #fbf9f5
   ========================================================================= */
:root { --r-card: 16px; --r-img: 14px; --r-btn: 8px; --r-pill: 999px; --ink: #1f3a34; --ink-2: #163029; --gold: #b08d57; --gold-2: #957548; --sand: #f4efe6; --paper: #fbf9f5; --text: #2b2b2b; --muted: #7d7a75; --line: #e6e1d8; --gold-rgb: 176,141,87; --ink-rgb: 31,58,52; --font-display: "Playfair Display", serif; --font-sablon: "Lora", serif; --gold-light: #e6cfa3; --g777: #777; --g888: #888; --g999: #999; --gaaa: #aaa; --gold-light-rgb: 230,207,163; --sablon-accent: #f39108; --font-body: "Inter", sans-serif; }

/* --- Tipográfia --- */
body { font-family: "Inter", sans-serif; font-weight: 300; color: var(--text); background: #fff; letter-spacing: 0.005em; }
h1, h2, h3, h4, .h1, .h2, .h3, .section-title h1, .breadcrumbs-page h1, .profile-single h3, .card-shadow-header h3, .wedding-listing .content h3, .result-list .content h3, .ehk-lm-card .body h3, .ehk-step h2, .pricing-table-wrap h3, .footer-widget .widget-title, .widget-title, .blog-title, .ehk-usp h4, .callout-text .section-title h1 { font-family: var(--font-display); font-weight: 500; letter-spacing: 0; text-transform: none !important; }
strong, b, .fw-7, .btn { font-weight: 600; }
.section-title h1 { font-size: 2.4rem; text-transform: none; letter-spacing: 0; margin-bottom: 0.6rem; }
.section-title p.ehk-lead { font-size: 1rem; color: var(--muted); }
.breadcrumbs-page h1 { text-transform: none; }
.lead { font-weight: 300; }
p { line-height: 1.7; }
.ehk-note, small, .meta-date { color: var(--muted); }
.wide-tb-120 { padding-top: 110px; padding-bottom: 110px; }
.wide-tb-90 { padding-top: 90px; padding-bottom: 90px; }

/* --- Gombok --- */
.btn { border-radius: var(--r-card); letter-spacing: 0.04em; font-size: 0.85rem; padding: 0.7rem 1.4rem; text-transform: uppercase; font-weight: 500; }
.btn-rounded { border-radius: var(--r-btn) !important; }
.btn-sm { padding: 0.4rem 0.9rem; font-size: 0.75rem; }
.btn-lg { padding: 0.9rem 2rem; font-size: 0.9rem; }
.btn-primary { background: var(--ink); border-color: var(--ink); }
.btn-primary:hover, .btn-primary:focus { background: var(--ink-2); border-color: var(--ink-2); }
.btn-default { background: var(--gold); border-color: var(--gold); }
.btn-default:hover { background: var(--gold-2); border-color: var(--gold-2); }
.btn-outline-primary { color: var(--ink); border-color: var(--ink); } .btn-outline-primary:hover { background: var(--ink); color: #fff; }
.btn-outline-dark { border-color: #cfcac0; color: var(--text); } .btn-outline-dark:hover { background: var(--ink); border-color: var(--ink); }
.btn-link { text-transform: none; letter-spacing: 0; }
.btn-outline-white { border-radius: var(--r-card); }

/* --- Fejléc --- */
.top-bar-stripe { background: var(--ink); }
header.fixed-top { box-shadow: 0 1px 0 var(--line); }
.navbar-nav .nav-link { font-family: "Inter", sans-serif; font-weight: 500; font-size: 0.86rem !important; letter-spacing: 0.02em; text-transform: none; color: var(--text); }
.ehk-logo { font-family: var(--font-display); font-weight: 500; white-space: nowrap; }
.ehk-logo strong { color: var(--gold); font-weight: 600; }
.ehk-logo small { display: inline; margin-top: 0; margin-left: 0.15rem; }
.ehk-nav-counter { background: var(--gold); }
.ehk-lang a.active { color: var(--gold); }
.preloader { background: var(--ink); }

/* --- Fejléc mega-menü (Helyszínek, Szolgáltatók) --- */
.ehk-mega { min-width: 34rem; padding: 1.25rem 1.5rem 0.5rem; border: 0; box-shadow: 0 18px 40px rgba(20,26,24,0.14); border-radius: var(--r-card); }
.ehk-mega-narrow { min-width: 27rem; }
.ehk-mega-body { display: flex; gap: 2.25rem; }
.ehk-mega-col { flex: 1 1 0; min-width: 13rem; display: flex; flex-direction: column; }
.ehk-mega-col h6 { font-family: var(--font-display); font-size: 0.82rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.5rem; }
.ehk-mega-col .dropdown-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 0; font-size: 0.86rem; white-space: nowrap; }
.ehk-mega-col .dropdown-item i { position: static !important; top: auto !important; right: auto !important; transform: none !important; flex: 0 0 auto; width: 2.05rem; height: 2.05rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(var(--gold-rgb),0.09); border: 1px solid rgba(var(--gold-rgb),0.4); color: var(--gold); font-size: 0.82rem; text-align: center; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.ehk-mega-col .dropdown-item:hover, .ehk-mega-col .dropdown-item:focus { background: transparent; color: var(--ink); }
.ehk-mega-col .dropdown-item:hover i, .ehk-mega-col .dropdown-item:focus i { background: var(--gold); border-color: var(--gold); color: #fff; }
.ehk-mega-all { display: flex; align-items: center; justify-content: space-between; margin: 0.75rem -1.5rem 0; padding: 0.75rem 1.5rem; border-top: 1px solid var(--line); font-family: "Inter", sans-serif; font-weight: 600; font-size: 0.85rem; color: var(--ink); background: var(--sand); border-radius: 0 0 var(--r-card) var(--r-card); }
.ehk-mega-all:hover { color: var(--gold); }
@media (max-width: 991px) { .ehk-mega { position: static !important; width: 100%; min-width: 0; max-width: none; box-shadow: none; padding: 0 0 0 0.5rem; } .ehk-mega-body { flex-direction: column; gap: 0; } .ehk-mega-col { min-width: 0; width: 100%; } .ehk-mega-col .dropdown-item { white-space: normal; justify-content: flex-start !important; } .ehk-mega-all { margin: 0.25rem 0 0; background: transparent; } }

/* --- "Folytassátok, ahol abbahagytátok" – alsó bal sarokban becsúszó toast --- */
.ehk-toast { position: fixed; left: 1.25rem; bottom: 1.25rem; z-index: 1200; width: 21rem; max-width: calc(100vw - 2.5rem); background: var(--paper); border-radius: var(--r-card); box-shadow: 0 18px 44px rgba(20,26,24,0.22); padding: 1.1rem 1.25rem 1.15rem; opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity .45s ease, transform .45s ease; }
.ehk-toast.ehk-toast-in { opacity: 1; transform: translateY(0); pointer-events: auto; }
.ehk-toast-close { position: absolute; top: 0.6rem; right: 0.6rem; width: 1.7rem; height: 1.7rem; border: 0; background: transparent; color: var(--muted); font-size: 0.75rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background .2s ease, color .2s ease; }
.ehk-toast-close:hover { background: var(--sand); color: var(--ink); }
.ehk-toast-header { font-family: var(--font-display); font-size: 1rem; color: var(--ink); padding-right: 1.5rem; margin-bottom: 0.6rem; }
.ehk-toast-header i { color: var(--gold); margin-right: 0.4rem; }
.ehk-toast-body a { padding: 0.35rem 0; }
.ehk-toast-body img { width: 52px; height: 40px; }
.ehk-toast-brief { border-top: 1px solid var(--line); margin-top: 0.5rem; padding-top: 0.6rem; font-size: 0.8rem; color: var(--muted); }
.ehk-heart-link { color: var(--ink) !important; font-weight: 500; }
.ehk-heart-link i { color: #c1476b; margin-right: 0.3rem; }
.ehk-heart-link:hover { color: var(--gold) !important; text-decoration: none; }

/* --- Adatlap akciógombok (Kedvenc / Összehasonlítás / Ajánlatot kérek) --- */
.ehk-detail-intro .btn { height: 2.7rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; font-size: 0.78rem; letter-spacing: 0.03em; transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ehk-fav-detail { color: #c1476b !important; border-color: #ecc3cf !important; background: #fdf3f5 !important; }
.ehk-fav-detail i { color: #c1476b; }
.ehk-fav-detail:hover, .ehk-fav-detail.active { background: #c1476b !important; border-color: #c1476b !important; color: #fff !important; }
.ehk-fav-detail:hover i, .ehk-fav-detail.active i { color: #fff; }
.ehk-detail-intro .btn-outline-dark:not(.ehk-fav-detail) { border-color: var(--line); color: var(--ink); background: var(--paper); }
.ehk-detail-intro .btn-outline-dark:not(.ehk-fav-detail) i { color: var(--gold); }
.ehk-detail-intro .btn-outline-dark:not(.ehk-fav-detail):hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.ehk-detail-intro .btn-outline-dark:not(.ehk-fav-detail):hover i { color: #fff; }
.ehk-detail-intro .btn-primary { box-shadow: 0 10px 24px rgba(var(--ink-rgb),0.22); }
.ehk-detail-intro .btn-primary:hover { box-shadow: 0 12px 28px rgba(var(--ink-rgb),0.3); transform: translateY(-1px); }

/* --- Adatlap fül-navigáció (Áttekintés, Galéria stb.) – prémium sáv --- */
.vendor-nav { display: flex; align-items: center; gap: 0.3rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.vendor-nav::-webkit-scrollbar { display: none; }
.vendor-nav a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.6rem 0.95rem !important; margin-right: 0 !important; border-radius: var(--r-pill); color: var(--muted); font-weight: 600; letter-spacing: 0.03em; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.vendor-nav a i { padding-right: 0; color: var(--gold); opacity: 0.5; transition: opacity .2s ease; }
.vendor-nav a:hover, .vendor-nav a.active { background: rgba(var(--gold-rgb),0.12); color: var(--ink) !important; }
.vendor-nav a:hover i, .vendor-nav a.active i { opacity: 1; }
@media (max-width: 575px) { .ehk-toast { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; width: auto; max-width: none; } }

/* --- Adatlap: megosztás gombok – platformok saját színvilága --- */
.ehk-share { display: inline-flex; gap: 0.4rem; margin-right: 0.4rem; vertical-align: middle; }
.ehk-share-btn { width: 2.7rem; height: 2.7rem; padding: 0 !important; border: 0 !important; color: #fff !important; font-size: 0.95rem; }
.ehk-share-fb { background: #1877f2 !important; }
.ehk-share-fb:hover { background: #145dc4 !important; }
.ehk-share-pin { background: #e60023 !important; }
.ehk-share-pin:hover { background: #b8001c !important; }
.ehk-share-mail { background: #6b7280 !important; }
.ehk-share-mail:hover { background: #565c66 !important; }

/* --- Adatlap: gyorsáttekintő ikon-jelvények (Amenities) --- */
.ehk-amenity-ico i { background: rgba(var(--gold-rgb),0.1); border: 1px solid rgba(var(--gold-rgb),0.4); color: var(--gold); }
.ehk-amenity-ico { color: var(--text); font-size: 0.82rem; }

/* --- Adatlap: értékelés-bontás szempontonként --- */
.ehk-crit { padding: 0.9rem 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); height: 100%; }
.ehk-crit-top { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.55rem; font-size: 0.82rem; color: var(--text); }
.ehk-crit-top i { color: var(--gold); }
.ehk-crit-top span { flex: 1 1 auto; }
.ehk-crit-top strong { font-family: var(--font-display); color: var(--ink); }
.ehk-crit .bar-base { height: 6px; border-radius: var(--r-pill); background: var(--sand); overflow: hidden; }
.ehk-crit .bar-filled { height: 100%; border-radius: var(--r-pill); background: var(--gold); }

/* --- Adatlap: kapcsolattartó widget --- */
.ehk-host { display: flex; align-items: center; gap: 0.75rem; }
.ehk-host-avatar { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: var(--ink); color: var(--gold-light); font-family: var(--font-display); font-size: 1.1rem; display: flex; align-items: center; justify-content: center; }
.card-shadow-header i.ehk-star-yellow { color: #f5b400 !important; }

/* --- Hero: Ken Burns --- */
.ehk-hero { position: relative; margin-top: 129px; min-height: 640px; height: 86vh; overflow: hidden; background: var(--ink); display: flex; align-items: center; }
.ehk-hero-bg span { position: absolute; inset: 0; background: center center / cover no-repeat; opacity: 0; transform: scale(1); animation: ehkKB 24s infinite; }
.ehk-hero-bg span:nth-child(2) { animation-delay: 8s; }
.ehk-hero-bg span:nth-child(3) { animation-delay: 16s; }
@keyframes ehkKB { 0% { opacity: 0; transform: scale(1); } 8% { opacity: 1; } 33% { opacity: 1; transform: scale(1.08); } 41% { opacity: 0; transform: scale(1.1); } 100% { opacity: 0; } }
.ehk-hero:after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,28,25,0.85) 0%, rgba(15,28,25,0.35) 45%, rgba(15,28,25,0.25) 100%); }
.ehk-hero-content { position: relative; z-index: 2; text-align: center; color: #fff; padding: 2rem 0; }
.ehk-hero-content h1 { font-size: 3.4rem; color: #fff; font-weight: 400; line-height: 1.15; margin-bottom: 1rem; text-shadow: 0 2px 24px rgba(0,0,0,0.35); }
.ehk-hero-content h1 em { font-style: italic; color: var(--gold-light); }
.ehk-hero-content .lead { color: rgba(255,255,255,0.88); max-width: 680px; margin: 0 auto 1.75rem; font-size: 1.05rem; }
.ehk-hero-content .slider-form { background: rgba(255,255,255,0.96); border-radius: var(--r-card); padding: 0.4rem; max-width: 900px; margin: 0 auto 1.25rem; }
.ehk-hero-content .ehk-entry-points a { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.35); font-size: 0.85rem; backdrop-filter: blur(6px); }
.ehk-hero-content .ehk-entry-points a:hover { background: var(--gold); border-color: var(--gold); }
.ehk-hero-content .ehk-or { color: rgba(255,255,255,0.7); font-family: var(--font-display); font-style: italic; margin: 1rem 0 0.25rem; }
.ehk-quiet { position: absolute; left: 0; right: 0; bottom: 1.6rem; z-index: 2; text-align: center; color: rgba(255,255,255,0.72); font-size: 0.85rem; letter-spacing: 0.06em; }
.ehk-quiet b { color: #fff; font-weight: 500; font-family: var(--font-display); font-size: 1.05rem; }
.ehk-quiet span + span:before { content: "·"; margin: 0 0.9rem; color: var(--gold); }
@media (max-width: 991px) { .ehk-hero { margin-top: 0; height: auto; min-height: 0; padding: 5rem 0 4.5rem; } .ehk-hero-content h1 { font-size: 2.2rem; } .ehk-quiet { position: static; margin-top: 1.5rem; } .ehk-quiet span { display: block; } .ehk-quiet span + span:before { display: none; } }

/* --- Kártyák --- */
.wedding-listing { border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: none; background: #fff; transition: box-shadow .4s, transform .4s; }
.wedding-listing:hover { box-shadow: 0 18px 40px rgba(var(--ink-rgb),0.12); transform: translateY(-3px); }
.wedding-listing .img { overflow: hidden; background: var(--sand); }
.wedding-listing .img img { opacity: 1; transition: transform 1.2s cubic-bezier(.2,.6,.2,1); aspect-ratio: 4 / 3; }
.wedding-listing:hover .img img { transform: scale(1.05); }
.wedding-listing .img .img-content .top .price { background: rgba(255,255,255,0.92); border-radius: var(--r-card); font-size: 0.78rem; color: var(--text); }
.wedding-listing .img .img-content .top .price i { background: transparent; color: var(--gold); }
.wedding-listing .img .img-content .bottom .tags { background: rgba(var(--ink-rgb),0.85); border-radius: var(--r-card); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.wedding-listing .content h3 { font-size: 1.15rem; }
.wedding-listing .content .reviews, .wedding-listing .content .ehk-meta { font-size: 0.8rem; color: var(--muted); }
.wedding-listing .reviews .stars i, .result-list .stars i, .ehk-google .stars i { color: var(--gold); font-size: 0.75rem; }
.ehk-partner-line { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gold); z-index: 3; }
.ehk-partner-line:after { content: "Partner"; position: absolute; left: 12px; top: 10px; font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; color: #fff; background: rgba(var(--gold-rgb),0.92); padding: 0.2rem 0.5rem; border-radius: var(--r-card); }
.result-list { border: 1px solid var(--line); border-radius: var(--r-card); padding: 1rem; margin-bottom: 1.25rem; box-shadow: none; transition: box-shadow .4s; position: relative; }
.result-list:hover { box-shadow: 0 14px 34px rgba(var(--ink-rgb),0.10); }
.result-list .img { overflow: hidden; border-radius: var(--r-card); position: relative; }
.result-list .img img { transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.result-list:hover .img img { transform: scale(1.05); }
.result-list .img .featured { display: none; }
.result-list .content h3 { font-size: 1.25rem; }
.result-list .content p { font-size: 0.9rem; color: #555; }
.ehk-badge { font-weight: 500; letter-spacing: 0.08em; font-size: 0.66rem; border-radius: var(--r-card); }
.ehk-badge-valid { background: #eef2ee; color: var(--ink); }
.ehk-badge-partner { background: var(--sand); color: var(--gold-2); }
.ehk-badge-excl { background: #f3f1ec; color: #6b675f; }
.ehk-badge-lm { background: #f6e8e4; color: #9a4634; }
.ehk-badge-missing { background: #f7f0e0; color: #8a6a1e; }
.ehk-price { font-family: var(--font-display); font-weight: 500; }
.popular-categories, .popular-locations, .blog-wrap-home .post-img, .ehk-lm-card .img, .ehk-collection .imgs span { overflow: hidden; border-radius: var(--r-card); display: block; }
.popular-categories > img, .popular-locations img, .blog-wrap-home .post-img img, .ehk-collection .imgs img { transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.popular-categories:hover > img, .popular-locations:hover img, .blog-wrap-home:hover .post-img img, .ehk-collection:hover .imgs img { transform: scale(1.05); }
.popular-locations .overlay-box { background: linear-gradient(to top, rgba(15,28,25,0.85), rgba(15,28,25,0)); }
.popular-locations:hover .overlay-box { background: linear-gradient(to top, rgba(var(--ink-rgb),0.95), rgba(var(--ink-rgb),0.2)); }
.popular-categories .content h3, .popular-locations h3 a { font-family: var(--font-display); }
.card-shadow { box-shadow: none; border: 1px solid var(--line); border-radius: var(--r-card); }
.card-shadow-header { background: var(--paper); border-bottom: 1px solid var(--line); }
.card-shadow-header h3 { font-size: 1.05rem; }
.card-shadow-header i, .txt-orange, .icon-big-cirlce i { color: var(--gold) !important; }
.icon-big-cirlce { background: var(--sand); box-shadow: none; }
.ehk-usp p { font-weight: 300; }
.floral-bg { background: var(--paper); }
.bg-light-gray, .bg-light { background: var(--sand) !important; }
.callout-main { background: var(--ink); color: #fff; }
.callout-text .section-title h1, .callout-text p, .callout-text .ehk-note { color: #fff; }
.callout-text .ehk-note { color: rgba(255,255,255,0.65) !important; }
footer { background: var(--ink-2); }
footer .widget-title { font-size: 1.05rem; }
.copyrights { background: #10201c; }
.ehk-demand { background: var(--ink); border-radius: var(--r-card); }
.ehk-demand strong, .ehk-demand .num { color: var(--gold-light); }
.pricing-table-wrap .plan-price { color: var(--ink); font-family: var(--font-display); }
.pricing-table-wrap.premium { border-color: var(--gold); }
.search-result-header { background: var(--ink); }
.search-result-header:after { display: none; }
.search-result-header h1 { font-size: 2.4rem; }
.breadcrumbs-page { background: var(--ink) !important; }
.breadcrumbs-page:after { background: rgba(15,28,25,0.55) !important; }
.widget-title { font-size: 1.05rem; }
.ehk-keyfacts .fact { border-color: var(--line); box-shadow: none; border-radius: var(--r-card); }
.ehk-keyfacts .fact strong { font-family: var(--font-display); font-weight: 500; font-size: 1.25rem; }
.ehk-quality { background: #eef2ee; border-color: var(--ink); color: var(--ink-2); }
.ehk-option { border-radius: var(--r-card); }
.ehk-stat, .ehk-offer, .ehk-brief-card, .ehk-addon, .ehk-brief-summary, .ehk-lm-card, .ehk-email { border-radius: var(--r-card); box-shadow: none; border-color: var(--line); }
.ehk-stat .n, .ehk-offer .price, .ehk-brief-card .match, .ehk-addon .price { font-family: var(--font-display); font-weight: 500; }
.ehk-dash-nav .nav-link.active { background: var(--ink); }
.ehk-ai-fab { background: var(--ink); box-shadow: 0 8px 24px rgba(var(--ink-rgb),0.35); }
.ehk-ai-fab .lbl { background: var(--gold); }
.ehk-chat .msg.me { background: var(--ink); }
.ehk-quote-bar { background: var(--ink-2); }
.ehk-quote-bar .btn-outline-light { color: #fff; border-color: rgba(255,255,255,0.55); background: transparent; }
.ehk-quote-bar .btn-outline-light:hover, .ehk-quote-bar .btn-outline-light:focus { color: #fff; background: rgba(255,255,255,0.14); border-color: #fff; }
.ehk-quote-bar .txt strong { color: var(--gold-light); }
.theme-accordian.accordion .card-header a { font-family: var(--font-display); font-size: 1rem; }
.form-control { border-radius: var(--r-card); border-color: var(--line); font-weight: 300; }
.form-control:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(var(--gold-rgb),0.15); }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--ink) !important; border-color: var(--ink) !important; }
.select2-container--form-light .select2-selection, .select2-container--form-dark .select2-selection { border-radius: var(--r-btn) !important; }
.ehk-entry-points a { border-radius: var(--r-card); }
.search-result-header .ehk-quick a { border-radius: var(--r-card); }
.ehk-cal .d.free { background: #eef2ee; color: var(--ink); }
.ehk-cal .d.sel { outline-color: var(--gold); }
.ehk-status.publikalhato { background: #eef2ee; color: var(--ink); }
.ehk-status.partner { background: var(--sand); color: var(--gold-2); }

/* --- Lassú beúszás görgetésre --- */
.ehk-reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s cubic-bezier(.2,.6,.2,1), transform .9s cubic-bezier(.2,.6,.2,1); }
.ehk-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ehk-reveal { opacity: 1; transform: none; transition: none; } .ehk-hero-bg span { animation: none; opacity: 1; } }

/* --- Szűkítő: teljes képernyős --- */
.ehk-wizard-screen { position: relative; min-height: calc(100vh - 129px); display: flex; align-items: center; background: var(--ink) center center / cover no-repeat; transition: background-image .8s; overflow: hidden; }
.ehk-wizard-screen .bg { position: absolute; inset: 0; background: center center / cover no-repeat; opacity: 0; transition: opacity 1s; transform: scale(1.04); }
.ehk-wizard-screen .bg.on { opacity: 1; animation: ehkWZ 14s linear forwards; }
@keyframes ehkWZ { from { transform: scale(1.04); } to { transform: scale(1.12); } }
.ehk-wizard-screen:after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,28,25,0.9), rgba(15,28,25,0.45)); }
.ehk-wizard-screen .ehk-wizard { position: relative; z-index: 2; color: #fff; padding: 4rem 1rem; }
.ehk-wizard-screen .ehk-note { color: rgba(255,255,255,0.65); }
.ehk-wizard-screen .ehk-progress span { background: rgba(255,255,255,0.2); }
.ehk-wizard-screen .ehk-progress span.done { background: var(--gold); }
.ehk-wizard-screen .ehk-progress span.current { background: #fff; }
.ehk-wizard-screen .ehk-step h2 { font-size: 2.6rem; color: #fff; font-weight: 400; line-height: 1.2; margin-bottom: 0.75rem; }
.ehk-wizard-screen .ehk-step h2 em { font-style: italic; color: var(--gold-light); }
.ehk-wizard-screen .ehk-step .hint { color: rgba(255,255,255,0.72); font-size: 1rem; }
.ehk-wizard-screen .ehk-option { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.35); color: #fff; backdrop-filter: blur(8px); font-weight: 400; }
.ehk-wizard-screen .ehk-option i { color: var(--gold-light); }
.ehk-wizard-screen .ehk-option small { color: rgba(255,255,255,0.6); }
.ehk-wizard-screen .ehk-option:hover { border-color: #fff; background: rgba(255,255,255,0.14); }
.ehk-wizard-screen .ehk-option.selected { border-color: var(--gold); background: rgba(var(--gold-rgb),0.38); box-shadow: none; }
.ehk-wizard-screen .ehk-wizard-nav .skip { color: rgba(255,255,255,0.6); }
.ehk-wizard-screen .btn-outline-dark { border-color: rgba(255,255,255,0.5); color: #fff; }
.ehk-wizard-screen .btn-outline-dark:hover { background: #fff; color: var(--ink); border-color: #fff; }
@media (max-width: 991px) { .ehk-wizard-screen { min-height: 100vh; } .ehk-wizard-screen .ehk-step h2 { font-size: 1.8rem; } }

/* --- Adatlap: magazin --- */
.ehk-mosaic { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 260px 260px; gap: 6px; margin-top: 129px; background: var(--sand); }
.ehk-mosaic a { display: block; overflow: hidden; position: relative; }
.ehk-mosaic a:first-child { grid-row: span 2; }
.ehk-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.ehk-mosaic a:hover img { transform: scale(1.04); }
.ehk-mosaic .more { position: absolute; right: 12px; bottom: 12px; background: rgba(15,28,25,0.75); color: #fff; font-size: 0.75rem; padding: 0.35rem 0.7rem; border-radius: var(--r-card); letter-spacing: 0.06em; }
@media (max-width: 991px) { .ehk-mosaic { margin-top: 0; grid-template-columns: 1fr 1fr; grid-template-rows: 220px 140px; } .ehk-mosaic a:first-child { grid-column: span 2; grid-row: auto; } .ehk-mosaic a:nth-child(n+4) { display: none; } }
.ehk-detail-intro { padding: 3rem 0 2rem; border-bottom: 1px solid var(--line); background: var(--sand); }
.ehk-detail-intro h1 { font-size: 2.8rem; margin: 0.5rem 0 0.75rem; }
.ehk-promise { font-family: var(--font-display); font-style: italic; font-size: 1.35rem; color: var(--ink); line-height: 1.5; max-width: 760px; margin-bottom: 1rem; }
.ehk-detail-intro .ehk-meta { color: var(--muted); font-size: 0.9rem; }
.ehk-detail-intro .ehk-meta i { color: var(--gold); }
.ehk-detail-intro .btn { margin-bottom: 0.5rem; }
.vendor-nav-sticky { margin-top: 0 !important; }
.vendor-nav { box-shadow: 0 10px 28px rgba(20,26,24,0.1); border: 1px solid var(--line); border-top: 0; }
.ehk-spec-toggle { display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.ehk-spec-toggle .fa-angle-down { transition: transform .3s; }
.ehk-spec-toggle[aria-expanded="true"] .fa-angle-down { transform: rotate(180deg); }
.ehk-story { display: flex; gap: 1.5rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.ehk-story:last-child { border-bottom: 0; }
.ehk-story img { width: 42%; flex: 0 0 42%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--r-card); }
.ehk-story blockquote { font-family: var(--font-display); font-style: italic; font-size: 1.1rem; color: var(--ink); margin: 0 0 0.5rem; line-height: 1.5; }
.ehk-story .who { font-size: 0.85rem; color: var(--muted); }
.ehk-story .who b { color: var(--text); font-weight: 500; }
@media (max-width: 767px) { .ehk-story { flex-direction: column; align-items: stretch; } .ehk-story img { width: 100%; flex-basis: auto; } }

/* --- Kollekciók --- */
.ehk-collection { display: block; color: var(--text); border: 1px solid var(--line); border-radius: var(--r-card); background: #fff; height: 100%; transition: box-shadow .4s, transform .4s; }
.ehk-collection:hover { box-shadow: 0 18px 40px rgba(var(--ink-rgb),0.12); transform: translateY(-3px); color: var(--text); }
.ehk-collection .imgs { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 110px 110px; gap: 4px; padding: 4px; }
.ehk-collection .imgs span:first-child { grid-row: span 2; }
.ehk-collection .imgs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ehk-collection .body { padding: 1.25rem 1.5rem 1.5rem; }
.ehk-collection .body h3 { font-size: 1.25rem; margin-bottom: 0.4rem; }
.ehk-collection .body .why { font-family: var(--font-display); font-style: italic; color: var(--ink); font-size: 0.98rem; line-height: 1.55; }
.ehk-collection .body .by { font-size: 0.75rem; color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 0.75rem; }
.ehk-collection .body .by b { color: var(--gold); font-weight: 500; }

/* --- Valós esküvők (kezdőlap) --- */
.ehk-real { position: relative; overflow: hidden; border-radius: var(--r-card); aspect-ratio: 4/5; display: block; color: #fff; }
.ehk-real img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(.2,.6,.2,1); }
.ehk-real:hover img { transform: scale(1.05); }
.ehk-real .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem; background: linear-gradient(to top, rgba(15,28,25,0.9), rgba(15,28,25,0)); color: #fff; }
.ehk-real .cap h3 { color: #fff; font-size: 1.3rem; margin-bottom: 0.2rem; }
.ehk-real .cap small { color: rgba(255,255,255,0.75); display: block; }
.ehk-real .cap q { font-style: italic; font-family: var(--font-display); display: block; margin-top: 0.5rem; font-size: 0.95rem; }

/* --- Kik állunk mögötte --- */
.ehk-about { background: var(--paper); }
.ehk-about .photo { aspect-ratio: 4/5; object-fit: cover; width: 100%; border-radius: var(--r-card); }
.ehk-about .mono { width: 72px; height: 72px; border-radius: 50%; background: var(--ink); color: var(--gold-light); font-family: var(--font-display); font-size: 1.9rem; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.ehk-about blockquote { font-family: var(--font-display); font-style: italic; font-size: 1.5rem; line-height: 1.45; color: var(--ink); margin: 0 0 1.25rem; }
.ehk-about .facts { display: flex; flex-wrap: wrap; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.ehk-about .facts .stat { flex: 1 1 33%; min-width: 150px; padding: 0 1.4rem; }
.ehk-about .facts .stat:first-child { padding-left: 0; }
.ehk-about .facts .stat:not(:first-child) { border-left: 1px solid var(--line); }
.ehk-about .facts .stat i { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--sand); color: var(--gold-2); font-size: 1.05rem; margin-bottom: 0.7rem; }
.ehk-about .facts .stat b { display: block; color: var(--ink); font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; line-height: 1.15; margin-bottom: 0.2rem; }
.ehk-about .facts .stat span { display: block; color: var(--muted); font-size: 0.82rem; line-height: 1.4; }
@media (max-width: 575px) { .ehk-about .facts { flex-direction: column; gap: 1.25rem; } .ehk-about .facts .stat { padding: 0 !important; } .ehk-about .facts .stat:not(:first-child) { border-left: 0; border-top: 1px solid var(--line); padding-top: 1.25rem !important; } }

/* --- Összehasonlítás: lapok --- */
.ehk-compare-cards { display: flex; gap: 1rem; overflow-x: auto; padding: 0.25rem 0.25rem 1rem; scroll-snap-type: x mandatory; }
.ehk-cc { flex: 0 0 300px; scroll-snap-align: start; border: 1px solid var(--line); border-radius: var(--r-card); background: #fff; }
.ehk-cc img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.ehk-cc .hd { padding: 1rem 1.25rem 0.5rem; }
.ehk-cc .hd h3 { font-size: 1.15rem; margin: 0; }
.ehk-cc .hd small { color: var(--muted); }
.ehk-cc .row-i { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75rem; padding: 0.55rem 1.25rem; border-top: 1px dashed var(--line); font-size: 0.88rem; }
.ehk-cc .row-i .k { color: var(--muted); font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; }
.ehk-cc .row-i .v { text-align: right; font-weight: 500; }
.ehk-cc .row-i.same .v { color: #a19c94; font-weight: 300; }
.ehk-cc .row-i.best .v { color: var(--gold-2); }
.ehk-cc .row-i.best .v:after { content: " ★"; font-size: 0.7rem; }
.ehk-cc .ft { padding: 1rem 1.25rem 1.25rem; }
.ehk-compare-legend { font-size: 0.8rem; color: var(--muted); margin-bottom: 0.75rem; }
.ehk-compare-legend .g { color: var(--gold-2); }

/* --- Üres állapotok --- */
.ehk-empty { border: 1px dashed var(--line); border-radius: var(--r-card); padding: 3.5rem 1.5rem; background: var(--paper); }
.ehk-empty svg { width: 96px; height: 96px; margin: 0 auto 1.25rem; display: block; stroke: var(--gold); fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.ehk-empty h4 { font-family: var(--font-display); font-weight: 400; font-size: 1.4rem; margin-bottom: 0.5rem; }
.ehk-empty p { color: var(--muted); max-width: 460px; margin: 0 auto 1.25rem; }

/* --- Finomítások --- */
.ehk-hero { height: min(86vh, 820px); }
.btn-outline-primary.active, .btn-basket.active, .btn-outline-primary:not(:disabled):not(.disabled).active { background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important; box-shadow: none !important; }
.result-list .ehk-partner-line:after { top: 8px; }

.ehk-hero-content .select2-selection__placeholder, .ehk-hero-content .select2-selection__rendered { color: #333 !important; }
.ehk-hero-content .select2-container--form-light .select2-selection--single .select2-selection__arrow b { border-color: #333 transparent transparent transparent; }

/* ===================== Lekerekítés (nagyobb, egységes) ===================== */
.btn, .btn-rounded, .btn-outline-white, .form-control, .select2-container--form-light .select2-selection, .select2-container--form-dark .select2-selection, .input-group .form-control, .input-group .btn { border-radius: var(--r-btn) !important; }
.ehk-hero-content .slider-form { border-radius: var(--r-card); }
.ehk-hero-content .slider-form .select2-selection, .ehk-hero-content .slider-form .btn { border-radius: var(--r-btn) !important; }
.ehk-badge, .ehk-status, .ehk-nav-counter, .ehk-entry-points a, .search-result-header .ehk-quick a, .selected-tags, .wedding-listing .img .img-content .bottom .tags, .wedding-listing .img .img-content .top .price, .ehk-partner-line:after, .ehk-mosaic .more, .ehk-lm-card .date, .result-list .badge, .badge, .ehk-check li .due, .ehk-chat .msg .chips a, .ehk-cal .d { border-radius: var(--r-pill) !important; }
.ehk-badge { padding: 0.3rem 0.7rem; }
.ehk-partner-line { height: 0; }
.ehk-partner-line:after { top: 12px; left: 12px; padding: 0.28rem 0.7rem; }
.wedding-listing, .result-list, .card-shadow, .ehk-stat, .ehk-offer, .ehk-brief-card, .ehk-addon, .ehk-brief-summary, .ehk-lm-card, .ehk-email, .ehk-collection, .ehk-cc, .ehk-empty, .pricing-table-wrap, .ehk-demand, .ehk-keyfacts .fact, .ehk-quality, .ehk-concept-note, .ehk-google, .vendor-listing-wrap, .blog-wrap-home, .post-content, .modal-content, .ehk-usp .icon-big-cirlce, .popular-locations, .popular-categories, .ehk-option, .widget, .vendor-nav, .breadcrumbs-page .container, .ehk-phone-log, .alert, .ehk-dash-nav .nav-link, .ehk-about .photo, .ehk-real, .ehk-map, .ehk-chat .msg, .ehk-viewed img, .ehk-near img, .ehk-story img, .ehk-review img.ph, .ehk-mosaic a, .ehk-quote-bar .thumbs img { border-radius: var(--r-card) !important; }
.ehk-cal .d { border-radius: 10px !important; }
.ehk-dash-nav .nav-link { border-radius: 10px !important; }
.ehk-chat .msg { border-radius: 18px !important; }
.ehk-chat .msg.ai { border-bottom-left-radius: 6px !important; } .ehk-chat .msg.me { border-bottom-right-radius: 6px !important; }
.wedding-listing, .result-list, .card-shadow, .ehk-collection, .ehk-cc, .popular-locations, .popular-categories, .ehk-real, .ehk-lm-card, .ehk-mosaic a, .blog-wrap-home, .vendor-listing-wrap { overflow: hidden; }
.wedding-listing .img, .wedding-listing .img img, .result-list .img, .result-list .img img, .vendor-gallery img, .vendor-gallery img.rounded, .ehk-collection .imgs span, .ehk-collection .imgs img, .blog-wrap-home .post-img, .post-content .post-img, .post-content .post-img img, .ehk-lm-card .img, img.rounded, .ehk-mosaic img, .ehk-story img, .ehk-review img.ph, .ehk-near img, .ehk-viewed img, .ehk-quote-bar .thumbs img, .ehk-chat .msg .mini img, .vendor-img { border-radius: var(--r-img) !important; }
.wedding-listing .img img, .result-list .img img { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.result-list .img img { border-radius: var(--r-img) !important; }
.ehk-mosaic { gap: 8px; padding: 8px; }
.ehk-mosaic a img { border-radius: var(--r-img) !important; }
.card-shadow-header { border-top-left-radius: var(--r-card); border-top-right-radius: var(--r-card); }
.ehk-cc img { border-radius: var(--r-card) var(--r-card) 0 0 !important; }
.ehk-collection .imgs { padding: 8px; gap: 6px; }
.ehk-lm-card .img { border-radius: var(--r-img) 0 0 var(--r-img) !important; }
.ehk-detail-hero, .breadcrumbs-page { border-radius: 0 !important; }
.icon-big-cirlce, .ehk-about .mono, .ehk-ai-fab { border-radius: 50% !important; }
.ehk-quote-bar { border-radius: var(--r-card) var(--r-card) 0 0; }
.callout-main .col-lg-6:first-child { border-radius: 0 var(--r-card) var(--r-card) 0; overflow: hidden; }
.ehk-usp p, .ehk-note { border-radius: 0; }
.toast, #ehk-toast { border-radius: 12px !important; }
.wedding-listing .ehk-partner-line:after { left: auto; right: 12px; top: 12px; }
.result-list .ehk-partner-line:after { left: 10px; top: 10px; }

/* --- Felső sáv: egy sor, egységes magasság --- */
.top-bar-stripe { background: var(--ink-2); }
.ehk-topbar { display: flex; align-items: stretch; justify-content: space-between; height: 40px; font-size: 0.8rem; color: rgba(255,255,255,0.85); }
.ehk-topbar-left { display: flex; align-items: center; gap: 1.5rem; white-space: nowrap; min-width: 0; overflow: hidden; }
.ehk-topbar-left i { color: var(--gold); margin-right: 0.35rem; }
.ehk-topbar-left a { color: rgba(255,255,255,0.85); }
.ehk-topbar-right { display: flex; align-items: stretch; flex-shrink: 0; }
.ehk-topbar-right > * { display: flex; align-items: center; padding: 0 0.9rem; border-left: 1px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.85); white-space: nowrap; line-height: 1; }
.ehk-topbar-right > a:hover { color: #fff; background: rgba(255,255,255,0.06); }
.ehk-topbar-right .ico { padding: 0 0.85rem; font-size: 0.85rem; }
.ehk-topbar-right .ehk-lang { margin: 0; gap: 0.6rem; font-size: 0.78rem; letter-spacing: 0.06em; }
.ehk-topbar-right .ehk-lang a { color: rgba(255,255,255,0.6); }
.ehk-topbar-right .ehk-lang a.active { color: var(--gold); }
@media (max-width: 991px) { .ehk-topbar { height: auto; flex-wrap: wrap; justify-content: center; padding: 0.3rem 0; } .ehk-topbar-left { display: none; } .ehk-topbar-right > * { padding: 0.45rem 0.7rem; border-left: 0; } }
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-nav .nav-link { padding-left: 0.3rem !important; padding-right: 0.3rem !important; font-size: 0.78rem !important; }
  .navbar .btn-primary { padding: 0.45rem 0.6rem; }
  .navbar .order-lg-last { margin-left: 0.5rem !important; }
  .navbar-brand.ehk-logo { font-size: 1.05rem; }
}

/* --- Kártyák: sorköz, kép illeszkedése, dátum-jelvény --- */
.wedding-listing { margin-bottom: 2.25rem; }
#ehk-featured, #ehk-grid, #ehk-similar, #ehk-collections, #ehk-stories, #ehk-home-lm { row-gap: 0.5rem; }
.ehk-collection, .ehk-real, .ehk-lm-card { margin-bottom: 0.5rem; }
.wedding-listing .img { border-radius: var(--r-card) var(--r-card) 0 0 !important; overflow: hidden; }
.wedding-listing .img img { border-radius: 0 !important; }
.result-list .img img { border-radius: var(--r-img) !important; }
.ehk-cc img { border-radius: 0 !important; }
.blog-wrap-home .post-img { border-radius: var(--r-card) var(--r-card) 0 0 !important; }
.blog-wrap-home .post-img img { border-radius: 0 !important; }
.vendor-listing-wrap .vendor-img, .vendor-listing-wrap .vendor-img img { border-radius: 0 !important; }
.vendor-listing-wrap { border-radius: var(--r-card) !important; overflow: hidden; }
.ehk-collection .imgs { padding: 0; gap: 4px; }
.ehk-collection .imgs span, .ehk-collection .imgs img { border-radius: 0 !important; }
.ehk-lm-card { overflow: hidden; }
.ehk-lm-card .img { border-radius: 0 !important; }
#ehk-home-lm .ehk-lm-card .img { min-height: 210px; }
.ehk-lm-card .date { border-radius: 12px !important; background: #fff; color: var(--ink); padding: 0.5rem 0.8rem 0.55rem; min-width: 60px; text-align: center; box-shadow: 0 6px 18px rgba(0,0,0,0.18); line-height: 1; left: 14px; top: 14px; }
.ehk-lm-card .date strong { display: block; font-family: var(--font-display); font-weight: 500; font-size: 1.5rem; margin-bottom: 2px; }
.ehk-lm-card .date small { display: block; font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-2); font-weight: 600; }

/* --- Kalkulátorok --- */
.ehk-calc-row { margin-bottom: 1.1rem; }
.ehk-calc-row label { display: flex; justify-content: space-between; align-items: baseline; font-weight: 500; font-size: 0.9rem; margin-bottom: 0.3rem; color: var(--text); }
.ehk-calc-row label output { font-family: var(--font-display); font-size: 1.05rem; color: var(--ink); }
.ehk-calc-row input[type=range] { width: 100%; -webkit-appearance: none; appearance: none; height: 4px; background: var(--line); border-radius: 2px; outline: none; }
.ehk-calc-row input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 2px solid var(--gold); box-shadow: 0 2px 8px rgba(0,0,0,0.15); cursor: pointer; }
.ehk-calc-row input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 2px solid var(--gold); cursor: pointer; }
.ehk-calc-result { background: var(--ink); color: #fff; border-radius: var(--r-card); padding: 1.5rem 1.5rem 1.25rem; }
.ehk-calc-result .tot small { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.68rem; color: rgba(255,255,255,0.6); }
.ehk-calc-result .tot .n { font-family: var(--font-display); font-size: 2.6rem; line-height: 1.1; color: var(--gold-light); margin: 0.2rem 0; }
.ehk-calc-result .tot .per { color: rgba(255,255,255,0.8); font-size: 0.9rem; margin-bottom: 1rem; }
.ehk-calc-result .tot .per b { color: #fff; font-weight: 500; }
.ehk-calc-result .ehk-note { color: rgba(255,255,255,0.6); }
.ehk-calc-result .ehk-note b { color: #fff; }
.ehk-calc-table { color: #fff; font-size: 0.85rem; }
.ehk-calc-table td { border-color: rgba(255,255,255,0.12); padding: 0.4rem 0; }
.ehk-calc-table td:last-child { text-align: right; font-weight: 500; white-space: nowrap; }
.ehk-calc-table tr.sum td { border-top: 1px solid rgba(255,255,255,0.4); font-family: var(--font-display); font-size: 1rem; }
.ehk-calc-table td .pct { color: rgba(255,255,255,0.5); font-size: 0.75rem; margin-left: 0.4rem; }
.ehk-calc-keret { border-radius: 12px; padding: 0.7rem 0.9rem; font-size: 0.85rem; margin-bottom: 1rem; }
.ehk-calc-keret.ok { background: rgba(var(--gold-light-rgb),0.18); color: var(--gold-light); }
.ehk-calc-keret.over { background: rgba(181,81,63,0.35); color: #ffd9d0; }
.ehk-calc-result .btn-primary { background: var(--gold); border-color: var(--gold); }
.ehk-calc-result .btn-link { color: rgba(255,255,255,0.7); }
.ehk-szolg-item { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 0.5rem; cursor: pointer; font-size: 0.85rem; transition: border-color .2s, background .2s; }
.ehk-szolg-item:hover { border-color: var(--gold); }
.ehk-szolg-item.on { border-color: var(--ink); background: var(--sand); }
.ehk-szolg-item .nm { font-weight: 500; }
.ehk-szolg-item .nm i { color: var(--gold); width: 18px; margin-right: 0.3rem; }
.ehk-szolg-item .pr { color: var(--muted); white-space: nowrap; }
.ehk-szolg-item.on .pr { color: var(--ink); font-weight: 500; }
/* adatlap mini-kalkulátor */
.ehk-mini-calc { background: var(--sand); border-radius: var(--r-card); padding: 1.25rem; }
.ehk-mini-calc .n { font-family: var(--font-display); font-size: 1.7rem; color: var(--ink); line-height: 1.1; }
.ehk-mini-calc .rng { font-size: 0.8rem; color: var(--muted); }
/* kezdőlapi teaser */
.ehk-calc-teaser { background: var(--ink); color: #fff; border-radius: var(--r-card); padding: 2.5rem; }
.ehk-calc-teaser h2 { color: #fff; font-size: 2rem; }
.ehk-calc-teaser .n { font-family: var(--font-display); font-size: 2.4rem; color: var(--gold-light); line-height: 1.1; }
.ehk-calc-teaser .ehk-calc-row label { color: rgba(255,255,255,0.85); }
.ehk-calc-teaser .ehk-calc-row label output { color: #fff; }
.ehk-calc-teaser .ehk-calc-row input[type=range] { background: rgba(255,255,255,0.25); }
.contact-details-wrap i { font-size: 2.4rem !important; width: 84px; height: 84px; border-radius: 50%; background: var(--sand); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1rem; color: var(--gold) !important; }
.contact-details-wrap h3.txt-primary { color: var(--ink) !important; }
.map-wrap iframe { height: 420px; }
.contact-details-wrap { text-align: center; }
.contact-details-wrap i { position: static !important; opacity: 1 !important; transform: none !important; left: auto !important; top: auto !important; }

/* --- Levegő: hero kereső gomb, dátum/kategória pirulák --- */
.ehk-hero-content .slider-form { padding: 0.5rem; }
.ehk-hero-content .slider-form .btn { width: calc(100% - 0.75rem); margin: 0 0.25rem 0 0.5rem; height: 52px; }
.ehk-hero-content .slider-form .col-md-2 { display: flex; align-items: center; }
@media (max-width: 767px) { .ehk-hero-content .slider-form .btn { width: 100%; margin: 0.4rem 0 0; } }
.search-result-header .input-group .btn { margin-left: 0.5rem; }
.meta-date { margin-right: 0.6rem !important; }
.post-category { margin-right: 0.6rem !important; margin-left: 0 !important; }
.blog-wrap-home .home-content .meta-date, .post-content .meta-date { display: inline-block; margin-bottom: 0.5rem; }
.post-content .post-category, .blog-wrap-home .post-category { display: inline-block; margin-bottom: 0.5rem; }

/* --- Mobil hero: a csendes számok a kereső alatt, nem mellette --- */
.ehk-hero { flex-direction: column; justify-content: center; }
.ehk-hero-content { width: 100%; }
@media (max-width: 991px) {
  .ehk-hero { padding: 4.5rem 0 2.5rem; }
  .ehk-quiet { position: static; width: 100%; margin-top: 2rem; padding: 1rem 1.5rem 0; border-top: 1px solid rgba(255,255,255,0.15); font-size: 0.8rem; }
  .ehk-quiet span { display: block; margin-bottom: 0.35rem; }
  .ehk-hero-content .ehk-entry-points { justify-content: center; }
}
@media (max-width: 991px) { .ehk-hero { height: auto; min-height: 0; } }

/* ===================== Dóri – avatar, üdvözlő buborék ===================== */
.ehk-avatar-photo { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; background: var(--ink); flex-shrink: 0; }
.ehk-avatar-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ehk-avatar-photo .mono { font-family: var(--font-display); color: var(--gold-light); font-weight: 500; font-size: 1.4rem; }
.ehk-avatar-photo.sm { width: 38px; height: 38px; }
.ehk-avatar-photo.sm .mono { font-size: 1rem; }
.ehk-ai-fab .ehk-avatar-photo { width: 100%; height: 100%; border: 2px solid rgba(var(--gold-light-rgb),0.55); }

.ehk-dori-bubble { position: fixed; right: 22px; bottom: 96px; z-index: 1039; width: 270px; background: #fff; border-radius: var(--r-card); box-shadow: 0 20px 50px rgba(15,28,25,0.28); padding: 1rem 1rem 1.1rem; opacity: 0; transform: translateY(12px) scale(0.97); pointer-events: none; transition: opacity .35s ease, transform .35s ease; cursor: pointer; }
.ehk-dori-bubble.show { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.ehk-dori-bubble:after { content: ""; position: absolute; right: 26px; bottom: -8px; width: 16px; height: 16px; background: #fff; transform: rotate(45deg); border-radius: 3px; box-shadow: 4px 4px 8px rgba(15,28,25,0.06); }
.ehk-dori-bubble .x { position: absolute; top: 0.5rem; right: 0.6rem; border: 0; background: none; font-size: 1.1rem; line-height: 1; color: #b3ada2; cursor: pointer; padding: 0.2rem; }
.ehk-dori-bubble .x:hover { color: var(--ink); }
.ehk-dori-bubble .who { display: flex; align-items: center; gap: 0.55rem; margin-bottom: 0.5rem; }
.ehk-dori-bubble .who strong { font-family: var(--font-display); font-size: 1.05rem; color: var(--ink); display: block; line-height: 1.2; }
.ehk-dori-bubble .who small { color: var(--muted); font-size: 0.72rem; display: block; }
.ehk-dori-bubble p { margin: 0; font-size: 0.86rem; color: #444; line-height: 1.5; }
@media (max-width: 575px) { .ehk-dori-bubble { right: 12px; left: 12px; width: auto; bottom: 90px; } .ehk-ai-fab { right: 16px; bottom: 16px; } }

/* ===================== Zöld fejléc: térköz a cimkék alatt ===================== */
.search-result-header { padding-bottom: 3rem; }
@media (max-width: 767px) { .search-result-header { padding-bottom: 2rem; } }

/* ===================== Vezetett szűkítő: üveges panel a szöveg mögé ===================== */
#ehk-wizard { background: rgba(255,255,255,0.09); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.18); border-radius: var(--r-card); padding: 2.75rem 2.75rem 2.25rem; box-shadow: 0 25px 60px rgba(0,0,0,0.25); }
@media (max-width: 767px) { #ehk-wizard { padding: 1.75rem 1.25rem 1.5rem; } }

/* ===================== Kiemelt megjelenés minta (partnereknek) ===================== */
.ehk-spotlight { background: var(--ink); border-radius: var(--r-card); overflow: hidden; box-shadow: 0 25px 60px rgba(15,28,25,0.18); }
.ehk-spotlight .row { margin: 0; }
.ehk-spotlight .ph { position: relative; min-height: 320px; height: 100%; background-size: cover; background-position: center; }
.ehk-spotlight .ph .ribbon { position: absolute; top: 1.1rem; left: 1.1rem; background: var(--gold); color: #fff; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.4rem 0.85rem; border-radius: var(--r-pill); display: flex; align-items: center; gap: 0.35rem; }
.ehk-spotlight .bd { padding: 2.25rem 2.25rem 2rem; color: #fff; }
.ehk-spotlight .bd h3 { color: #fff; font-size: 1.6rem; margin-bottom: 0.3rem; }
.ehk-spotlight .bd .loc { color: rgba(255,255,255,0.65); font-size: 0.88rem; margin-bottom: 0.9rem; }
.ehk-spotlight .bd .facts { display: flex; flex-wrap: wrap; gap: 1.1rem; margin-bottom: 1.1rem; }
.ehk-spotlight .bd .facts div { font-size: 0.85rem; color: rgba(255,255,255,0.85); }
.ehk-spotlight .bd .facts b { display: block; font-family: var(--font-display); font-size: 1.2rem; color: var(--gold-light); font-weight: 500; }
.ehk-spotlight .bd .stars i { color: var(--gold-light); font-size: 0.85rem; }
.ehk-spotlight-caption { font-size: 0.85rem; color: var(--muted); text-align: center; max-width: 560px; margin: 1rem auto 0; }
.ehk-spotlight-caption b { color: var(--ink); }

/* --- Görgetés a tetejére gomb: kör, ne szögletes --- */
#back-to-top.back-to-top { border-radius: 50% !important; display: flex; align-items: center; justify-content: center; }

/* --- Lista nézet kártya: a kép töltse ki a sor teljes magasságát --- */
.result-list .img { height: 100%; min-height: 220px; }
.result-list .img img { aspect-ratio: auto; width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
@media (max-width: 767px) { .result-list .img, .result-list .img img { min-height: 200px; height: 200px; } }

/* --- Adatminőségi minimum: ikonos, két oszlopos pipa-lista --- */
.ehk-minimum-list { list-style: none; margin: 1.6rem 0 1.4rem; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.25rem; row-gap: 0.95rem; }
.ehk-minimum-list li { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.95rem; color: var(--text); line-height: 1.35; }
.ehk-minimum-list li i { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: var(--sand); color: var(--gold-2); display: flex; align-items: center; justify-content: center; font-size: 0.78rem; margin-top: 0.05rem; }
.ehk-minimum-list li span { padding-top: 0.15rem; }
@media (max-width: 575px) { .ehk-minimum-list { grid-template-columns: 1fr; } }

/* --- Kiemelt (partner) lista-kártya: enyhe arany háttér, feltűnő gomb --- */
.result-list.kiemelt { background: linear-gradient(160deg, #fdfaf3 0%, #f8f0dd 100%); border-color: rgba(var(--gold-rgb),0.4); }
.result-list.kiemelt:hover { box-shadow: 0 16px 40px rgba(var(--gold-rgb),0.22); }
.result-list.kiemelt .btn-basket { box-shadow: 0 8px 22px rgba(var(--gold-rgb),0.4); font-weight: 600; border: 0; }
.result-list.kiemelt .btn-basket:hover { box-shadow: 0 10px 26px rgba(var(--gold-rgb),0.5); transform: translateY(-1px); }
.result-list.kiemelt .btn-basket.active { box-shadow: none; }

/* ===================== Színséma-választó (demó) ===================== */
.ehk-theme-picker { position: relative; }
.ehk-theme-picker .ico { color: rgba(255,255,255,0.85); }
.ehk-theme-picker .ico:hover { color: #fff; }
.ehk-theme-picker > .ico { position: relative; }
.ehk-theme-panel { position: absolute; top: 100%; left: 0; margin-top: 6px; width: 260px; background: #fff; border-radius: var(--r-card); box-shadow: 0 20px 50px rgba(15,28,25,0.28); padding: 1.1rem 1.2rem 1.2rem; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease, visibility .2s; z-index: 1060; text-align: left; }
.ehk-theme-panel.show { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.ehk-theme-panel h5 { font-family: var(--font-display); font-size: 1.02rem; color: var(--ink); margin: 0 0 0.25rem; font-weight: 500; }
.ehk-theme-panel p { font-size: 0.76rem; color: var(--muted); margin: 0 0 0.9rem; line-height: 1.4; }
.ehk-theme-panel .row-c { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.6rem; }
.ehk-theme-panel .row-c label { flex: 1; font-size: 0.82rem; color: var(--text); margin: 0; }
.ehk-theme-panel input[type="color"] { -webkit-appearance: none; appearance: none; width: 30px; height: 30px; border: 2px solid var(--line); border-radius: 50%; padding: 0; background: none; cursor: pointer; flex: 0 0 30px; }
.ehk-theme-panel input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; border-radius: 50%; }
.ehk-theme-panel input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 50%; }
.ehk-theme-panel .hex { font-size: 0.72rem; color: var(--muted); width: 58px; text-align: right; font-variant-numeric: tabular-nums; }
.ehk-theme-panel #ehk-theme-reset { display: inline-block; margin-top: 0.4rem; font-size: 0.78rem; color: var(--gold-2); border-bottom: 1px dashed var(--gold-2); }
.ehk-theme-panel #ehk-theme-reset:hover { color: var(--ink); border-color: var(--ink); }
@media (max-width: 575px) { .ehk-theme-panel { left: auto; right: -12px; width: 240px; } }

/* ===================== Hero háttérvideó (asztali gépen, a Ken Burns fotók helyett) ===================== */
.ehk-hero-video { position: absolute; inset: 0; z-index: 0; display: none; background: #0f1c19; }
.ehk-hero-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.1s ease; }
.ehk-hero-video video.on { opacity: 1; }
@media (min-width: 992px) and (prefers-reduced-motion: no-preference) { .ehk-hero-video { display: block; } .ehk-hero-video ~ .ehk-hero-bg { display: none; } }

/* ===================== 2026-09-10-i bővítés: last minute szintek, Intent Score, felolvasás, Trust Index, Kisokos CTA ===================== */

/* --- Last minute háromszintű kategorizálás --- */
.ehk-tier-head { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem; margin: 2rem 0 1rem; }
.ehk-tier-head:first-child { margin-top: 0; }
.ehk-tier-desc { font-size: 0.82rem; color: var(--muted); }
.ehk-tier-pill { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.3rem 0.75rem; border-radius: var(--r-pill); white-space: nowrap; }
.ehk-tier-pill.tier-lm { background: #fdecea; color: #b3261e; }
.ehk-tier-pill.tier-lc { background: #fdf1e0; color: #a05a00; }
.ehk-tier-pill.tier-op { background: #e8f5ee; color: #1f6b46; }
.ehk-lm-card.tier-lm { border-left: 4px solid #d9463a; }
.ehk-lm-card.tier-lc { border-left: 4px solid #d98a2b; }
.ehk-lm-card.tier-op { border-left: 4px solid #2f8f5b; }

/* --- Intent Score (partnerkapu) --- */
.ehk-lead-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid var(--line); }
.ehk-lead-row:last-child { border-bottom: 0; }
.ehk-lead-row .who { flex: 0 0 190px; }
.ehk-lead-row .events { flex: 1 1 260px; font-size: 0.82rem; }
.ehk-lead-row .score { display: flex; align-items: center; gap: 0.6rem; }
.ehk-lead-row .pts { font-family: var(--font-display); font-weight: 600; }
.ehk-lead-tier { display: inline-flex; align-items: center; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.3rem 0.7rem; border-radius: var(--r-pill); white-space: nowrap; }
.ehk-lead-tier.erdeklodo { background: #eef2ee; color: var(--ink); }
.ehk-lead-tier.eros { background: #fdf1e0; color: #a05a00; }
.ehk-lead-tier.hot { background: #fdecea; color: #b3261e; }
.ehk-weekly-card { background: var(--sand); border-radius: var(--r-card); padding: 1.5rem; }
.ehk-weekly-card .callout { background: #fff; border-left: 3px solid var(--gold); padding: 0.75rem 1rem; border-radius: 6px; font-size: 0.88rem; }

/* --- Dóri felolvasás (valódi speechSynthesis) --- */
.ehk-tts-btn.speaking { background: var(--ink); border-color: var(--ink); color: #fff; }

/* --- Trust Index jelvény --- */
.ehk-google { flex-wrap: wrap; }
.ehk-trust-badge { display: inline-flex; align-items: center; gap: 0.4rem; margin-left: auto; padding: 0.35rem 0.75rem; border: 1px solid var(--gold); border-radius: var(--r-pill); color: var(--gold-2); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; cursor: help; }
@media (max-width: 575px) { .ehk-trust-badge { margin-left: 0; margin-top: 0.6rem; } }

/* --- Kisokos: induló-cikk jelvény --- */
.ehk-badge-launch { background: var(--sand); color: var(--gold-2); border: 1px solid var(--line); }
/* 2026-09-24: a fejlécből kivett inline stílus helye (régi kinézet változatlan) */
.btn-primary .ehk-nav-counter { background: #fff; color: #00aeaf; }

/* Színváltó: alap arany <-> #FF44CB */
:root[data-szin="pink"] { --gold: #FF44CB; --gold-2: #d62fa8; --gold-rgb: 255,68,203; --gold-light: #ff9fe3; --gold-light-rgb: 255,159,227; --sablon-accent: #FF44CB; }
.ehk-topbar-right .ehk-szinvalto { background: none; border: 0; border-left: 1px solid rgba(255,255,255,0.12); color: var(--gold); cursor: pointer; font-size: 0.95rem; }
.ehk-topbar-right .ehk-szinvalto:hover { background: rgba(255,255,255,0.06); }
