/* Druk-Bold */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

/* Druk-BoldItalic */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-BoldItalic.otf') format('opentype');
    font-weight: bold;
    font-style: italic;
}

/* Druk-Heavy */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-Heavy.otf') format('opentype');
    font-weight: 800; /* Assuming heavy is one step bolder than bold */
    font-style: normal;
}

/* Druk-HeavyItalic */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-HeavyItalic.otf') format('opentype');
    font-weight: 800;
    font-style: italic;
}

/* Druk-Medium */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-Medium.otf') format('opentype');
    font-weight: 500; /* Medium is usually around 500 weight */
    font-style: normal;
}

/* Druk-MediumItalic */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-MediumItalic.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
}

/* Druk-Super */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-Super.otf') format('opentype');
    font-weight: 900; /* Super might be the boldest, so let's assign it the highest value */
    font-style: normal;
}

/* Druk-SuperItalic */
@font-face {
    font-family: 'Druk';
    src: url('/static/fonts/Druk-SuperItalic.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}

/* DrukText-Bold */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

/* DrukText-BoldItalic */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-BoldItalic.otf') format('opentype');
    font-weight: bold;
    font-style: italic;
}

/* DrukText-Heavy */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-Heavy.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
}

/* DrukText-HeavyItalic */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-HeavyItalic.otf') format('opentype');
    font-weight: 800;
    font-style: italic;
}

/* DrukText-Medium */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

/* DrukText-MediumItalic */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-MediumItalic.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
}

/* DrukText-Super */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-Super.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

/* DrukText-SuperItalic */
@font-face {
    font-family: 'DrukText';
    src: url('/static/fonts/DrukText-SuperItalic.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}

/* DrukWide-Bold */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

/* DrukWide-BoldItalic */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-BoldItalic.otf') format('opentype');
    font-weight: bold;
    font-style: italic;
}

/* DrukWide-Heavy */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-Heavy.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
}

/* DrukWide-HeavyItalic */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-HeavyItalic.otf') format('opentype');
    font-weight: 800;
    font-style: italic;
}

/* DrukWide-Medium */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

/* DrukWide-MediumItalic */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-MediumItalic.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
}

/* DrukWide-Super */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-Super.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

/* DrukWide-SuperItalic */
@font-face {
    font-family: 'DrukWide';
    src: url('/static/fonts/DrukWide-SuperItalic.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}

.druk-text {
    font-family: 'DrukText';
}

.druk-wide {
    font-family: 'DrukWide';
}

.druk {
    font-family: 'Druk';
}
.druk-text {
    font-family: 'DrukText';
}

.super {
    font-weight: 900;
}

.heavy {
    font-weight: 800;
}

.medium {
    font-weight: 500;
}

/* Specific weights and styles */
.bold {
    font-weight: bold;
}
.font-size-40 {
    font-size: 40px;
}

.font-size-30 {
    font-size: 30px;
}

.font-size-20 {
    font-size: 20px;
}

.font-size-14 {
    font-size: 12px;
}

body, html {
    background-color: black;
    justify-content: center;
    align-items: center;
    color: #ffc107;
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: auto; /* Allow scrolling */
    position: relative;
    font-family: 'DrukText', 'DrukWide', 'Druk', sans-serif;  /* Fallback to sans-serif if CustomFont isn't available */
}

.footer {
    bottom: 0;
    margin: 10px 25%;
    text-align: center;
    font-size: 15px;
}

footer .footer-links a {
    text-decoration: none; /* Elimina la decoración de los enlaces */
    margin: 30px; /* Añade márgenes laterales a los enlaces */
    color: inherit; /* Opcional: Asegura que los enlaces usen el color de texto heredado */
}

footer .footer-copy {
    margin: 8px;
    font-size: 10px;
    font-family: 'DrukText';
    font-weight: 500;
    font-style: normal;
}

h1, h2, h3 {
    font-family: 'DrukWide', sans-serif;
}

p, li, span {
    font-family: 'DrukText', sans-serif;
}


#grid.container {
    justify-content: center;
    align-items: center;
}

.header {
    text-align: center;
    padding: 5px;
}

.social-media {
    display: flex;
    justify-content: center;
    padding: 0;
    margin-bottom: 30px;
}

.content {
    text-align: center;
    height: 100%;
    margin-bottom: -50px; /* Negative value of footer height */
    justify-content: center;
    width: 100%;
    flex-grow: 1;
    position: relative;
}


.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 60%;
}

