/* =========================================================
   HEADER - MENIU PRINCIPAL
========================================================= */

#sp-header {
    background: #FDFDFD;
    box-shadow: 0 0 0px 0 rgba(0, 0, 0, .1);
}

#sp-header.header-sticky {
    background: #FDFDFD;
}

/* Meniu principal */
.sp-megamenu-parent > li > a {
    position: relative;
    color: #000000;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

/* Bara de sub text - folosim BEFORE ca să nu stricăm chevron-ul de dropdown */
.sp-megamenu-parent > li > a::before {
    content: "";
    position: absolute;
    left: 15%;
    bottom: 18px;
    width: 0;
    height: 2px;
    background-color: #C17F5A;
    transition: width 0.35s ease;
    pointer-events: none;
}

/* Hover - bara se lungește de la stânga la dreapta */
.sp-megamenu-parent > li:hover > a::before {
    width: 70%;
}

/* Active - bara rămâne vizibilă */
.sp-megamenu-parent > li.active > a::before,
.sp-megamenu-parent > li.active:hover > a::before {
    width: 70%;
}

/* Textul rămâne negru */
.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.active:hover > a {
    color: #000000;
}

/* Header sticky */
.header-sticky .sp-megamenu-parent > li > a {
    color: #140E0B;
}

/* Bara în sticky header */
.header-sticky .sp-megamenu-parent > li > a::before {
    background-color: #7B2A13;
}

/* Text sticky la hover / active */
.header-sticky .sp-megamenu-parent > li:hover > a,
.header-sticky .sp-megamenu-parent > li.active > a,
.header-sticky .sp-megamenu-parent > li.active:hover > a {
    color: #140E0B;
}

/* Icon burger */
.burger-icon > span {
    background-color: #c17f5a;
}
/* =========================================================
   HEADER - DROPDOWN MENIU COPIL
========================================================= */

/* Container dropdown */
.sp-megamenu-parent .sp-dropdown {
    margin-top: 0;
    padding-top: 14px;
}

/* Interior dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #FDFDFD;
    border: 1px solid rgba(20, 14, 11, 0.10);
    box-shadow: 0 18px 40px rgba(20, 14, 11, 0.08);
    padding: 14px 0;
}

/* Lista dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items {
    margin: 0;
    padding: 0;
}

/* Item dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li {
    margin: 0;
    padding: 0;
}

/* Link dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li > a {
    position: relative;
    display: block;
    padding: 11px 22px;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #140E0B;
    background: transparent;
    transition: color 0.25s ease, background-color 0.25s ease, padding-left 0.25s ease;
}

/* Elimină eventuale pseudo-elemente moștenite pe linkurile din dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li > a::before,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li > a::after {
    display: none;
}

/* Hover dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li > a:hover {
    color: #c17f5a;
    background-color: #c17f5a1c;
    padding-left: 28px;
}

/* Item activ în dropdown */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li.active > a {
    color: #9B1F22;
    background-color: rgba(155, 31, 34, 0.06);
}

/* Mic accent vertical la hover */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li > a {
    border-left: 2px solid transparent;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li > a:hover,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items > li.active > a {
    border-left-color: #c17f5a;
}

/* Ajustare pentru sticky header */
.header-sticky .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #FDFDFD;
    border-color: rgba(20, 14, 11, 0.10);
}

/* =========================================================
  OOFF CANVAS MENU 
========================================================= */
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li a {
    font-size: 18px;
    padding: 10px 0px;
    line-height: 18px;
    font-weight: 400;
    opacity: .7;
    color: #252525;
}
.offcanvas-menu .offcanvas-inner ul.menu>li a:hover, .offcanvas-menu .offcanvas-inner ul.menu>li a:focus, .offcanvas-menu .offcanvas-inner ul.menu>li span:hover, .offcanvas-menu .offcanvas-inner ul.menu>li span:focus {
    color: #252524;
}
/* Offcanvas container */
.offcanvas-menu {
  background: #F7F4F1;
}

/* Top close area */
.offcanvas-menu .d-flex.align-items-center.justify-content-between {
  padding: 28px 30px 10px !important;
}

/* Close button */
.offcanvas-menu .close-offcanvas {
  color: #140E0B;
  opacity: 1;
  transition: opacity 0.25s ease;
}

.offcanvas-menu .close-offcanvas:hover,
.offcanvas-menu .close-offcanvas:focus {
  opacity: 0.65;
}

/* Close icon lines */
.offcanvas-menu .burger-icon span {
  background-color: #140E0B;
}

/* Inner spacing */
.offcanvas-inner {
  background: #F7F4F1;
  color: #140E0B;
  padding: 34px 42px 48px;
}

/* Remove empty module spacing */
.offcanvas-inner .header-modules,
.offcanvas-inner .sp-module {
  margin: 0 !important;
  padding: 0 !important;
}

/* Reset menu lists */
.offcanvas-inner .mod-menu,
.offcanvas-inner .mod-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Main menu wrapper */
.offcanvas-inner .mod-menu {
  max-width: 280px;
}

/* Main menu items */
.offcanvas-inner .mod-menu > li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: none;
}

/* Main links */
.offcanvas-inner .mod-menu > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 0;
  color: rgba(20, 14, 11, 0.62);
  background: transparent !important;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0.035em;
  text-decoration: none;
  border-radius: 0 !important;
  transition: color 0.25s ease, transform 0.25s ease;
}

/* Hover main links */
.offcanvas-inner .mod-menu > li > a:hover,
.offcanvas-inner .mod-menu > li > a:focus {
  color: #140E0B;
  transform: translateX(4px);
  text-decoration: none;
  background: transparent !important;
}

/* Active main link */
.offcanvas-inner .mod-menu > li.active > a,
.offcanvas-inner .mod-menu > li.current > a {
  color: #140E0B;
}

/* Active line for main item */
.offcanvas-inner .mod-menu > li.active > a::before,
.offcanvas-inner .mod-menu > li.current > a::before {
  content: "";
  width: 28px;
  height: 1px;
  margin-right: 12px;
  background: #9B1F22;
  display: inline-block;
  flex: 0 0 auto;
}

/* Hide Joomla / template submenu toggler */
.offcanvas-inner .menu-toggler {
  display: none !important;
}

/* Force child menu open permanently */
.offcanvas-inner .mod-menu > li.menu-parent > .menu-child,
.offcanvas-inner .mod-menu > li.menu-deeper > .menu-child,
.offcanvas-inner .mod-menu > li.active > .menu-child,
.offcanvas-inner .mod-menu > li.current > .menu-child {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  margin: 0px;
}

