/* Festivela integration layer.
   The visual system itself comes from the original Herr template bundles in
   /festivela-template/assets/dist/. Keep overrides here limited to dynamic CI
   integration and components that do not exist in the static template. */
:root{--fest-green:#43c2e1;--fest-black:#000;--fest-white:#fff}
.festivela-herr,.festivela-herr #qodef-page-wrapper,.festivela-herr #qodef-page-outer{min-height:0}
.fest-logo-text{display:inline-block;color:currentColor;font-family:Syne,Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:-.055em;line-height:1;text-transform:uppercase}
.fest-logo-text--footer{font-size:42px;color:#fff}.fest-logo-image{display:block;max-width:190px;height:auto}.fest-footer-logo-image{display:block;max-width:251px;max-height:52px;width:auto;height:auto}
.qodef-e-media-image{position:relative}.qodef-e-media-image img{display:block;max-width:100%}
.qodef-fullscreen-search-holder[aria-hidden="true"],.fest-mobile-drawer[aria-hidden="true"]{display:none!important}
.qodef-layout--layout-style-10.qodef-swiper-container.qodef-swiper--initialized{opacity:1}
/* Hero navigation follows Herr exactly: a compact Prev/Next pair rotated on
   the right edge of the image. Keep the theme's own typography and underline
   animation while neutralizing any browser/Swiper control chrome. */
#qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder{
  position:absolute;
  display:flex;
  right:29px;
  top:50%;
  bottom:auto;
  z-index:30;
  gap:0;
  transition:all .35s ease;
  transform:rotate(-90deg) translateY(-50%);
}
#qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-prev,
#qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-next{
  -webkit-appearance:none;
  appearance:none;
  border:0;
  border-radius:0;
  outline:0;
  box-shadow:none;
  cursor:pointer;
}
#qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-prev::after,
#qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-next::after{
  content:none!important;
  display:none!important;
}
#qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder [hidden]{display:none!important}
[data-festivela-hero-slider]:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none}
.banner-rotator__item[hidden]{display:none!important}

/* The template's Elementor page rules are retained by using elementor-2507. */
.festivela-no-inline-padding{padding-top:0!important;padding-bottom:0!important}
.fest-home-category-row .qodef-m-title a{color:inherit;text-decoration:none}
.fest-home-category-row .qodef-m-title a:hover{color:#000}
.fest-home-category-row .elementor-widget-container>.qodef-news-layout{padding-top:0;padding-bottom:0}

/* Homepage categories alternate between a compact 3 x 3 editorial row and
   a 5-card portrait row. Card typography remains controlled by the existing
   Herr/Festivela rules; only the row geometry is defined here. */
.fest-home-category-row .fest-category-column:not(.fest-category-column--portrait) .qodef-layout-item--layout-style-6 .qodef-e-media-image{
  width:40%;
  max-width:40%;
  flex:0 0 40%;
}
.fest-home-category-row .fest-category-column:not(.fest-category-column--portrait) .qodef-layout-item--layout-style-6 .qodef-e-media-image>a{
  display:block;
  width:100%;
}
.fest-home-category-row .fest-category-column:not(.fest-category-column--portrait) .qodef-layout-item--layout-style-6 .qodef-e-media-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:800/555;
  object-fit:cover;
}
.fest-home-category-row .fest-category-column--portrait .qodef-layout-item--layout-style-3 .qodef-e-image-holder,
.fest-home-category-row .fest-category-column--portrait .qodef-layout-item--layout-style-3 .qodef-e-media-image,
.fest-home-category-row .fest-category-column--portrait .qodef-layout-item--layout-style-3 .qodef-e-media-image>a{
  display:block;
  width:100%;
}
.fest-home-category-row .fest-category-column--portrait .qodef-layout-item--layout-style-3 .qodef-e-media-image>a{
  height:100%;
}
.fest-home-category-row .fest-category-column--portrait .qodef-layout-item--layout-style-3 .qodef-e-media-image{
  aspect-ratio:980/1600;
}
.fest-home-category-row .fest-category-column--portrait .qodef-layout-item--layout-style-3 .qodef-e-media-image img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:980/1600;
  object-fit:cover;
}

.fest-category-compact-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:40px;
  align-items:start;
}
.fest-category-compact-column{
  min-width:0;
}
.fest-category-compact-column.qodef-grid{
  width:100%;
}

.fest-category-portrait-grid>.qodef-grid-inner{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:0!important;
}
.fest-category-portrait-grid>.qodef-grid-inner>.qodef-grid-item{
  width:auto!important;
  min-width:0;
  float:none!important;
  clear:none!important;
  padding:0!important;
  margin:0!important;
}

@media (max-width:1024px){
  .fest-category-portrait-grid>.qodef-grid-inner{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
}
@media (max-width:900px){
  .fest-category-compact-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:28px;
  }
}
@media (max-width:680px){
  .fest-category-compact-columns{
    grid-template-columns:1fr;
    column-gap:0;
  }
  .fest-category-portrait-grid>.qodef-grid-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 10px;
  }
}
@media (max-width:480px){
  .fest-category-portrait-grid>.qodef-grid-inner{
    grid-template-columns:1fr;
    gap:20px;
  }
}

