:root {
    --ArtyClick-Amber: #FFC000;
    --white: #fff;
    --black: #111111;
    --Charcoal-Grey: #414141;
    --Storm-Dust: #676363;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: "Roboto", sans-serif;
}
/* ============== TOP HEADER ============== */
.menutopbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.phoneemail a {
    text-decoration: none;
    color: var(--white);
}

.top-header {
    background: #11111170;
    color: var(--white);
    padding: 8px 0;
    font-size: 14px;
}

.policyheader .top-header {
    background: var(--black) !important;
}

.top-header i {
    margin-right: 6px;
    color: var(--ArtyClick-Amber);
}

.social-icons {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

    .social-icons a {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: var(--ArtyClick-Amber) !important;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        padding-left: 6px;
    }

        .social-icons a i {
            color: var(--black) !important;
            font-size: 15px;
            transition: .6s;
        }

        .social-icons a:hover i {
            color: var(--white) !important;
            transition: .6s;
        }
/* ============== MAIN NAVBAR ============== */
.navbar-toggler-icon {
    display: none !important;
}

.toggler-icon i {
    font-size: 26px;
    color: #000;
    transition: 0.3s ease;
}

.close-icon {
    display: none;
}

.sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5000;
    animation: slideDown .3s ease;
}

@keyframes slideDown {
    from {
        top: -80px;
    }

    to {
        top: 0;
    }
}

.navbar-brand {
    background: var(--ArtyClick-Amber);
    color: var(--black);
    padding: 20px 60px;
    margin-bottom: -1px;
}

    .navbar-brand h3 {
        font-weight: 600;
    }

.main-nav {
    background: var(--white);
    border-bottom: 1px solid #eee;
    padding: 0 !important;
}

.brand-logo {
    width: 130px;
}

.nav-gap .nav-link {
    margin: 0 10px;
    font-weight: 500;
    color: var(--Charcoal-Grey);
}

    .nav-gap .nav-link:hover {
        color: var(--ArtyClick-Amber);
    }

.read-more-btn {
    background: var(--black);
    color: var(--white);
    padding: 8px 22px;
    border-radius: 25px;
    font-weight: 500;
    text-decoration: none;
}

    .read-more-btn i {
        margin-left: 6px;
    }

.menu-icon {
    font-size: 22px;
    cursor: pointer;
    margin-left: 10px;
}

.hero-img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: top;
    filter: brightness(0.55);
}

.hero-content {
    position: absolute;
    top: 40%;
    left: 8%;
    width: 45%;
}

.tagline {
    color: var(--ArtyClick-Amber);
    font-weight: 600;
    letter-spacing: 2px;
    font-size: 14px;
}

.hero-content h1 {
    color: var(--white);
    font-size: 65px;
    font-weight: 700;
    line-height: 1.2;
}

.highlight {
    background: var(--white);
    color: #000;
    padding: 0 10px;
}

.hero-content p {
    font-size: 16px;
    margin-top: 20px;
    color: var(--white);
}

.get-btn {
    display: inline-block;
    margin-top: 25px;
    background: var(--ArtyClick-Amber);
    padding: 12px 35px;
    font-weight: 600;
    border-radius: 30px;
    color: var(--black);
    text-decoration: none;
    font-size: 16px;
}

    .get-btn i {
        margin-left: 8px;
    }

.carousel-caption {
    text-shadow: none;
}

.about-section {
    padding: 80px 0;
}

.about-tag {
    color: var(--ArtyClick-Amber);
    font-weight: 600;
    font-size: 16px;
}

.about-title {
    font-size: 48px;
    font-weight: 700;
    margin-top: 10px;
    line-height: 1.2;
}

.about-text {
    margin-top: 20px;
    font-size: 18px;
    color: var(--Storm-Dust);
    line-height: 35px;
}

.about-section ul {
    list-style: none;
    padding-left: 0;
}

    .about-section ul li {
        font-size: 18px;
        color: var(--Storm-Dust);
        line-height: 35px;
    }

        .about-section ul li i {
            color: var(--ArtyClick-Amber);
        }

.read-btn {
    background: var(--black);
    color: var(--white);
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 500;
    text-decoration: none;
}

    .read-btn i {
        margin-left: 8px;
    }

