/* ===================================
    Crafto - Conference
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');
/* variable */
:root {     
    --base-color: #21452e; 
    --dark-gray: #ebe4da;
    --medium-gray: #ffffff;
    --alt-font: 'DM Sans', sans-serif;
    --primary-font: 'DM Sans', sans-serif;
}  
/* reset */
body { 
    font-size: 17px;
}

@font-face {
    font-family: 'Skia';
    font-style: normal;
    font-weight: 48 1000; 
    src: local('Skia'), url('../fonts/ufonts.com_skia.woff') format('woff');
}

.btn.btn-dark-gray{
    color: var(--base-color);
}

.logo-font {
    font-family: Skia, sans-serif;
    font-variation-settings: 'wght' 300;
}

.mySwiper, .mySwiper .swiper-wrapper {
    height: auto !important;
    min-height: 100vh;
}

.mySwiper .swiper-slide {
    height: auto !important;
    min-height: 100vh;
    position: relative; /* Cambiado de absolute para que tenga volumen */
    display: flex;
    align-items: center;
}


/* model popup */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
    background: var(--base-color);
    opacity: 0.9;
}
.subscribe-popup .mfp-close:before, .subscribe-popup .mfp-close:active:before {
    color: var(--white);
}
.subscribe-popup .newsletter-popup img {
    border-radius: 6px;
}
/* header */
.navbar-toggler-line{
    background: var(--base-color);
}