/* Child menu container */
.offcanvas-inner .menu-child {
  margin: 0 0 10px 40px;
  padding: 0 0 8px 16px;
  border-left: 0px solid rgba(155, 31, 34, 0.28);
}

/* Child menu items */
.offcanvas-inner .menu-child > li {
  margin: 0;
  padding: 0;
}

/* Child links */
.offcanvas-inner .menu-child > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 6px 0;
  color: rgba(20, 14, 11, 0.78);
  background: transparent !important;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-decoration: none;
  border-radius: 0 !important;
  transition: color 0.25s ease, transform 0.25s ease;
}

/* Child hover */
.offcanvas-inner .menu-child > li > a:hover,
.offcanvas-inner .menu-child > li > a:focus {
  color: #9B1F22;
  transform: translateX(4px);
  text-decoration: none;
  background: transparent !important;
}

/* Active child link */
.offcanvas-inner .menu-child > li.active > a,
.offcanvas-inner .menu-child > li.current > a,
.offcanvas-inner .menu-child > li > a[aria-current="page"] {
  color: #9B1F22;
}

/* Remove Bootstrap nav-pills states */
.offcanvas-inner .nav-pills > li > a,
.offcanvas-inner .nav-pills .nav-link,
.offcanvas-inner .nav-pills > li > a:hover,
.offcanvas-inner .nav-pills > li > a:focus,
.offcanvas-inner .nav-pills > li.active > a,
.offcanvas-inner .nav-pills > li.current > a {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Better rhythm after parent item */
.offcanvas-inner .mod-menu > li.menu-parent {
  margin-bottom: 8px;
}

/* Mobile refinement */
@media (max-width: 767px) {
  .offcanvas-menu .d-flex.align-items-center.justify-content-between {
    padding: 26px 28px 8px !important;
  }

  .offcanvas-inner {
    padding: 34px 32px 44px;
  }

  .offcanvas-inner .mod-menu {
    max-width: 100%;
  }

  .offcanvas-inner .mod-menu > li > a {
    font-size: 23px;
    padding: 9px 0;
  }

  .offcanvas-inner .menu-child {
    margin-left: 38px;
    padding-left: 14px;
  }

  .offcanvas-inner .menu-child > li > a {
    font-size: 12px;
    letter-spacing: 0.13em;
  }
}

/* =========================================================
   REPERTORIU
========================================================= */

.page-repertoire .sppb-dynamic-content-collection__item {
    border-bottom: 1px solid #140e0b;
    width: 100%;
}

.page-repertoire .repertoire-title {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 10px 54px 20px 10px !important;
    color: #140e0b;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    user-select: none;
}

.page-repertoire .repertoire-title::after {
    content: "";
    position: absolute;
    top: 20px;
    right: 4px;
    width: 14px;
    height: 14px;
    border-right: 2px solid #140e0b;
    border-bottom: 2px solid #140e0b;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.3s ease;
}

.page-repertoire .repertoire-item.is-open .repertoire-title::after {
    transform: translateY(-50%) rotate(-135deg);
}

.page-repertoire .repertoire-content {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    opacity: 0;
    transform: translateY(-6px);
    transition:
        max-height 0.5s ease,
        opacity 0.3s ease,
        transform 0.35s ease;
}

.page-repertoire .repertoire-item.is-open .repertoire-content {
    opacity: 1;
    transform: translateY(0);
}

.page-repertoire .repertoire-content .sppb-dynamic-content__is-rich-text {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0 0 15px 0;
    width: 100%;
}

.page-repertoire .repertoire-content p {
    margin: 0;
    padding: 10px 34px;
    background: #f7f7f7;
    color: #140e0b;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.page-repertoire .repertoire-content p:hover {
    background: #ffffff;
}
@media (max-width: 767px) {
    .page-repertoire .repertoire-title {
        padding: 15px 44px 15px 0 !important;
        font-size: 16px;
        letter-spacing: 0.14em;
    }

    .page-repertoire .repertoire-content p {
        padding: 10px;
        font-size: 16px;
    }
}

/* =========================================================
   REPERTOIRE TABS - ACTIVE ARROW
========================================================= */

.page-repertoire .repertoire-tabs {
    overflow: visible;
}

.page-repertoire .repertoire-tabs .sppb-addon-content,
.page-repertoire .repertoire-tabs .sppb-tab,
.page-repertoire .repertoire-tabs .sppb-nav-custom {
    overflow: visible;
}

.page-repertoire .repertoire-tabs .sppb-nav-custom > li {
    position: relative;
}

.page-repertoire .repertoire-tabs .sppb-nav-custom > li::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    width: 30px;
    height: 30px;
    border-right: 10px solid #140e0b;
    border-bottom: 10px solid #140e0b;
    transform: translateX(-50%) rotate(45deg) translateY(-5px);
    opacity: 0;
    transition: opacity 0.25s ease 0s, transform 0.25s ease 0s;
    z-index: 5;
    pointer-events: none;
}

.page-repertoire .repertoire-tabs .sppb-nav-custom > li.active::after {
    opacity: 1;
    transform: translateX(-50%) rotate(45deg) translateY(0);
    transition-delay: 0.3s;
}