.call-icon {
    width: 40px;
    height: 40px;
    background: var(--ArtyClick-Amber);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .call-icon i {
        color: var(--black);
        font-size: 18px;
    }

.call-info {
    font-size: 16px;
}

    .call-info small {
        color: var(--Charcoal-Grey);
        font-size: 16px;
    }

.big-img {
    width: 100%;
    border-radius: 12px;
}

.small-img {
    width: 200px;
    border-radius: 12px;
    position: absolute;
    top: 80px;
    left: -40px;
    border: 6px solid var(--white);
}

.exp-box {
    position: absolute;
    bottom: 40px;
    left: 40px;
    background: var(--ArtyClick-Amber);
    padding: 25px 35px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 15px;
}

    .exp-box i {
        font-size: 40px;
        color: var(--black);
    }

    .exp-box h4 {
        margin: 0;
        font-size: 28px;
        font-weight: 700;
    }

    .exp-box span {
        font-size: 16px;
        font-weight: 500;
        display: block;
    }
/* ---------------booking section ------------------*/
.booking-section {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
    /* background: #fffbf5; */
    padding: 80px 0;
}

.booking-wrapper {
    position: relative;
    width: 100%;
    min-height: 600px;
}

.left-yellow {
    position: absolute;
    left: 0;
    top: 120px;
    width: 40%;
    height: 100%;
    background: var(--ArtyClick-Amber);
    clip-path: polygon(0 0, 90% 0, 30% 69%, 0 100%);
}

.right-image img {
    width: 60%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    filter: brightness(0.55);
}

.booking-form-box {
    position: relative;
    background: var(--white);
    width: 50%;
    padding: 40px 50px;
    box-shadow: 0px 5px 25px rgba(0,0,0,0.12);
    z-index: 10;
    margin: 0 auto;
}

    .booking-form-box h2 {
        font-size: 36px;
        font-weight: 700;
    }

    .booking-form-box .subtitle {
        font-size: 15px;
        margin-bottom: 25px;
        color: var(--Storm-Dust);
    }

.form-control {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 20px;
    font-size: 15px;
}

    .form-control:focus {
        border-color: var(--ArtyClick-Amber);
        box-shadow: none;
    }

.submit-btn {
    width: 100%;
    padding: 14px;
    border: none;
    background: var(--ArtyClick-Amber);
    color: var(--black);
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
}

    .submit-btn:hover {
        background: var(--ArtyClick-Amber);
    }
/* -------------------app section------------------------------ */
.app-section {
    width: 100%;
    position: relative;
}

.app-left {
    background: url('../images/blog2.jpg') center center/cover no-repeat;
    padding: 100px 50px;
    color: var(--white);
    position: relative;
    min-height: 500px;
}

    .app-left::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,0.45);
        z-index: 1;
    }

.app-content {
    position: relative;
    z-index: 2;
}

    .app-content h2 {
        font-size: 48px;
        font-weight: 700;
        line-height: 1.3;
    }

        .app-content h2 span {
            color: var(--ArtyClick-Amber);
        }

    .app-content p {
        margin-top: 18px;
        font-size: 16px;
        opacity: 0.85;
    }

.store-btn {
    width: 160px;
    cursor: pointer;
}

.app-right {
    background: var(--ArtyClick-Amber);
    padding: 50px 0;
    position: relative;
    overflow: hidden;
}

    .app-right::before,
    .app-right::after {
        content: "";
        position: absolute;
        width: 14%;
        height: 180%;
        background: var(--black);
        transform: rotate(-25deg);
        top: -20%;
    }

    .app-right::before {
        right: 32%;
    }

    .app-right::after {
        right: 12%;
    }

.phone-img {
    width: 550px;
    position: absolute;
    bottom: 0;
    right: 160px;
    z-index: 10;
}

.google-map iframe {
    width: 100%;
    height: 350px;
}

.testimonial-section {
    padding: 80px 0;
    /* background: url('./images/pattern-bg.png'); */
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}

.test-title-tag {
    font-size: 14px;
    font-weight: 600;
    color: var(--ArtyClick-Amber);
}

.test-title {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 40px;
}

.test-card {
    display: flex;
    align-items: center;
    background: transparent;
    margin: 20px;
}

.test-left {
    background: var(--white);
    padding: 50px;
    border-radius: 6px;
    /* box-shadow: 0 10px 25px rgba(0,0,0,0.06); */
}

.quote-text {
    font-size: 18px;
    margin-bottom: 35px;
    line-height: 1.7;
}

