/* BPV Core – a kiváltott elemek megjelenése */

/* Betűtípus */
@font-face { font-family: "Lato"; font-weight: 400; font-style: normal; font-display: swap; src: url("/wp-content/uploads/2020/08/LatoLatin-Regular.ttf") format("truetype"); }
@font-face { font-family: "Lato"; font-weight: 400; font-style: italic; font-display: swap; src: url("/wp-content/uploads/2020/08/LatoLatin-Italic.ttf") format("truetype"); }
@font-face { font-family: "Lato"; font-weight: 700; font-style: normal; font-display: swap; src: url("/wp-content/uploads/2020/08/LatoLatin-Bold.ttf") format("truetype"); }

@font-face { font-family: "Maven Pro"; font-weight: 400 900; font-style: normal; font-display: swap; src: url("fonts/maven-pro-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Maven Pro"; font-weight: 400 900; font-style: normal; font-display: swap; src: url("fonts/maven-pro-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* A témából öröklött szakasz-térköz a koncertoldalon nem kell */
.single-koncertek section.elementor-section { padding: 0; }
.single-elementor_product .elementor-widget-theme-post-content { color: var(--e-global-color-text); font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: var(--e-global-typography-text-font-weight); }

/* Sticky fejléc */
[data-elementor-type="header"] { position: sticky; top: 0; z-index: 999; }
body.admin-bar [data-elementor-type="header"] { top: 32px; }
.sticky-logo img { transition: .5s all ease-in-out; }
.elementor-sticky--effects .sticky-logo img { width: 180px !important; }
@media (max-width: 767px) { .elementor-sticky--effects .sticky-logo img { width: 150px !important; } }

/* Menü */
.bpv-nav .elementor-nav-menu { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; list-style: none; margin: 0; padding: 0; }
.bpv-nav .elementor-nav-menu > li { margin: 0 4px; }
.bpv-nav .elementor-nav-menu > li > a { display: block; padding: 13px 6px; color: #fff; font-family: "Maven Pro", sans-serif; font-size: 16px; font-weight: 700; letter-spacing: -.8px; text-transform: uppercase; text-decoration: none; line-height: 20px; }
.bpv-nav .elementor-nav-menu > li > a:hover { color: #e3e3e3; }
.bpv-nav .elementor-nav-menu > li.current-menu-item > a { color: #000; }
.bpv-nav__toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.bpv-nav__toggle span { display: block; width: 24px; height: 3px; margin: 4px 0; background: #fff; border-radius: 2px; }
@media (max-width: 1024px) {
	.bpv-nav .elementor-nav-menu > li { margin: 0 1px; }
	.bpv-nav .elementor-nav-menu > li > a { font-size: 11px; padding: 13px 3px; }
}
@media (max-width: 767px) {
	.bpv-nav__toggle { display: block; }
	.bpv-nav__main { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #ec5f42; z-index: 1000; }
	.bpv-nav.is-open .bpv-nav__main { display: block; }
	.bpv-nav .elementor-nav-menu { flex-direction: column; align-items: stretch; }
	.bpv-nav .elementor-nav-menu > li { margin: 0; text-align: center; }
	.bpv-nav .elementor-nav-menu > li > a { padding: 12px; font-size: 16px; }
	.navbar { position: relative; }
	.navbar .elementor-container, .navbar .elementor-column, .navbar .elementor-widget-wrap, .navbar .bpv-nav, .navbar .bpv-nav .elementor-widget-container { position: static !important; }
	.bpv-nav__main { width: 100%; }
	.bpv-nav .elementor-nav-menu > li[class*="menu-item-1553"], .bpv-nav .elementor-nav-menu > li[class*="menu-item-2916"] { align-self: center; }
}

nav ul li.lang-item-first { padding-left: 14px; }
.bpv-nav .lang-item { margin: 0 2px; }
.bpv-nav nav ul li.lang-item a { display: flex; align-items: center; justify-content: center; min-height: 20px; }
/* A Polylang új zászlókerete 18x12-es; a régi egyedi CSS 16 px magasra erőltette a képet, ezért levágódott az alja. */
.bpv-nav nav ul li.lang-item a img { width: 18px !important; height: 12px !important; object-fit: cover; }
@media (max-width: 1200px) { .bpv-nav .elementor-nav-menu > li > a { font-size: 13px; padding: 13px 4px; } }
@media (max-width: 767px) { .bpv-nav .elementor-nav-menu { flex-wrap: wrap; } .bpv-nav nav ul li.lang-item-first { padding-left: 0; } .bpv-nav nav ul li.lang-item a { padding: 8px 0; } }

/* Hírkártyák */
.elementor-posts-container.elementor-grid { display: grid; grid-template-columns: repeat(var(--bpv-cols, 3), minmax(0, 1fr)); grid-column-gap: 30px; grid-row-gap: 35px; }
.elementor-posts .elementor-post { display: flex; flex-direction: column; min-width: 0; }
.elementor-posts--skin-classic .elementor-post { background: #fff; border: 1px solid #000; border-radius: 12px; overflow: hidden; }
.elementor-post__thumbnail__link { display: block; }
.elementor-post__thumbnail { position: relative; padding-bottom: 66%; overflow: hidden; }
.elementor-post__thumbnail img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: filter .3s; }
.elementor-post__text { display: flex; flex-direction: column; flex-grow: 1; padding: 9px; margin-top: 20px; }
.elementor-post__title { margin: 0 0 3px; font-size: 18px; line-height: 1.25; font-weight: 600; }
.elementor-post__title a { color: #000; text-decoration: none; }
.elementor-post__meta-data { font-size: 12px; line-height: 1.3em; color: #adadad; margin-bottom: 13px; }
.elementor-post__excerpt { margin-bottom: 15px; }
.elementor-post__excerpt p { margin: 0; font-family: "Lato", sans-serif; font-size: 14px; line-height: 1.5em; color: #777; }
.elementor-post__read-more { font-family: "Lato", sans-serif; font-size: 12px; font-weight: 500; color: #ec5f42; text-decoration: none; margin-bottom: 10px; align-self: flex-start; }
.bpv-loadmore-wrap { text-align: center; margin-top: 30px; }
@media (max-width: 1024px) { .elementor-posts-container.elementor-grid { grid-template-columns: repeat(min(var(--bpv-cols, 3), 2), minmax(0, 1fr)); } .index-koncertek .elementor-posts-container.elementor-grid { display: block; } }
@media (max-width: 767px) { .elementor-posts-container.elementor-grid { grid-template-columns: minmax(0, 1fr); } }

/* Koncertslider */
.index-koncertek .elementor-posts-container.elementor-grid { display: block; position: relative; }
.index-koncertek .slick-list { margin: 0 22px; }
.index-koncertek .class-to-style { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; background: none; border: 0; padding: 8px; font-size: 26px; color: #202020; cursor: pointer; }
.index-koncertek .bpv-slick-prev { left: -8px; }
.index-koncertek .bpv-slick-next { right: -8px; }

/* Oldalsáv koncertlista */
.bpv-posts-extra__item { margin-bottom: 30px; }
.bpv-posts-extra__item img { display: block; width: 100%; height: auto; }
.bpv-posts-extra__title { margin: 20px 0 15px; font-family: "Maven Pro", sans-serif; font-size: 20px; font-weight: 600; }
.bpv-posts-extra__title a { color: #ec5f42; text-decoration: none; }
.bpv-posts-extra__excerpt { margin: 0; font-family: "Lato", sans-serif; font-size: 14px; line-height: 1.4; color: #202020; }
.bpv-posts-extra__more { display: inline-block; margin-top: 20px; font-family: "Lato", sans-serif; font-weight: 600; color: #ec5f42; text-decoration: none; }

/* Hírlevél */
.bpv-form { position: relative; }
.bpv-form__hp { position: absolute; left: -9999px; }
.bpv-form input[type="email"] { width: 100%; padding: 5px 14px; font-family: "Lato", sans-serif; font-style: italic; font-size: 13px; line-height: 1.4; min-height: 33px; background: #fff; border: 1px solid #69727d; border-radius: 3px; }
.bpv-form .e-form__buttons { display: flex; justify-content: flex-end; margin-top: 10px; }
.bpv-form .elementor-button { background: transparent; border: 2px solid #fff; color: #fff; font-family: "Maven Pro", sans-serif; text-transform: uppercase; cursor: pointer; }
.bpv-form .elementor-button:hover { background: #fff; color: #af2a2b; }
.bpv-form__msg { margin-top: 8px; color: #fff; font-size: 14px; min-height: 1em; }

/* Galéria */
.bpv-gallery--grid { display: grid; grid-template-columns: repeat(var(--bpv-cols, 3), minmax(0, 1fr)); gap: 10px; }
.bpv-gallery--grid img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.bpv-gallery--masonry { columns: var(--bpv-cols, 3); column-gap: 10px; }
.bpv-gallery--masonry .bpv-gallery__item { display: block; margin-bottom: 10px; break-inside: avoid; }
.bpv-gallery--masonry img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) { .bpv-gallery--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bpv-gallery--masonry { columns: 2; } }

/* Logósor */
.bpv-carousel { position: relative; padding: 0 34px; }
.bpv-carousel__track { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bpv-carousel__track::-webkit-scrollbar { display: none; }
.bpv-carousel__slide { flex: 0 0 calc((100% - (var(--bpv-view, 5) - 1) * 10px) / var(--bpv-view, 5)); scroll-snap-align: start; display: flex; align-items: center; justify-content: center; height: 150px; }
.bpv-carousel__slide img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.bpv-carousel__arrow { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; padding: 4px 10px; font-size: 32px; line-height: 1; color: #202020; cursor: pointer; }
.bpv-carousel__prev { left: 0; }
.bpv-carousel__next { right: 0; }
@media (max-width: 1024px) { .bpv-carousel { --bpv-view: 3 !important; } }
@media (max-width: 767px) { .bpv-carousel { --bpv-view: 2 !important; } }

/* Idézet */
.bpv-quote { margin: 0; border: 0; padding: 0; }
.bpv-quote__text { font-family: "Lato", sans-serif; font-size: 18px; line-height: 1.5; margin-bottom: 8px; color: #555; }
.bpv-quote__author { font-family: "Maven Pro", sans-serif; font-size: 20px; font-weight: 600; font-style: normal; color: #ec5f42; }

/* Koncertnaptár */
.bpv-calendar { background: #f7f7f7; border-radius: 10px; overflow: hidden; font-family: "Maven Pro", sans-serif; }
.calendar-box .bpv-calendar { background: #f7f7f7; }
.bpv-calendar__head { display: flex; align-items: center; justify-content: space-between; padding: 12px; border-bottom: 1px solid #b7b4b4; }
.bpv-calendar__title { font-weight: 400; font-size: 16px; text-align: center; color: #202020; }
.bpv-calendar__nav { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: #ec5f42; color: #fff; font-size: 18px; line-height: 24px; cursor: pointer; }
.bpv-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); grid-row-gap: 10px; padding: 8px 8px 12px; text-align: center; }
.bpv-calendar__dow { padding: 4px 0; font-size: 16px; color: #202020; }
.bpv-calendar__day { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin: 0 auto; border-radius: 50%; font-size: 16px; color: #202020; text-decoration: none; }
.bpv-calendar__day.is-adjacent { opacity: .3; }
.bpv-calendar__day.is-today { box-shadow: inset 0 0 0 1px #ec5f42; }
.bpv-calendar__day.has-event { background: #ec5f42; color: #fff; }

.bpv-soon { opacity: .75; cursor: default; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }

/* Következő koncert a nyitóképen */
.bpv-hero-col > .elementor-widget-wrap, .bpv-hero-col .elementor-widget-wrap { position: relative; }
.bpv-next-wrap { position: absolute !important; left: 28px; top: 24px; width: auto !important; max-width: min(460px, calc(100% - 64px)); margin: 0 !important; z-index: 2; }
.bpv-next { padding: 22px 26px; background: rgba(20, 16, 14, .78); color: #fff; border-radius: 12px; font-family: "Lato", sans-serif; }
.bpv-next__label { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #f7b3a4; }
.bpv-next__date { margin-top: 6px; font-size: 16px; }
.bpv-next__title { margin-top: 4px; font-family: "Maven Pro", sans-serif; font-size: 26px; font-weight: 600; line-height: 1.2; }
.bpv-next__title a { color: #fff; text-decoration: none; }
.bpv-next__venue { margin-top: 4px; font-size: 15px; opacity: .9; }
.bpv-next__btn { display: inline-block; margin-top: 14px; padding: 11px 26px; background: #ec5f42; color: #fff !important; font-family: "Maven Pro", sans-serif; font-weight: 700; border-radius: 4px; text-decoration: none; }
.bpv-next__btn:hover { background: #d84d31; }
.bpv-next__free { margin-top: 12px; font-weight: 700; color: #f7b3a4; }
@media (max-width: 767px) {
	.bpv-next-wrap { position: static !important; max-width: none; }
	.bpv-next { border-radius: 0; background: #2a2320; }
	.bpv-next__title { font-size: 21px; }
}

/* Süti-sáv */
.bpv-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; max-width: 760px; margin: 0 auto; padding: 14px 18px; background: #202020; color: #fff; border-radius: 10px; font-family: "Lato", sans-serif; font-size: 15px; }
.bpv-consent[hidden] { display: none; }
.bpv-consent p { margin: 0; }
.bpv-consent a { color: #f7b3a4; }
.bpv-consent button { padding: 8px 16px; border: 1px solid #fff; border-radius: 4px; background: transparent; color: #fff; cursor: pointer; }
.bpv-consent button[data-consent="yes"] { background: #ec5f42; border-color: #ec5f42; }
@media (max-width: 767px) { .bpv-calendar__day { width: 36px; height: 36px; } }