.sticky .header-transparent .header-button .btn { 
    background-color: var(--dark-gray);
    border-color: rgba(23, 23, 23, 0.20);
    color: var(--white);
}
.sticky .header-transparent .header-button .btn:hover {
    background-color: var(--dark-gray);
    color: var(--white);
    border-color:  var(--dark-gray);
}
.navbar .navbar-nav .nav-link {
    font-size: 18px;
    font-weight: 400;
} 
header .navbar-brand img {
    max-height: 50px;
}
.header-icon .icon > a {
    font-size: 16px;
}
header .btn.btn-rounded.btn-small {
    padding: 10px 32px;
}
header .btn-image {
    width: 210px;
}
.header-icon .icon .header-language > a, .header-icon .icon .header-cart > a {
    font-size: 16px;
}
.navbar .btn {
    font-size: 15px;
    font-weight: 400 !important;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
    width: 330px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a .submenu-icon-content {
    line-height: 22px;
    letter-spacing: normal;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a span {
    font-weight: 500;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a p {
    font-size: 14px;
    color: var(--medium-gray);
    letter-spacing: normal;
    font-weight: 400;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a img {
    width: 65px;
}
/* bg gradient color */
.bg-gradient-black-transparent {
    background: linear-gradient(306deg, rgba(0,0,0,0.5) 0%, rgba(240,244,253,0) 55%);
}
/* bg color */
.bg-midnight-blue {
    background-color: #1c1c1f;
}
.bg-dark-midnight-blue {
    background-color: #173429;
} 
/* bg color transparent */
.bg-base-color-transparent {
    background-color: rgba(217, 10, 44,.9);
}

.bg-orange-transparent {
    background-color: rgba(239, 153, 31, 0.9);
}
/* ===== CARRUSEL ===== */
.carousel {
  width: 100%;
  max-width: 1200px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  border-radius: 15px;
  background: #000;
}

.carousel-track {
  display: flex;
  width: 100%;
  transition: transform 0.5s ease-in-out;
}

.carousel-track img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  flex-shrink: 0;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  font-size: 30px;
  padding: 10px 15px;
  cursor: pointer;
  border-radius: 50%;
  z-index: 10;
}

.prev { left: 10px; }
.next { right: 10px; }

/* text color */
.body-text-color {
    color: #666469; 
}
a {
    color: #666469;
}
/* btn */
.btn-dark-midnight-blue {
    background-color: #191932;
    color: var(--white); 
}
.btn-dark-midnight-blue:hover {
    background-color: var(--white); 
    color: #191932;
}
/* border color */
.border-color-dark-blue {
    border-color: #303047 !important;
}
/* footer */
footer a {
    color: var(--medium-gray);
}
.footer-navbar a { 
    padding: 8px 18px;    
}
footer .footer-logo img {
    max-height: 35px;
}
.footer-navbar .nav-link:focus, .footer-navbar .nav-link:hover {
    color: var(--base-color);
}
/* input size */
.input-small, .textarea-small {
    font-size: 15px;
}
/*  subcribe style 01  */
.newsletter-style-01 input, .newsletter-style-01 input.is-invalid {
    padding-right: 70px;
}
/* event style 02  */ 
.time-table-box{
    flex-basis: 25%;
    padding: 40px 10px;
}
.inner-box > div {
    line-height: initial;
    margin-top: 7px;
}
/* countdown style 02  */ 
.countdown-style-02 .countdown-box .number {
    font-weight: 500;
}
.countdown-style-02 .countdown-box span {
    font-size: 15px;
    color: #fff;
    opacity: .5;
    font-weight: 400;
}
.countdown-style-02 .countdown-box:before {
    color: var(--base-color);
    opacity: 1;
}
/* page title */
.page-title-extra-large h1 {
    font-size: 7.5rem;
    line-height: 8.5rem;
}
/* sidebar */
aside .btn-box-shadow:hover {
    -webkit-box-shadow: none;  
    box-shadow: none;
    -webkit-transform: none; 
    transform: none;
}
/* media query responsive */
@media (max-width: 1399px) {
    header .btn.btn-rounded.btn-small {
        padding: 10px 20px;
    }
}
@media (max-width: 1199px) {
    .navbar .navbar-nav .nav-link {
        font-size: 16px;
    }
    footer .newsletter-style-01 input {
        padding-left: 15px;
    }
    .footer-navbar a {
        padding-left: 10px;
        padding-right: 10px;
    }
    header .btn.btn-rounded.btn-small {
        padding: 8px 16px;
    }
}
@media (max-width: 991px) {
    .time-table-box{
        padding-top: 35px;
        padding-bottom: 35px;
    }
    header .btn.btn-rounded.btn-small {
        padding: 10px 26px;
    }
    header .btn-image {
        width: 150px;
    }
    header .header-button .btn.btn-transparent-white-light {
        color: var(--dark-gray);
        border-color: var(--dark-gray);
    }
    header .header-button .btn.btn-transparent-white-light:hover {
        border-color: var(--dark-gray);
        color: var(--white);
        background:  var(--dark-gray);
    }
    .navbar .navbar-nav .nav-link, .navbar-modern-inner .navbar-nav .nav-link, .navbar-full-screen-menu-inner .navbar-nav .nav-link {
        color: var(--base-color);
    }
    .navbar .navbar-nav .nav-item.active .nav-link, .navbar-modern-inner .navbar-nav .nav-item.active .nav-link, .navbar-full-screen-menu-inner .navbar-nav .nav-item.active .nav-link{
         color: #daa253;
    }
}
@media (max-width: 767px) {
    .countdown-style-02 .countdown-box span {
        top: 0;
    }
    .newsletter-style-01 .btn {
        position: absolute;
        margin-top: 0;
        width: auto;
        border-radius: 0 4px 4px 0;
    }
    .page-title-extra-large h1 {
        font-size: 5.625rem;
        line-height: 5.2rem;
    }
}
@media (max-width: 575px) {
    header .btn.btn-rounded.btn-small {
        padding: 8px 16px;
        font-size: 14px;
    }

    header .btn-image {
        width: 120px;
    }
}

@media (max-width: 1399px) {
    .xl-pt-100px{
        padding-top: 100px !important;
    }
}

.feature-box{
    justify-content: normal;
}

footer .footer-logo img{
    max-height: 55px !important;
}

/* ===================================
    Sponsor Pass Cards (passes.html)
====================================== */
.passes-page-section {
    min-height: 100vh;
}
/* Card: <img> drives the height; content is overlaid absolutely */
.pass-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 28px;
}
.pass-card-bg {
    width: 100%;
    height: auto;
    display: block;
}
.pass-card-content {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    padding: 16px;
}
.pass-card-inner {
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    border-radius: 10px;
    padding: 28px;
    height: 100%;
}
/* text only fills the left portion; animal in image shows on the right */
.pass-text-col {
    width: 75%;
}
.mb-28px { margin-bottom: 28px; }
.pass-badge {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 6px;
}
.pass-platino-badge { background-color: #d9d9d9; }
.pass-platino-badge h5 { color: #000000; }
.pass-oro-badge { background-color: rgba(239, 153, 31, 0.95); }
.pass-oro-badge h5 { color: #fff; }
.pass-plata-badge { background-color: #999b9a; }
.pass-plata-badge h5 { color: #ede5da; }
.pass-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
}
.pass-benefits-plata {
    list-style: none;
    padding: 0;
    margin: 0;
}
.pass-benefits li {
    font-size: 13px;
    line-height: 1.6;
    color: #ebe4da;
    margin-bottom: 3px;
    padding-left: 14px;
    position: relative;
}
.pass-benefits-plata li {
    font-size: 13px;
    line-height: 1.6;
    color: #ebe4da;
    margin-bottom: 3px;
    padding-left: 14px;
    position: relative;
}
.pass-benefits li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #ebe4da;
}

/* Availability map section */
.availability-card {
    background-color: #ebe4da;
    border-radius: 14px;
    padding: 28px 30px;
}
.availability-map-img {
    width: 100%;
    border-radius: 8px;
    display: block;
}
.availability-venue-logo {
    max-height: 36px;
    width: auto;
    object-fit: contain;
}
.availability-legend-dot {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 3px;
    flex-shrink: 0;
}
.mb-15px { margin-bottom: 15px; }
.mb-20px { margin-bottom: 20px; }
.pt-15px { padding-top: 15px; }
.pt-70px { padding-top: 70px; }
.pb-50px { padding-bottom: 50px; }
.pb-70px { padding-bottom: 70px; }
.mb-70px { margin-bottom: 70px; }

/* ≥1200px: texto más grande ya que hay espacio suficiente */
@media (min-width: 1200px) {
    .pass-benefits li {
        font-size: 17px;
    }
    .pass-benefits-plata li {
        font-size: 20px;
    }
}

/* <1200px: layout apilado — imagen arriba, texto abajo con fondo oscuro.
   Evita que el texto se desborde de la imagen en tablets y laptops pequeños. */
@media (max-width: 1199px) {
    .pass-card {
        overflow: visible;
    }
    .pass-card-bg {
        border-radius: 16px 16px 0 0;
    }
    .pass-card-content {
        position: relative;
        top: auto; left: auto; right: auto; bottom: auto;
        padding: 0;
        background-color: #173429;
        border-radius: 0 0 16px 16px;
    }
    .pass-card-inner {
        height: auto;
        border-radius: 0 0 10px 10px;
        padding: 20px;
    }
    .pass-text-col {
        width: 100%;
    }
    .pass-badge h5 {
        font-size: 15px;
    }
    .availability-card {
        padding: 20px;
    }
}
@media (max-width: 575px) {
    .pass-badge h5 {
        font-size: 14px;
    }
    .pass-benefits li {
        font-size: 12px;
    }
    .pass-benefits-plata li {
        font-size: 12px;
    }
    .pt-130px {
        padding-top: 80px !important;
    }
}