/* Archive/static spacing only; card design remains 100% template CSS. */
.fest-archive-page,.fest-static-page,.fest-search-page{padding-top:80px;padding-bottom:90px}
.fest-category-description{max-width:760px;margin:0 0 45px;font-size:16px;line-height:1.7}
.fest-static-content{max-width:1000px;margin:0 auto}
.fest-static-content .qodef-e-text-main> :first-child{margin-top:0}
.fest-page-title--plain{background:#000}.fest-page-title--plain .qodef-m-title{color:#fff}
.fest-page-title__description{max-width:760px;margin:10px auto 0;color:#fff}

/* Pagination follows the template's black / lime visual language. */
.pagination{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:50px 0 0}
.pagination a,.pagination span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;padding:0 10px;background:#000;color:#fff;font-family:Syne,Arial,sans-serif;font-size:12px;font-weight:800;text-decoration:none}
.pagination .active,.pagination a:hover{background:var(--fest-green);color:#000}

/* Article additions requested for Festivela: square ads and newsletter. */
.fest-article-page{padding-top:0;padding-bottom:90px}
.fest-sidebar-banner{margin:0 0 35px}.fest-sidebar-banner img{display:block;width:300px;max-width:100%;height:auto;margin:0 auto}
.fest-sidebar-separator .qodef-m-line{border-color:transparent;border-style:solid;margin-top:35px;margin-bottom:20px}
.fest-sidebar-newsletter{margin-top:35px;padding:30px;background:#111;color:#fff}
.fest-sidebar-newsletter h3{margin:0 0 12px;color:#fff;text-transform:uppercase}.fest-sidebar-newsletter p{margin:0 0 18px;color:#fff}
.fest-sidebar-newsletter input[type="email"]{box-sizing:border-box;width:100%;margin:0 0 10px;padding:12px;border:1px solid #fff;background:#fff;color:#000}
.fest-sidebar-newsletter button{padding:11px 17px;border:0;background:var(--fest-green);color:#000;font-family:Syne,Arial,sans-serif;font-weight:800;text-transform:uppercase;cursor:pointer}
.fest-sidebar-newsletter label{display:block;margin-top:13px;font-size:12px;line-height:1.4}
.fest-article-lead{font-size:20px;line-height:1.55;font-weight:600}
.article-update-reason{margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22)}

/* Search form uses the same qodef classes as the original article template. */
.qodef-search-form-inner{position:relative;width:100%}.qodef-search-form-field{box-sizing:border-box;width:100%}
.fest-search-form{max-width:900px;margin:0 auto 55px}.fest-search-heading{margin:0 0 35px;text-transform:uppercase}.fest-empty-state{padding:30px 0 80px;font-size:18px}

/* One share opener per media element. */
.qodef-post-stats{position:absolute;top:10px;right:10px;z-index:20}.qodef-e-info-content .qodef-post-stats{display:none!important}
.qodef-social-share-dropdown{z-index:30}.qodef-social-share-dropdown-opener{text-decoration:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.qodef-search-opener{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}

/* Header fallback logo and small dynamic mobile drawer. Desktop sizing/navigation is
   deliberately left to the original template CSS. */
#qodef-page-header .qodef-header-logo-link,#qodef-page-header .fest-logo-text{color:#fff}
.fest-centered-socials{display:flex;align-items:center;gap:12px;min-width:165px}.fest-centered-socials a{display:inline-flex;width:18px;height:18px;color:currentColor;text-decoration:none}.fest-centered-socials svg{display:block;width:100%;height:100%}
.qodef-header--centered #qodef-page-header .qodef-header-logo-link{display:flex;align-items:center}.qodef-header--centered #qodef-page-header .fest-logo-image{max-height:42px;width:auto}
#qodef-page-mobile-header .qodef-mobile-header-logo-link{color:#fff;text-decoration:none}
#qodef-page-mobile-header .qodef-mobile-header-opener,#qodef-page-mobile-header .qodef-mobile-search-opener{border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.qodef-header-sticky .qodef-header-logo-link,.qodef-header-sticky .fest-logo-text{color:#fff}.qodef-header-sticky .fest-logo-image{display:block;max-width:190px;max-height:42px;width:auto;height:auto}
#qodef-page-footer #menu-footer button{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
#qodef-page-footer #menu-footer button:hover{text-decoration:underline}
.fest-mobile-drawer{position:fixed;inset:0;z-index:9999}.fest-mobile-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.fest-mobile-drawer__panel{position:relative;margin-left:auto;width:min(360px,90vw);height:100%;box-sizing:border-box;padding:35px 30px;background:#000;color:#fff;overflow:auto}
.fest-mobile-drawer__panel nav{display:grid;gap:17px;margin-top:35px}.fest-mobile-drawer__panel a{color:#fff;font-family:Syne,Arial,sans-serif;font-weight:800;text-transform:uppercase;text-decoration:none}
.fest-mobile-drawer__close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:#fff;font-size:34px;cursor:pointer}
body.drawer-open,body.search-open,body.cookie-modal-open{overflow:hidden}

/* Full-screen search integration. */
.qodef-fullscreen-search-holder{position:fixed;inset:0;z-index:9998;background:#000;color:#fff}
.qodef-fullscreen-search-holder .qodef-m-inner{height:100%;display:flex;align-items:center;justify-content:center}
.qodef-fullscreen-search-holder .qodef-m-close{position:absolute;right:35px;top:30px;border:0;background:transparent;color:#fff;font-size:36px;cursor:pointer}
.qodef-fullscreen-search-holder .qodef-m-form{display:flex;align-items:center;gap:20px;width:min(760px,86vw)}
.qodef-fullscreen-search-holder .qodef-m-form-field{width:100%;border:0;border-bottom:2px solid #fff;background:transparent;color:#fff;font-size:48px;text-transform:uppercase;outline:0}

/* Cookie/PWA UI intentionally adopts the template palette instead of the old Stomatologo UI. */
.cookie-consent,.pwa-install{position:fixed;left:20px;right:20px;bottom:20px;z-index:10000;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 24px;border:1px solid #333;background:#000;color:#fff}
.cookie-consent[hidden],.pwa-install[hidden]{display:none}.cookie-consent p,.pwa-install p{margin:5px 0 0;color:#fff}
.cookie-consent__actions,.pwa-install__actions{display:flex;gap:8px;flex-wrap:wrap}
.button,.button-outline{padding:10px 14px;border:1px solid #fff;background:var(--fest-green);color:#000;font-family:Syne,Arial,sans-serif;font-weight:800;text-transform:uppercase;cursor:pointer}.button-outline{background:transparent;color:#fff}
.cookie-modal[hidden]{display:none}.cookie-modal{position:fixed;inset:0;z-index:10001}.cookie-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75)}
.cookie-modal__panel{position:relative;box-sizing:border-box;max-width:620px;margin:8vh auto;padding:34px;background:#fff;color:#000}.cookie-modal__panel h2{text-transform:uppercase}
.cookie-modal__close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.cookie-option{display:flex;justify-content:space-between;gap:20px;margin:14px 0;padding:18px;border:1px solid #ddd}.cookie-required{font-size:12px;font-weight:800;text-transform:uppercase}
.cookie-modal__actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.cookie-modal__actions .button-outline{border-color:#000;color:#000}
.toast{position:fixed;right:20px;bottom:75px;z-index:10002;padding:12px 16px;background:#01892c;color:#fff;opacity:0;visibility:hidden;transition:.2s}.toast.is-visible{opacity:1;visibility:visible}

.fest-footer-socials{display:flex;justify-content:center;gap:18px}.fest-footer-socials a{display:inline-flex;width:15px;height:15px;color:#fff;text-decoration:none}.fest-footer-socials svg{display:block;width:100%;height:100%;fill:currentColor}
.qodef-back-to-top{position:fixed;right:24px;bottom:24px;z-index:99;opacity:0;visibility:hidden;transition:.2s}.qodef-back-to-top.is-visible{opacity:1;visibility:visible}

@media (max-width:1024px){
  #qodef-page-header{display:none!important}#qodef-page-mobile-header{display:block!important}
  .qodef-page-content-section.qodef-col--8,.qodef-page-sidebar-section.qodef-col--4{width:100%!important;float:none!important}
  .qodef-page-sidebar-section{margin-top:55px}.fest-footer-socials{justify-content:center}.qodef-copyright-text{text-align:center}
}
@media (max-width:680px){
  .cookie-consent,.pwa-install{display:block}.cookie-consent__actions,.pwa-install__actions{margin-top:14px}
  .qodef-fullscreen-search-holder .qodef-m-form-field{font-size:28px}.fest-logo-text{font-size:24px}
}
.fest-unsubscribe-card{padding:35px;border:1px solid rgba(0,0,0,.15)}.fest-inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:25px}.fest-inline-actions button{cursor:pointer}

/* --------------------------------------------------------------------------
   2026-08-03: fidelity fixes after visual comparison with the Herr demo.
   -------------------------------------------------------------------------- */

/* The original Creative Magazine hero is a panoramic strip, not a full-screen
   image. Every dynamic slide occupies the same cropped viewport. */
#qodef-above-header-area .qodef-layout--layout-style-10{
  position:relative;
  height:clamp(280px,31vw,600px);
  overflow:hidden;
}
#qodef-above-header-area .qodef-layout--layout-style-10 .swiper-wrapper,
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-layout-item--layout-style-10,
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-inner,
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-image-holder,
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-media-image,
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-media-image>a{
  width:100%;
  height:100%;
}
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-media-image img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

/* The template's fade effect is a right-to-left clip reveal with a subtle zoom
   and staggered category/title/meta entrance. site-base.min.css already
   contains the original keyframes; this alias also supports modern Swiper. */
#qodef-above-header-area .qodef-layout--layout-style-10.swiper-fade.qodef-col-num--1 .swiper-slide{
  transition:0s ease;
  opacity:1!important;
  z-index:0;
  overflow:hidden;
}
#qodef-above-header-area .qodef-layout--layout-style-10.swiper-fade.qodef-col-num--1 .swiper-slide.swiper-slide-active{z-index:1}

/* Parallax images are normally revealed by the WordPress theme JavaScript.
   Festivela uses its own lightweight JS, so provide the final visible state. */
.festivela-herr .qodef-page-title .qodef-parallax-img-holder{
  top:0;
  height:100%;
  opacity:1;
}
.festivela-herr .qodef-page-title .qodef-parallax-img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Static informational pages use the same black editorial canvas as articles. */
body.qodef-page-skin--dark .fest-static-page,
body.qodef-page-skin--dark .fest-static-content{
  background:#000;
  color:#fff;
}
body.qodef-page-skin--dark .fest-static-content,
body.qodef-page-skin--dark .fest-static-content p,
body.qodef-page-skin--dark .fest-static-content li,
body.qodef-page-skin--dark .fest-static-content td,
body.qodef-page-skin--dark .fest-static-content th{
  color:#fff;
}
body.qodef-page-skin--dark .fest-static-content a{color:var(--fest-green)}

/* Article footer: tags removed, share stays aligned to the far right. */
.qodef-blog.qodef--single .fest-article-bottom-holder{
  justify-content:flex-end;
  min-height:28px;
}
.qodef-blog.qodef--single .fest-article-bottom-holder .qodef-e-left{
  flex:1 1 auto;
}
.qodef-blog.qodef--single .fest-article-bottom-holder .qodef-e-right{
  flex:0 0 auto;
  margin-left:auto;
  text-align:right;
}

/* Author card mirrors Herr's author component but intentionally omits avatar. */
#qodef-author-info.fest-author-info--no-image{margin-top:72px}
#qodef-author-info.fest-author-info--no-image .qodef-m-inner{
  box-sizing:border-box;
  min-height:176px;
  padding:46px 48px 38px;
}
#qodef-author-info.fest-author-info--no-image .qodef-m-content{
  box-sizing:border-box;
  width:100%;
  padding:0;
}
#qodef-author-info.fest-author-info--no-image .qodef-author-label{
  top:0;
  left:0;
  z-index:2;
}
#qodef-author-info.fest-author-info--no-image .fest-author-meta{
  margin:7px 0 0;
  font-family:Syne,Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#qodef-author-info.fest-author-info--no-image .qodef-m-description{
  max-width:760px;
  line-height:1.65;
}

@media (max-width:1024px){
  #qodef-above-header-area .qodef-layout--layout-style-10{height:clamp(300px,46vw,500px)}
}
@media (max-width:680px){
  #qodef-above-header-area .qodef-layout--layout-style-10{height:min(68vh,520px);min-height:390px}
  #qodef-above-header-area .qodef-layout-item--layout-style-10 .qodef-e-content{padding-bottom:32px}
  #qodef-author-info.fest-author-info--no-image .qodef-m-inner{min-height:0;padding:42px 28px 30px}
  .qodef-blog.qodef--single .fest-article-bottom-holder .qodef-e-right{margin-top:0;margin-left:auto;text-align:right}
}

/* --------------------------------------------------------------------------
   2026-08-03: CSP-safe search opener, with the exact visual behavior expected
   by the Herr header. The opener is an anchor with a real fallback URL, never
   a javascript: URL, and these rules fully neutralize browser button styles.
   -------------------------------------------------------------------------- */
#qodef-page-header .qodef-search-opener,
.qodef-header-sticky .qodef-search-opener{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-family:Syne,Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
#qodef-page-header .qodef-search-opener::before,
#qodef-page-header .qodef-search-opener::after,
.qodef-header-sticky .qodef-search-opener::before,
.qodef-header-sticky .qodef-search-opener::after{content:none!important;display:none!important}
#qodef-page-header .qodef-search-opener .qodef-m-icon,
.qodef-header-sticky .qodef-search-opener .qodef-m-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:0!important}
#qodef-page-header .qodef-search-opener svg,
.qodef-header-sticky .qodef-search-opener svg{display:block!important;width:20px!important;height:20px!important;fill:currentColor!important}
#qodef-page-header .qodef-search-opener:hover,
.qodef-header-sticky .qodef-search-opener:hover{color:var(--fest-green)!important}
#qodef-page-header .qodef-search-opener:focus-visible,
.qodef-header-sticky .qodef-search-opener:focus-visible{outline:2px solid var(--fest-green)!important;outline-offset:5px!important}

/* Make the open state explicit and independent from any WordPress theme JS. */
.qodef-fullscreen-search-holder[aria-hidden="false"]{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.qodef-fullscreen-search-holder[aria-hidden="true"]{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.qodef-fullscreen-search-holder .qodef-m-form-field::placeholder{color:rgba(255,255,255,.72);opacity:1}

/* --------------------------------------------------------------------------
   2026-08-03 v10: deterministic hero animation, mobile navigation, search and
   cookie preferences. These rules intentionally come last so they override
   the WordPress-only states expected by the original Herr theme.
   -------------------------------------------------------------------------- */

/* The original Herr CSS animates the hero from Swiper's native
   .swiper-slide-active class. No custom hidden state is applied here: this
   keeps looped slides visible after Swiper replaces its duplicate nodes. */
#qodef-above-header-area [data-festivela-hero-slider] .swiper-slide{
  pointer-events:none;
  overflow:hidden;
}
#qodef-above-header-area [data-festivela-hero-slider] .swiper-slide.swiper-slide-active{
  pointer-events:auto;
}

/* Full-screen search: Herr hides the close button until WordPress adds a body
   class. Festivela uses aria state, so expose it directly and make submission
   usable from both a physical and a mobile keyboard. */
.qodef-fullscreen-search-holder[aria-hidden="false"]{
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.qodef-fullscreen-search-holder[aria-hidden="false"] .qodef-m-close{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  color:#fff!important;
  font-family:Arial,sans-serif!important;
  font-size:42px!important;
  font-weight:300!important;
  line-height:1!important;
  z-index:5;
}
.qodef-fullscreen-search-holder[aria-hidden="false"] .qodef-m-close:hover,
.qodef-fullscreen-search-holder[aria-hidden="false"] .qodef-m-close:focus-visible{
  color:var(--fest-green)!important;
}
.qodef-fullscreen-search-holder .qodef-m-form{
  position:relative;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  width:min(860px,86vw)!important;
  margin:0 auto;
  padding-right:116px;
}
.qodef-fullscreen-search-holder .qodef-m-form .qodef-m-search-icon{
  top:50%!important;
  left:0!important;
  transform:translateY(-50%);
}
.qodef-fullscreen-search-holder input[type="search"].qodef-m-form-field{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:0;
  padding:10px 14px 12px 54px!important;
  border:0!important;
  border-bottom:2px solid rgba(255,255,255,.85)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-family:Syne,Arial,sans-serif;
  font-size:clamp(30px,4vw,54px)!important;
  font-weight:700;
  line-height:1.15!important;
  text-transform:none;
  outline:0;
  -webkit-appearance:none;
  appearance:none;
}
.qodef-fullscreen-search-holder input[type="search"].qodef-m-form-field::-webkit-search-cancel-button{
  display:none;
}
.qodef-fullscreen-search-holder .fest-fullscreen-search-submit{
  position:absolute;
  right:0;
  bottom:8px;
  min-width:96px;
  min-height:42px;
  margin:0;
  padding:10px 14px;
  border:1px solid var(--fest-green);
  border-radius:0;
  background:var(--fest-green);
  color:#000;
  font-family:Syne,Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
}
.qodef-fullscreen-search-holder .fest-fullscreen-search-submit:hover,
.qodef-fullscreen-search-holder .fest-fullscreen-search-submit:focus-visible{
  background:#fff;
  border-color:#fff;
}

/* Cookie preferences: compact black editorial card instead of a white panel
   inheriting oversized headings from the page skin. */
.cookie-modal{
  box-sizing:border-box;
  display:grid;
  place-items:center;
  padding:20px;
}
.cookie-modal[hidden]{display:none!important}
.cookie-modal__backdrop{background:rgba(0,0,0,.86)}
.cookie-modal__panel{
  position:relative;
  box-sizing:border-box;
  width:min(640px,100%);
  max-width:none;
  max-height:calc(100dvh - 40px);
  margin:0;
  padding:38px;
  overflow:auto;
  border:1px solid #3a3a3a;
  background:#0b0b0b;
  color:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
}
.cookie-modal__panel h2,
body.qodef-page-skin--dark .cookie-modal__panel h2{
  max-width:calc(100% - 55px);
  margin:0 0 8px;
  color:#fff!important;
  font-size:clamp(28px,5vw,44px)!important;
  line-height:1.05!important;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.cookie-modal__panel>p,
body.qodef-page-skin--dark .cookie-modal__panel>p{
  margin:0 0 26px;
  color:rgba(255,255,255,.72)!important;
  font-size:15px;
  line-height:1.55;
}
.cookie-modal__close{
  right:18px;
  top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-size:36px;
  line-height:1;
}
.cookie-modal__close:hover,
.cookie-modal__close:focus-visible{color:var(--fest-green)}
.cookie-option{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  margin:12px 0;
  padding:20px;
  border:1px solid #333;
  background:#000;
  color:#fff;
}
.cookie-option strong{display:block;color:#fff;font-size:16px;line-height:1.25}
.cookie-option p,
body.qodef-page-skin--dark .cookie-option p{
  margin:6px 0 0;
  color:rgba(255,255,255,.68)!important;
  font-size:13px;
  line-height:1.45;
}
.cookie-required{
  max-width:94px;
  color:var(--fest-green);
  font-size:11px;
  line-height:1.35;
  text-align:right;
}
.cookie-option input[type="checkbox"]{
  width:24px;
  height:24px;
  margin:0;
  accent-color:var(--fest-green);
  cursor:pointer;
}
.cookie-modal__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}
.cookie-modal__actions .button,
.cookie-modal__actions .button-outline{
  box-sizing:border-box;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #fff;
  font-size:11px;
  line-height:1.25;
  text-align:center;
}
.cookie-modal__actions .button-outline{
  border-color:#fff!important;
  background:transparent;
  color:#fff!important;
}
.cookie-modal__actions .button-outline:hover,
.cookie-modal__actions .button-outline:focus-visible{
  border-color:var(--fest-green)!important;
  color:var(--fest-green)!important;
}

@media (max-width:680px){
  /* The desktop vertical controls are too easy to clip on a narrow viewport.
     Keep the same Herr controls but place them horizontally inside the image. */
  #qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder{
    display:flex!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    left:auto!important;
    transform:none!important;
  }
  #qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-prev,
  #qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-next,
  #qodef-above-header-area [data-festivela-hero-slider] .qodef-swiper-nav-holder .swiper-button-lock{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:flex!important;
    min-width:48px!important;
    min-height:34px!important;
    padding:8px 9px 6px!important;
    transform:none!important;
    font-size:11px!important;
    line-height:1!important;
  }
  .qodef-fullscreen-search-holder .qodef-m-close{
    top:14px!important;
    right:12px!important;
  }
  .qodef-fullscreen-search-holder .qodef-m-form{
    width:calc(100vw - 36px)!important;
    padding-right:0;
    padding-bottom:58px;
  }
  .qodef-fullscreen-search-holder .qodef-m-form .qodef-m-search-icon svg{
    width:28px!important;
  }
  .qodef-fullscreen-search-holder input[type="search"].qodef-m-form-field{
    padding-left:38px!important;
    font-size:30px!important;
  }
  .qodef-fullscreen-search-holder .fest-fullscreen-search-submit{
    right:0;
    bottom:0;
    min-width:112px;
  }
  .cookie-modal{padding:12px}
  .cookie-modal__panel{
    max-height:calc(100dvh - 24px);
    padding:28px 20px 22px;
  }
  .cookie-modal__panel h2,
  body.qodef-page-skin--dark .cookie-modal__panel h2{
    padding-right:30px;
    font-size:29px!important;
  }
  .cookie-option{
    gap:14px;
    padding:17px 15px;
  }
  .cookie-required{max-width:74px;font-size:10px}
  .cookie-modal__actions{grid-template-columns:1fr}
}


/* --------------------------------------------------------------------------
   2026-08-03 v15: image fidelity and text readability.

   Featured images remain cropped to 1200x675. CSS cannot recreate missing
   pixels, but a restrained dark gradient plus micro-dither masks block edges
   and gives white typography a consistent contrast without larger uploads.
   -------------------------------------------------------------------------- */

/* Recommended hero: cinematic darkening, strongest behind the title, with a
   tiny ordered-dot texture. The texture is intentionally subtle and is made
   only from CSS gradients, so there is no extra asset or request. */
#qodef-above-header-area .qodef-layout--layout-style-10.qodef-gradient-overlay--on .qodef-e-media-image>a::after{
  pointer-events:none;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.08) 72%,rgba(0,0,0,.22) 100%),
    linear-gradient(0deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.10) 100%),
    radial-gradient(circle,rgba(0,0,0,.17) .55px,transparent .7px);
  background-repeat:no-repeat,no-repeat,repeat;
  background-size:100% 100%,100% 100%,3px 3px;
}
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-media-image img{
  filter:saturate(.94) contrast(1.035);
}
#qodef-above-header-area .qodef-layout--layout-style-10 .qodef-e-title{
  text-shadow:0 2px 18px rgba(0,0,0,.58);
}

/* Category/page banner: the same micro-dither hides 1200px upscaling and a
   balanced overlay keeps the centered white heading readable on bright areas. */
.qodef-page-title.qodef--has-image .qodef-parallax-img-holder{
  /* Keep the image layer absolutely positioned behind the heading.
     v15/v16 accidentally changed it to relative, which pushed the title
     outside the fixed-height banner and made it disappear. */
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  opacity:1;
  overflow:hidden;
  z-index:0;
}
.qodef-page-title.qodef--has-image .qodef-parallax-img-holder::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.31) 50%,rgba(0,0,0,.20)),
    radial-gradient(circle,rgba(0,0,0,.15) .55px,transparent .7px);
  background-repeat:no-repeat,repeat;
  background-size:100% 100%,3px 3px;
}
.qodef-page-title.qodef--has-image .qodef-parallax-img-wrapper{
  z-index:0;
}
.qodef-page-title.qodef--has-image .qodef-parallax-img{
  filter:saturate(.94) contrast(1.025);
}
.qodef-page-title.qodef--has-image .qodef-m-content{
  position:relative;
  z-index:2;
}
.qodef-page-title.qodef--has-image .qodef-m-title{
  text-shadow:0 2px 16px rgba(0,0,0,.48);
}

/* Category archive cards are intentionally taller than 16:9. This reserves a
   safe top zone for the date badge and lets 3-4 line titles stay below it. */
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-inner,
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-image-holder,
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image,
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image>a{
  height:100%;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image{
  min-height:260px;
  aspect-ratio:4/3;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image>a::after{
  pointer-events:none;
  transform:none;
  background-image:
    linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.61) 37%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.06) 100%),
    radial-gradient(circle,rgba(0,0,0,.17) .55px,transparent .7px);
  background-repeat:no-repeat,repeat;
  background-size:100% 100%,3px 3px;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-inner:hover .qodef-e-media-image>a::after{
  transform:none;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-content{
  top:76px;
  bottom:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-sizing:border-box;
  width:100%;
  padding:24px 26px 28px;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-title{
  overflow-wrap:anywhere;
}
.fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-title{
  text-shadow:0 1px 10px rgba(0,0,0,.46);
}

@media (max-width:1024px){
  .fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image{min-height:245px}
}
@media (max-width:680px){
  .fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-media-image{
    min-height:264px;
    aspect-ratio:4/3;
  }
  .fest-category-archive-grid .qodef-layout-item--layout-style-3 .qodef-e-content{
    top:72px;
    padding:22px 22px 25px;
  }
}

@media only screen and (max-width:680px){.qodef-fullscreen-search-holder .qodef-m-form .qodef-m-search-icon{top:28%!important}}

/* --------------------------------------------------------------------------
   Homepage event banner slider.
   Isolated from Herr's article slider CSS. The geometry still matches the
   original cascading slider, but plain event banners are never clipped/hidden
   by qodef article rules.
   -------------------------------------------------------------------------- */
.fest-event-slider-section{
  background:#000;
  padding:72px 0 78px;
  overflow:hidden;
}
.fest-event-slider-title{margin-bottom:32px}
.fest-event-slider-title .qodef-m-subtitle,
.fest-event-slider-title .qodef-m-title{color:#fff}

.fest-event-banner-slider{
  position:relative;
  width:100vw;
  max-width:none;
  margin-left:50%;
  transform:translateX(-50%);
  overflow:hidden;
  opacity:0;
  transition:opacity .2s ease;
}
.fest-event-banner-slider--ready{opacity:1}
.fest-event-banner-slider .swiper-wrapper{align-items:center}
.fest-event-banner-slide{
  box-sizing:border-box;
  height:auto;
}
.fest-event-banner-link,
.fest-event-banner-frame{
  display:block;
  width:100%;
}
.fest-event-banner-link{color:inherit;text-decoration:none}
.fest-event-banner-frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:1200/578;
  background:#080808;
  -webkit-clip-path:inset(25%);
  clip-path:inset(25%);
  transform:translateY(12%);
  transition:
    clip-path .5s ease-in-out,
    -webkit-clip-path .5s ease-in-out,
    transform .5s ease-in-out;
}
.fest-event-banner-frame img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1.01);
  transition:transform .4s cubic-bezier(.61,1,.88,1);
}
.fest-event-banner-slide.swiper-slide-prev .fest-event-banner-frame{
  transform:translate(25%,25%);
}
.fest-event-banner-slide.swiper-slide-next .fest-event-banner-frame{
  transform:translate(-25%,25%);
}
.fest-event-banner-slide.swiper-slide-active .fest-event-banner-frame{
  z-index:2;
  -webkit-clip-path:inset(0);
  clip-path:inset(0);
  transform:translate(0,0);
}
.fest-event-banner-slide.swiper-slide-active .fest-event-banner-link:hover img{
  transform:scale(1.035);
}
.fest-event-banner-pagination{
  position:relative!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  margin-top:27px;
}
.fest-event-banner-pagination .swiper-pagination-bullet{
  width:7px;
  height:7px;
  margin:0 6px!important;
  background:#fff;
  opacity:.45;
}
.fest-event-banner-pagination .swiper-pagination-bullet-active{
  background:var(--fest-green);
  opacity:1;
}
.fest-event-banner-slider--static{
  width:min(1200px,calc(100vw - 36px));
}
.fest-event-banner-slider--static .fest-event-banner-frame{
  -webkit-clip-path:inset(0);
  clip-path:inset(0);
  transform:none;
}
@media (max-width:768px){
  .fest-event-slider-section{padding:54px 0 58px}
  .fest-event-slider-title{margin-bottom:24px}
  .fest-event-banner-slider{
    width:calc(100vw - 60px);
    max-width:none;
    margin:0 auto;
    transform:none;
    overflow:hidden;
  }
  .fest-event-banner-frame,
  .fest-event-banner-slide.swiper-slide-prev .fest-event-banner-frame,
  .fest-event-banner-slide.swiper-slide-next .fest-event-banner-frame{
    transform:none;
  }
}

/* Cookie consent always wins the first-visit stack over the PWA install prompt.
   JS already gates the PWA until a consent choice exists; these z-indexes are a
   defensive fallback for browsers that dispatch installability unusually early. */
.cookie-consent{z-index:10003}
.pwa-install{z-index:10000}
.cookie-modal{z-index:10004}
.toast{z-index:10005}

h5.qodef-e-title.entry-title {
    font-size: clamp(0.8rem, 1.4vw, 1rem);
}

h4.qodef-e-title.entry-title, h3.qodef-e-title.entry-title {
    font-size: clamp(1rem, 1vw, 1.5rem);
}

h3.qodef-e-title.entry-title, .elementor-element-c303b91 h4.qodef-e-title.entry-title, h3.qodef-e-title.entry-title {
    font-size: clamp(0.9rem, 1.1vw, 1.6rem) !important;
}

h1.qodef-e-title.entry-title {
    font-size: clamp(1.4rem, 1.8vw, 2.5rem);
}

#qodef-page-header .qodef-header-logo-link img:not(.qodef--main) {
    position: inherit;
    top: 0;
    left: 0;
    transform: inherit;
}


.qodef-header-standard--center #qodef-page-header-inner .qodef-header-logo {
    position: static;
    display: inline-block;
    vertical-align: middle;
}

.qodef-header-standard--center #qodef-page-header-inner .qodef-widget-holder {
    position: static;
    vertical-align: middle;
}

