/* =========================================================
   GLOBALT
========================================================= */

:root {
    --gold: #d4af37;
    --gold-dark: #b8860b;
    --black: #050505;
    --white: #ffffff;

    --space-xs: clamp(0.25rem, 0.5vw, 0.5rem);
    --space-sm: clamp(0.5rem, 1vw, 1rem);
    --space-md: clamp(1rem, 2vw, 2rem);
    --space-lg: clamp(1.5rem, 3vw, 3rem);
    --space-xl: clamp(2rem, 5vw, 5rem);

    --content-width: min(94%, 1400px);
    --border-radius: clamp(5px, 0.5vw, 10px);
}

* {
    box-sizing: border-box;
    font-weight: 400 !important;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Catamaran', 'Calibri', Arial, sans-serif;
    font-size: clamp(0.85rem, 0.9vw, 1rem);
    margin: 0;

    background-color: var(--black);

    color: var(--white);
    line-height: 1.5;
}


/* =========================================================
   HIDDEN LABEL
========================================================= */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* =========================================================
   HEADER
========================================================= */

#container1 {
    display: grid;

    grid-template-columns:
        auto
        auto
        minmax(0, 1fr);

    grid-template-rows:
        clamp(55px, 5vw, 70px)
        auto
        auto;

    width: 100%;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.97),
            rgba(0, 0, 0, 0.90)
        );

    border-bottom:
        1px solid rgba(212, 175, 55, 0.35);

    padding: clamp(10px, 1.5vw, 20px);

    position: relative;
    z-index: 20;
}


/* =========================================================
   LOGO
========================================================= */

.header-content {
    display: flex;
    justify-content: flex-start;
    align-items: center;

    grid-column: 2;
    grid-row: 1;

    width: auto;

    padding:
        0 clamp(5px, 1vw, 15px);

    margin: 0;
}

.logo {
    display: block;

    width: clamp(180px, 22vw, 300px);

    max-width: 100%;
    height: auto;

    margin: 0;
}


/* =========================================================
   NAVIGATION
========================================================= */

nav {
    grid-column: 3;
    grid-row: 1;

    font-size: clamp(0.85rem, 1.25vw, 1.25rem);

    display: flex;
    justify-content: flex-start;
    align-items: center;

    gap: clamp(8px, 1.5vw, 25px);

    height: 100%;

    margin-left: clamp(10px, 4vw, 70px);
    padding-left: clamp(5px, 1.5vw, 20px);

    color: var(--white);
}

nav a {
    position: relative;

    padding: clamp(3px, 0.4vw, 5px);

    color: var(--white);
    text-decoration: none;

    white-space: nowrap;

    transition: color 0.25s ease;
}

nav a::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 2px;

    background: var(--gold);

    transform: translateX(-50%);

    transition: width 0.25s ease;
}

nav a:hover {
    color: var(--gold);
}

nav a:hover::after {
    width: 100%;
}

nav img.icon {
    width: clamp(13px, 1.2vw, 18px);
    height: auto;
}

nav a.whatsapp-link {
    display: flex;
    align-items: center;

    gap: clamp(4px, 0.5vw, 7px);

    padding:
        clamp(5px, 0.5vw, 7px)
        clamp(8px, 1vw, 14px);

    border:
        1px solid rgba(212, 175, 55, 0.45);

    border-radius: var(--border-radius);

    color: var(--gold);
}

nav a.whatsapp-link::after {
    display: none;
}

nav a.whatsapp-link img.icon {
    width: clamp(13px, 1.1vw, 16px);
    height: clamp(13px, 1.1vw, 16px);
    max-width: none;
}


/* =========================================================
   SPRÅKIKONER
========================================================= */

nav .language-icon {
    width: clamp(18px, 2vw, 28px);
    height: clamp(12px, 1.4vw, 19px);

    max-width: 28px;
    max-height: 19px;

    object-fit: contain;
    display: block;
}


/* =========================================================
   HAMBURGER
========================================================= */

.hamburger-menu {
    display: flex;
    justify-content: flex-start;
    align-items: center;

    grid-column: 1;
    grid-row: 1;

    z-index: 30;

    margin: 0;

    background: transparent;

  
}

.hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    width: clamp(25px, 3vw, 12px);
    height: clamp(20px, 2.2vw, 10px);

    cursor: pointer;
}

.hamburger span {
    width: 100%;
    height: clamp(2px, 0.2vw, 3px);

    background:
        linear-gradient(
            90deg,
            #ffffff,
            #d4af37
        );

    border-radius: 10px;
}


/* =========================================================
   MENY
========================================================= */

.menu {
    display: none;
    flex-direction: column;

    background: rgba(5, 5, 5, 0.98);

    padding: clamp(15px, 2vw, 25px);

    left: 0;

    width: min(300px, 90vw);

    font-size: clamp(1rem, 1.3vw, 1.3rem);

    grid-row: 2;

    border-right:
        1px solid rgba(212, 175, 55, 0.3);

    border-bottom:
        1px solid rgba(212, 175, 55, 0.3);

    box-shadow:
        10px 10px 40px rgba(0, 0, 0, 0.5);
}

.menu a {
    color: var(--white);

    padding:
        clamp(8px, 1vw, 12px)
        5px;
}

.menu.active {
    display: flex;
}

body.menu-open {
    overflow: hidden;
}

ul {
    padding-left: 0;
}


/* =========================================================
   WRAPPER
========================================================= */

.wrapper {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 31vw);

    gap: clamp(15px, 2.2vw, 30px);

    width: var(--content-width);

    margin: 0 auto;

    align-items: center;

    min-height: clamp(450px, 42vw, 540px);
}


/* =========================================================
   VÄNSTER HERO
========================================================= */

#container2 {
    width: 100%;

    min-height:
        clamp(400px, 42vw, 540px);

    display: flex;
    align-items: center;

    padding: var(--space-xl);

    position: relative;

    color: var(--white);

    background-image:
        linear-gradient(
            rgba(0, 0, 0, 0.35),
            rgba(0, 0, 0, 0.70)
        ),
        url("bild1.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.hero-content {
    max-width: min(650px, 100%);

    text-align: left;

    margin-top:
        clamp(-20px, -1.5vw, -10px);

    position: relative;
    z-index: 2;
}

