@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&display=swap');

@font-face {
  font-family: 'TT Trailers';
  src: url('../TT Trailers Trial Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

.redesign-contact-wrapper {
    background-color: #101820;
    color: #fff;
    font-family: 'Inter', sans-serif;
    padding-top: 120px;
    padding-bottom: 120px;
    overflow: hidden;
    position: relative;
}

.heading--huge {
    font-size: clamp(80px, 15vw, 200px);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    margin: 0;
}

.text-color--orange { color: #FF585D !important; }
.text-color--green { color: #c4d600 !important; }
.text-color--yellow { color: #f7f33a !important; }

/* Contact Header Style */
.contact-header__wrap {
    padding-top: 180px;
    margin-bottom: 100px;
    text-align: center;
}

.contact-header__content-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    margin-top: 60px;
}
.contact-header__content-info {
    flex: 1;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.contact-header__img {
    flex: 1;
}
.contact-header__content-info .mt-4 {
    transform-origin: left;
}

.contact-header__img {
    border-radius: 40px;
    max-width: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
    flex: 1;
}

/* Typography styles */
.heading--32 {
    font-size: 32px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.heading--16 {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
}

/* Links */
.text-style--link {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s;
}
.text-style--link:hover {
    opacity: 0.7;
    color: inherit;
    text-decoration: none;
}

/* Neon buttons */
.btn--yellow {
    position: relative;
    display: inline-block;
    padding: 16px 32px;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    color: #101820 !important;
    text-decoration: none;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 1;
}

.btn__background {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: -1;
    overflow: visible;
}
.btn__text {
    position: relative;
    z-index: 2;
}
.btn__bg-big {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 40px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.4s;
}
.bg--yellow { background-color: #f7f33a; }
.bg--green { background-color: #c4d600; transform: translate(-3px, 3px); }
.bg--pink { background-color: #FF585D; transform: translate(3px, -3px); }

.btn--yellow:hover .bg--green { transform: translate(-6px, 6px); }
.btn--yellow:hover .bg--pink { transform: translate(6px, -6px); }
.btn--yellow:hover .bg--yellow { transform: scale(0.98); }

/* Form overrides for brutalist dark look */
.redesign-contact-wrapper .form-control {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid rgba(255,255,255,0.2) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    padding: 15px 0 !important;
    margin-bottom: 30px !important;
    box-shadow: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}
.redesign-contact-wrapper .form-control:focus {
    border-bottom-color: #c4d600 !important;
    outline: none !important;
}
.redesign-contact-wrapper .form-control::placeholder {
    color: rgba(255,255,255,0.5) !important;
}

.redesign-contact-wrapper input[type="datetime-local"],
.redesign-contact-wrapper input[type="date"] {
    color-scheme: dark !important;
    color: #fff !important;
    background: transparent !important;
    min-height: 52px;
    line-height: normal;
    padding: 12px 0 !important;
    cursor: pointer;
    font-size: 16px !important;
}

.redesign-contact-wrapper input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.redesign-contact-wrapper input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) !important;
    opacity: 0.8 !important;
    cursor: pointer;
    padding: 4px;
}

.redesign-contact-wrapper input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
.redesign-contact-wrapper input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1 !important;
}

/* Dropdown override for standard select if nice-select is broken */
.redesign-contact-wrapper select.form-control {
    -webkit-appearance: auto !important;
    appearance: auto !important;
}

/* Also specifically styling nice-select if initialized */
.redesign-contact-wrapper .nice-select {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid rgba(255,255,255,0.2) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    width: 100% !important;
    height: 54px !important;
    line-height: normal !important;
    padding-left: 0 !important;
    margin-bottom: 30px !important;
    display: flex;
    align-items: center;
}
.redesign-contact-wrapper .nice-select .current {
    color: rgba(255,255,255,0.5) !important;
}
.redesign-contact-wrapper .nice-select .list {
    background-color: #101820 !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    width: 100% !important;
    border-radius: 0 !important;
}
.redesign-contact-wrapper .nice-select .option {
    color: #fff !important;
}
.redesign-contact-wrapper .nice-select .option:hover, 
.redesign-contact-wrapper .nice-select .option.focus, 
.redesign-contact-wrapper .nice-select .option.selected.focus {
    background-color: #FF585D !important;
}
.redesign-contact-wrapper .nice-select::after {
    border-bottom: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
}

/* FAQ Accordion */
.faq__wrapper {
    margin-top: 100px;
}
.heading--huge {
    font-size: clamp(80px, 15vw, 250px);
    font-weight: 900;
    line-height: 0.8;
    text-transform: uppercase;
    color: #fff; /* Changed to white as requested */
    margin-bottom: 60px;
}
.faq__item {
    border-bottom: 2px solid rgba(255,255,255,0.1);
}
.faq__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
    cursor: pointer;
}
.faq__heading {
    font-size: clamp(20px, 4vw, 32px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 0px;
}
.faq__icon {
    position: relative;
    width: 24px;
    height: 24px;
}
.faq__icon-line {
    position: absolute;
    background-color: #c4d600;
    transition: transform 0.3s ease;
}
.faq__icon-line.is--horizontal {
    width: 100%;
    height: 3px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.faq__icon-line.is--vertical {
    width: 3px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.faq.open .faq__icon-line.is--vertical {
    transform: translateX(-50%) rotate(90deg);
}
.faq__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.faq.open .faq__content {
    max-height: 500px;
}
.faq__content-spacing {
    padding-bottom: 40px;
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255,255,255,0.8);
}

.mapBox iframe {
    border-radius: 40px;
    filter: invert(90%) hue-rotate(180deg) contrast(100%);
}

/* Base Body Override for Contact Page */
body {
    background-color: #101820 !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
}


/* Mobile Section Refinements */
@media (max-width: 991px) {
    .contact-header__content-wrap {
        flex-direction: column-reverse;
        gap: 40px;
        text-align: center;
    }
    .contact-header__content-info {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .contact-header__content-info .mt-4 {
        transform-origin: center !important;
    }
    .contact-header__content-info a {
        text-align: center;
        width: 100%;
    }
    
    .faq__wrapper h1, .faq__wrapper h2, .faq__wrapper h4,
    .sample-box-section h2 {
        text-align: center !important;
    }
    
    .sample-box-section h1 {
        text-align: left !important;
        font-size: clamp(45px, 10vw, 90px) !important;
        margin-left: 0 !important;
        line-height: 1.0;
        white-space: normal !important; /* Allow wrap for long exclamation marks if needed, though they shouldn't */
    }
    
    .sample-box-text {
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    .sample-box-section {
        flex-direction: column;
        gap: 60px;
        margin-left: 0 !important;
        text-align: center; /* This still centers the container/image, but not the h1 */
    }
    .swb-snack-first {
        left: 50% !important;
        transform: translateX(-50%) rotate(-10deg) !important;
    }
}


/* Sample Box Section */
.sample-box-section {
    padding: 100px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: -200px; /* Shifted even further left as requested */
}
@media(max-width: 1400px) {
    .sample-box-section {
        margin-left: -50px;
    }
}
@media(max-width: 1200px) {
    .sample-box-section {
        margin-left: 0;
    }
}
.sample-box-section h1 {
    font-size: clamp(70px, 12vw, 150px) !important;
    font-weight: 900;
    line-height: 0.9;
    text-transform: uppercase;
    margin-bottom: 40px;
    color: #fff;
    white-space: nowrap;
    margin-top: 40px;
    margin-left: -20px;
}
.sample-box-text {
    flex: 1.5;
    position: relative;
    padding-left: 20px;
}
.swb-snack-first {
    position: absolute;
    top: -65px;
    left: 10px;
    transform: rotate(-10deg);
    font-family: 'Permanent Marker', cursive;
    color: #c4d600;
    font-size: clamp(25px, 3vw, 40px);
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 5;
    text-align: left;
}
.sample-box-images {
    flex: 1;
    display: flex;
    justify-content: center;
}

