/*Tipografias*/
@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161014_1760623814.8323Montserr.ttf') format("truetype");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161021_1760623821.0238Montserr.ttf') format("truetype");
  font-weight: 900;
  font-style: italic;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161027_1760623827.0913Montserr.ttf') format("truetype");
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161037_1760623837.9525Montserr.ttf') format("truetype");
  font-weight: 800;
  font-style: italic;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161047_1760623847.4561Montserr.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161056_1760623856.5177Montserr.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161109_1760623869.453Montserr.ttf') format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161123_1760623883.5399Montserr.ttf') format("truetype");
  font-weight: 600;
  font-style: italic;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161218_1760623938.124Montserr.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('https://cdn.janto.es/pro/web5/fresh/6025/fonts/20251016161231_1760623951.2824Montserr.ttf') format("truetype");
  font-weight: 400;
  font-style: italic;
}

body {
  font-family: 'Montserrat', sans-serif;
}

/*Elimina*/
#home-section .vertical-card__price, 
#home-section .vertical-card__title,
#FUNBOXCIU .vertical-card__image,
#FUNBOXCIU .vertical-card__info,
#separatorDate,
.footer-container-main,
.time-range-selector,
.home-section__title,
#progress_bar,
.header_web5,
.container_info .first_container,
.container_info .data .description_box,
.container_info .data button,
.container_info .data .title_event,
.container_info .data .date_row_info i, 
.container_info .data .venue_row_info i,
.area_container .zone,
#split_card .image_holder, 
#split_card .text_show_holder,
img.flat_image_container,
.checkout_holder > .card > img,
.counter_container .clock_holder,
.counter_container .text_holder > div:first-child,
.checkout_holder .standard-card__venue i,
.checkout_holder .standard-card__date i,
.purchase-section__checkboxes > div:nth-child(2) label a,
.purchase-section__checkboxes > div:nth-child(3) label a,
.confirmation_core_container .card-img.img-responsive,
.central_content,
#O .modal-header,
#O .modal-footer__button--cancel,
.purchase_box_holder .methods_container button.button_payment img {
    display: none!important;
}

/*Fondos*/
#web5.general_container #web5 > div:nth-child(2) {
  background-image: url('https://cdn.janto.es/pro/static/web5/fticketing/PDS/fondo/bg_core.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  background-attachment: fixed;
}

.checkout_core_container > div,
#sessions,
.sessions_unnumbered_container_great, 
.sessions_unnumbered_web5-container,
.time-selector,
.section-divider,
#home,
.web5_event_wrapper,
.checkout_core_container,
.confirmation_core_container,
.confirmation_core_container > div {
    background-color: transparent;
}

/*Header*/
#header {
  background-color: transparent;
  box-shadow: none;
}
.right_container {
  width: auto;
  padding-right: 0px;
  position: absolute;
  right: 24px;
}
.header {
  justify-content: center;
  padding: 16px 24px;
  max-width: 720px;
  margin: auto;
  position: relative;
}
.logo_container {
  padding-left: 0px;
  height: 300px;
  width: auto;
}
.logo_container > div {
  justify-content: center;
}
img.logo_image {
  padding: 0px;
}

/*Home*/
#home {
  margin-top: 140px;
}
#home-section {
  max-width: 1200px;
  margin-top: 0px;
}
.home-section__cards-container {
  row-gap: 140px;
  column-gap: 40px;
}