.hero-small-title {
    color: var(--gold);

    font-size:
        clamp(1rem, 1.25vw, 1.25rem);

    letter-spacing:
        clamp(0.5px, 0.1vw, 1px);

    margin-bottom:
        clamp(6px, 0.8vw, 10px);
}

.hero-content h1 {
    font-family: Georgia, serif;

    font-size:
        clamp(2.5rem, 4vw, 4.2rem);

    line-height: 1.05;

    margin:
        0 0 clamp(12px, 1.5vw, 20px) 0;

    color: var(--white);

    text-shadow:
        2px 2px 10px rgba(0, 0, 0, 0.7);
}

.hero-text {
    font-size:
        clamp(1rem, 1.25vw, 1.25rem);

    max-width: min(550px, 100%);

    color:
        rgba(255, 255, 255, 0.9);

    margin-bottom:
        clamp(15px, 2vw, 25px);
}

.airport-links {
    display: flex;
    flex-wrap: wrap;

    gap:
        clamp(10px, 2vw, 25px);

    color: var(--white);

    font-size:
        clamp(0.8rem, 1vw, 1rem);
}

.airport-links span {
    color:
        rgba(255, 255, 255, 0.9);
}

.airport-links span:first-child {
    color: var(--white);
}


/* =========================================================
   BOKNINGSRUTA
========================================================= */

#container3 {
    width: 100%;

    max-width: 430px;

    margin: 0 auto;

    padding:
        clamp(12px, 1.2vw, 14px)
        clamp(12px, 1.5vw, 16px)
        clamp(15px, 1.8vw, 18px);

    background:
        linear-gradient(
            145deg,
            rgba(8, 8, 8, 0.98),
            rgba(0, 0, 0, 0.96)
        );

    border:
        1px solid rgba(255, 255, 255, 0.08);

    border-radius: var(--border-radius);

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.7);

    color: var(--white);
}


/* =========================================================
   BOKNINGSRUBRIK
========================================================= */

.booking-header {
    text-align: center;

    margin-bottom:
        clamp(8px, 1vw, 12px);
}

.booking-header h2 {
    font-family: Georgia, serif;

    font-size:
        clamp(1.15rem, 1.4vw, 1.4rem);

    line-height: 1.2;

    margin:
        0 0 2px 0;

    color: var(--gold);

    background: none;

    -webkit-text-fill-color: var(--gold);

    animation: none;

    text-align: center;
}

.booking-header p {
    margin: 0;

    color: var(--white);

    font-size:
        clamp(0.75rem, 0.85vw, 0.85rem);

    letter-spacing: 0.3px;
}


/* =========================================================
   FORM
========================================================= */

#booking-form {
    width: 100%;
}


/* =========================================================
   FÄLT
========================================================= */

.booking-field {
    width: 100%;

    min-height:
        clamp(42px, 3vw, 47px);

    display: flex;
    align-items: center;

    position: relative;

    margin-bottom: 2px;

    background: #ffffff;

    border:
        1px solid #d6d6d6;

    border-radius: 5px;

    overflow: hidden;
}

.booking-field:focus-within {
    border-color: var(--gold);

    box-shadow:
        0 0 0 2px rgba(212, 175, 55, 0.25);
}


/* =========================================================
   IKONER
========================================================= */

.field-icon {
    flex:
        0 0 clamp(27px, 2.4vw, 34px);

    width:
        clamp(27px, 2.4vw, 34px);

    text-align: center;

    color: #333333;

    font-size:
        clamp(0.8rem, 1vw, 1rem);
}


/* =========================================================
   INPUT
========================================================= */

.booking-field input {
    flex: 1;

    width: 100%;
    min-width: 0;

    height:
        clamp(40px, 3vw, 45px);

    padding:
        clamp(5px, 0.5vw, 6px)
        clamp(6px, 0.6vw, 8px);

    border: none;
    outline: none;

    background: transparent;

    color: #222222;

    font-family: Arial, sans-serif;

    font-size:
        clamp(0.68rem, 0.8vw, 0.8rem);

    font-weight: 600 !important;
}

.booking-field input::placeholder {
    color: #444444;
    opacity: 1;
}


/* =========================================================
   SELECT
========================================================= */

.booking-field select {
    flex: 1;

    width: 100%;
    min-width: 0;

    height:
        clamp(40px, 3vw, 45px);

    padding:
        clamp(5px, 0.5vw, 6px)
        25px
        clamp(2px, 0.3vw, 4px);

    border: none;
    outline: none;

    background: transparent;

    color: #222222;

    font-family: Arial, sans-serif;

    font-size:
        clamp(0.68rem, 0.76vw, 0.76rem);

    font-weight: 600 !important;

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;
}


/* =========================================================
   PIL
========================================================= */

.field-arrow {
    position: absolute;

    right:
        clamp(7px, 0.8vw, 12px);

    top: 50%;

    transform: translateY(-50%);

    color: #222222;

    font-size:
        clamp(0.55rem, 0.65vw, 0.65rem);

    pointer-events: none;
}


/* =========================================================
   DATUM + TID
========================================================= */

.booking-row {
    display: flex;

    width: 100%;

    gap: 2px;

    margin: 0;
}

.booking-field.half {
    width: 50%;

    margin-bottom: 2px;
}

.booking-field input[type="date"],
.booking-field input[type="time"] {
    font-size:
        clamp(0.68rem, 0.75vw, 0.75rem);

    padding-right: 5px;

    cursor: pointer;
}


/* =========================================================
   FLIGHT NUMBER
========================================================= */

#flight-number::placeholder {
    color: #555555;
}


/* =========================================================
   CHECKBOX-RAD
========================================================= */

.checkbox-row {
    display: flex;

    width: 100%;

    min-height:
        clamp(42px, 3vw, 47px);

    background: #ffffff;

    border:
        1px solid #d6d6d6;

    border-radius: 5px;

    margin-bottom: 2px;

    align-items: center;
}