.button {
    margin-bottom: 20px;
    padding: 14px 24px;
    cursor: pointer;
}

/* COOKIES */

.cookie-consent-popup {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 600px;
    /* Adjust max-width as needed */
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    text-align: center;
    padding: 15px 10px;
    z-index: 1000;
    display: none;
    /* Initially hidden */
    box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.5);
    border-radius: 5px 5px 0 0;
}

.cookie-consent-content p {
    margin: 0;
    display: inline;
    font-size: 14px;
}

.cookie-consent-content button {
    margin: 10px 5px 0 5px;
    padding: 5px 15px;
    font-size: 14px;
    color: white;
    background-color: #ffc107;
    border: none;
    border-radius: 3px;
    cursor: pointer;
}

.cookie-consent-content button:hover {
    background-color: rgb(179, 90, 0);
}



/* Align reCAPTCHA with other form elements */
.g-recaptcha {
    margin: auto; /* Center align the reCAPTCHA widget */
    display: block; /* Ensures that margin auto has an effect */
    width: 304px; /* The default width of reCAPTCHA v2 */
}

/* Adjust the margin to fit the form design */
#my-recaptcha {
    margin-top: 20px; /* Add some space above the reCAPTCHA */
    margin-bottom: 20px; /* Add some space below the reCAPTCHA */
}

/* video.css */

.video-row {
    width: 70vw; /* Set the width to 70% of the viewport width */
    max-width: 760px; /* Optional: Maximum width */
    position: relative;
    padding-top: 39.25%; /* Aspect ratio: 70% of 56.25% (9:16 aspect ratio) = 39.25% */
    margin-bottom: 20px;
}

.video-row iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Insta News */


.WIP-insta {
    width: 50%;
    height: auto;
    object-fit: cover;
    align-items: center;
    justify-content: center;
    margin-top: 6%;
}

.poster {
    background-color: none;
    align-items: center;
    justify-content: center;
    color: #ffc1077c;
    text-align: center;
    padding: 10%;
}

.poster h1 {
    font-size: 3rem;
    margin-bottom: 20px;
}

.poster p {
    font-size: 1.5rem;
}


#instagram-feed {
    width: 60%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns */
    grid-gap: 10px;
}

.insta-post {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.insta-post a {
    text-decoration: none;
}

.insta-post img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.caption {
    font-size: 14px;
    color: #ffc107;
    margin-top: 5px;
    line-height: 1.4;
    height: 2.8em;  /* Based on line height and desired number of lines */
    overflow: hidden;
    text-align: left;
}



/* For tablets: 2 posts per row */
@media (max-width: 768px) {
    #instagram-feed {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
    .insta-post img {
        width: 100%;
        height: auto;
    }
}

/* For mobile: 1 post per column */
@media (max-width: 480px) {
    #instagram-feed {
        width: 60%; /* Adjusted width for mobile */
        grid-template-columns: 1fr; /* 1 column */
    }
    .insta-post {
        margin: 7.5px 0;
    }
    .insta-post img {
        width: 100%;
    }
}


/* tour.css */
.flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 80px; /* Adjust the space between cards */
    margin-bottom: 100px;
}

.flex-item a {
    color: inherit; /* Prevent default anchor color */
    text-decoration: none; /* Remove underline from links */

}

.card {
    border: 0px solid #000000;
    background-color: #ffc107;
    color: black;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    width: 25%; /* Adjust card width as necessary */
}

.card a {
    color: inherit; /* Prevent default anchor color */
    text-decoration: none; /* Remove underline from links */
}

.card-image {
    max-width: 100%;
    height: auto;
    border-bottom: 1px solid #414040; /* Optional: adds a line between the image and the text */
}

.card-content {
    margin: 10px;
}

.city, .venue, .date {
    display: block; /* Each item on its own line */
}

.city {
    font-weight: bold;
    font-size: 18px; /* Adjust font size */
}

.venue, .date {
    font-size: 2rem; /* Adjust font size */
}