/*Ficha evento*/
#home-section .vertical-card {
  background-color: #bc92ff;
  border: 2px solid #000000;
  box-shadow: 4px 4px 1px 2px #000000;
  border-radius: 24px;
  padding: 24px;
  padding-top: 88px;
  height: 380px;
}
#home-section .vertical-card__date {
  color: #000;
  position: unset;
  background-color: transparent;
  padding: 0px;
  border-radius: 0px;
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  flex-wrap: wrap;
  line-height: normal;
  row-gap: 0px;
}
#home-section .vertical-card__date .vertical-card__day {
  font-size: 18px;
  font-weight: bold;
}
#home-section .vertical-card__date .vertical-card__month-container {
  font-weight: bold;
}
#home-section .vertical-card__date .vertical-card__month {
  text-transform: uppercase;
}
#home-section .vertical-card__image {
  order: 2;
  position: unset;
}
#home-section .vertical-card__image img {
  object-fit: contain !important;
  position: absolute;
  top: -114px;
  width: 100%;
  height: 180px;
  left: 0;
  object-position: center;
}
#home-section .vertical-card__info {
  order: 1;
  padding: 0px;
  gap: 0px;
}
#home-section .vertical-card__venue {
  font-size: 18px;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  -webkit-line-clamp: unset;
  order: 2;
  border-top: 1px solid #f5f576;
  border-bottom: 1px solid #f5f576;
  margin: 16px 0px;
  box-sizing: border-box;
  padding: 16px 0px;
  line-height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
}
#home-section .vertical-card__description {
  color: #000000;
  font-weight: 900;
  text-transform: uppercase;
  width: 100%;
  text-align: center;
  font-size: 26px;
  order: 1;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#home-section .vertical-card__button-container {
  position: unset;
  width: 100%;
  order: 3;
}
#home-section .vertical-card__button {
  font-weight: 900;
  text-transform: uppercase;
  border: 2px solid #000000!important;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px;
  border-radius: 100px;
  width: 100%;
}

/*Ficha de evento "Mas ciudades"*/
div#FUNBOXCIU {
  width: 90% !important;
}
div#FUNBOXCIU > a {
  width: 100% !important;
}
#FUNBOXCIU .vertical-card {
  height: 100px;
  padding: 0px;
  width: 100%;
}
#FUNBOXCIU .vertical-card__button-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 30px;
}
#FUNBOXCIU .vertical-card__button {
  width: auto;
  font-size: 0px;
  padding: 8px 60px;
}
#FUNBOXCIU .vertical-card__button:after {
  content: 'm\000E1 s ciudades';
  font-size: 16px;
  display: block;
}
#FUNBOXCIU .vertical-card:after {
  content: '';
  background-image: url('https://cdn.janto.es/pro/web5/fresh/6378/images/DECO/20240529182254_1716999774.7343mun%CC%83eco.svg');
  height: 140px;
  width: 140px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  right: -56px;
  top: 5px;
}
#FUNBOXCIU .vertical-card:before {
  content: '';
  background-image: url('https://cdn.janto.es/pro/web5/fresh/6378/images/DECO/20240529182444_1716999884.0361mun%CC%83eco.svg');
  height: 141px;
  width: 141px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: -62px;
  top: -39px;
}
#FUNBOXCIU .container_info .data > div:nth-child(2) {
  visibility: hidden;
}

/*Lugar y fecha*/
.container_info {
  padding: 0px 16px;
}
.container_info .data {
  padding: 12px 0px;
  border-top: 2px solid #fae450;
  border-bottom: 2px solid #fae450;
  width: 100%;
  max-width: 720px;
  margin: 12px auto;
}
.container_info .data .date_row_info, 
.container_info .data .venue_row_info {
  justify-content: center;
  text-transform: uppercase;
  text-align: center;
}
.container_info .data .date_row_info {
  order: 2;
  font-size: 28px;
  font-weight: 600;
}
.container_info .data .venue_row_info {
  order: 1;
  font-size: 28px;
  font-weight: 800;
}

/*Banda calendario*/
#second:before {
  content: '';
  background-image: url('https://cdn.janto.es/pro/fresh/recursos/img/20250618165637_1750258597.1606FundayWE.png');
  height: 120px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  margin: auto;

  display: none;
}