.checkbox-option {
    width: 50%;

    display: flex;
    align-items: center;

    gap:
        clamp(5px, 0.6vw, 8px);

    padding:
        0 clamp(6px, 0.8vw, 10px);

    color: #222222;

    font-family: Arial, sans-serif;

    font-size:
        clamp(0.65rem, 0.78vw, 0.78rem);

    cursor: pointer;

    margin: 0;
}

.checkbox-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}

.custom-checkbox {
    width:
        clamp(12px, 1vw, 14px);

    height:
        clamp(12px, 1vw, 14px);

    border:
        1px solid #555555;

    background: #ffffff;

    display: inline-block;

    border-radius: 2px;

    position: relative;

    flex-shrink: 0;
}

.checkbox-option input:checked
+ .custom-checkbox {
    background: var(--gold);

    border-color: var(--gold-dark);
}

.checkbox-option input:checked
+ .custom-checkbox::after {
    content: "✓";

    position: absolute;

    left: 2px;
    top: -3px;

    font-size:
        clamp(10px, 0.8vw, 13px);

    color: #000000;
}


/* =========================================================
   TEXTAREA
========================================================= */

.textarea-field {
    align-items: flex-start;

    min-height:
        clamp(42px, 3vw, 47px);
}

.textarea-field .field-icon {
    padding-top:
        clamp(10px, 1vw, 13px);
}

.booking-field textarea {
    width: 100%;

    min-height:
        clamp(40px, 3vw, 45px);

    resize: none;

    border: none;
    outline: none;

    background: transparent;

    color: #222222;

    padding:
        clamp(9px, 1vw, 12px)
        clamp(6px, 0.6vw, 8px);

    font-family: Arial, sans-serif;

    font-size:
        clamp(0.68rem, 0.76vw, 0.76rem);
}

.booking-field textarea::placeholder {
    color: #555555;
    opacity: 1;
}


/* =========================================================
   BOKNINGSKNAPP
========================================================= */

.book-button {
    width: 100%;

    height:
        clamp(40px, 3vw, 43px);

    margin-top: 4px;

    border: none;

    border-radius: 5px;

    background:
        linear-gradient(
            135deg,
            var(--gold),
            #c99b2e
        );

    color: var(--white);

    display: flex;

    justify-content: center;
    align-items: center;

    gap:
        clamp(8px, 1.2vw, 15px);

    font-family: Arial, sans-serif;

    font-size:
        clamp(0.8rem, 0.95vw, 0.95rem);

    font-weight: 700 !important;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.book-button:hover {
    background:
        linear-gradient(
            135deg,
            #e5c04b,
            var(--gold)
        );

    color: var(--white);

    transform: translateY(-1px);

    box-shadow:
        0 7px 18px
        rgba(212, 175, 55, 0.3);
}

.button-arrow {
    font-size:
        clamp(1.2rem, 1.5vw, 1.5rem);

    line-height: 1;
}


/* =========================================================
   SÄKERHET
========================================================= */

.secure-booking {
    text-align: center;

    color:
        rgba(255, 255, 255, 0.8);

    font-size:
        clamp(0.62rem, 0.7vw, 0.7rem);

    margin-top:
        clamp(6px, 0.8vw, 9px);
}


/* =========================================================
   RESULTAT
========================================================= */

#container3-output {
    text-align: center;

    color: var(--gold);

    font-size:
        clamp(0.7rem, 0.8vw, 0.8rem);

    margin:
        5px 0 0 0;
}


/* =========================================================
   BEKRÄFTELSE
========================================================= */

#confirm {
    display: none;

    padding:
        clamp(9px, 1vw, 12px);

    margin-top:
        clamp(7px, 1vw, 10px);

    border:
        1px solid rgba(212, 175, 55, 0.3);

    border-radius: 6px;

    background:
        rgba(10, 10, 10, 0.95);

    color: var(--white);
}

#confirm h3 {
    font-size:
        clamp(0.75rem, 0.85vw, 0.85rem);

    color: var(--gold);

    margin: 0;
}


/* =========================================================
   WHY CHOOSE US
========================================================= */

#why-us {
    width: 100%;

    background:
    
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.92),
            rgba(5, 5, 5, 0.98)
            
        );

    padding:
        clamp(20px, 2.5vw, 25px)
        5%
        clamp(25px, 3.5vw, 35px);
    
    border-top:
        1px solid rgba(212, 175, 55, 0.2);

    border-bottom:
        1px solid rgba(212, 175, 55, 0.2);
}

.section-title {
    display: flex;

    align-items: center;
    justify-content: center;

    gap:
        clamp(8px, 1.2vw, 15px);

    margin-bottom:
        clamp(18px, 2.5vw, 25px);
}

.section-title span {
    width:
        clamp(25px, 4vw, 50px);

    height: 1px;

    background: var(--gold);
}

.section-title h2 {
    font-family: Georgia, serif;

    font-size:
        clamp(1.05rem, 1.4vw, 1.4rem);

    color: var(--gold);

    background: none;

    -webkit-text-fill-color: var(--gold);

    animation: none;

    margin: 0;

    text-align: center;
}

.why-grid {
    max-width: 1200px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap:
        clamp(10px, 1.5vw, 20px);
}

.why-item {
    display: flex;

    align-items: center;
    justify-content: center;

    gap:
        clamp(6px, 0.8vw, 10px);

    color: var(--white);

    text-align: left;
}

.why-icon {
    color: var(--gold);

    font-size:
        clamp(1.4rem, 2vw, 2rem);
}

.why-item strong {
    display: block;

    font-size:
        clamp(0.7rem, 0.8vw, 0.8rem);

    color: var(--white);
}

.why-item small {
    display: block;

    font-size:
        clamp(0.62rem, 0.72vw, 0.72rem);

    color:
        rgba(255, 255, 255, 0.75);
}


/* =========================================================
   RUBRIKER
========================================================= */

h2 {
    grid-column: 1 / -1;

    font-size:
        clamp(2rem, 3vw, 3rem);

    text-align: center;

    margin-top: 0;

    background:
        linear-gradient(
            90deg,
            #ffffff,
            #d4af37,
            #ffffff
        );

    background-size: 200% auto;

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;

    animation:
        h2ColorShift 4s linear infinite;
}