/* =========================================================
   HERO HOME PAGE
========================================================= */
/* Titlu normal pe desktop */
#column-id-b95d1d6e-dd6f-4e7e-9217-8281ff5a1903 .sppb-addon-title, .hero-heading .sppb-addon-title {
    margin: 0;
}
body.ltr.offcanvs-position-right .offcanvas-menu {
    right: 100%;
}
.offcanvas-menu {
    width: 100%;
}
body.ltr .offcanvas-menu .offcanvas-inner ul.menu>li ul {
    margin-left: 0px;
}
/* Titlu vertical pe mobil */
@media (max-width: 767px) {
    #column-id-b95d1d6e-dd6f-4e7e-9217-8281ff5a1903, .hero-heading {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #column-id-b95d1d6e-dd6f-4e7e-9217-8281ff5a1903 .sppb-addon-title, .hero-heading .sppb-addon-title {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        transform: rotate(180deg);
        white-space: nowrap;
        line-height: 1;
        margin: 0;
    }
}
/* Containerul general */
.image-sequence {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.image-sequence .addon-root-image > div[id^="sppb-addon-"] {
    height: 100%;
}
/* Containerul intern SP Page Builder */
.image-sequence > .sppb-column-addons {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Fiecare element de imagine */
.image-sequence > .sppb-column-addons > .addon-root-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

/* Structura internă a imaginii */
.image-sequence .sppb-addon,
.image-sequence .sppb-addon-content,
.image-sequence .sppb-addon-single-image-container {
  width: 100%;
  height: 100%;
}

/* Imaginea propriu-zisă */
.image-sequence img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Imaginea 1 */
.image-sequence > .sppb-column-addons > .addon-root-image:nth-child(1) {
  z-index: 1;
  animation: imageStep 0.60s ease forwards;
  animation-delay: 0.8s;
}

/* Imaginea 2 */
.image-sequence > .sppb-column-addons > .addon-root-image:nth-child(2) {
  z-index: 2;
  animation: imageStep 0.60s ease forwards;
  animation-delay: 1.2s;
}

/* Imaginea 3 */
.image-sequence > .sppb-column-addons > .addon-root-image:nth-child(3) {
  z-index: 3;
  animation: imageStep 0.60s ease forwards;
  animation-delay: 1.6s;
}

/* Imaginea 4
.image-sequence > .sppb-column-addons > .addon-root-image:nth-child(4) {
  z-index: 4;
  animation: imageStep 0.35s ease forwards;
  animation-delay: 1.15s;
} */

/* Imaginea 5 - ultima rămâne vizibilă */
.image-sequence > .sppb-column-addons > .addon-root-image:nth-child(4) {
  z-index: 5;
  animation: imageFinal 0.90s ease forwards;
  animation-delay: 1.9s;
}

/* Imaginile intermediare apar scurt și dispar */
@keyframes imageStep {
  0% {
    opacity: 0;
  }

  25% {
    opacity: 0.8;
  }
  
  50% {
    opacity: 1;
  }

  75% {
    opacity: 0.8;
  }

  100% {
    opacity: 0;
  }
}

/* Ultima imagine apare și rămâne */
@keyframes imageFinal {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* Ajustare mobil */
@media (max-width: 768px) {
  .image-sequence {
    height: 70vh;
  }
}

/* =========================================================
   CARUSEL HOME PAGE
========================================================= */

/* Elimină umbra default SP Page Builder */
.sppb-carousel-extended-team-content {
    box-shadow: 0 0 0 0 rgb(0 0 0 / 0%);
}

/* Container carusel navigație home */
.home-navigation-carusel {
    width: 100%;
}

/* Lista caruselului */
.home-navigation-carusel .sppb-carousel-extended-list {
    overflow: hidden;
}

/* Fiecare item */
.home-navigation-carusel .sppb-carousel-extended-item {
    position: relative;
    padding: 0 45px;
    min-height: 145px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    background: transparent;
    cursor: pointer;
}

/* Separator vertical între iteme */
.home-navigation-carusel .sppb-carousel-extended-item::after {
    content: "";
    position: absolute;
    right: 0;
    top: 28px;
    width: 1px;
    height: 75px;
    background: rgba(20, 14, 11, 0.10);
    pointer-events: none;
}

/* Ascundem separatorul la ultimul item */
.home-navigation-carusel .sppb-carousel-extended-item:last-child::after {
    display: none;
}

/* Link imagine / icon */
.home-navigation-carusel .sppb-carousel-extended-item > a {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 18px;
    position: relative;
    z-index: 2;
}

/* Icon */
.home-navigation-carusel .sppb-carousel-extended-item img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
    opacity: 1;
    filter: grayscale(100%);
    transition: filter 0.3s ease, opacity 0.25s ease, transform 0.25s ease;
}

/* Conținut text */
.home-navigation-carusel .sppb-carousel-extended-team-content {
    width: 100%;
    padding: 0;
    background: transparent;
    text-align: left;
    position: relative;
    z-index: 2;
}

/* Wrapper text */
.home-navigation-carusel .sppb-carousel-extended-team-content-wrap {
    padding: 0;
    position: relative;
}

/* Titlu */
.home-navigation-carusel .sppb-carousel-extended-team-name {
    margin: 0 0 6px 0;
    line-height: 1.1;
    position: relative;
}

/* Link titlu */
.home-navigation-carusel .sppb-carousel-extended-team-name a {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #140E0B;
    text-decoration: none;
    transition: color 0.25s ease;
}

/* Extinde linkul titlului peste tot itemul */
.home-navigation-carusel .sppb-carousel-extended-team-name a::before {
    content: "";
    position: absolute;
    inset: -45px -45px -80px -45px;
    z-index: 10;
}

/* Descriere */
.home-navigation-carusel .sppb-carousel-extended-team-designation {
    max-width: 100%;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
    color: rgba(20, 14, 11, 0.62);
    margin: 0 0 17px 0;
    position: relative;
    z-index: 2;
}

/* Ascundem zona social icons */
.home-navigation-carusel .sppb-carousel-extended-team-social-icon {
    display: none;
}

/* Săgeata de jos */
.home-navigation-carusel .sppb-carousel-extended-team-content-wrap::after {
    content: "→";
    display: block;
    font-size: 16px;
    line-height: 1;
    color: #140E0B;
    transform: translateX(0);
    transition: transform 0.25s ease, color 0.25s ease;
    position: relative;
    z-index: 2;
    pointer-events: none;
}

/* Hover item */
.home-navigation-carusel .sppb-carousel-extended-item:hover img {
    opacity: 1;
    filter: grayscale(100%);
    transform: translateY(-2px);
}

.home-navigation-carusel .sppb-carousel-extended-item:hover .sppb-carousel-extended-team-name a {
    color: #9B1F22;
}

.home-navigation-carusel .sppb-carousel-extended-item:hover .sppb-carousel-extended-team-content-wrap::after {
    color: #9B1F22;
    transform: translateX(6px);
}


/* Tablet */
@media (max-width: 991px) {
    .home-navigation-carusel .sppb-carousel-extended-item {
        padding: 0 28px;
        min-height: 140px;
    }

    .home-navigation-carusel .sppb-carousel-extended-team-designation {
        max-width: 130px;
    }

    .home-navigation-carusel .sppb-carousel-extended-team-name a::before {
        inset: -40px -28px -80px -28px;
    }
}

/* Mobil */
@media (max-width: 767px) {
    .home-navigation-carusel .sppb-carousel-extended-item {
        padding: 0 30px;
        min-height: 150px;
    }

    .home-navigation-carusel .sppb-carousel-extended-item::after {
        display: none;
    }

    .home-navigation-carusel .sppb-carousel-extended-item img {
        width: 26px;
        height: 26px;
    }

    .home-navigation-carusel .sppb-carousel-extended-team-name a {
        font-size: 12px;
    }

    .home-navigation-carusel .sppb-carousel-extended-team-designation {
        max-width: 180px;
        font-size: 13px;
    }

    .home-navigation-carusel .sppb-carousel-extended-team-name a::before {
        inset: -45px -30px -85px -30px;
    }
}

/* =========================================================
   SWITCHER LISTĂ EVENIMENTE
========================================================= */

#events-section {
  scroll-margin-top: 140px;
}
.concerts-switcher {
    display: flex;
    align-items: center;
    justify-content: left;
    gap: 14px;
    margin: 32px 0 0px;
    flex-wrap: wrap;
}

.concerts-switcher-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 24px;
  border: 1px solid rgba(155, 31, 34, 0.45);
  color: #140E0B;
  background: transparent;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.25s ease;
}