/*Calendario*/
.calendar {
  padding: 16px
}
.calendar__body {
  background-color: #944cd4;
  box-shadow: 3px 3px 4px 3px #00000099;
  border-radius: 24px;
  color: #ffffff;
  width: 300px;
}
.calendar__month-label {
  text-transform: uppercase;
}
button.calendar__nav {
  color: #ffffff;
}
.calendar__day {
  height: 40px;
}
.calendar__day,
.calendar__weekday {
  width: 14.28%;
}
.calendar__day-content {
  background-color: transparent;
  border-color: transparent;
  color: #fae450;
  border-width: 2px;
  border-radius: 8px;
  position: relative;
}
.calendar__day-content--disabled {
  opacity: 0.5;
  color: #ffffff;
}
.calendar__day-content--selected {
  border-color: #fae450;
}
.calendar__day-content:after {
  content: '.';
  color: #fae450;
  font-size: 32px;
  position: absolute;
  top: 8px;
}
.calendar__day .availability-indicator,
.calendar__day-content--disabled:after {
  display: none;
}
.calendar__weekdays {
  margin: 8px 0px;
}
.calendar__day-content--sold-out {
  opacity: 0.7;
}
.calendar__day-content--sold-out:before {
  content: '';
  background-image: url('https://cdn.janto.es/pro/static/web5/fticketing/PDS/decoraciones/agotado.svg');
  width: 54px;
  height: 54px;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 0px;
  z-index: 1;
}
.web5_event_wrapper.fr .calendar__day-content--sold-out:before {
  background-image: url('https://cdn.janto.es/pro/r/recursos/img/20260220123133_1771587093.1122Cartelag.png');
}

@media (min-width: 380px) {
  .calendar__day {
    height: 40px;
  }
  .calendar__body {
    width: 320px;
  }
}

@media (min-width: 420px) {
  .calendar__body {
    width: 340px;
  }
}

@media (min-width: 480px) {
  .calendar__body {
    width: 420px;
  }
}

@media (min-width: 768px) {
  .calendar__month-label {
    font-size: 20px;
  }
  .calendar__week {
    gap: 0px;
  }
  .calendar__weekdays {
    gap: 0px;
    margin: 16px 0px;
  }
  .calendar__day {
    height: 48px;
  }
  .calendar__body {
    gap: 8px;
    padding: 40px;
    width: 720px;
  }
}

@media (min-width: 1050px) {
  .museum-mode__horizontal-section {
    padding: 12px 24px;
  }
}

/*Descuentos*/
.discount-badge {
  height: 28px;
  width: 28px;
  background-color: transparent;
  color: transparent;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding: 0px;
}
.calendar__day .discount-badge {
  top: 0px;
  right: 0px;
}
button.time-slot-selector__button .discount-badge {
  top: -12px;
  right: 2px;
}
.discount-badge.discount-badge--type-0,
.discount-badge.discount-badge--type- {
  background-image: url('https://cdn.janto.es/pro/fresh/recursos/img/20250618165526_1750258526.3065corazona.png');
}
.discount-badge.discount-badge--type-1 {
  background-image: url('https://cdn.janto.es/pro/fresh/recursos/img/20250618165541_1750258541.2698corazonc.png');
}
.discount-badge.discount-badge--type-2 {
  background-image: url('https://cdn.janto.es/pro/mg/recursos/img/20250618174225_1750261345.305corazonr.png');
}

/*Pases*/
.section-divider {
  padding: 16px;
  padding-bottom: 0px;
}
.section-divider__title-wrapper {
  max-width: 720px;
  margin: 0px auto;
  border-top: 2px solid #fae450;
  border-bottom: 2px solid #fae450;
  padding: 12px 0px;
  justify-content: center;
}
h4.section-divider__title {
  color: #ffffff;
  text-transform: uppercase;
  font-size: 28px !important;
  font-weight: 600;
}
.section-divider__icon {
  display: none;
}
.time-selector {
  min-height: unset;
}