h3 {
    color: var(--gold);
}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes h2ColorShift {
    0% {
        background-position: 0% center;
    }

    50% {
        background-position: 100% center;
    }

    100% {
        background-position: 0% center;
    }
}


/* =========================================================
   LÄNKAR
========================================================= */

a {
    text-decoration: none;

    color: var(--white);

    transition:
        color 0.2s ease;
}

a:hover {
    color: var(--gold);

    text-decoration: none;
}

a:visited {
    color: var(--white);
}

a:active {
    color: var(--gold);
}


/* =========================================================
   FOOTER
========================================================= */

#footer {
    width: 100%;

    background:
        linear-gradient(
            180deg,
            #080808 0%,
            #050505 100%
        );

    color: var(--white);

    border-top:
        1px solid rgba(212, 175, 55, 0.3);

    padding:
        clamp(20px, 2.5vw, 28px)
        3%
        0;

    overflow: hidden;
}


/* =========================================================
   FOOTER ÖVRE DEL
========================================================= */

.footer-main {
    width: 100%;

    max-width: 1400px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        clamp(15px, 2vw, 24px);

    align-items: stretch;
}


/* =========================================================
   FOOTER BOXAR
========================================================= */

.footer-box {
    position: relative;

    min-width: 0;

    min-height:
        clamp(240px, 20vw, 285px);

    border:
        1px solid rgba(212, 175, 55, 0.35);

    border-radius: 5px;

    overflow: hidden;

    background: #080808;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   VÄNSTER FOOTER BOX
========================================================= */

.footer-services {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(180px, 42%);

    min-height:
        clamp(240px, 20vw, 285px);
}

.footer-services-content {
    padding:
        clamp(18px, 2vw, 25px);

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;
}

.footer-box-title {
    color: var(--gold);

    font-family: Georgia, serif;

    font-size:
        clamp(1rem, 1.15vw, 1.15rem);

    margin:
        0 0 clamp(10px, 1.2vw, 15px) 0;

    line-height: 1.2;
}

.footer-service-list {
    list-style: none;

    margin: 0;
    padding: 0;
}

.footer-service-list li {
    display: flex;

    align-items: center;

    gap:
        clamp(7px, 0.8vw, 10px);

    margin-bottom:
        clamp(7px, 0.8vw, 10px);

    color:
        rgba(255, 255, 255, 0.9);

    font-size:
        clamp(0.75rem, 0.85vw, 0.85rem);
}

.footer-check {
    flex-shrink: 0;

    width:
        clamp(16px, 1.3vw, 18px);

    height:
        clamp(16px, 1.3vw, 18px);

    border:
        1px solid var(--gold);

    border-radius: 50%;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--gold);

    font-size:
        clamp(9px, 0.7vw, 10px);
}


/* =========================================================
   BILD 2
========================================================= */

.footer-image-box {
    width: 100%;
    height: 100%;

    min-height:
        clamp(240px, 20vw, 285px);

    overflow: hidden;
}

.footer-image-box img {
    display: block;

    width: 100%;
    height: 100%;

    min-height:
        clamp(240px, 20vw, 285px);

    object-fit: cover;

    object-position: center center;

    transition:
        transform 0.5s ease;
}

.footer-box:hover .footer-image-box img {
    transform: scale(1.03);
}


/* =========================================================
   HÖGER ABOUT BOX
========================================================= */

.footer-about {
    display: grid;

    grid-template-columns:
        minmax(0, 55%)
        minmax(0, 45%);

    min-height:
        clamp(240px, 20vw, 285px);
}

.footer-about-content {
    padding:
        clamp(18px, 2vw, 25px);

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;
}

.footer-about-content p {
    margin:
        0 0 clamp(7px, 0.8vw, 10px) 0;

    color:
        rgba(255, 255, 255, 0.82);

    font-size:
        clamp(0.72rem, 0.8vw, 0.8rem);

    line-height: 1.55;
}

.footer-signature {
    margin-top: 5px;

    color: var(--gold);

    font-family: cursive;

    font-size:
        clamp(1.1rem, 1.35vw, 1.35rem);
}

.footer-founder {
    color:
        rgba(255, 255, 255, 0.65);

    font-size:
        clamp(0.65rem, 0.72vw, 0.72rem);
}


/* =========================================================
   BILD 3
========================================================= */

.footer-about-image {
    width: 100%;
    height: 100%;

    min-height:
        clamp(240px, 20vw, 285px);

    overflow: hidden;
}

.footer-about-image img {
    display: block;

    width: 100%;
    height: 100%;

    min-height:
        clamp(240px, 20vw, 285px);

    object-fit: cover;

    object-position: center center;

    transition:
        transform 0.5s ease;
}

.footer-box:hover .footer-about-image img {
    transform: scale(1.03);
}


/* =========================================================
   FOOTER INFO-RAD
========================================================= */

.footer-info {
    width: 100%;

    max-width: 1400px;

    margin:
        clamp(15px, 2vw, 22px) auto 0;

    padding:
        clamp(14px, 1.5vw, 18px) 0;

    border-top:
        1px solid rgba(255, 255, 255, 0.12);

    border-bottom:
        1px solid rgba(255, 255, 255, 0.12);

    display: grid;

    grid-template-columns:
        minmax(130px, 1.1fr)
        minmax(160px, 1.4fr)
        minmax(120px, 1fr)
        minmax(150px, 1.2fr);

    gap:
        clamp(15px, 2vw, 25px);

    align-items: center;
}


/* =========================================================
   FOOTER LOGO
========================================================= */

.footer-logo {
    display: flex;

    align-items: center;

    min-width: 0;
}

.footer-logo img {
    display: block;

    width:
        clamp(140px, 15vw, 190px);

    max-width: 100%;

    height: auto;
}


/* =========================================================
   KONTAKT
========================================================= */

.footer-contact {
    min-width: 0;
}