.concerts-switcher-link:hover,
.concerts-switcher-link:focus,
.concerts-switcher-link.is-active {
  color: #F7F4F1;
  background: #140e0b;
  border-color: #140e0b;
  text-decoration: none;
}

@media (max-width: 767px) {
  .concerts-switcher {
    gap: 10px;
    margin: 24px 0 0px;
  }

  .concerts-switcher-link {
    width: 100%;
    min-height: 46px;
    padding: 13px 18px;
  }
}

/* =========================================================
   LISTĂ EVENIMENTE
========================================================= */

/* Card eveniment */
.calendar-event-card {
    position: relative;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto 30px;
    padding: 42px 54px;
    background: #fdfdfd;
    border: 4px solid #140e0b;
    border-radius: 0;
    color: #140e0b;
    transition: background-color 0.25s ease, border-color 0.25s ease;
}

/* Hover / card deschis */
.calendar-event-card:hover,
.calendar-event-card.is-open {
    border-color: #140e0b;
    background: #f3f2f0;
}

/* Zona vizibilă */
.calendar-event-visible {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) auto;
    column-gap: 54px;
    align-items: center;
}

/* =========================================================
   EVENT DATE MARKER
========================================================= */

.event-date-marker {
  display: none;
}

.concert-month-header {
    margin: 60px 0px 30px 0px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid #c17f5a;
    color: #140e0b;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.concert-month-header:first-of-type {
  margin-top: 0;
}

@media (max-width: 767px) {
  .concert-month-header {
    margin: 48px 0 22px;
    font-size: 22px;
    letter-spacing: 0.12em;
  }
}

/* =========================================================
   DATA EVENIMENT
========================================================= */

.calendar-event-date {
    text-align: center;
    color: #140e0b;
}

.event-weekday {
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #140e0b;
}

.event-day-month {
    margin-bottom: 14px;
    font-size: 40px;
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: -0.08em;
    color: #140e0b;
}

.event-year {
    font-size: 21px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #140e0b;
}

/* =========================================================
   TITLU + META
========================================================= */

.calendar-event-summary {
    min-width: 0;
}

.event-title {
    margin: 0 0 22px;
    padding: 0;
}

.event-title a {
    display: inline-block;
    max-width: 850px;
    font-size: 26px;
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #140e0b;
    text-decoration: none;
    transition: color 0.25s ease;
}

.event-title a:hover {
    color: #c17f5a;
}

/* Locație + oră */
.event-main-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 24px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #140e0b;
}

.event-location,
.event-time {
    display: inline-flex;
    align-items: center;
    color: #140e0b;
}

.event-location i {
    margin-right: 8px;
    font-size: 14px;
    color: #c17f5a;
}

.event-time::before {
    content: "";
    width: 5px;
    height: 5px;
    margin-right: 18px;
    border-radius: 50%;
    background: #140e0b;
}

/* =========================================================
   BUTOANE
========================================================= */

.calendar-event-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 190px;
}

/* Bază comună pentru Quick info + Full details */
.event-quick-toggle,
.event-full-details a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    min-width: 190px;
    min-height: 56px;
    padding: 15px 20px;
    border: 1px solid #140e0b;
    border-radius: 0;
    font-family: inherit;
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* Quick info - buton secundar */
.event-quick-toggle {
    background: transparent;
    color: #140e0b;
    border-color: #140e0b;
}

.event-quick-toggle:hover {
    background: #c17f5a;
    border-color: #c17f5a;
    color: #fdfdfd;
}

/* Full details - buton principal */
.event-full-details a {
    background: #140e0b;
    border-color: #140e0b;
    color: #fdfdfd;
}

.event-full-details a:hover {
    background: #c17f5a;
    border-color: #c17f5a;
    color: #fdfdfd;
    text-decoration: none;
}

/* Full details este ascuns inițial */
.event-full-details {
    display: none;
}

/* Când cardul este deschis */
.calendar-event-card.is-open .event-quick-toggle {
    display: none;
}

.calendar-event-card.is-open .event-full-details {
    display: block;
}

/* =========================================================
   INFORMAȚII ASCUNSE / QUICK INFO - CU ANIMAȚIE
========================================================= */

.calendar-event-hidden-info {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
    column-gap: 70px;
    max-width: 860px;
    margin: 0 0 0 224px;

    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-8px);
    pointer-events: none;

    transition:
        max-height 0.45s ease,
        opacity 0.28s ease,
        transform 0.35s ease,
        margin-top 0.35s ease;
}

.calendar-event-card.is-open .calendar-event-hidden-info {
    max-height: 500px;
    opacity: 1;
    margin-top: 28px;
    transform: translateY(0);
    pointer-events: auto;
}

/* =========================================================
   PARTNERS / ARTIȘTI - VARIANTĂ SOBRĂ
========================================================= */

.event-artists ul,
.event-artists .fields-container {
    list-style: none;
    margin: 0;
    padding: 0;
}

.event-artists li {
    margin: 0;
    padding: 0;
    font-size: 0;
}

.event-artists li + li {
    margin-top: 16px;
}

.event-artists .field-entry {
    display: block;
    font-size: 16px;
    line-height: 1.35;
}

.event-artists .field-entry:first-child {
    margin-bottom: 3px;
    font-size: 17px;
    font-weight: 500;
    color: #140e0b;
}

.event-artists .field-entry:last-child {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(20, 14, 11, 0.58);
}