.qodef-header-navigation {
    height: auto;
    display: block;
    min-height: 50px;
    clear: both;
}

.qodef-header-standard--center #qodef-page-header-inner .qodef-header-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
	width: 100%;
    height: auto;
    gap: 20px;
}
@media (min-width:1024px){
    .qodef-header-navigation>ul {
        position: relative;
        display: flex;
        align-items: center;
        white-space: nowrap;
        flex-wrap: wrap;
        height: auto;
        justify-content: center;
        padding: 10px 0;
    }
    
    .qodef-header-navigation>ul>li {
        padding: 5px 22px;
    }
}

.elementor-2507 .elementor-element.elementor-element-ebcd11d {
    padding: 0px 100px 100px 100px;
}

@media (max-width: 767px) {
    .elementor-2507 .elementor-element.elementor-element-ebcd11d {
        padding: 0px 10px 20px 10px;
    }
}

@media (max-width: 767px) {
    .elementor-2507 .elementor-element.elementor-element-6b249ca {
        padding: 30px 10px 0 10px;
    }
}

@media (max-width: 767px) {
    .elementor-2507 .elementor-element.elementor-element-884c9f8 {
        padding: 10px 10px 0 10px;
    }
}

.fest-sidebar-newsletter {
    margin-top: 35px;
    padding: 30px;
    background: url(https://festivela.ro/festivela-template/assets/theme/assets/img/background_newsletter.webp) #111;
    color: #fff;
    background-size: cover;
}

/* Homepage sponsored */
.elementor-element-884c9f8 .qodef-grid-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.elementor-element-884c9f8 .qodef-grid-inner > .qodef-grid-item {
    float: none;
    display: flex;
}

.elementor-element-884c9f8 .qodef-grid-inner > .qodef-grid-item > .qodef-e-inner {
    width: 100%;
    height: 100%;
}

/* On the one-column mobile layout each card keeps its own natural height. */
@media (max-width: 768px) {
    .elementor-element-884c9f8 .qodef-grid-inner > .qodef-grid-item {
        display: block;
    }

    .elementor-element-884c9f8 .qodef-grid-inner > .qodef-grid-item > .qodef-e-inner {
        height: auto;
    }
}

/* ==========================================================
   Newsletter popup
   ========================================================== */

.fest-newsletter-popup[hidden] {
    display: none !important;
}

.fest-newsletter-popup {
    position: fixed;
    inset: 0;
    z-index: 10002;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    padding: 20px;
}

.fest-newsletter-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .78);
}

