:root {
    color-scheme: light;
    --gns-ink: #24343b;
    --gns-muted: #687a80;
    --gns-paper: #ffffff;
    --gns-canvas: #f4f9f7;
    --gns-line: #dce9e5;
    --gns-coral: #c85d43;
    --gns-coral-dark: #a94835;
    --gns-teal: #24766d;
    --gns-teal-dark: #185b55;
    --gns-wash: #eaf5f1;
    --gns-shadow: 0 12px 34px rgba(35, 69, 66, .09);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 5rem;
}

body {
    min-width: 320px;
    overflow-x: clip;
    background: linear-gradient(145deg, #f9fcfb 0%, var(--gns-canvas) 58%, #fff7f2 100%);
    color: var(--gns-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    text-rendering: optimizeLegibility;
}

img {
    max-width: 100%;
}

::selection {
    background: #d7eee7;
    color: var(--gns-teal-dark);
}

a {
    color: var(--gns-teal-dark);
    text-decoration-color: rgba(24, 91, 85, .28);
    text-underline-offset: .18em;
}

a:hover {
    color: var(--gns-coral-dark);
}

:focus-visible {
    outline: 3px solid rgba(200, 93, 67, .72);
    outline-offset: 3px;
}

.header-area.style-3 {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid rgba(220, 233, 229, .9);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 5px 24px rgba(35, 69, 66, .06);
}

.header-area.style-3 > .container-fluid {
    min-height: 76px;
    gap: 1rem;
}

.header-logo2 img,
.mobile-logo-wrap img {
    width: auto;
    max-width: 190px;
    max-height: 54px;
    object-fit: contain;
}

.header-area .menu-list a {
    color: var(--gns-ink);
    font-weight: 600;
    text-decoration: none;
    transition: color .16s ease;
}

.header-area .menu-list a:hover,
.header-area .menu-list a:focus-visible {
    color: var(--gns-coral-dark);
}

.contact-area .content span,
.reservation-search-label {
    color: var(--gns-muted);
}

.language-trigger,
.search-btn,
.sidebar-button,
.menu-close-btn {
    cursor: pointer;
}

.language-trigger,
.language-option,
.search-input-shell,
.language-menu {
    border-color: var(--gns-line);
}

.language-menu,
.search-input-shell {
    border-radius: 10px;
    box-shadow: var(--gns-shadow);
}

.btn-primary,
.auth-submit,
#rezSorguBtn {
    border-color: var(--gns-coral);
    background: linear-gradient(135deg, #d9795d, var(--gns-coral));
    color: #fff;
    font-weight: 650;
    box-shadow: 0 7px 18px rgba(200, 93, 67, .18);
}

.btn-primary:hover,
.auth-submit:hover,
#rezSorguBtn:hover {
    border-color: var(--gns-coral-dark);
    background: var(--gns-coral-dark);
    color: #fff;
}

.btn-outline-light {
    border-color: var(--gns-line);
    background: var(--gns-paper);
    color: var(--gns-teal-dark);
}

.form-control,
.form-select,
.rez-input,
.auth-field input {
    min-height: 44px;
    border-color: var(--gns-line);
    border-radius: 8px;
    background-color: #fff;
    color: var(--gns-ink);
    box-shadow: none;
}

.form-control:focus,
.form-select:focus,
.rez-input:focus,
.auth-field input:focus {
    border-color: #62a79b;
    box-shadow: 0 0 0 3px rgba(36, 118, 109, .12);
}

.modal-content,
.auth-modal,
.booking-form-wrap,
.booking-widget,
.filter-sidebar,
.service-card,
.vehicle-card,
.car-card,
.tour-card,
.blog-card,
.single-blog,
.service-box {
    border: 1px solid rgba(220, 233, 229, .9);
    border-radius: 10px;
    background: var(--gns-paper);
    box-shadow: var(--gns-shadow);
}

.auth-visual {
    background: linear-gradient(145deg, #e4f3ed 0%, #fdf2eb 100%);
    color: var(--gns-ink);
}

.auth-visual h5,
.auth-visual p {
    color: inherit;
}

.footer-section {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
    border-top: 1px solid var(--gns-line);
    background: linear-gradient(135deg, #eff7f4 0%, #fff8f3 100%);
}

.footer-section a,
.footer-section .footer-title-text {
    color: var(--gns-ink);
}

.footer-section a:hover {
    color: var(--gns-coral-dark);
}

.progress-wrap {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1000;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(36, 118, 109, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 5px 18px rgba(35, 69, 66, .16);
}

.progress-wrap .svg-content {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.progress-wrap .progress-circle path {
    fill: none;
    stroke: var(--gns-teal);
    stroke-width: 4;
}

.progress-wrap .arrow {
    position: relative;
    width: 16px;
    height: 16px;
    fill: var(--gns-teal-dark);
}

@media (max-width: 1199.98px) {
    .header-area.style-3 > .container-fluid {
        min-height: 68px;
    }
}

@media (max-width: 767.98px) {
    body {
        background: linear-gradient(155deg, #f8fbfa 0%, #f3f8f6 72%, #fff8f4 100%);
    }

    .header-area.style-3 > .container-fluid {
        min-height: 62px;
        padding-inline: 14px;
    }

    .header-logo2 img,
    .mobile-logo-wrap img {
        max-width: 150px;
        max-height: 46px;
    }

    .progress-wrap {
        right: 14px;
        bottom: 14px;
        width: 42px;
        height: 42px;
    }

    .footer-section {
        contain-intrinsic-size: auto 560px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