.event-artists li {
    color: transparent;
}

.event-artists li .field-entry {
    color: #140e0b;
}

.event-artists li .field-entry:last-child {
    color: rgba(20, 14, 11, 0.58);
}

/* =========================================================
   PROGRAM
========================================================= */

.event-program .relative {
    font-size: 18px;
    line-height: 1.35;
    color: #140e0b;
}

.event-program .relative + .relative {
    margin-top: 4px;
}

.event-program strong {
    font-weight: 400;
    color: #140e0b;
}

.event-program ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.event-program li {
    margin: 0 0 3px;
    padding: 0;
}

/* =========================================================
   CURĂȚĂRI JOOMLA / EASYLAYOUTS
========================================================= */

.calendar-event-card .icons {
    display: none;
}

.calendar-event-card a {
    outline: none;
}

.calendar-event-card a:focus,
.event-quick-toggle:focus {
    outline: 1px solid #c17f5a;
    outline-offset: 3px;
}

/* =========================================================
   INFORMAȚII ASCUNSE / QUICK INFO - CU ANIMAȚIE
========================================================= */

.calendar-event-hidden-info {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
    column-gap: 70px;
    max-width: 860px;
    margin: 0 0 0 224px;

    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-8px);
    pointer-events: none;

    transition:
        max-height 0.45s ease,
        opacity 0.28s ease,
        transform 0.35s ease,
        margin-top 0.35s ease;
}

.calendar-event-card.is-open .calendar-event-hidden-info {
    max-height: 500px;
    opacity: 1;
    margin-top: 28px;
    transform: translateY(0);
    pointer-events: auto;
}

/* Blocuri extra */
.calendar-event-extra-block {
    min-width: 0;
}

.event-extra-label {
    margin-bottom: 14px;
    font-size: 17px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #140e0b;
}

/* Conținut extra */
.event-extra-content {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 400;
    color: #140e0b;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1399px) {
    .calendar-event-card {
        padding: 38px 44px;
    }

    .calendar-event-visible {
        grid-template-columns: 150px minmax(0, 1fr) auto;
        column-gap: 42px;
    }

    .calendar-event-actions {
        width: 180px;
    }

    .event-quick-toggle,
    .event-full-details a {
        width: 180px;
        min-width: 180px;
        min-height: 52px;
        font-size: 14px;
        letter-spacing: 0.18em;
    }

    .calendar-event-hidden-info {
        margin-left: 192px;
    }
}

@media (max-width: 1199px) {
    .calendar-event-visible {
        grid-template-columns: 140px minmax(0, 1fr);
        row-gap: 32px;
    }

    .calendar-event-actions {
        grid-column: 2;
        justify-content: flex-start;
        width: 180px;
    }

    .event-quick-toggle,
    .event-full-details a {
        width: 180px;
        min-width: 180px;
    }

    .calendar-event-hidden-info {
        max-width: none;
        margin-left: 182px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 44px;
    }
}

@media (max-width: 991px) {
    .calendar-event-card {
        padding: 34px;
    }

    .calendar-event-visible {
        grid-template-columns: 1fr;
        row-gap: 28px;
    }

    .calendar-event-date {
        text-align: left;
        display: grid;
        grid-template-columns: auto auto auto;
        column-gap: 18px;
        align-items: baseline;
    }

    .event-weekday,
    .event-day-month,
    .event-year {
        margin: 0;
    }

    .calendar-event-actions {
        grid-column: auto;
        justify-content: flex-start;
        width: 180px;
    }

    .event-quick-toggle,
    .event-full-details a {
        width: 180px;
        min-width: 180px;
    }

    .calendar-event-hidden-info {
        margin-left: 0;
        grid-template-columns: 1fr 1fr;
        column-gap: 36px;
    }

    .calendar-event-card.is-open .calendar-event-hidden-info {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .calendar-event-card {
        padding: 26px 22px;
        margin-bottom: 10px;
    }

    .calendar-event-visible {
        row-gap: 24px;
    }

    .calendar-event-date {
        grid-template-columns: 1fr;
        row-gap: 8px;
    }

    .event-weekday {
        font-size: 15px;
        letter-spacing: 0.18em;
    }

    .event-day-month {
        font-size: 30px;
    }

    .event-year {
        font-size: 17px;
        letter-spacing: 0.14em;
    }

    .event-title a {
        font-size: 26px;
        line-height: 1.08;
    }

    .event-main-meta {
        display: grid;
        gap: 8px;
        font-size: 14px;
        letter-spacing: 0.14em;
    }

    .event-time::before {
        display: none;
    }

    .calendar-event-actions {
        width: 100%;
    }

    .event-quick-toggle,
    .event-full-details,
    .event-full-details a {
        width: 100%;
        min-width: 100%;
    }

    .event-quick-toggle,
    .event-full-details a {
        min-height: 50px;
        font-size: 13px;
        letter-spacing: 0.18em;
    }

    .calendar-event-hidden-info {
        grid-template-columns: 1fr;
        row-gap: 26px;
    }

    .calendar-event-card.is-open .calendar-event-hidden-info {
        margin-top: 28px;
        max-height: 800px;
    }

    .event-extra-content,
    .event-program .relative,
    .event-artists .field-entry {
        font-size: 16px;
    }
}

/* =========================================================
   PAGINĂ INDIVIDUALĂ CONCERT
========================================================= */

#sp-main-body:has(.pagina-concert) {
    padding: 0 !important;
    background: #f7f4f1;
}

#sp-main-body:has(.pagina-concert) > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#sp-main-body:has(.pagina-concert) .container-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.pagina-concert {
    color: #140e0b;
    background: #f7f4f1;
}

/* Ascunde elemente Joomla inutile */
.pagina-concert .icons,
.pagina-concert .pagenavigation {
    display: none;
}


/* =========================================================
   HERO CONCERT - DESIGN EDITORIAL
========================================================= */

.pagina-concert .concert-hero {
    position: relative;
    width: calc(100% - 8vw);
    max-width: 1600px;
    min-height: 560px;
    margin: 60px auto 0;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    align-items: stretch;
    background: #fdfdfd;
    border: 1px solid #140e0b;
    overflow: hidden;
}

/* Imagine hero */
.pagina-concert .concert-hero .article-full-image {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 560px;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    z-index: 1;
    overflow: hidden;
}

.pagina-concert .concert-hero .article-full-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* Conținut hero */
.pagina-concert .concert-hero-content {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 2;
    padding: 58px 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #140e0b;
}