.test-user {
    display: flex;
    align-items: center;
}

.quote-icon {
    width: 60px;
    height: 60px;
    background: var(--ArtyClick-Amber);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 60px;
    font-weight: 700;
    margin-right: 15px;
    padding-top: 20px;
}

.stars {
    color: var(--ArtyClick-Amber);
    font-size: 16px;
}

.test-right {
    position: relative;
    width: 100%;
    height: 360px;
}

.yellow-bg {
    background: var(--ArtyClick-Amber);
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 1;
}

.test-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 5% 100%);
    position: relative;
    z-index: 2;
}

.owl-dots {
    text-align: left;
    margin-top: 20px;
}

    .owl-dots .owl-dot span {
        width: 30px;
        height: 5px;
        background: #ccc;
        display: inline-block;
        border-radius: 5px;
        margin: 4px;
        transition: 0.3s;
    }

    .owl-dots .owl-dot.active span {
        background: #000;
        width: 40px;
    }

/* === FOOTER MAIN === */
.taxi-footer {
    background: #000;
    color: var(--white);
    padding-top: 80px;
    font-family: "Roboto", sans-serif;
    position: relative;
    /* background-image: url('./images/footer-map.png');  */
    background-size: cover;
    background-repeat: no-repeat;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-icon {
    width: 40px;
}

.footer-logo h2 {
    font-size: 36px;
    font-weight: 700;
}

.taxi-footer .call-box a {
    text-decoration: none;
}

.taxi-footer .call-box {
    background: var(--ArtyClick-Amber);
    padding: 20px 30px;
    border-radius: 0 20px 20px 0;
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 30px;
    width: fit-content;
}

    .taxi-footer .call-box i {
        font-size: 34px;
        color: var(--black);
    }

    .taxi-footer .call-box small {
        font-size: 14px;
        color: var(--black);
        opacity: 0.8;
    }

    .taxi-footer .call-box h4 {
        margin: 0;
        color: var(--black);
        font-weight: 700;
    }

.store-btn {
    width: 150px;
    margin-right: 10px;
    cursor: pointer;
}

.social-icon a {
    width: 40px;
    height: 40px;
    border: 1px solid #444;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    margin-right: 10px;
    color: var(--black);
    transition: 0.3s;
    background: var(--ArtyClick-Amber) !important;
    text-decoration: none;
}

    .social-icon a:hover {
        background: var(--ArtyClick-Amber);
        color: var(--black);
    }

.footer-services ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .footer-services ul li {
        margin-bottom: 8px;
    }

        .footer-services ul li a {
            text-decoration: none;
            color: var(--white);
        }

.footer-services i {
    color: var(--ArtyClick-Amber);
    margin-right: 8px;
}

.footer-bottom {
    border-top: 1px solid #222;
    padding: 20px 30px;
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
    color: #ccc;
}

.bottom-links {
    list-style: none;
    display: flex;
    gap: 20px;
}

    .bottom-links a {
        color: var(--white);
        font-size: 15px;
    }

        .bottom-links a:hover {
            color: var(--ArtyClick-Amber);
        }

.footer-bottom {
    display: block;
    text-align: center;
}

    .footer-bottom a {
        text-decoration: none;
        color: var(--ArtyClick-Amber);
    }

.footgmail {
    text-decoration: none;
    color: var(--white);
}

.privacy-hero {
    background: #313131;
    color: var(--white);
    padding: 30px 0;
}

    .privacy-hero h1 {
        font-size: 32px;
        margin-bottom: 5px;
    }

    .privacy-hero p {
        opacity: 0.7;
        margin: 0;
    }

.privacy-section {
    padding: 80px 0;
}

    .privacy-section h2 {
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .privacy-section p,
    .privacy-section ul {
        font-size: 15px;
        line-height: 1.7;
        color: #444;
    }

    .privacy-section ul {
        padding-left: 20px;
    }

.privacy-note {
    margin-top: 30px;
    font-size: 13px;
    color: #777;
}

.back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: var(--ArtyClick-Amber);
    border: none;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: none; /* hidden by default */
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    z-index: 9999;
}

    .back-to-top img {
        width: 20px;
    }

.whatsapp {
    background: #25d366;
    color: white;
    position: fixed;
    bottom: 80px;
    right: 20px;
    font-size: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 0;
    height: 0;
    padding: 35px;
    text-decoration: none;
    border-radius: 50%;
    animation-name: pulse;
    animation-duration: 1.5s;
    animation-timing-function: ease-out;
    animation-iteration-count: infinite;
    z-index: 4000;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
    }

    80% {
        box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
    }
}
/* responsive start */
@media(max-width:1400px) {
    .phone-img {
        right: 0px;
    }
}

