/* =========================
   FONTS
========================= */

@font-face {
    font-family: "Archivo";
    src: url("../Fonts/Archivo-VariableFont_wdth,wght.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../Fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

/* =========================
   VARIABLES
========================= */

:root {
    --text-white: #ffffff;
    --hero-red: #df1f25;
    --hero-black: #000000;
    --bg-white: #ffffff;
    --bg-sction-: #d00e15;
}

/* =========================
   RESET
========================= */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Archivo", sans-serif;
}

/* =========================
   UTILITIES
========================= */

.f-f {
    font-family: "Montserrat", sans-serif !important;
}

.fs-7 {
    font-size: clamp(0.70rem, 0.65rem + 0.2vw, 0.85rem);
}

.fs-nav {
    font-size: clamp(0.95rem, 1vw, 1.05rem);
}

.fs-hero-title {
    font-size: clamp(2.2rem, 5vw, 5.5rem);
}

.fs-hero-copy {
    font-size: clamp(0.94rem, 1.35vw, 1.44rem);
}

.fs-strip-text {
    font-size: clamp(12px, 1.2vw, 20px);
}

.fs-badge-text {
    font-size: clamp(.55rem, .75vw, .85rem);
}

.fs-badge-symbol {
    font-size: clamp(1.2rem, 2vw, 2rem);
}

.fs-service-heading {
    font-size: clamp(1.8rem, 1.8vw, 1.8rem);
    line-height: 1.2;
}

.fs-service-copy {
    font-size: clamp(0.95rem, 1vw, 1.05rem);
}

.fs-arrow {
    font-size: clamp(1.3rem, 1.3vw, 1.5rem);
}

.fs-why-title {
    font-size: clamp(2rem, 3vw, 2.2rem);
}

.fs-why-list {
    font-size: clamp(14px, 1vw, 13px);
}

.fs-faq-number {
    font-size: clamp(16px, 6vw, 5rem);
}

.fs-faq-title {
    font-size: clamp(1.4rem, 1vw, 2.2rem);
}

.fs-faq-copy {
    font-size: clamp(0.94rem, 1vw, 1rem);
}

.fs-register-heading {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
}

.fs-footer-heading {
    font-size: clamp(1.45rem, 1.7vw, 1.8rem);
}

.fs-footer-link {
    font-size: clamp(1.05rem, 1vw, 1.15rem);
}

.fs-policy {
    font-size: clamp(0.95rem, 1vw, 1rem);
}

.fs-18-5 {
    font-size: clamp(15px, 1.5vw, 18.2px);
}

.text-custom {
    color: var(--text-white) !important;
}

/* Backgrounds */
.bg-custom {
    background-color: var(--hero-red) !important;
}

.bg-white {
    background-color: var(--bg-white) !important;
}

.bg-black {
    background-color: var(--hero-black) !important;
}

.bg-section {
    background-color: var(--bg-sction-) !important;
}

.fw-800 {
    font-weight: 800;
}

/* =========================
   HERO
========================= */

.hero-shell {
    min-height: 100vh;
}

.hero-main {
    min-height: 0;
}

.hero-pill {
    white-space: nowrap;
}

.hero-desc {
    max-width: 720px;
}

/* =========================
   FOOTER
========================= */
.text-justify {
    text-align: justify;

}

.site-footer {
    position: relative;





    background: linear-gradient(274deg, #ff1319 -122%, #05080b 51%, #05080b 94%);




    isolation: isolate;
}

.site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(90deg,
            rgba(0, 0, 0, 0.72) 0%,
            rgba(0, 0, 0, 0.48) 34%,
            rgba(0, 0, 0, 0.2) 58%,
            rgba(0, 0, 0, 0) 84%);
}

.site-footer-content {
    z-index: 2;
}

/* Footer star */
.site-footer-star {
    pointer-events: none;
    z-index: 0;
}

.site-footer-star-img {
    position: absolute;
    right: -66%;
    top: 50%;
    transform: translateY(-50%);
    width: min(156vw, 1932px);
    opacity: .32;
    filter: saturate(1.12) brightness(.9);
}

/* =========================
   SECTIONS / COMPONENTS
========================= */

/* Red line */
.red-line {
    height: 3px;
    max-width: 309px;
    width: 100%;
    background: var(--hero-red);
    position: relative;
}

.red-line::after {
    content: "";
    position: absolute;
    right: 0;
    top: -9px;
    width: 20px;
    height: 20px;
    background: var(--hero-red);
}

/* Red square */
.red-square {
    width: 15px;
    height: 15px;
}

/* Section title */
.section-title {
    font-weight: 800;
    font-size: 2.5rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
}

/* Number badge */
.number-badge {
    font-size: 1.2rem;

}

/* Services list */
.services-list {
    list-style: none;
    padding-left: 0;
}

.services-list li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 5px;
}

.services-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-weight: bold;
    font-size: 1.2em;
}

/* Button */
.btn-book {
    border: none;
    padding: 6px 30px;
    border-radius: 7px;
    font-weight: 600;

    transition: 0.3s;
}

/* Star */
.star-icon {
    font-size: 5rem;
    line-height: 1;
}

.star-container {
    margin-top: -15px;
}

.star-image {
    max-width: 90px;
    height: auto;
}

/* =========================
   STATS
========================= */

.stats-box {
    border: 1px solid #000;
    border-radius: 100px;
}

.stat-divider {
    border-right: 1px solid #ccc;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991.98px) {

    .hero-shell {
        height: auto !important;
        min-height: 100svh;
    }

    .site-footer {
        min-height: auto;
    }

    .site-footer-star-img {
        right: -24%;
        width: min(140vw, 940px);
        opacity: .28;
    }

    .stat-divider {
        border-right: none;
        border-bottom: 1px solid #ccc;
    }
}

@media (max-width: 575.98px) {

    .site-footer-star-img {
        right: -36%;
        width: 180vw;
        opacity: .24;
    }
}




@media (max-width: 768px) {
    .Header-section {
        padding: 0 15px !important;
    }

    .form-control {
        width: 100% !important;
    }
}



#myForm ::placeholder,
#myForm ::-webkit-input-placeholder,
#myForm textarea::placeholder {
    color: #999 !important;
    opacity: 1 !important;
}


.faq-title {
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 700;
}

.faq-number {
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 10px;
}

.faq-question {
    font-size: clamp(1.2rem, 1.4vw, 2rem);
    font-weight: 700;
}

.faq-answer {
    font-size: 1rem;
    opacity: .9;
    max-width: 700px;
}

.faq-section {
    overflow-x: hidden;
    /* يمنع أي سكرول جانبي */
}

.faq-image-wrap {
    overflow: visible;
}

.faq-image {
    position: relative;
    width: auto;
    height: 100vh;
    left: -20%;
    z-index: 1;
}

/* عشان يدخل على النص */
.faq-section .row {
    overflow: visible;

}

.navbar-shrink {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    position: fixed !important;
    background-color: var(--hero-black);
    top: 0;
    width: 100%;
    z-index: 9999;
}