button.time-slot-selector__button {
  background-color: #f5f576;
  box-shadow: 1px 4px 2px 0px #000000;
  border-radius: 20px 100px 100px 20px;
  padding: 8px 12px;
  border: none;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-direction: row-reverse;
}
button.time-slot-selector__button--sold-out {
  opacity: 0.7;
}
button.time-slot-selector__button--sold-out:before {
  content: '';
  background-image: url('https://cdn.janto.es/pro/static/web5/fticketing/PDS/decoraciones/agotado.svg');
  width: 80px;
  height: 42px;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: -7px;
}
.web5_event_wrapper.fr button.time-slot-selector__button--sold-out:before {
  background-image: url('https://cdn.janto.es/pro/r/recursos/img/20260220123133_1771587093.1122Cartelag.png');
}
button.time-slot-selector__button:has(.discount-badge--type-3) {
  color: transparent;
  font-size: 0px!important;
  background-color: #e64c70;
}
button.time-slot-selector__button:has(.discount-badge--type-3):after {
  content: 'VIP';
  color: #000000;
  font-size: 20px;
}

@media (min-width: 480px) {
  .time-slot-selector__list {
    gap: 16px;
  }
}

/*Disponibilidad*/
.very_high_occupancy {
  background-color: #fc2803;
}
.no_occupancy {
  background-color: #989898;
}
.high_occupancy {
  background-color: #f5a04e;
}

/*Leyenda ocupacion*/
.availability-guide {
  box-shadow: 1px 4px 2px 0px #000000;
  border-radius: 6px;
  padding: 12px 16px;
  font-weight: 700;
}
.availability-guide div:has(div.no_occupancy) {
  display: none;
}

/*Split Card*/
#split_card {
  background-color: transparent;
  padding: 0px;
  margin: 0px;
}

/*Concesiones*/
#session_element {
  padding: 0px 16px;
}
.sessions_unnumbered_web5-subcontainer {
  max-width: 720px;
  padding: 0px;
}
#session_element > .text-center {
  padding: 12px 0px;
  border-top: 2px solid #fae450;
  border-bottom: 2px solid #fae450;
  text-transform: uppercase;
}
#session_element > .text-center h3 {
  font-size: 28px!important;
  font-weight: 600 !important;
}
.area_container {
  padding: 32px 0px;
}
.zone_container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ticket-selector {
  border-radius: 24px 100px 100px 24px;
  box-shadow: 1px 4px 2px 0px #000000;
  border: none;
  flex-direction: row;
  align-items: center;
}
.ticket-selector .discount-badge {
  display: none;
}
button.ticket-selector__button {
  height: 32px;
  width: 32px;
}
button.ticket-selector__button i {
  font-weight: 700;
  line-height: 32px;
  font-size: 24px;
}
.ticket-selector__actions {
  align-self: center;
}
.ticket-selector__quantity span {
  font-weight: 700;
}
.ticket-selector__ticket-price {
  font-weight: 700;
}

/*Banda INFO*/
.sessions_unnumbered_web5-container:after {
  content: '';
  background-image: url('https://cdn.janto.es/pro/web5/fresh/6797/images/BANDA/20240314163246_1710430366.3555info-web.png')!important;
  width: 100%;
  margin: 0 auto;
  max-width: 720px;
  height: 180px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
}
.web5_event_wrapper.fr .sessions_unnumbered_web5-container:after {
  background-image: url('https://cdn.janto.es/pro/r/recursos/img/20260130110912_1769767752.8316WEB_info.png') !important;
}

/*Carro*/
footer.shopping_cart {
  background-color: #ad6af7;
  color: #fff;
  font-weight: 600;
}
#web5 #web5 .container_next_button button,
.mini_cart button.btn.next_button {
  background-color: #ad6af7 !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  border-radius: 100px !important;
  box-shadow: 1px 4px 2px 0px #8c44d8;
  border: 1px solid #8c44d8 !important;
  color: #ffffff !important;
  padding: 12px 16px !important;
  line-height: normal !important;
}