.past-due-title {
    margin: 9%;
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffc107;

}
/* Media query for devices with a width of less than 480px */
@media (max-width: 1750px) {
    .flex-container .card {
        width: 30%;
        /* Removes any max-width restriction */
    }
}

/* Media query for devices with a width of less than 480px */
@media (max-width: 750px) {
    .flex-container .card {
        width: 60%; /* Removes any max-width restriction */
    }
}


/* Thank you for subscribing */
.thank-you-card {
    background-color: #ffc107;
    padding: 8px;
    width: 70vw; /* Set the width of the card to be 70% of the viewport width */
    max-width: 600px; /* Set a maximum width so it doesn't look too large on wider screens */
    color: black;
    border-radius: 0;
    text-align: center; /* Center the text */
    box-sizing: border-box; /* To make sure padding is included in the width */
}

.container .thank-you-card {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* This ensures that the container takes up the full height of the viewport */
}

.thank-you-card img {
    margin-bottom: 30px;
    max-width: 100%; /* Ensures image doesn't exceed the card's width */
    height: auto; /* Maintains the image's aspect ratio */
}

.social-links img.logo-small-BLACK {
    margin: 0 5px; /* Add some space between the social icons */
    height: auto;
    max-width: 35px; /* Adjust as needed to control the size of the social icons */
}


/* For medium screens */
@media (max-width: 768px) {
    .flex-item {
        width: calc(50% - 10px); /* 2 columns */
    }
}

/* For small screens */
@media (max-width: 480px) {
    .flex-item {
        width: 100%; /* 1 column */
    }
}

.logo-small-BLACK {
    max-width: 40px;
    max-height: 40px;
}

.logo-small {
    max-width: 33px;
    max-height: 33px;
    margin: 4px;
}

.logo-M {
    max-width: 70px;
    max-height: 70px;
}

.image-header {
    max-width: 110px;
    max-height: 110px;
    margin: 5px;
}


.banner-link, .banner-link:hover, .banner-link:visited, .banner-link:active  {
    text-decoration: none; /* Removes underline from links */
    color: inherit; /* Keeps the text color the same as its parent */
}

.banner_feed {
    width: 75%;    
    margin: 75px auto; /* Center horizontally */
    justify-content: center;
    position: relative; /* Needed for absolute positioning of children */
}

.banner-image {
    max-width: 100%;
    height: auto;
}

.banner-title {
    position: bottom;
    bottom: 15px; /* 15px from the bottom */
    left: 15px; /* 15px from the left */
    text-align: left;
    padding: 5px; /* Optional: adds padding inside the title box */
}


.carousel-captions {
    text-align: left;
    padding: 20px 0; /* Ajusta el padding según necesites */
}

.carousel-captions .caption {
    display: none;
}

.carousel-captions .caption.active {
    display: block;
}

/* Personalizar las descripciones de cada banner */
.caption h5, .caption p {
    color: #ffc107;
}

.carousel-caption-custom {
    position: relative;
    transform: translateY(0%);
    bottom: 5px;
    left: 0;
    text-align: left;
    color: #ffc107;
    margin-top: 10px; /* Espacio entre la imagen y el caption */
    margin-bottom: 25px;
}

/* Carousel control general customization */
.carousel-control-prev, .carousel-control-next {
    width: 5%; /* Adjust the width as needed to make the buttons narrower */
}

/* Position the "Previous" button at the left edge */
.carousel-control-prev {
    left: 0;
}

/* Position the "Next" button at the right edge */
.carousel-control-next {
    right: 0;
}

/* Vertically center the arrows */
.carousel-control-prev, .carousel-control-next {
    align-items: center;
    display: flex;
    height: 75%; /* Make the controls the same height as the carousel */
    justify-content: center;
    position: absolute;
    top: 0;
}

/* Customizing the control icons for better visibility */
.carousel-control-prev-icon, .carousel-control-next-icon {
    background-size: 100%, 100%;
    height: 40px; /* Increase the size of the arrows */
    width: 40px;
}


.container_feed {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    margin: 0 27%;
}