.fest-newsletter-popup__panel {
    position: relative;
    z-index: 1;
    width: min(860px, calc(100vw - 40px));
    max-height: calc(100dvh - 40px);
    overflow: auto;
    background: #000;
    color: #fff;
}

.fest-newsletter-popup__image {
    width: 100%;
    aspect-ratio: 2.35 / 1;
    overflow: hidden;
}

.fest-newsletter-popup__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fest-newsletter-popup__close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    background: rgba(255,255,255,.92);
    color: #000;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.fest-newsletter-popup__content {
    padding: 34px 60px 42px;
}

.fest-newsletter-popup__content h2,
body.qodef-page-skin--dark .fest-newsletter-popup__content h2 {
    margin: 0 0 7px;
    color: #fff !important;
    font-size: clamp(22px, 3vw, 30px) !important;
    line-height: 1.1 !important;
    text-transform: uppercase;
}

.fest-newsletter-popup__content > p {
    margin: 0 0 22px;
    color: rgba(255,255,255,.72);
    font-size: 14px;
}

.fest-newsletter-popup input[type="email"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 14px;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: var(--fest-green);
    color: #000;
    font-family: Syne, Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
}

.fest-newsletter-popup input[type="email"]::placeholder {
    color: #000;
    opacity: 1;
}

.fest-newsletter-popup__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 20px;
}