.footer-info-title {
    color: var(--gold);

    font-family: Georgia, serif;

    font-size:
        clamp(0.85rem, 0.95vw, 0.95rem);

    margin:
        0 0 clamp(5px, 0.7vw, 8px) 0;
}

.contact-item {
    display: flex;

    align-items: center;

    gap:
        clamp(5px, 0.6vw, 8px);

    margin-bottom:
        clamp(4px, 0.5vw, 6px);

    color:
        rgba(255, 255, 255, 0.78);

    font-size:
        clamp(0.65rem, 0.72vw, 0.72rem);
}

.contact-item .icon {
    width:
        clamp(13px, 1vw, 15px);

    height:
        clamp(13px, 1vw, 15px);

    object-fit: contain;

    flex-shrink: 0;
}


/* =========================================================
   SOCIALS
========================================================= */

#socials {
    display: flex;

    flex-direction: column;

    gap:
        clamp(6px, 0.7vw, 8px);

    margin: 0;

    min-width: 0;
}

.social-icons {
    display: flex;

    align-items: center;

    gap:
        clamp(7px, 0.8vw, 10px);
}

.social-icons a {
    width:
        clamp(32px, 3vw, 38px);

    height:
        clamp(32px, 3vw, 38px);

    border:
        1px solid rgba(212, 175, 55, 0.5);

    border-radius: 50%;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--gold);

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.social-icons a:hover {
    background: var(--gold);

    color: #000000;

    transform: translateY(-2px);
}

.social-icons img {
    width:
        clamp(16px, 1.5vw, 19px);

    height:
        clamp(16px, 1.5vw, 19px);

    object-fit: contain;
}


/* =========================================================
   BETALNING
========================================================= */

.footer-payment {
    min-width: 0;
}

.payment-icons {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap:
        clamp(5px, 0.6vw, 8px);
}

.payment-icons img {
    width: auto;

    height:
        clamp(24px, 2.2vw, 30px);

    max-width:
        clamp(45px, 4.5vw, 58px);

    object-fit: contain;

    background: #ffffff;

    border-radius: 3px;

    padding: 2px 4px;
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {
    width: 100%;

    max-width: 1400px;

    margin: 0 auto;

    min-height:
        clamp(40px, 4vw, 48px);

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap:
        clamp(10px, 2vw, 20px);

    color:
        rgba(255, 255, 255, 0.5);

    font-size:
        clamp(0.6rem, 0.68vw, 0.68rem);
}

.footer-bottom p {
    margin: 0;
}

.footer-bottom-links {
    display: flex;

    align-items: center;

    gap:
        clamp(15px, 2.5vw, 30px);
}

.footer-bottom-links a {
    color:
        rgba(255, 255, 255, 0.55);
}

.footer-bottom-links a:hover {
    color: var(--gold);
}


/* =========================================================
   ÖVRIGA ELEMENT
========================================================= */

.image1 {
    display: none;
}

.dold {
    display: none;
}

.message-box {
    max-width: 100%;

    margin:
        clamp(1rem, 2vw, 2em) auto;

    padding:
        clamp(15px, 2vw, 25px);

    background: #ffffff;

    color: #222222;

    border-radius:
        clamp(6px, 0.8vw, 12px);

    box-shadow:
        0 10px 35px rgba(0, 0, 0, 0.35);

    border:
        1px solid #ddd;
}

#messages {
    font-size:
        clamp(0.9rem, 1vw, 1rem);

    color: #222222;

    margin-bottom: 1em;
}

#message-input {
    width: 100%;

    min-height:
        clamp(80px, 8vw, 120px);

    padding:
        clamp(10px, 1.2vw, 15px);

    font-size:
        clamp(0.9rem, 1vw, 1rem);

    border-radius: 8px;

    border:
        1px solid #ccc;

    background: #ffffff !important;

    color: #000000 !important;

    resize: vertical;

    outline: none;
}

#send-button {
    max-width:
        min(40%, 200px);

    background:
        linear-gradient(
            135deg,
            var(--gold),
            var(--gold-dark)
        );

    color: #000000;

    border: none;

    border-radius: 8px;

    cursor: pointer;

    font-size:
        clamp(0.85rem, 1vw, 1rem);

    padding:
        clamp(8px, 0.8vw, 10px)
        clamp(12px, 1.2vw, 18px);

    margin-top: 10px;
}

#square1 {
    margin-top:
        clamp(2rem, 4vw, 4%);

    font-size:
        clamp(1.5rem, 2vw, 2rem);

    text-align: center;

    color: var(--white);
}

#square2 {
    font-size:
        clamp(1rem, 1.5vw, 1.5rem);

    text-align: center;

    margin-left:
        clamp(5%, 15%, 15%);

    margin-right:
        clamp(5%, 15%, 15%);

    margin-top:
        clamp(1.5rem, 3vw, 3%);

    margin-bottom:
        clamp(1.5rem, 3vw, 3%);

    color:
        rgba(255, 255, 255, 0.85);
}

.grid-container2 {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        clamp(15px, 2vw, 25px);

    max-width: 1200px;

    width: var(--content-width);

    margin: 0 auto;

    padding:
        clamp(10px, 1.5vw, 20px);
}

#square3,
#square4,
#square5,
#square6 {
    background:
        linear-gradient(
            145deg,
            rgba(15, 15, 15, 0.9),
            rgba(0, 0, 0, 0.8)
        );

    color: var(--white);

    padding:
        clamp(18px, 2vw, 25px);

    text-align: center;

    font-size:
        clamp(1rem, 1.3vw, 1.3rem);

    cursor: pointer;

    border-radius:
        clamp(8px, 1vw, 12px);

    transition:
        background-color 0.25s ease,
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;

    border:
        1px solid rgba(255, 255, 255, 0.2);

    width: 100%;
}

#square3:hover,
#square4:hover,
#square5:hover,
#square6:hover {
    background:
        linear-gradient(
            145deg,
            rgba(35, 30, 15, 0.95),
            rgba(10, 10, 10, 0.9)
        );

    border-color: var(--gold);

    transform: translateY(-5px);

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.4);
}


/* =========================================================
   BOXAR
========================================================= */