/*Resumen de compra*/
.checkout_core_container > div,
.confirmation_core_container > div {
  padding-top: 12px;
  max-width: 940px!important;
  margin: 0 auto;
}
.checkout_core_container > div > .web5-row,
.confirmation_core_container > div > .web5-row {
  flex-direction: column;
  width: 100%;
  gap: 24px;
  padding: 24px;
  background-color: #ad6af7;
  box-shadow: 3px 3px 4px 3px #00000099;
  border-radius: 24px;
}
.checkout_holder {
  width: 100%;
  flex: unset;
  max-width: unset;
  padding: 0px !important;
}
.checkout_holder .standard-card__info {
  color: #ffffff;
  padding: 0px;
  border-bottom: 2px solid #fae450;
  padding-bottom: 16px;
  gap: 8px;
}
.checkout_holder .standard-card__info:has(h5:empty) {
  border-bottom: none;
  padding: 0px;
}
.checkout_holder .standard-card__title {
  font-weight: 800;
}
.checkout_holder .standard-card__description:empty {
  display: none;
}
.checkout_holder .standard-card__venue {
  order: 1;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 600;
}
.checkout_holder .standard-card__venue > div {
  -webkit-line-clamp: 2;
}
.checkout_holder .standard-card__date {
  order: 2;
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
}
.checkout_holder-ticket_info,
.checkout_core_container h5,
.confirmation_core_container h5,
.purchase-section {
  color: #ffffff !important;
}
.checkout_holder-ticket_info {
  padding: 0px;
}
.checkout_holder-ticket_info .selection {
  border-bottom: 1px solid #ffffff;
  padding-top: 12px;
  padding-bottom: 12px;
}
.checkout_holder-ticket_info .selection .row_selection {
  font-weight: 600;
}
.checkout_holder-ticket_info .selection .row_selection.commision_container,
.checkout_holder-ticket_info .selection .row_selection.discount_container {
  font-weight: 400!important;
}
.checkout_holder-ticket_info .selection .row_selection.commision_container.collapsed_row,
.checkout_holder-ticket_info .selection .row_selection.discount_container.collapsed_row {
  padding-top: 4px;
}
.checkout_holder-divider {
  display: none;
}
.checkout_core_container .card,
.confirmation_core_container .card {
  background-color: transparent !important;
  border: none !important;
}
.checkout_holder-ticket_info .total_container {
  margin-top: 12px;
  justify-content: end;
  font-size: 18px;
}
.commision_holder {
  color: #ffffff;
}
.commision_container svg,
.discount_container svg {
  fill: #fff;
}
div:has(> .row_selection.commision_container),
div:has(> .row_selection.discount_container)  {
  border-bottom: none;
  padding-bottom: 4px;
}
.row_selection.discount_container .discount_holder, 
.row_selection.discount_container .prices_holder > div {
  color: #f5f576;
  font-weight: 600;
}
.purchase_box_holder {
  width: 100%;
  padding: 0px !important;
  flex: unset;
  max-width: unset;
}
.purchase_box_holder div.gUeFfv {
  background-color: transparent;
  border: none;
  padding-left: 0px;
  padding-right: 0px;
}
.purchase-section,
.confirmation-page_general-text {
  padding: 0px;
}
.confirmation-page_general-text > div {
  align-items: center;
  border: none;
  padding-bottom: 0px;
}
h5.purchase-section__title,
.confirmation-page_title {
  font-weight: 600!important;
  margin-bottom: 8px !important;
  font-size: 18px !important;
}
.purchase-section__subtitle a {
  color: #ffffff;
  text-decoration: underline;
  margin-left: 8px;
}
.purchase-section__buttons button,
button.purchase-section__button {
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px;
  border-radius: 100px;
  background-color: #f5f576;
  color: #000000;
}
.purchase-section__checkboxes label a {
  color: #ffffff !important;
  text-decoration-color: #ffffff !important;
}
.purchase-section__checkboxes label.error_checkbox {
  color: #A00000;
  font-weight: 600;
}
.purchase-section__checkboxes label.error_checkbox a {
  color: #A00000 !important;
  text-decoration-color: #A00000 !important;
}
.confirmation-page_general-text {
  color: #ffffff;
  text-align: center;
}
p.confirmation-page_text {
  margin-bottom: 0px !important;
}
.confirmation_ticket_links ul {
  display: flex;
  justify-content: center;
  margin: 16px 0px;
  padding: 0px;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
#web5 #web5 button.btn.boton-download {
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px;
  border-radius: 100px;
  line-height: normal;
}
.confirmation-page_receipt {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: start;
  align-items: center;
  padding-top: 16px;
}