.feed {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.feed a {
    text-decoration: none;    /* remove underline */
    color: inherit;           /* make the link use the same color as its parent text */
}

.feed-item {
    position: relative;
    border: none;
    text-align: center;
    margin: 25px;

}

.feed-item div {
    display: flex;           /* Make the container a flex container */
    align-items: flex-end;   /* Align the image to the bottom */
}

.feed-item img {
    width: 100%;
    max-width: 500px;
    display: absolute;
    margin: 0;
}

.feed-title {
    writing-mode: vertical-rl;   /* vertical text */
    transform: rotate(180deg);   /* rotate to make the text bottom-to-top */
    position: absolute;          /* from the bottom of the image */
    left: -10%;           /* Responsive font size */
}

/* Responsive styles for smaller devices */
@media (max-width: 768px) { 
    .container_feed {
        margin: 0 17%; /* Adjust margin based on requirements */
    }
    .feed-title {
        font-size: 3vw; /* Adjust font size for smaller screens */
    }
}

/* Set a minimum and maximum font size for .feed-title to avoid overly small or large text */
@media (min-width: 769px) {
    .container_feed {
        margin: 0 17%; /* Adjust margin based on requirements */
    }
    .feed-title {
        font-size: clamp(16px, 2vw, 20px);
    }
}


/* bio.css */

.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    height: 100%;
}
.bio-content {
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: flex-start; /* Changed to start alignment */
    width: 75%;
    margin: 0 auto;
    padding: 0;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.bio-image img {
    max-width: 350px;
    float: left; /* Float the image to the left */
    margin-right: 20px; /* Add some space between the image and the text */
}

/* Clearfix for parent container */
.bio-content:after {
    content: "";
    display: table;
    clear: both;
}

/* Responsive design for smaller screens */
@media (max-width: 768px) {
    .bio-content {
        flex-direction: column;
        align-items: center;
    }

    .bio-image img {
        float: none; /* Disable floating for smaller screens */
        margin: 0 auto; /* Center the image */
    }

    .bio-text {
        max-width: none;
        text-align: left;
    }
}



/* SUBS-FORM.css */

#subscription-form {
    width: 36%;
    border: none;
}

.form-group {
    margin-bottom: 1.3em;
}

.form-group label {
    display: block;
    margin-bottom: 0;
    color: #ffc107;
}


.form-group input,
.form-group select {
    width: 100%;
    padding: 0; /* Adjust padding top and bottom, but 0 on sides */
    border: none; /* Remove default border */
    background: none; /* Remove default background */
    border-bottom: 2px solid #ffc107; /* Add a bottom border */
    border-radius: 0; /* Remove border radius */
    font-size: 1em;
    color: #ffc107;
    box-sizing: border-box;
    outline: none; /* Remove outline, but be cautious as this impacts accessibility */
    transition: border-color 0.3s; /* Smooth transition for border on focus */
}

.form-group input:focus,
.form-group select:focus {
    border-bottom-color: #ffc107; /* Change bottom border color when input is focused */
}

.form-group textarea {
    width: 100%;
    background: black; /* Remove default background */
    border: 2px solid #ffc107; /* Add a bottom border */
    font-size: 1em;
    color: #ffc107;
    outline: none; /* Be cautious about accessibility */
    resize: vertical; /* Allow vertical resizing */
    transition: border-color 0.8s;
}

.form-group textarea:focus {
    border-bottom-color: #ffc107;
}

/* For input fields */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group select,
.form-group textarea {
    color: #ffc107;
    width: 80%;
}

.form-group textarea {
    width: 80%;          /* Set width to 80% of its container */
    height: 90px;       /* Set a fixed height of 200px */
    font-size: 18px;     /* Increase font-size to 18px */
}

/* For datalist options */
.form-group datalist option {
    color: #ffc107;
}

/* For focused input to maintain the same color on user typing */
.form-group input[type="text"]:focus,
.form-group input[type="email"]:focus,
.form-group select:focus,
.form-group textarea:focus {
    color: #ffc107;
}

#contact-form {
    width: 35%;
    border: none;
}


button {
    background-color: black; /* or your primary color */
    padding: 1px 40px;
    font-size: 1em;
    color: #ffc107;
    border-color: #ffc107;
    cursor: pointer;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}


.privacy-link {
    font-size: 0.6em;
    text-align: center;
    margin-bottom: 1.5em;
}

.privacy-link a {
    color: #ffc107; /* or your primary link color */
    text-decoration: none;
}

.privacy-link a:hover {
    text-decoration: underline;
}