/* Titlu concert */
.pagina-concert .concert-hero-content h2 {
    max-width: 820px;
    margin: 0 0 46px;
    padding: 0;
    font-size: clamp(38px, 4.8vw, 40px);
    line-height: 0.98;
    font-weight: 500;
    letter-spacing: -0.055em;
    text-transform: uppercase;
    color: #140e0b;
}

/* Reset Bootstrap row din EasyLayouts */
.pagina-concert .concert-hero-content .row {
    margin-left: 0;
    margin-right: 0;
    row-gap: 34px;
}

.pagina-concert .concert-hero-content .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}


/* =========================================================
   DATA CONCERT - STIL CA ÎN LISTA DE CONCERTE
========================================================= */

/* Coloana cu data */
.pagina-concert .concert-hero-content .row > .col-md-6:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Ziua săptămânii: FRI */
.pagina-concert .concert-hero-day {
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #140e0b;
}

/* Data: 29. May */
.pagina-concert .concert-hero-date {
    margin-bottom: 14px;
    font-size: 40px;
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: -0.08em;
    color: #140e0b;
}

/* Anul: 2026 */
/* Funcționează pentru div-ul simplu dintre concert-hero-date și concert-hero-hour */
.pagina-concert .concert-hero-date + div:not([class]) {
    margin-bottom: 22px;
    font-size: 21px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: #140e0b;
}

/* Ora */
.pagina-concert .concert-hero-hour {
    position: relative;
    margin-top: 4px;
    padding-top: 18px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #140e0b;
}

/* Linie discretă înainte de oră */
.pagina-concert .concert-hero-hour::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 42px;
    height: 1px;
    background: rgba(20, 14, 11, 0.35);
}


/* =========================================================
   LOCAȚIE CONCERT
========================================================= */

.pagina-concert .concert-hero-location-city,
.pagina-concert .concert-hero-location,
.pagina-concert .concert-hero-venue {
    color: #140e0b;
}

/* Oraș / țară */
.pagina-concert .concert-hero-location-city {
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #140e0b;
}

/* Sală + venue */
.pagina-concert .concert-hero-location,
.pagina-concert .concert-hero-venue {
    font-size: 17px;
    line-height: 1.45;
    font-weight: 400;
    color: rgba(20, 14, 11, 0.76);
}

.pagina-concert .concert-hero-location + .concert-hero-venue {
    margin-top: 8px;
}

.pagina-concert .concert-hero-location i,
.pagina-concert .concert-hero-venue i {
    width: 18px;
    margin-right: 8px;
    font-size: 14px;
    color: #c17f5a;
}


/* =========================================================
   PROGRAM CONCERT + BUTOANE ACȚIUNE
========================================================= */

.pagina-concert .event-program {
    width: calc(100% - 8vw);
    max-width: 1600px;
    margin: 34px auto 90px;
    padding: 54px 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    column-gap: 70px;
    align-items: start;
    background: #fdfdfd;
    border: 1px solid #140e0b;
    color: #140e0b;
}

/* Titlu Program */
.pagina-concert .event-program h2 {
    grid-column: 1 / -1;
    position: relative;
    margin: 0 0 46px;
    padding: 0 0 22px;
    font-size: clamp(36px, 4vw, 36px);
    line-height: 0.95;
    font-weight: 500;
    letter-spacing: -0.045em;
    text-transform: uppercase;
    color: #140e0b;
}

.pagina-concert .event-program h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 72px;
    height: 1px;
    background: #140e0b;
}

/* Descriere Program */
.pagina-concert .event-program-description {
    grid-column: 1;
    max-width: 920px;
}

/* Fiecare lucrare */
.pagina-concert .event-program-description .relative {
    padding: 22px 0;
    border-bottom: 1px solid rgba(20, 14, 11, 0.14);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 400;
    color: #140e0b;
}

.pagina-concert .event-program-description .relative:first-child {
    padding-top: 0;
}

.pagina-concert .event-program-description .relative:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.pagina-concert .event-program-description strong {
    font-weight: 600;
    color: #140e0b;
}

.pagina-concert .event-program-description ul {
    margin: 10px 0 0;
    padding-left: 20px;
}

.pagina-concert .event-program-description li {
    margin-bottom: 8px;
    color: rgba(20, 14, 11, 0.78);
}

/* Coloana butoane */
.pagina-concert .event-actions-buttons {
    grid-column: 2;
    display: grid;
    gap: 12px;
    width: 100%;
    position: sticky;
    top: 110px;
}

/* Wrapper butoane */
.pagina-concert .ticket-event-link,
.pagina-concert .share-event-link,
.pagina-concert .map-event-link {
    width: 100%;
}

/* Butoane comune */
.pagina-concert .ticket-event-link a,
.pagina-concert .share-event-link button,
.pagina-concert .map-event-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 56px;
    padding: 15px 20px;
    border: 1px solid #140e0b;
    border-radius: 0;
    background: transparent;
    color: #140e0b;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* Ticket - acțiune principală */
.pagina-concert .ticket-event-link a {
    background: #140e0b;
    border-color: #140e0b;
    color: #fdfdfd;
}

.pagina-concert .ticket-event-link a i {
    color: #fdfdfd;
}

/* Share / Map - acțiuni secundare */
.pagina-concert .share-event-link button,
.pagina-concert .map-event-link a {
    background: transparent;
    color: #140e0b;
}

.pagina-concert .share-event-link i,
.pagina-concert .map-event-link i {
    color: #c17f5a;
}

/* Hover butoane */
.pagina-concert .ticket-event-link a:hover,
.pagina-concert .share-event-link button:hover,
.pagina-concert .map-event-link a:hover {
    background: #c17f5a;
    border-color: #c17f5a;
    color: #fdfdfd;
    text-decoration: none;
}

.pagina-concert .ticket-event-link a:hover i,
.pagina-concert .share-event-link button:hover i,
.pagina-concert .map-event-link a:hover i {
    color: #fdfdfd;
}

/* Reset button */
.pagina-concert .share-event-link button {
    appearance: none;
    -webkit-appearance: none;
}

/* Focus accesibil */
.pagina-concert .ticket-event-link a:focus,
.pagina-concert .share-event-link button:focus,
.pagina-concert .map-event-link a:focus {
    outline: 1px solid #c17f5a;
    outline-offset: 3px;
}