/*
   BILD 5 LIGGER BAKOM HELA OMRÅDET MED BOX 3 OCH BOX 5.
   INGEN SKUGGA OCH INGEN ÄNDRING AV BOXARNAS PLACERING.
*/




/* =========================================================
   BOX 3
========================================================= */

#box3 {
 width: 100%;

    background-color: #000000;

    background-image:
        linear-gradient(
            90deg,
            #000000 0%,
            rgba(0, 0, 0, 0.85) 25%,
            rgba(0, 0, 0, 0.25) 65%,
            rgba(0, 0, 0, 0) 100%
        ),
        url("bild5.jpg");

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    text-align: left;

    font-size: 1.3em;

    margin: 0;

    padding: 5%;
}

#box3 p,
#box3 h2,
#box3 h3 {
    width: 50% !important;
    max-width: 50% !important;

    margin-right: auto;
    margin-left: 0;

    text-align: left;

    box-sizing: border-box;
}

/* =========================================================
   BOX 5
========================================================= */



/* =========================================================
   BOX 7
========================================================= */

/*
   BILD 4 LIGGER BAKOM HELA BOX 7-OMRÅDET
   MED EN SVART FADE FRÅN VÄNSTER.
*/

#box7 {
    width: 100%;

    background-color: #000000;

    background-image:
        linear-gradient(
            90deg,
            #000000 0%,
            rgba(0, 0, 0, 0.95) 25%,
            rgba(0, 0, 0, 0.25) 65%,
            rgba(0, 0, 0, 0) 100%
        ),
        url("bild4.jpg");

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    font-size: 1.3em;

    margin: 0;

    padding: 5%;
}


/* =========================================================
   TEXTEN I BOX 7
========================================================= */

#box7 p,
#box7 h2,
#box7 h3 {
    width: 50% !important;
    max-width: 50% !important;

    margin-right: auto;
    margin-left: 0;

    text-align: left;

    box-sizing: border-box;
}

/* =========================================================
   BOX 6
========================================================= */

#box6 {
    width:
        min(600px, 90%);

    margin-top:
        clamp(20px, 5vw, 5%);

    margin-left:
        clamp(0px, 30%, 30%);

    margin-bottom:
        clamp(20px, 5vw, 5%);

    background-color: #ffffff;

    padding:
        clamp(12px, 1.5vw, 15px);

    box-sizing: border-box;

    border-radius:
        clamp(7px, 0.8vw, 10px);
}


/* =========================================================
   CONTACT INFO
========================================================= */

.contact-info {
    background-color: #ffffff;

    padding:
        clamp(8px, 1vw, 10px);

    border-radius: 8px;

    display: flex;

    flex-direction: column;

    gap: 5px;

    margin-bottom:
        clamp(10px, 1.5vw, 15px);
}

.contact-info input {
    width: 100%;

    padding:
        clamp(7px, 0.8vw, 8px);

    border:
        1px solid #ccc;

    border-radius: 5px;

    box-sizing: border-box;

    font-size:
        clamp(0.85rem, 1vw, 1rem);
}

.contact-info label {
    font-size:
        clamp(0.8rem, 0.9vw, 0.875rem);

    margin-top: 5px;
}


/* =========================================================
   MESSAGE CONTAINER
========================================================= */

.message-container {
    max-height:
        clamp(100px, 10vw, 120px);

    overflow-y: auto;
}


/* =========================================================
   EXPANDED CONTENT
========================================================= */

.expanded-content {
    background-color: #ffffff;

    color: #222222;

    width:
        min(90%, 700px);

    margin:
        clamp(25px, 4vw, 40px) auto;

    padding:
        clamp(20px, 3vw, 35px);

    box-sizing: border-box;

    border-radius:
        clamp(7px, 0.8vw, 10px);

    box-shadow:
        0 5px 25px rgba(0, 0, 0, 0.15);
}


/* =========================================================
   EXPANDED RUBRIK
========================================================= */

.expanded-content h2 {
    text-align: center;

    color: #222222;

    margin-top: 0;

    margin-bottom:
        clamp(18px, 2vw, 25px);

    background: none;

    -webkit-text-fill-color: #222222;

    animation: none;
}

.expanded-content h3 {
    color: #333333;

    margin-top:
        clamp(18px, 2.5vw, 25px);
}

.expanded-content p {
    color: #444444;
}


/* =========================================================
   EXPANDED INPUT
========================================================= */

.expanded-content input[type="text"],
.expanded-content input[type="tel"],
.expanded-content input[type="email"],
.expanded-content input[type="date"],
.expanded-content input[type="time"],
.expanded-content textarea {
    display: block;

    width: 100%;

    box-sizing: border-box;

    background-color: #ffffff;

    color: #222222;

    border:
        1px solid #cccccc;

    border-radius: 5px;

    padding:
        clamp(9px, 1vw, 12px);

    margin-top: 6px;

    font-family: inherit;

    font-size:
        clamp(0.9rem, 1vw, 1rem);
}

.expanded-content textarea {
    resize: vertical;

    min-height:
        clamp(90px, 10vw, 100px);
}


/* =========================================================
   FOCUS
========================================================= */

.expanded-content input:focus,
.expanded-content textarea:focus {
    outline: none;

    border-color: #999999;

    box-shadow:
        0 0 0 2px rgba(0, 0, 0, 0.08);
}

.expanded-content button {
    cursor: pointer;
}

.expanded-content .close {
    margin-top: 15px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .wrapper {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, 380px);
    }

    .footer-info {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .footer-payment {
        grid-column: 1 / -1;

        text-align: center;
    }

    .payment-icons {
        justify-content: center;
    }

    .why-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}


/* =========================================================
   MELLANSTOR MOBIL / TABLET
========================================================= */