/* layout.css */

/* Individual positioning for each corner and middle element */
#top-left {
    top: 0;
    left: 0;
}

#top-right {
    top: 0;
    right: 0;
}

#bottom-left {
    bottom: 0;
    left: 0;
}

#bottom-right {
    bottom: 0;
    right: 0;
}

#middle-left {
    top: 50%;
    left: 0;
    transform: translateY(-90%);
}

#middle-right {
    top: 50%;
    right: 0;
    transform: translateY(-90%);
}

.corner {
    position: fixed;
    margin: 5px;
    max-width: 100px; /* Adjust width as necessary */
    max-height: 90px; /* Adjust height as necessary */
}

.middle {
    margin: 20px;
    padding: 0;
    position: fixed;
    align-content: center;
    max-width: 100px; /* Adjust width as necessary */
    max-height: 90px; /* Adjust height as necessary */
}

/* Ensure images fill their container fully */
.middle img {
    display: block;   /* Removes any inherent line-height spacing */
}

/* Set up responsive design */
@media (max-width: 600px) {
    /* Your mobile styles here */
}









/* COUNTDOWN */


.Countdown_body {
    margin: 0;
    background-color: #F33701;
    font-family: "neue-haas-grotesk-text", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.Countdown_container {
    text-align: center;
    position: relative;
    width: 100%;
    max-width: 600px;
    padding: 1rem;
}

#countdown {
    font-size: 4.5rem;
    color: #EEE5D3;
    font-weight:bolder;
    font-stretch:extra-expanded;
    margin-bottom: 2rem;
}

.Countdown_mask-image {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}



/* 2ND COUNTDOWN */
.logo-title {
    margin-top: -0.5%;
    margin-bottom: 3%;
    max-width: 15%;
}

.Countdown_body2 {
    margin: 0;
    background-color: #F33701;
    font-family: "neue-haas-grotesk-text", sans-serif;
    padding-bottom: 50px;
}

.Countdown_container2 {
    margin: 3%;
    text-align: center;
}
.Countdown_secondary-container2 {
    display: inline-flex;
    margin-top: 2.5%;
}

.Countdown_secondary-container2 img {
    max-width: 80%;
    height: auto;
}

@media (max-width: 768px) {
    .logo-title{
        max-width: 65%;
        margin-top: 5%;
    }
    .Countdown_secondary-container2 {
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
    }
    .Countdown_secondary-container2 img {
        max-width: 95%;
        height: auto;
    }
}

#countdown2 {
    font-size: 1rem;
    color: #EEE5D3;
    font-weight: lighter;
    font-stretch: extra-expanded;
}

.spotify-link{
    text-align: center;
    position: relative;
    width: 100%;
    max-width: 600px;
    padding: 1rem;
    text-decoration: none;
    color: #EEE5D3;
}


/* Tour Tickets Section */
.tour-tickets-section {
    background-color: #F33701;
    padding: 40px 20px;
    margin: 30px auto;
    width: 85%;
    max-width: 800px;
}

.tour-title {
    color: #EEE5D3;
    font-family: 'DrukWide', sans-serif;
    font-weight: 900;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 30px;
    letter-spacing: 2px;
}

.tickets-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ticket-row {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #EEE5D3;
    font-family: 'DrukText', sans-serif;
    font-weight: 500;
    font-size: 1.1rem;
    padding: 8px 0;
    transition: opacity 0.2s ease;
}

.ticket-row:hover {
    opacity: 0.7;
    color: #EEE5D3;
}

.ticket-city {
    white-space: nowrap;
    min-width: fit-content;
}

.ticket-dots {
    flex-grow: 1;
    border-bottom: 2px dotted #EEE5D3;
    margin: 0 10px;
    height: 0;
    align-self: center;
    margin-bottom: 4px;
}

.ticket-date {
    white-space: nowrap;
    min-width: fit-content;
}

/* Responsive Tour Tickets */
@media (max-width: 768px) {
    .tour-tickets-section {
        width: 90%;
        padding: 30px 15px;
    }

    .tour-title {
        font-size: 2rem;
    }

    .ticket-row {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .tour-title {
        font-size: 1.5rem;
    }

    .ticket-row {
        font-size: 0.85rem;
    }
}