/*Contador*/
.counter_container {
  background-color: transparent;
  border-radius: 0px;
  padding: 8px 16px;
  color: #ffffff;
  font-weight: 600;
  border: 2px solid #fae450;
}

/*Inputs del formulario*/
form.purchase-section__form {
  margin-top: 12px;
}
label.MuiFormLabel-root.MuiInputLabel-root.MuiInputLabel-formControl.MuiInputLabel-animated.MuiInputLabel-outlined {
  color: #000000!important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  top: -10px!important;
}
input.MuiInputBase-input.MuiOutlinedInput-input {
  padding: 0px 16px!important;
  border: none!important;
  background-color: transparent!important;
  height: 100%;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
}
.MuiInputBase-root.MuiOutlinedInput-root.MuiInputBase-fullWidth.MuiInputBase-formControl,
.purchase-section__coupon .MuiInputBase-root.MuiOutlinedInput-root.MuiInputBase-formControl {
  border: none;
  border-radius: 100px!important;
  height: 100%;
}
fieldset.jss9.MuiOutlinedInput-notchedOutline {
  background-color: transparent!important;
  padding: 0px!important;
  border: none!important;
}
.MuiFormControl-root.MuiTextField-root.form-control-web5.MuiFormControl-fullWidth,
.purchase-section__coupon .MuiFormControl-root.MuiTextField-root.form-control-web5 {
  border-radius: 100px!important;
  box-shadow: 0px 3px 0px 0px #000000;
}
.MuiOutlinedInput-notchedOutline {
  border: 0px!important;
}

/**Campo obligatorio formulario**/
.MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline {
  border-color: #A00000;
  border-width: 3px;
  overflow: visible;
}
.MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline:after {
  content: 'Campo obligatorio';
  color: #A00000;
  position: absolute;
  top: -32px;
  right: 0px;
  font-size: 14px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}
.personal_info label.error_checkbox:after {
  content: 'Campo obligatorio';
  color: #A00000;
  font-size: 14px;
  margin-left: 8px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}
form > .purchase-section__inputs:first-child .purchase-section__input:first-child .text_field_holder .MuiFormControl-root.MuiTextField-root.form-control-web5.MuiFormControl-fullWidth {
  background-color: #f5f576;
}

/*Banner cookies*/
.widgetCookiesButtons button {
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px;
  border-radius: 100px;
}

/*Modal general*/
.modal-content {
  background-color: #944cd4!important;
  border-radius: 24px !important;
  box-shadow: 3px 3px 4px 3px #00000099;
  border: none!important;
  color: #ffffff;
}
h5.modal-header__title, 
.modal-header__button span {
  color: #fff !important;
}
.modal-body:has(p:empty) {
  padding: 0px !important;
}
.modal-body p:empty {
  margin: 0px !important;
}
.modal-body .form-group {
  margin: 0px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.modal-body .form-group input {
  color: #000000;
  font-weight: 600;
}
.modal-footer__button--cancel {
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px !important;
  border-radius: 100px;
  border: none !important;
}
.modal-footer__button--accept {
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px!important;
  border-radius: 100px;
}
#web5 #U .modal-body a {
  color: #fff;
  text-decoration: underline;
}