/* =========================================================
   RESPONSIVE PAGINĂ INDIVIDUALĂ CONCERT
========================================================= */

@media (max-width: 1199px) {
    .pagina-concert .concert-hero {
        width: calc(100% - 6vw);
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
        min-height: 520px;
    }

    .pagina-concert .concert-hero .article-full-image {
        min-height: 520px;
    }

    .pagina-concert .concert-hero-content {
        padding: 50px;
    }

    .pagina-concert .event-program {
        width: calc(100% - 6vw);
        padding: 48px 50px;
        grid-template-columns: minmax(0, 1fr) 210px;
        column-gap: 44px;
    }

    .pagina-concert .ticket-event-link a,
    .pagina-concert .share-event-link button,
    .pagina-concert .map-event-link a {
        font-size: 13px;
        letter-spacing: 0.12em;
    }
}

@media (max-width: 991px) {
    .pagina-concert .concert-hero {
        width: calc(100% - 48px);
        display: flex;
        flex-direction: column;
        min-height: auto;
        margin-top: 40px;
    }

    .pagina-concert .concert-hero .article-full-image {
        order: 1;
        width: 100%;
        height: 360px;
        min-height: 360px;
    }

    .pagina-concert .concert-hero .article-full-image::after {
        background: linear-gradient(
            to bottom,
            rgba(253, 253, 253, 0) 0%,
            rgba(253, 253, 253, 0.72) 100%
        );
    }

    .pagina-concert .concert-hero-content {
        order: 2;
        padding: 42px;
    }

    .pagina-concert .concert-hero-content h2 {
        font-size: 44px;
        margin-bottom: 38px;
    }

    .pagina-concert .concert-hero-day {
        font-size: 18px;
    }

    .pagina-concert .concert-hero-date {
        font-size: 38px;
    }

    .pagina-concert .concert-hero-date + div:not([class]) {
        font-size: 20px;
    }

    .pagina-concert .event-program {
        width: calc(100% - 48px);
        grid-template-columns: 1fr;
        row-gap: 38px;
        padding: 42px;
        margin-bottom: 70px;
    }

    .pagina-concert .event-program h2,
    .pagina-concert .event-program-description,
    .pagina-concert .event-actions-buttons {
        grid-column: 1;
    }

    .pagina-concert .event-actions-buttons {
        position: relative;
        top: auto;
        max-width: 360px;
    }
}

@media (max-width: 767px) {
    .pagina-concert .concert-hero {
        width: calc(100% - 32px);
        margin-top: 28px;
    }

    .pagina-concert .concert-hero .article-full-image {
        height: 300px;
        min-height: 300px;
    }

    .pagina-concert .concert-hero-content {
        padding: 30px 24px;
    }

    .pagina-concert .concert-hero-content h2 {
        font-size: 34px;
        line-height: 1.05;
        margin-bottom: 32px;
    }

    .pagina-concert .concert-hero-content .row {
        row-gap: 24px;
    }

    .pagina-concert .concert-hero-day {
        font-size: 15px;
        letter-spacing: 0.18em;
    }

    .pagina-concert .concert-hero-date {
        font-size: 30px;
        margin-bottom: 12px;
    }

    .pagina-concert .concert-hero-date + div:not([class]) {
        font-size: 17px;
        letter-spacing: 0.14em;
        margin-bottom: 20px;
    }

    .pagina-concert .concert-hero-hour {
        font-size: 14px;
        letter-spacing: 0.14em;
    }

    .pagina-concert .concert-hero-location-city {
        font-size: 14px;
        letter-spacing: 0.12em;
    }

    .pagina-concert .concert-hero-location,
    .pagina-concert .concert-hero-venue {
        font-size: 15px;
    }

    .pagina-concert .event-program {
        width: calc(100% - 32px);
        padding: 30px 24px;
        margin-top: 24px;
        margin-bottom: 54px;
        row-gap: 30px;
    }

    .pagina-concert .event-program h2 {
        font-size: 34px;
        margin-bottom: 10px;
    }

    .pagina-concert .event-program-description .relative {
        font-size: 16px;
        line-height: 1.6;
        padding: 18px 0;
    }

    .pagina-concert .event-actions-buttons {
        max-width: 100%;
        width: 100%;
    }

    .pagina-concert .ticket-event-link a,
    .pagina-concert .share-event-link button,
    .pagina-concert .map-event-link a {
        min-height: 52px;
        font-size: 13px;
        letter-spacing: 0.12em;
    }
}

/* =========================================================
   Upcoming Concerts - full width section
   Container full width, continut aliniat cu restul paginii
   ========================================================= */

.pagina-concert .upcoming-events-module {
    width: 100%;
    max-width: none;
    margin: 34px 0 90px;
    padding: 64px 0;
    background: #fdfdfd;
    border: 0;
    color: #140e0b;
}

/* Titlul respecta latimea celorlalte containere */
.pagina-concert .upcoming-events-module > h2 {
    width: calc(100% - 8vw);
    max-width: 1600px;
    margin: 0 auto 38px;
    padding: 0;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: -0.03em;
    color: #140e0b;
}

/* Modulul respecta aceeasi latime ca titlul si celelalte containere */
.pagina-concert .upcoming-events-module > .home-events-module {
    width: calc(100% - 8vw);
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
}

/* Responsive */
@media (max-width: 991px) {
    .pagina-concert .upcoming-events-module {
        margin: 30px 0 70px;
        padding: 52px 0;
    }

    .pagina-concert .upcoming-events-module > h2,
    .pagina-concert .upcoming-events-module > .home-events-module {
        width: calc(100% - 8vw);
    }
}

@media (max-width: 767px) {
    .pagina-concert .upcoming-events-module {
        margin: 24px 0 56px;
        padding: 42px 0;
    }

    .pagina-concert .upcoming-events-module > h2,
    .pagina-concert .upcoming-events-module > .home-events-module {
        width: calc(100% - 32px);
    }

    .pagina-concert .upcoming-events-module > h2 {
        margin-bottom: 28px;
        font-size: 30px;
    }
}

/* =========================================================
   LATEST NEWS ENHANCED PRO - HOME EVENTS MODULE
   Layout tip eveniment / calendar
========================================================= */