@media (max-width: 800px) {

    body {
        background-color: var(--black);
        background-image: none;
        background-attachment: scroll;
    }

    #container1 {
        grid-template-columns:
            45px 1fr;

        grid-template-rows:
            50px
            auto
            auto;

        padding:
            8px 10px;
    }

    .hamburger-menu {
        grid-column: 1;
        grid-row: 1;

        padding:
            5px;
    }

    .header-content {
        grid-column: 1 / -1;

        grid-row: 2;

        justify-content: center;

        padding:
            5px 0;
    }

    .logo {
        width:
            clamp(190px, 40vw, 250px);

        max-width: 85%;
    }

    nav {
        grid-column: 1 / -1;

        grid-row: 3;

        height:
            clamp(40px, 6vw, 45px);

        margin: 0;

        padding: 0;

        justify-content: space-around;

        gap: 5px;

        font-size:
            clamp(0.68rem, 1.5vw, 0.85rem);
    }

    nav a {
        padding:
            4px 2px;
    }

    nav a.whatsapp-link {
        padding:
            4px 7px;
    }

    .menu {
        width: 100%;

        max-width: 100%;

        padding:
            clamp(15px, 3vw, 20px);

        font-size:
            clamp(0.9rem, 2vw, 1rem);

        grid-row: 2;

        grid-column: 1 / -1;
    }


    /* =====================================================
       RESPONSIVA SPRÅKIKONER
    ===================================================== */

    nav .language-icon {
        width: clamp(16px, 4vw, 21px);
        height: clamp(11px, 3vw, 15px);

        max-width: 21px;
        max-height: 15px;
    }


    /* =====================================================
       HERO + BOOKING
    ===================================================== */

    .wrapper {
        display: flex;

        flex-direction: column;

        width: 100%;

        gap: 0;

        margin: 0;

        min-height: auto;
    }

    #container2 {
        width: 100%;

        min-height:
            clamp(330px, 60vw, 420px);

        padding:
            clamp(30px, 6vw, 50px)
            clamp(18px, 5vw, 35px)
            clamp(20px, 4vw, 30px);

        align-items: flex-end;

        background-image:
            linear-gradient(
                rgba(0, 0, 0, 0.38),
                rgba(0, 0, 0, 0.72)
            ),
            url("bild1.jpg");

        background-size: cover;

        background-position: center center;

        background-repeat: no-repeat;
    }

    .hero-content {
        max-width: 100%;

        margin: 0;
    }

    .hero-small-title {
        font-size:
            clamp(0.85rem, 2vw, 1rem);
    }

    .hero-content h1 {
        font-size:
            clamp(2rem, 9vw, 3.5rem);

        margin-bottom:
            clamp(10px, 2vw, 15px);
    }

    .hero-text {
        font-size:
            clamp(0.9rem, 2vw, 1rem);

        margin-bottom:
            clamp(12px, 2vw, 15px);
    }

    .airport-links {
        gap:
            clamp(8px, 2vw, 12px);

        font-size:
            clamp(0.7rem, 1.5vw, 0.8rem);
    }


    /* =====================================================
       BOOKING
    ===================================================== */

    #container3 {
        width: 94%;

        max-width: 430px;

        margin:
            -20px auto 30px;

        padding:
            clamp(12px, 2vw, 16px);

        position: relative;

        z-index: 5;
    }


    /* =====================================================
       WHY US
    ===================================================== */

    #why-us {
        padding:
            25px 15px 30px;
    }

    .section-title {
        gap: 8px;
    }

    .section-title span {
        width: 25px;
    }

    .section-title h2 {
        font-size:
            clamp(1rem, 2.5vw, 1.2rem);
    }

    .why-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            clamp(12px, 3vw, 18px)
            clamp(5px, 2vw, 10px);
    }

    .why-item {
        justify-content: flex-start;
    }


    /* =====================================================
       GRID
    ===================================================== */

    .grid-container2 {
        grid-template-columns: 1fr;
    }

    #box3,
    #box5,
    #box6 {
        width: 100%;

        max-width: 600px;

        margin-left: auto;
        margin-right: auto;
    }


    /* =====================================================
       BOX 7 – BILD 4 PÅ HELA OMRÅDET
    ===================================================== */

    #box7 {
        width: 100%;
        background-image:
            linear-gradient(
                90deg,
                #000000 0%,
                rgba(0, 0, 0, 0.95) 25%,
                rgba(0, 0, 0, 0.25) 65%,
                rgba(0, 0, 0, 0) 100%
            ),
            url("bild4.jpg");

        background-size: cover;

        background-position: center center;

        background-repeat: no-repeat;
    }
    
#box7 p,
#box7 h2,
#box7 h3 {
    width: 100% !important;
    max-width: 100% !important;

    margin-right: auto;
    margin-left: 0;

    text-align: left;
    
    box-sizing: border-box;
}
    /* =====================================================
       BOX 3 + BOX 5 – BILD 5
    ===================================================== */

    .box3-5-wrapper {
        width: 100%;

        background-image:
            url("bild5.jpg");

        background-size: cover;

        background-position: center center;

        background-repeat: no-repeat;
    }
#box3 p,
#box3 h2,
#box3 h3 {
    width: 100% !important;
    max-width: 100% !important;

    margin-right: auto;
    margin-left: 0;

    text-align: left;
    
    box-sizing: border-box;
}

    /* =====================================================
       FOOTER
    ===================================================== */

    #footer {
        padding:
            20px 12px 0;
    }

    .footer-main {
        display: flex;

        flex-direction: column;

        gap:
            clamp(12px, 3vw, 18px);
    }

    .footer-box {
        width: 100%;

        min-height: 0;
    }

    .footer-services {
        display: flex;

        flex-direction: column;

        min-height: 0;
    }

    .footer-services-content {
        padding:
            clamp(18px, 4vw, 22px)
            clamp(15px, 4vw, 20px)
            15px;
    }

    .footer-image-box {
        width: 100%;

        height: auto;

        min-height: 0;

        aspect-ratio: 16 / 9;

        overflow: hidden;
    }

    .footer-image-box img {
        width: 100%;

        height: 100%;

        min-height: 0;

        display: block;

        object-fit: cover;

        object-position: center center;
    }


    .footer-about {
        display: flex;

        flex-direction: column;

        min-height: 0;
    }

    .footer-about-content {
        padding:
            clamp(18px, 4vw, 22px)
            clamp(15px, 4vw, 20px)
            15px;
    }

    .footer-about-image {
        width: 100%;

        height: auto;

        min-height: 0;

        aspect-ratio: 16 / 9;

        overflow: hidden;
    }

    .footer-about-image img {
        width: 100%;

        height: 100%;

        min-height: 0;

        display: block;

        object-fit: cover;

        object-position: center center;
    }


    .footer-info {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap:
            clamp(15px, 3vw, 20px);

        margin-top:
            clamp(15px, 3vw, 18px);

        padding:
            20px 5px;
    }

    .footer-logo {
        justify-content: center;
    }

    .footer-logo img {
        width:
            clamp(150px, 45vw, 190px);
    }

    .footer-contact {
        text-align: center;
    }

    .contact-item {
        justify-content: center;
    }

    #socials {
        align-items: center;
    }

    .social-icons {
        justify-content: center;
    }

    .footer-payment {
        text-align: center;
    }

    .payment-icons {
        justify-content: center;
    }

    .footer-bottom {
        flex-direction: column;

        justify-content: center;

        text-align: center;

        gap: 8px;

        padding:
            15px 5px;
    }

    .footer-bottom-links {
        justify-content: center;

        gap:
            clamp(12px, 4vw, 18px);

        flex-wrap: wrap;
    }
}