/*Modal VC*/
#vc .modal-header:has(.modal-header__title:empty) {
  border-bottom: none !important;
}
#vc .modal-body__vc-options {
  background-color: transparent;
  align-items: start;
  padding-top: 24px;
}
#vc .vc-options__card {
  background-color: transparent;
  padding: 0px;
  border: none;
  position: relative;
  margin-bottom: 16px;
  gap: 0px;
}
#vc .vc-options__card:last-of-type {
  margin-bottom: 0px;
}
#vc h5.vc-options__title {
  background-color: #f5f576;
  color: #000000;
  padding: 8px 16px;
  border-radius: 100px;
  box-shadow: 1px 2px 2px 0px #000000;
  font-weight: 700;
  padding-left: 80px;
  width: auto;
}
#vc img.vc-options__card-image {
  position: absolute;
  top: -60px;
  left: 0px;
  width: 68px;
  height: auto;
}
#vc .vc-options__card-title {
  display: none;
}
#vc .vc-options__card-text {
  margin-top: 28px;
}
#vc .vc-options__card-selector .tick_holder {
  border-color: #ffffff;
}

/*Scroll VC*/
#vc ::-webkit-scrollbar {
  width: 10px;
}
#vc ::-webkit-scrollbar-thumb {
  background: #8b8b8b;
  border-radius: 100px;
}
#vc ::-webkit-scrollbar-track {
  background: #fcfcfc;
  border-radius: 100px;
}

/*Modal imagen promocion*/
#O .modal-content {
  background-color: transparent !important;
  box-shadow: none;
  border-radius: 0px !important;
}
#O .modal-body {
  max-height: unset;
  padding: 0px;
}
#O .modal-footer {
  justify-content: center;
  padding: 0px;
}
#O .modal-body p:after {
  content: '';
  width: 100%;
  height: 600px;
  background-image: url('https://cdn.janto.es/pro/fresh/recursos/img/20260217180131_1771347691.7589POPUP_VI.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
}
#O .modal-body .form-group {
  display: none;
}

/*Canjeo entradas*/
.purchase_box_holder > .card > div {
  padding: 0px;
}
.payment-methods,
.payment-methods__tnf {
  margin-top: 16px;
}
.payment-methods h5 {
  display: none;
}
.payment-methods__tnf h5 {
  font-size: 18px !important;
}
.payment-methods__buttons button {
  border-radius: 100px;
  background-color: #f5f576;
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  padding: 8px 12px;
}
.tnf__buttons button {
  font-weight: 700;
  box-shadow: 1px 2px 2px 0px #000000;
  border-radius: 100px;
  border: none !important;
  background-color: #ffffff;
  line-height: normal;
  padding: 8px 12px;
}
#web5 #web5 .tnf__buttons .btn, 
.tnf__buttons button:last-child {
  border-radius: 100px;
  font-weight: 700;
  line-height: normal;
  padding: 8px 12px;
}
form.tnf__form input {
  border-radius: 100px;
  box-shadow: 0px 3px 0px 0px #000000;
  border: none;
  color: #000000 !important;
  font-weight: 800;
}
form.tnf__form select {
  box-shadow: 0px 3px 0px 0px #000000;
  border: none;
  color: #000000 !important;
  font-weight: 800;
  background-color: #f5f576!important;
}