/* Reset list */
.home-events-module .latestnews-items,
.home-events-module .latestnews-items ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item {
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item .news {
    width: 100% !important;
    margin: 0 !important;
    padding: 2px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.home-events-module .latestnews-item .innernews {
    display: grid !important;
    grid-template-columns: 220px 1fr !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
    padding: 30px 0px !important;
    border: 4px solid #140e0b !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* =========================================================
   DATE / CALENDAR
========================================================= */

.home-events-module .latestnews-item .newshead.calendartype {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item .calendar.noimage {
    display: grid !important;
    grid-template-columns: auto auto !important;
    grid-template-areas:
        "weekday weekday"
        "day month"
        "year year" !important;
    align-items: end !important;
    justify-content: center !important;
    column-gap: 10px !important;
    row-gap: 6px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #140e0b !important;
    text-align: center !important;
    border: none !important;
}

.home-events-module .latestnews-item .calendar .position1.weekday,
.home-events-module .latestnews-item .calendar .weekday {
    grid-area: weekday !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #140e0b !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
}

.home-events-module .latestnews-item .calendar .position2.day,
.home-events-module .latestnews-item .calendar .day {
    grid-area: day !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #140e0b !important;
    font-size: 40px !important;
    font-weight: 400 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;
}

.home-events-module .latestnews-item .calendar .position3.month,
.home-events-module .latestnews-item .calendar .month {
    grid-area: month !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #140e0b !important;
    font-size: 40px !important;
    font-weight: 400 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;
}

.home-events-module .latestnews-item .calendar .position4.year,
.home-events-module .latestnews-item .calendar .year {
    grid-area: year !important;
    display: block !important;
    margin: 0px !important;
    padding: 0 !important;
    color: #140e0b !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.24em !important;
}

/* =========================================================
   CONTENT AREA
========================================================= */

.home-events-module .latestnews-item .newsinfo {
    display: grid !important;
    grid-template-columns: 1fr 200px !important;
    grid-template-areas:
        "title button"
        "details button" !important;
    align-items: center !important;
    column-gap: 48px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Title */
.home-events-module .latestnews-item .newstitle {
    grid-area: title !important;
    margin: 0 0 26px 0 !important;
    padding: 0 !important;
    color: #140e0b !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
    text-transform: uppercase !important;
}

.home-events-module .latestnews-item .newstitle a {
    color: #140e0b !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    transition: color 0.25s ease !important;
}

.home-events-module .latestnews-item .newstitle a:hover,
.home-events-module .latestnews-item .newstitle a:focus {
    color: #c17f5a !important;
    text-decoration: none !important;
}

/* =========================================================
   EVENT DETAILS
========================================================= */

.home-events-module .latestnews-item .item_details {
    grid-area: details !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item .item_details dt {
    display: none !important;
}

.home-events-module .latestnews-item .item_details dd {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item .newsextra {
    margin: 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item .detail {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-events-module .latestnews-item .detail_data {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #140e0b !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
}

/* Icon locație */
.home-events-module .latestnews-item .detail_data::before {
    content: "\f3c5" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    margin-right: 10px !important;
    color: #C17F5A !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

/* =========================================================
   BUTTON
========================================================= */

.home-events-module .latestnews-item .link.linkright {
    grid-area: button !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
}

.home-events-module .latestnews-item .link.linkright .btn,
.home-events-module .latestnews-item .link.linkright .btn-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0px 30px 0px 0px !important;
    padding: 20px 20px !important;
    border: 1px solid #140e0b !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #140e0b !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}

.home-events-module .latestnews-item .link.linkright .btn:hover,
.home-events-module .latestnews-item .link.linkright .btn-link:hover,
.home-events-module .latestnews-item .link.linkright .btn:focus,
.home-events-module .latestnews-item .link.linkright .btn-link:focus {
    background: #140e0b !important;
    color: #F7F4F1 !important;
    text-decoration: none !important;
    transform: translateY(-2px) !important;
}

.home-events-module .latestnews-item .link.linkright .btn span,
.home-events-module .latestnews-item .link.linkright .btn-link span {
    color: inherit !important;
}

/* =========================================================
   SCROLL ANIMATION
   Fiecare eveniment apare individual când intră în viewport
========================================================= */

.home-events-module.events-animate-ready .latestnews-item {
    opacity: 0 !important;
    transform: translateY(42px) !important;
    transition:
        opacity 0.7s ease,
        transform 0.7s ease !important;
    will-change: opacity, transform !important;
}

.home-events-module.events-animate-ready .latestnews-item.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Accesibilitate: fără animație pentru utilizatorii care preferă motion redus */
@media (prefers-reduced-motion: reduce) {
    .home-events-module.events-animate-ready .latestnews-item {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1199px) {
    .home-events-module .latestnews-item .innernews {
        grid-template-columns: 160px 1fr !important;
        gap: 32px !important;
        padding: 40px !important;
    }

    .home-events-module .latestnews-item .newsinfo {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "title"
            "details"
            "button" !important;
        row-gap: 26px !important;
    }

    .home-events-module .latestnews-item .link.linkright {
        justify-self: start !important;
        text-align: left !important;
    }

    .home-events-module .latestnews-item .newstitle {
        margin-bottom: 0 !important;
        font-size: 28px !important;
    }
}

/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {
    .home-events-module .latestnews-item .innernews {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 30px 24px !important;
    }

    .home-events-module .latestnews-item .newshead.calendartype {
        justify-content: flex-start !important;
    }

    .home-events-module .latestnews-item .calendar.noimage {
        justify-content: start !important;
        text-align: left !important;
    }

    .home-events-module .latestnews-item .calendar .position1.weekday,
    .home-events-module .latestnews-item .calendar .weekday {
        font-size: 14px !important;
    }

    .home-events-module .latestnews-item .calendar .position2.day,
    .home-events-module .latestnews-item .calendar .day,
    .home-events-module .latestnews-item .calendar .position3.month,
    .home-events-module .latestnews-item .calendar .month {
        font-size: 38px !important;
    }

    .home-events-module .latestnews-item .calendar .position4.year,
    .home-events-module .latestnews-item .calendar .year {
        font-size: 18px !important;
    }

    .home-events-module .latestnews-item .newstitle {
        font-size: 24px !important;
        line-height: 1.15 !important;
    }

    .home-events-module .latestnews-item .detail_data {
        font-size: 15px !important;
        letter-spacing: 0.16em !important;
    }

    .home-events-module .latestnews-item .link.linkright {
        width: 100% !important;
    }

    .home-events-module .latestnews-item .link.linkright .btn,
    .home-events-module .latestnews-item .link.linkright .btn-link {
        width: 100% !important;
        min-width: 0 !important;
    }
}