@media(max-width:1200px) {
    .hero-content h1 {
        font-size: 55px;
    }

    .about-title, .app-content h2, .test-title {
        font-size: 40px;
    }

    .booking-form-box {
        width: 70%;
    }

    .footer-top h4 {
        font-size: 24px;
    }

    .hero-content {
        width: 70%;
    }

    .test-right {
        height: auto;
    }
}

@media(max-width: 992px) {
    .test-image,
    .yellow-bg {
        clip-path: none;
        border-radius: 10px;
    }

    .navbar-nav {
        line-height: 40px;
    }

    .main-nav .read-more-btn {
        margin-bottom: 40px;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    .navbar-toggler {
        border: none;
    }

    .action-row {
        margin-bottom: 40px;
    }

    .booking-form-box {
        width: 100%;
    }

    .app-right {
        display: none;
    }

    .test-title {
        margin-bottom: 0;
    }

    .test-left {
        padding: 20px 0;
    }

    .test-image {
        width: auto;
        height: auto;
        object-fit: static;
        clip-path: none;
        position: relative;
        z-index: 2;
    }

    .taxi-footer .call-box, .footer-store {
        margin-bottom: 20px;
    }
}

@media (max-width: 991px) {
    .call-box {
        transform: scale(0.9);
    }

    .bottom-links {
        margin-top: 10px;
        justify-content: center;
    }

    .phone-img {
        width: 280px;
        right: 20px;
        top: 40px;
    }

    .taxi-img {
        width: 260px;
        right: 20px;
        bottom: 0;
    }

    .app-left {
        padding: 70px 30px;
    }

    .app-content h2 {
        font-size: 36px;
    }
}

@media(max-width:768px) {
    .about-section, .testimonial-section, .taxi-footer, .booking-section, .privacy-section {
        padding: 40px 0;
    }

    .small-img {
        left: 30px;
        width: 150px;
    }

    .hero-img {
        height: 80vh;
    }

    .hero-content h1 {
        font-size: 45px;
    }

    .big-img {
        max-width: 80%;
        width: 100%;
    }

    .footer-bottom {
        padding-bottom: 0;
    }

        .footer-bottom p {
            margin-bottom: 0;
        }

    .social-icons {
        justify-content: start;
        margin: 12px 0;
    }
}

@media(max-width:575px) {
    .hero-content {
        top: 35%;
        width: 100%;
        padding: 20px;
        left: 0;
    }

    .about-title, .app-content h2, .test-title {
        font-size: 35px;
    }

    .hero-content h1 {
        font-size: 38px;
    }

    .booking-form-box h2 {
        font-size: 30px;
    }

    .booking-form-box {
        padding: 30px;
    }

    .yellow-bg {
        height: auto;
    }

    .big-img {
        max-width: 100%;
        width: 100%;
    }

    .privacy-hero h1 {
        font-size: 26px;
        margin-bottom: 5px;
    }
}

@media(max-width:425px) {
    .about-title, .app-content h2, .test-title {
        font-size: 30px;
    }

    .store-btn {
        width: 140px;
        margin-left: 20px;
    }

    .footer-logo h2 {
        font-size: 30px;
        margin-bottom: 14px;
    }

    .app-left {
        min-height: 370px;
    }

    .call-info small {
        font-size: 18px;
    }
}

@media(max-width:375px) {
    .phoneemail {
        gap: .9rem !important;
    }

    .navbar-brand {
        padding: 16px 40px;
    }

    .hero-content h1 {
        font-size: 30px;
    }

    .about-title, .app-content h2, .test-title {
        font-size: 26px;
    }

    .action-row {
        display: block !important;
    }

    .exp-box {
        left: 20px;
        padding: 20px;
    }

    .small-img {
        left: 30px;
        width: 110px;
    }

    .booking-form-box h2 {
        font-size: 24px;
    }

    .booking-form-box {
        padding: 40px 20px;
    }

    .about-text, .about-section ul li, .quote-text {
        font-size: 16px;
        line-height: 30px;
    }
}