/* =========================================================
   LITEN MOBIL
========================================================= */

@media (max-width: 500px) {

    body {
        font-size: 0.85rem;
    }

    nav {
        font-size:
            clamp(0.6rem, 2.5vw, 0.7rem);

        gap: 3px;
    }

    nav a.whatsapp-link {
        padding:
            4px 5px;
    }

    nav a.whatsapp-link img.icon {
        width: 12px;
        height: 12px;
    }


    /* =====================================================
       EXTRA RESPONSIVA SPRÅKIKONER
    ===================================================== */

    nav .language-icon {
        width: clamp(15px, 4vw, 19px);
        height: clamp(10px, 3vw, 13px);

        max-width: 19px;
        max-height: 13px;
    }


    /* =====================================================
       HERO – LITEN MOBIL
    ===================================================== */

    #container2 {
        min-height:
            clamp(310px, 90vw, 360px);

        padding:
            30px 18px 20px;

        background-size: cover;

        background-position: center center;
    }

    .hero-content h1 {
        font-size:
            clamp(1.9rem, 10vw, 2.5rem);
    }

    .hero-text {
        font-size:
            clamp(0.85rem, 4vw, 0.95rem);
    }

    .airport-links {
        font-size:
            clamp(0.65rem, 3vw, 0.72rem);

        gap: 8px;
    }


    /* =====================================================
       BOOKING
    ===================================================== */

    #container3 {
        width: 96%;

        padding:
            12px 9px 14px;
    }

    .booking-header h2 {
        font-size:
            clamp(1.05rem, 5vw, 1.2rem);
    }

    .booking-header p {
        font-size:
            clamp(0.7rem, 3vw, 0.75rem);
    }

    .booking-field {
        min-height: 42px;
    }

    .booking-field input,
    .booking-field select {
        font-size:
            clamp(0.65rem, 3vw, 0.7rem);

        height: 40px;
    }

    .field-icon {
        flex-basis: 27px;

        width: 27px;

        font-size: 0.85rem;
    }

    .field-arrow {
        right: 7px;
    }

    .checkbox-option {
        gap: 5px;

        font-size:
            clamp(0.6rem, 2.8vw, 0.68rem);
    }

    .custom-checkbox {
        width: 12px;
        height: 12px;
    }

    .book-button {
        font-size:
            clamp(0.75rem, 3vw, 0.82rem);
    }


    /* =====================================================
       WHY US
    ===================================================== */

    .why-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            12px 5px;
    }

    .why-icon {
        font-size: 1.4rem;
    }

    .why-item strong {
        font-size: 0.68rem;
    }

    .why-item small {
        font-size: 0.62rem;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    .footer-box-title {
        font-size:
            clamp(0.95rem, 4vw, 1.05rem);
    }

    .footer-service-list li {
        font-size:
            clamp(0.72rem, 3vw, 0.8rem);
    }

    .footer-about-content p {
        font-size:
            clamp(0.7rem, 3vw, 0.78rem);
    }

    .footer-image-box,
    .footer-about-image {
        aspect-ratio: 16 / 8.5;

        height: auto;

        min-height: 0;
    }

    .footer-image-box img,
    .footer-about-image img {
        width: 100%;

        height: 100%;

        min-height: 0;

        object-fit: cover;

        object-position: center center;
    }


    .expanded-content {
        width: 94%;

        padding:
            clamp(18px, 5vw, 22px);

        margin:
            25px auto;
    }
}


/* =========================================================
   EXTRA LITEN MOBIL
========================================================= */

@media (max-width: 360px) {

    nav {
        font-size: 0.58rem;
    }

    .logo {
        max-width: 88%;
    }


    /* =====================================================
       SPRÅKIKONER
    ===================================================== */

    nav .language-icon {
        width: 17px;
        height: 12px;

        max-width: 17px;
        max-height: 12px;
    }


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

    #container2 {
        min-height: 320px;

        padding:
            28px 15px 18px;

        background-size: cover;

        background-position: center center;
    }

    .hero-content h1 {
        font-size: 1.8rem;
    }

    .hero-text {
        font-size: 0.82rem;
    }

    .airport-links {
        font-size: 0.62rem;

        gap: 6px;
    }


    /* =====================================================
       BOOKING
    ===================================================== */

    #container3 {
        width: 97%;

        padding:
            10px 7px 12px;
    }

    .booking-field input,
    .booking-field select {
        font-size: 0.63rem;
    }

    .checkbox-option {
        font-size: 0.58rem;
    }


    /* =====================================================
       WHY US
    ===================================================== */

    .why-grid {
        gap: 10px 3px;
    }

    .why-item {
        gap: 5px;
    }

    .why-item strong {
        font-size: 0.62rem;
    }

    .why-item small {
        font-size: 0.56rem;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    .footer-service-list li {
        font-size: 0.7rem;
    }

    .footer-image-box,
    .footer-about-image {
        aspect-ratio: 16 / 8;
    }
}