.fest-newsletter-popup__bottom > button {
    min-width: 160px;
    min-height: 48px;
    padding: 10px 20px;
    border: 1px solid #fff;
    border-radius: 0;
    background: #000;
    color: #fff;
    font-family: Syne, Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.fest-newsletter-popup__bottom > button:hover {
    background: var(--fest-green);
    border-color: var(--fest-green);
    color: #000;
}

.fest-newsletter-popup__consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: 11px;
    line-height: 1.4;
    cursor: pointer;
}

.fest-newsletter-popup__consent input {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--fest-green);
}

.fest-newsletter-popup__consent a {
    color: #fff;
    text-decoration: underline;
}

body.newsletter-popup-open {
    overflow: hidden;
}

@media (max-width: 680px) {

    .fest-newsletter-popup {
        padding: 12px;
    }

    .fest-newsletter-popup__panel {
        width: 100%;
        max-height: calc(100dvh - 24px);
    }

    .fest-newsletter-popup__image {
        aspect-ratio: 1.65 / 1;
    }

    .fest-newsletter-popup__content {
        padding: 25px 20px 28px;
    }

    .fest-newsletter-popup__content h2,
    body.qodef-page-skin--dark .fest-newsletter-popup__content h2 {
        font-size: 23px !important;
    }

    .fest-newsletter-popup__bottom {
        display: grid;
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .fest-newsletter-popup__bottom > button {
        width: 100%;
    }

    .fest-newsletter-popup__consent {
        max-width: none;
    }
}

/* ==========================================================
   Smart mobile header
   Normal in page -> floating after it leaves the viewport.
   ========================================================== */

@media (max-width: 1024px) {

    #qodef-page-mobile-header {
        z-index: 10050;
    }

    #qodef-page-mobile-header.fest-mobile-header--floating {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;

        background: #000;

        transform: translateY(0);
        transition: transform .24s ease;
        will-change: transform;
    }

    #qodef-page-mobile-header.fest-mobile-header--floating.fest-mobile-header--hidden {
        transform: translateY(calc(-100% - 2px));
    }

    .fest-mobile-header-spacer {
        display: block;
        width: 100%;
        height: 0;
        margin: 0;
        padding: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    #qodef-page-mobile-header.fest-mobile-header--floating {
        transition: none !important;
    }
}

.qodef-e-info-item.qodef-e-date.qodef-date-in-box.entry-date.published.updated, .qodef-e-info-item.qodef-e-info-date.entry-date.published {
    display: none;
}

@media (min-width: 768px) {
    .elementor-widget-wrap.elementor-element-populated.dreapta {
        padding: 0 0 0 5px !important;
    }
}

@media (max-width: 767px) {
    .elementor-widget-wrap.elementor-element-populated.dreapta {
        padding: 10px 0 0 0 !important;
    }
}