@media only screen and (max-width: 768px) {
  /*Lugar y fecha*/
  .container_info .data > div:first-of-type {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .discount-badge {
    height: 20px;
    width: 20px;
  }
  .calendar__day .discount-badge {
    top: -6px;
    right: -6px;
  }
  .calendar__day-content:after {
    top: 2px;
  }
  button.time-slot-selector__button .discount-badge {
    top: -8px;
    right: 5px;
  }
}

@media only screen and (max-width: 480px) {
  /*Header*/
  .header {
    padding: 0px;
  }

  /*Home*/
  .home-section__cards-container {
    row-gap: 80px;
    column-gap: 16px;
  }
  #home {
    margin-top: 100px;
  }
  #home-section {
    padding: 0px;
    padding-bottom: 80px;
  }

  /*Ficha evento*/
  .home-section__cards-container > div {
    width: 170px !important;
  }
  .home-section__cards-container > div > a {
    width: 100% !important;
  }
  #home-section .vertical-card__description {
    font-size: 16px;
  }
  #home-section .vertical-card__venue,
  #home-section .vertical-card__date,
  #home-section .vertical-card__date .vertical-card__day {
    font-size: 12px;
  }
  #home-section .vertical-card__venue {
    line-height: normal;
    margin: 8px 0px;
    padding: 8px 0px;
    height: 50px;
  }
  #home-section .vertical-card {
    height: 264px;
    padding: 8px;
    padding-top: 48px;
  }
  #home-section .vertical-card__image img {
    height: 110px;
    top: -70px;
  }
  #home-section .vertical-card__button {
    font-size: 14px;
  }

  /*Mas ciudades*/
  div#FUNBOXCIU {
    width: 75%!important;
  }
  #FUNBOXCIU .vertical-card:after {
    height: 90px;
    width: 90px;
    top: 42px;
    right: -34px;
  }
  #FUNBOXCIU .vertical-card:before {
    height: 90px;
    width: 90px;
    left: -44px;
  }
  #FUNBOXCIU .vertical-card {
    height: 100px;
    padding: 0px;
  }
  #FUNBOXCIU .vertical-card__button {
    font-size: 0px;
  }
  #FUNBOXCIU .vertical-card__button:after {
    font-size: 14px;
  }

  /*Banda info*/
  .sessions_unnumbered_web5-container:after {
    background-image: url('https://cdn.janto.es/pro/web5/fresh/6797/images/BANDA/20240314163237_1710430357.6928info-mov.png') !important;
    height: 140px;
  }
  .web5_event_wrapper.fr .sessions_unnumbered_web5-container:after {
    background-image: url('https://cdn.janto.es/pro/r/recursos/img/20260130110926_1769767766.4497MOVIL_in.png') !important;
  }

  /*Logo*/
  .logo_container {
    height: 180px;
  }

  /*Banda calendario*/
  #second:before {
    height: 80px;
    background-image: url('https://cdn.janto.es/pro/fresh/recursos/img/20250618165653_1750258613.3474FundayMO.png') !important;
  }

  .calendar__week {
    gap: 0px;
  }
  .calendar__day-content--sold-out:before {
    width: 40px;
    height: 40px;
  }

  /*Leyenda disponibilidad*/
  .availability-guide {
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 4px;
  }

  /*Tipografia + pequena*/
  .container_info .data .venue_row_info,
  .container_info .data .date_row_info,
  h4.section-divider__title,
  #session_element > .text-center h3 {
    font-size: 18px!important;
  }

  button.time-slot-selector__button,
  button.time-slot-selector__button:has(.discount-badge--type-3):after,
  #web5 #web5 .container_next_button button, 
  .mini_cart button.btn.next_button {
    font-size: 18px!important;
  }

  /*Campo obligatorio formulario*/
  .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline:after {
    font-size: 12px;
  }

  .ticket-selector {
    flex-direction: column;
    gap: 4px;
    align-items: start;
  }

  .purchase-section__buttons button {
    width: 100%;
  }

  #O .modal-body p:after {
    height: 480px;
  }
}

@media only screen and (max-width: 420px) {
  /*Banda informacion*/
  .sessions_unnumbered_web5-container:after {
    height: 100px;
  }

  /*Banda promocion*/
  #second:before {
    height: 70px;
  }
}

@media (max-width: 380px) {
  .calendar__body {
      gap: 0px;
  }
  .calendar__day-content {
      font-size: 14px;
  }
}