/* =========================================================
   SM TRAVELS - TEMPO TRAVELLER PAGE
   Complete Updated CSS
========================================================= */

.smtt-page {
    --tt-primary: #0a1c59;
    --tt-primary-dark: #06133d;
    --tt-primary-light: #15377f;
    --tt-yellow: #f5b51b;
    --tt-yellow-hover: #ffc738;
    --tt-yellow-soft: #fff7e2;
    --tt-green: #159468;
    --tt-text: #20283a;
    --tt-muted: #5f6b7e;
    --tt-border: #e5e9f1;
    --tt-light: #f7f8fb;
    --tt-white: #ffffff;

    --tt-shadow:
        0 18px 45px rgba(19, 34, 72, 0.08);

    --tt-shadow-hover:
        0 22px 50px rgba(19, 34, 72, 0.12);

    color: var(--tt-text);

    background: #ffffff;

    overflow: hidden;
}

.smtt-page *,
.smtt-page *::before,
.smtt-page *::after {
    box-sizing: border-box;
}

.smtt-page a {
    text-decoration: none;
}

.smtt-page img {
    max-width: 100%;
}

.smtt-section {
    padding: 72px 0;
}

.smtt-section-sm {
    padding: 58px 0;
}

.smtt-soft-bg {
    background: #f7f8fb;
}

.smtt-dark-bg {
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(245, 181, 27, .14),
            transparent 28%
        ),
        radial-gradient(
            circle at 5% 95%,
            rgba(62, 101, 214, .18),
            transparent 30%
        ),
        #071844;
}


/* =========================================================
   COMMON TYPOGRAPHY
========================================================= */

.smtt-section-head {

    margin-bottom: 36px;
}

.smtt-section-head.center {
    margin-left: auto;
    margin-right: auto;

    text-align: center;
}

.smtt-label {
    display: inline-flex;

    align-items: center;

    gap: 7px;

      padding: 8px 15px;

    margin-bottom: 14px;

    border-radius: 50px;

    background: var(--tt-yellow-soft);
    border: 1px solid #e4e4e4;
  
    color: #7b5500;

    font-size: 15px;

    line-height: 1;

    font-weight: 600;
}

.smtt-label i {
    color: var(--tt-yellow);

    font-size: 15px;
}

.smtt-title {
    margin-bottom: 14px;

    color: var(--tt-primary);

    font-size: clamp(27px, 3vw, 37px);

    line-height: 1.25;

    letter-spacing: normal;

    font-weight: 600;
}

.smtt-section-head p,
.smtt-description {
    margin-bottom: 0;

    color: var(--tt-muted);

    font-size: 16px;

    line-height: 1.8;
}

.smtt-section-head strong {
    color: #404b60;

    font-weight: 600;
}

.smtt-small-note {
    margin-top: 17px;

    color: var(--tt-muted);

    font-size: 14px;

    line-height: 1.75;
}


/* =========================================================
   BUTTONS
========================================================= */

.smtt-btn {
    min-height: 48px;

    padding: 11px 20px;

    border: 1px solid transparent;

    border-radius: 9px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    font-size: 14px;

    line-height: 1.4;

    font-weight: 600;

    transition: .3s ease;
}

.smtt-btn-primary {
    background: var(--tt-yellow);

    color: #18213a;
}

.smtt-btn-primary:hover {
    background: var(--tt-yellow-hover);

    color: #18213a;

    transform: translateY(-2px);

    box-shadow:
        0 11px 28px rgba(245, 181, 27, .25);
}

.smtt-btn-dark {
    background: var(--tt-primary);

    color: #fff;
}

.smtt-btn-dark:hover {
    background: var(--tt-primary-dark);

    color: #fff;

    transform: translateY(-2px);
}

.smtt-btn-white {
    background: #fff;

    color: var(--tt-primary);
}

.smtt-btn-white:hover {
    color: var(--tt-primary);

    transform: translateY(-2px);
}


/* =========================================================
   HERO
========================================================= */

.smtt-hero {
    position: relative;

    min-height: 690px;

    display: flex;

    align-items: center;

    padding: 75px 0 115px;

    background:
        linear-gradient(
            90deg,
            rgba(5, 17, 51, .87) 0%,
            rgba(5, 17, 51, .73) 43%,
            rgba(5, 17, 51, .62) 100%
        ),
        url('../img/hero/04.jpg')
        center center / cover no-repeat;
}

.smtt-hero::before {
    content: "";

    position: absolute;

    left: -120px;

    top: 80px;

    width: 330px;

    height: 330px;

    border-radius: 50%;

    background:
        rgba(245, 181, 27, .13);

    filter: blur(80px);
}

.smtt-hero .container {
    position: relative;

    z-index: 3;
}

.smtt-hero-content {
    max-width: 720px;
}

.smtt-hero-badge {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 8px 13px;

    margin-bottom: 18px;

    border:
        1px solid rgba(255, 255, 255, .16);

    border-radius: 50px;

    background:
        rgba(255, 255, 255, .09);

    color:
        rgba(255, 255, 255, .93);

    font-size: 13px;

    font-weight: 500;
}

.smtt-hero-badge i {
    color: var(--tt-yellow);
}

.smtt-hero h1 {
    max-width: 700px;

    margin-bottom: 17px;

    color: #fff;

    font-size: clamp(31px, 4.2vw, 47px);

    line-height: 1.13;

    letter-spacing: -.5px;

    font-weight: 700;
}

.smtt-hero-text {
    max-width: 680px;

    margin-bottom: 23px;

    color:
        rgba(255, 255, 255, .80);

    font-size: 16px;

    line-height: 1.8;
}

.smtt-hero-stats {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-bottom: 25px;
}

.smtt-hero-stat {
    min-height: 39px;

    padding: 8px 12px;

    display: flex;

    align-items: center;

    gap: 8px;

    border:
        1px solid rgba(255, 255, 255, .12);

    border-radius: 8px;

    background:
        rgba(255, 255, 255, .07);

    color: #fff;

    font-size: 13px;

    font-weight: 500;
}

.smtt-hero-stat i {
    color: var(--tt-yellow);
}

.smtt-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}

.smtt-hero-outline {
    border-color:
        rgba(255, 255, 255, .25);

    background:
        rgba(255, 255, 255, .07);

    color: #fff;
}

.smtt-hero-outline:hover {
    background: #fff;

    color: var(--tt-primary);
}


/* =========================================================
   HERO QUOTATION FORM
========================================================= */

.smtt-quote-card {
    position: relative;

    max-width: 430px;

    margin-left: auto;

    padding: 27px;

    border:
        1px solid rgba(255, 255, 255, .30);

    border-radius: 19px;

    background:
        rgba(255, 255, 255, .98);

    box-shadow:
        0 30px 75px rgba(0, 0, 0, .23);
}

.smtt-quote-card::before {
    content: "";

    position: absolute;

    top: 0;

    left: 27px;

    width: 78px;

    height: 4px;

    border-radius: 0 0 20px 20px;

    background: var(--tt-yellow);
}

.smtt-quote-head {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 18px;
}

.smtt-quote-head-icon {
    width: 42px;

    height: 42px;

    flex: 0 0 42px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background: var(--tt-primary);

    color: var(--tt-yellow);
}

.smtt-quote-card h3 {
    margin-bottom: 3px;

    color: var(--tt-primary);

    font-size: 20px;

    line-height: 1.3;

    font-weight: 600;
}

.smtt-form-subtitle {
    margin: 0;

    color: var(--tt-muted);

    font-size: 13px;

    line-height: 1.5;
}

.smtt-quote-card label {
    display: block;

    margin-bottom: 5px;

    color: #495369;

    font-size: 13px;

    font-weight: 550;
}

.smtt-quote-card .form-control,
.smtt-quote-card .form-select {
    height: 47px;

    border: 1px solid #e1e6ee;

    border-radius: 8px;

    background: #f8f9fc;

    color: #333d50;

    font-size: 13px;

    box-shadow: none;
}

.smtt-quote-card .form-control:focus,
.smtt-quote-card .form-select:focus {
    border-color: var(--tt-yellow);

    background: #fff;

    box-shadow:
        0 0 0 3px rgba(245, 181, 27, .10);
}

.smtt-radio-wrap {
    min-height: 47px;

    padding: 10px 11px;

    display: flex;

    align-items: center;

    border: 1px solid #e1e6ee;

    border-radius: 8px;

    background: #f8f9fc;
}

.smtt-radio-wrap .form-check-label {
    margin-bottom: 0;
}

.smtt-quote-submit {
    width: 100%;

    min-height: 49px;

    border: 0;

    border-radius: 9px;

    background: var(--tt-primary);

    color: #fff;

    font-size: 14px;

    font-weight: 600;

    transition: .3s ease;
}

.smtt-quote-submit:hover {
    background: var(--tt-primary-dark);

    transform: translateY(-2px);
}


/* =========================================================
   RENTAL AT A GLANCE
========================================================= */

.smtt-glance {
    position: relative;

    z-index: 5;

    margin-top: -54px;
}

.smtt-glance-wrap {
    padding: 12px;

    border: 1px solid var(--tt-border);

    border-radius: 18px;

    background: #fff;

    box-shadow:
        0 20px 55px rgba(13, 30, 70, .11);
}

.smtt-glance-title {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 14px 16px 18px;

    border-bottom:
        1px solid var(--tt-border);
}

.smtt-glance-title-icon {
    width: 39px;

    height: 39px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    background: var(--tt-primary);

    color: var(--tt-yellow);
}

.smtt-glance-title h2 {
    margin: 0;

    color: var(--tt-primary);

    font-size: 20px;

    font-weight: 600;
}

.smtt-glance-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);
}

.smtt-glance-item {
    padding: 18px 16px;

    display: flex;

    align-items: flex-start;

    gap: 11px;

    border-right:
        1px solid var(--tt-border);

    border-bottom:
        1px solid var(--tt-border);
}

.smtt-glance-item:nth-child(4n) {
    border-right: 0;
}

.smtt-glance-item:nth-last-child(-n+3) {
    border-bottom: 0;
}

.smtt-glance-icon {
    width: 38px;

    height: 38px;

    flex: 0 0 38px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    background: var(--tt-yellow-soft);

    color: var(--tt-primary);

    font-size: 15px;
}

.smtt-glance-item small {
    display: block;

    margin-bottom: 3px;

    color: #464d59;

    font-size: 15px;

    font-weight: 500;
}

.smtt-glance-item strong {
    display: block;

    color: var(--tt-primary);

    font-size: 16px;

    line-height: 1.5;

    font-weight: 600;
}


/* =========================================================
   MAIN PRICE TABLE
========================================================= */

.smtt-main-price-box {
    overflow: hidden;

    border: 1px solid var(--tt-border);

    border-radius: 15px;

    background: #fff;

    box-shadow:
        0 15px 40px rgba(20, 35, 73, .06);
}

.smtt-main-price-table {
    width: 100%;

    margin: 0;
}

.smtt-main-price-table thead th {
    padding: 16px 15px;

    border-color: #9fb7d8;

    background: #c9ddf8;

    color: #111827;

    font-size: 14px;

    font-weight: 600;

    vertical-align: middle;
}

.smtt-main-price-table tbody td {
    padding: 15px;

    border-color: #dde2e9;

    color: #262f40;

    font-size: 14px;

    line-height: 1.5;

    vertical-align: middle;
}

.smtt-main-price-table tbody tr:nth-child(odd) {
    background: #f2f2f2;
}

.smtt-main-price-table tbody tr:nth-child(even) {
    background: #fff;
}

.smtt-main-price-table tbody tr:hover {
    background: #fff8e7;
}


/* =========================================================
   RENTAL COST CALCULATION
========================================================= */

.smtt-cost-layout {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: 25px;

    align-items: stretch;
}

.smtt-cost-content {
    padding: 32px;

    border-radius: 18px;

    background: var(--tt-primary);

    color: #fff;
}

.smtt-cost-content .smtt-label {
    background:
        rgba(255, 255, 255, .09);

    color: #fff;
}

.smtt-cost-content h3 {
    margin-bottom: 14px;

    color: #fff;

    font-size: 24px;

    line-height: 1.4;

    font-weight: 600;
}

.smtt-cost-content > p {
    color:
        rgba(255, 255, 255, .72);

    font-size: 15px;

    line-height: 1.8;
}

.smtt-cost-list {
    display: grid;

    gap: 10px;

    margin-top: 22px;
}

.smtt-cost-point {
    display: flex;

    align-items: center;

    gap: 10px;

    color:
        rgba(255, 255, 255, .86);

    font-size: 14px;

    line-height: 1.5;
}

.smtt-cost-point i {
    width: 29px;

    height: 29px;

    flex: 0 0 29px;

    display: grid;

    place-items: center;

    border-radius: 7px;

    background:
        rgba(245, 181, 27, .14);

    color: var(--tt-yellow);

    font-size: 11px;
}

.smtt-cost-note {
    margin-top: 22px;

    padding: 15px;

    border-radius: 10px;

    background:
        rgba(255, 255, 255, .07);

    color:
        rgba(255, 255, 255, .77);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   FARE EXAMPLES
========================================================= */

.smtt-fare-wrap {
    padding: 28px;

    border: 1px solid var(--tt-border);

    border-radius: 18px;

    background: #fff;
}

.smtt-fare-wrap h3 {
    margin-bottom: 6px;

    color: var(--tt-primary);

    font-size: 22px;

    font-weight: 600;
}

.smtt-fare-wrap > p {
    margin-bottom: 21px;

    color: var(--tt-muted);

    font-size: 15px;

    line-height: 1.75;
}

/*.smtt-fare-grid {*/
/*    display: grid;*/

/*    grid-template-columns: 1fr 1fr;*/

/*    gap: 14px;*/
/*}*/

.smtt-fare-box {
    overflow: hidden;

    border: 1px solid var(--tt-border);

    border-radius: 13px;
}

.smtt-fare-box-head {
    padding: 14px 15px;

    border-bottom:
        1px solid var(--tt-border);

    background: var(--tt-light);
}

.smtt-fare-box-head h4 {
    margin: 0;

    color: var(--tt-primary);

    font-size: 16px;

    line-height: 1.5;

    font-weight: 600;
}

.smtt-fare-box-body {
    padding: 15px;
}

.smtt-fare-row {
    display: flex;

    justify-content: space-between;

    gap: 10px;

    padding: 9px 0;

    border-bottom:
        1px dashed #e4e7ed;

        color: #1d1e1f;

    font-size: 16px;

    line-height: 1.5;
}

.smtt-fare-row strong {
    color: var(--tt-text);

    font-weight: 600;

    text-align: right;
}

.smtt-fare-total {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 11px;

    padding: 12px;

    border-radius: 8px;

       background: #feb800;

    color: var(--tt-primary);

    font-size: 16px;
}

.smtt-fare-total strong {
    font-size: 17px;
}


/* =========================================================
   FIND RIGHT TEMPO TRAVELLER
   3 COLUMN IMAGE CARD DESIGN
========================================================= */

.smtt-vehicle-gallery-section {
    position: relative;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8f9fc 100%
        );
}


/* =========================================================
   CARD
========================================================= */

.smtt-seater-image-card {
    height: 100%;

    overflow: hidden;

    position: relative;

    border: 1px solid #e5e9f1;

    border-radius: 17px;

    background: #fff;

    box-shadow:
        0 9px 30px rgba(17, 32, 70, .05);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* CARD HOVER */

.smtt-seater-image-card:hover {
    transform: translateY(-7px);

    border-color:
        rgba(245, 181, 27, .60);

    box-shadow:
        0 22px 50px rgba(17, 32, 70, .11);
}


/* =========================================================
   IMAGE
========================================================= */

.smtt-seater-card-image {
    position: relative;

    height: 230px;

    overflow: hidden;

    background: #edf0f5;
}


.smtt-seater-card-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(7, 24, 68, .35) 0%,
            rgba(7, 24, 68, .05) 48%,
            transparent 75%
        );

    pointer-events: none;
}


.smtt-seater-card-image img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .55s ease;
}


.smtt-seater-image-card:hover
.smtt-seater-card-image img {
    transform: scale(1.06);
}


/* =========================================================
   SEATER BADGE OVER IMAGE
========================================================= */

.smtt-seater-card-badge {
    position: absolute;

    z-index: 3;

    left: 15px;

    bottom: 15px;

    min-height: 34px;

    display: inline-flex;

    align-items: center;

    gap: 7px;

    padding: 7px 11px;

    border-radius: 8px;

    background:
        rgba(7, 24, 68, .94);

    color: #fff;

    font-size: 12px;

    line-height: 1;

    font-weight: 600;

    backdrop-filter:
        blur(8px);

    box-shadow:
        0 7px 18px rgba(7, 24, 68, .18);
}


.smtt-seater-card-badge i {
    color: #f5b51b;

    font-size: 11px;
}


/* =========================================================
   CONTENT AREA
========================================================= */

.smtt-seater-card-body {
    position: relative;

    padding: 26px 20px 21px;
}


/* decorative shape */

.smtt-seater-card-body::after {
    content: "";

    position: absolute;

    width: 105px;

    height: 105px;

    border-radius: 50%;

    right: -45px;

    bottom: -55px;

    background:
        rgba(245, 181, 27, .06);

    pointer-events: none;
}


/* =========================================================
   BUS ICON
========================================================= */

.smtt-seater-card-icon {
    width: 43px;

    height: 43px;

    position: absolute;

    right: 18px;

    top: -22px;

    z-index: 4;

    display: grid;

    place-items: center;

    border: 4px solid #fff;

    border-radius: 11px;

    background: #f5b51b;

    color: #0a1c59;

    font-size: 15px;

    box-shadow:
        0 8px 20px rgba(20, 36, 72, .16);

    transition:
        transform .3s ease;
}


.smtt-seater-image-card:hover
.smtt-seater-card-icon {
    transform:
        translateY(-3px) rotate(-4deg);
}


/* =========================================================
   CARD TITLE
========================================================= */

.smtt-seater-card-body h3 {
    position: relative;

    z-index: 2;

    margin: 0 0 8px;

    padding-right: 45px;

    color: #0a1c59;

    font-size: 18px;

    line-height: 1.45;

    font-weight: 600;
}


/* small yellow underline */

.smtt-seater-card-body h3::after {
    content: "";

    display: block;

    width: 32px;

    height: 2px;

    margin-top: 9px;

    border-radius: 20px;

    background: #f5b51b;

    transition:
        width .3s ease;
}


.smtt-seater-image-card:hover
.smtt-seater-card-body h3::after {
    width: 50px;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.smtt-seater-card-body p {
    position: relative;

    z-index: 2;

    margin: 0;

    color: #5f6b7e;

    font-size: 14px;

    line-height: 1.72;
}


/* =========================================================
   NOT SURE CTA
========================================================= */

.smtt-seater-gallery-help {
    margin-top: 32px;

    padding: 25px 27px;

    overflow: hidden;

    position: relative;

    border-radius: 17px;

    background:
        radial-gradient(
            circle at 90% 20%,
            rgba(245, 181, 27, .18),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #071844,
            #102c68
        );

    box-shadow:
        0 16px 38px rgba(7, 24, 68, .12);
}


/* background decoration */

.smtt-seater-gallery-help::before {
    content: "";

    position: absolute;

    width: 170px;

    height: 170px;

    border-radius: 50%;

    right: -75px;

    bottom: -110px;

    border:
        1px solid rgba(255, 255, 255, .08);
}


/* CTA ICON */

.smtt-seater-gallery-help-icon {
    width: 51px;

    height: 51px;

    display: grid;

    place-items: center;

    border-radius: 12px;

    background: #f5b51b;

    color: #0a1c59;

    font-size: 18px;

    box-shadow:
        0 10px 25px rgba(245, 181, 27, .18);
}


/* CTA TITLE */

.smtt-seater-gallery-help h3 {
    margin: 0 0 6px;

    color: #fff;

    font-size: 18px;

    line-height: 1.4;

    font-weight: 600;
}


/* CTA DESCRIPTION */

.smtt-seater-gallery-help p {
    max-width: 700px;

    margin: 0;

    color:
        rgba(255, 255, 255, .73);

    font-size: 14px;

    line-height: 1.7;
}


.smtt-seater-gallery-help p strong {
    color: #fff;

    font-weight: 600;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .smtt-seater-card-image {
        height: 220px;
    }


    .smtt-seater-gallery-help {
        text-align: center;
    }


    .smtt-seater-gallery-help-icon {
        margin:
            0 auto 4px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .smtt-seater-card-image {
        height: 235px;
    }


    .smtt-seater-card-body {
        padding:
            25px 18px 20px;
    }


    .smtt-seater-card-body h3 {
        font-size: 16px;
    }


    .smtt-seater-card-body p {
        font-size: 14px;
    }


    .smtt-seater-gallery-help {
        padding:
            24px 19px;
    }


    .smtt-seater-gallery-help
    .smtt-btn {
        width: 100%;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .smtt-seater-card-image {
        height: 210px;
    }

}

/* =========================================================
   COMPARISON TABLE
========================================================= */

.smtt-table-box {
    overflow: hidden;

    padding: 9px;

    border: 1px solid var(--tt-border);

    border-radius: 17px;

    background: #fff;

    box-shadow:
        0 12px 32px rgba(18, 34, 71, .05);
}

.smtt-table {
    min-width: 760px;

    margin: 0;
}

.smtt-table thead th {
    padding: 16px;

    border: 0;

    background: var(--tt-primary);

    color: #fff;

    font-size: 14px;

    font-weight: 550;
}

.smtt-table thead th:first-child {
    border-radius: 9px 0 0 9px;
}

.smtt-table thead th:last-child {
    border-radius: 0 9px 9px 0;
}

.smtt-table tbody td {
    padding: 16px;

    border-color: #edf0f5;

    color: var(--tt-muted);

    font-size: 14px;

    line-height: 1.5;

    vertical-align: middle;
}

.smtt-table tbody td:first-child {
    color: var(--tt-primary);

    font-weight: 600;
}

.smtt-table tbody tr:hover {
    background: #fffaf0;
}

.smtt-table-link {
    color: var(--tt-primary);

    font-weight: 600;
}

.smtt-table-rate {
    color: #9c6a00 !important;

    font-weight: 600;
}


/* =========================================================
   FEATURES & AMENITIES
========================================================= */

.smtt-amenities-wrap {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}

.smtt-amenity {
    min-height: 79px;

    padding: 17px 14px;

    display: flex;

    align-items: center;

    gap: 11px;

    border: 1px solid var(--tt-border);

    border-radius: 12px;

    background: #fff;

    transition: .3s ease;
}

.smtt-amenity:hover {
    transform: translateY(-3px);

    border-color: #e3c15d;
}

.smtt-amenity-icon {
    width: 40px;

    height: 40px;

    flex: 0 0 40px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    background: var(--tt-yellow-soft);

    color: var(--tt-primary);

    font-size: 15px;
}

.smtt-amenity span {
    color: #3e485c;

    font-size: 14px;

    line-height: 1.5;

    font-weight: 540;
}


/* =========================================================
   OUTSTATION SECTION
========================================================= */

.smtt-outstation-card {
    overflow: hidden;

    padding: 44px;

    border-radius: 22px;

    background:
        linear-gradient(
            90deg,
            rgba(7, 24, 68, .97),
            rgba(7, 24, 68, .78)
        ),
        url('assets/img/tempo-traveller-rent.jpg')
        center / cover no-repeat;
}

.smtt-outstation-card .smtt-section-head {
  
    margin-bottom: 0;
}

.smtt-outstation-card .smtt-title {
    color: #fff;
}

.smtt-outstation-card p {
    color:
        rgba(255, 255, 255, .76);
}


/* =========================================================
   POPULAR ROUTES
========================================================= */

.smtt-routes-new {
    position: relative;
}

.smtt-route-column {
    padding-top: 27px;
}

.smtt-route-item {
    position: relative;

    height: 100%;
}


/* ICON ABOVE CARD */

.smtt-route-floating-icon {
    position: absolute;

    z-index: 5;

    top: 131px;

    left: 20px;

    width: 47px;

    height: 47px;

    display: grid;

    place-items: center;

    border: 4px solid #f7f8fb;

    border-radius: 12px;

    background: var(--tt-primary);

    color: var(--tt-yellow);

    font-size: 16px;

    box-shadow:
        0 10px 22px rgba(10, 28, 89, .18);

    transition: .3s ease;
}

.smtt-route-item:hover
.smtt-route-floating-icon {
    transform: translateY(-4px);
}


/* ROUTE CARD */

.smtt-route-card-new {
    height: 100%;

    overflow: hidden;

    border: 1px solid var(--tt-border);

    border-radius: 15px;

    background: #fff;

    transition: .3s ease;
}

.smtt-route-card-new:hover {
    transform: translateY(-5px);

    border-color:
        rgba(245, 181, 27, .55);

    box-shadow: var(--tt-shadow-hover);
}

.smtt-route-card-image {
    position: relative;

    height: 165px;

    overflow: hidden;

    background: #e9edf3;
}

.smtt-route-card-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(6, 19, 61, .20),
            transparent 55%
        );
}

.smtt-route-card-image img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: .5s ease;
}

.smtt-route-card-new:hover
.smtt-route-card-image img {
    transform: scale(1.06);
}

.smtt-route-card-content {
        padding: 25px 15px 15px;
}

.smtt-route-card-content h3 {
    margin: 0 0 8px;

    color: var(--tt-primary);

    font-size: 16px;

    line-height: 1.45;

    font-weight: 600;
}

.smtt-route-card-content p {
    margin: 0;

    color: var(--tt-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   EVENT / TRAVEL PURPOSE CARDS
========================================================= */

.smtt-event-card {
    height: 100%;

    padding: 22px;

    border:
        1px solid rgba(255, 255, 255, .10);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, .065);

    transition: .3s ease;
}

.smtt-event-card:hover {
    background:
        rgba(255, 255, 255, .10);

    transform: translateY(-4px);
}

.smtt-event-icon {
    width: 41px;

    height: 41px;

    display: grid;

    place-items: center;

    margin-bottom: 14px;

    border-radius: 9px;

    background: var(--tt-yellow);

    color: var(--tt-primary);

    font-size: 15px;
}

.smtt-event-card h3 {
    margin-bottom: 8px;

    color: #fff;

    font-size: 16px;

    font-weight: 600;
}

.smtt-event-card p {
    margin: 0;

    color:
        rgba(255, 255, 255, .69);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   INCLUSIONS / ADDITIONAL CHARGES
========================================================= */

.smtt-inclusion-box {
    height: 100%;

    padding: 25px;

    border-radius: 17px;
}

.smtt-inclusion-box.included {
    border: 1px solid #d1ece0;

    background: #effaf5;
}

.smtt-inclusion-box.extra {
    border: 1px solid #f0dfba;

    background: #fff8ea;
}

.smtt-inclusion-head {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 18px;
}

.smtt-inclusion-head i {
    width: 40px;

    height: 40px;

    display: grid;

    place-items: center;

    border-radius: 9px;
}

.smtt-inclusion-box.included
.smtt-inclusion-head i {
    background: #d8f3e6;

    color: #117d58;
}

.smtt-inclusion-box.extra
.smtt-inclusion-head i {
    background: #ffebc0;

    color: #9a6900;
}

.smtt-inclusion-head h3 {
    margin: 0;

    color: var(--tt-primary);

    font-size: 18px;

    font-weight: 600;
}

.smtt-inclusion-list {
    display: grid;

    gap: 10px;
}

.smtt-inclusion-item {
    display: flex;

    gap: 9px;

    color: #566174;

    font-size: 14px;

    line-height: 1.55;
}

.smtt-inclusion-item i {
    margin-top: 5px;

    font-size: 11px;
}


/* =========================================================
   SAFETY
========================================================= */

.smtt-safety-wrap {
    padding: 35px;

    border-radius: 20px;

    background: var(--tt-primary);
}

.smtt-safety-wrap .smtt-title {
    color: #fff;
}

.smtt-safety-wrap .smtt-description {
    color:
        rgba(255, 255, 255, .72);
}

.smtt-safety-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;

    margin-top: 25px;
}

.smtt-safety-item {
    min-height: 108px;

    padding: 16px;

    border:
        1px solid rgba(255, 255, 255, .09);

    border-radius: 11px;

    background:
        rgba(255, 255, 255, .07);
}

.smtt-safety-item i {
    margin-bottom: 10px;

    color: var(--tt-yellow);

    font-size: 16px;
}

.smtt-safety-item span {
    display: block;

    color:
        rgba(255, 255, 255, .85);

    font-size: 14px;

    line-height: 1.55;
}


/* =========================================================
   WHY CHOOSE
========================================================= */

.smtt-why-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}

.smtt-why-card {
    height: 100%;

    padding: 21px;

    border: 1px solid var(--tt-border);

    border-radius: 14px;

    background: #fff;

    transition: .3s ease;
}

.smtt-why-card:hover {
    transform: translateY(-4px);

    border-color: #e4c468;

    box-shadow: var(--tt-shadow);
}

.smtt-why-icon {
    width: 42px;

    height: 42px;

    display: grid;

    place-items: center;

    margin-bottom: 14px;

    border-radius: 9px;

    background: var(--tt-primary);

    color: var(--tt-yellow);
}

.smtt-why-card h3 {
    margin-bottom: 8px;

    color: var(--tt-primary);

    font-size: 16px;

    line-height: 1.45;

    font-weight: 600;
}

.smtt-why-card p {
    margin: 0;

    color: var(--tt-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CHECK BEFORE BOOKING
========================================================= */

.smtt-check-booking-card {
    height: 100%;

    padding: 19px;

    border: 1px solid var(--tt-border);

    border-radius: 13px;

    background: #fff;
}

.smtt-check-booking-icon {
    width: 39px;

    height: 39px;

    display: grid;

    place-items: center;

    margin-bottom: 12px;

    border-radius: 9px;

    background: var(--tt-yellow-soft);

    color: var(--tt-primary);

    font-size: 14px;
}

.smtt-check-booking-card h3 {
    margin-bottom: 7px;

    color: var(--tt-primary);

    font-size: 16px;

    font-weight: 600;
}

.smtt-check-booking-card p {
    margin: 0;

    color: var(--tt-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   BOOKING PROCESS
========================================================= */

.smtt-process-wrap {
    position: relative;
}

.smtt-process-line {
    position: absolute;

    left: 7%;

    right: 7%;

    top: 29px;

    border-top:
        1px dashed #cbd1dd;
}

.smtt-process-item {
    position: relative;

    z-index: 2;

    text-align: center;
}

.smtt-process-number {
    width: 58px;

    height: 58px;

    margin: 0 auto 14px;

    display: grid;

    place-items: center;

    border: 5px solid #f2f4f8;

    border-radius: 50%;

    background: #fff;

    color: var(--tt-primary);

    box-shadow:
        0 8px 23px rgba(18, 34, 71, .08);

    font-size: 14px;

    font-weight: 600;
}

.smtt-process-item:hover
.smtt-process-number {
    background: var(--tt-yellow);
}

.smtt-process-item h3 {
    margin-bottom: 7px;

    color: var(--tt-primary);

    font-size: 15px;

    line-height: 1.45;

    font-weight: 600;
}

.smtt-process-item p {
    max-width: 190px;

    margin: auto;

    color: var(--tt-muted);

    font-size: 13px;

    line-height: 1.65;
}


/* =========================================================
   POLICIES
========================================================= */

.smtt-policy-box {
    padding: 28px;

    border: 1px solid var(--tt-border);

    border-radius: 19px;

    background: #fff;
}

.smtt-policy-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 10px;

    margin-top: 21px;
}

.smtt-policy-item {
    min-height: 51px;

    padding: 12px 13px;

    display: flex;

    align-items: center;

    gap: 9px;

    border-radius: 9px;

    background: var(--tt-light);

    color: #525d71;

    font-size: 14px;
}

.smtt-policy-item i {
    color: var(--tt-primary);
}


/* =========================================================
   FAQ
========================================================= */

.smtt-faq-wrap {
    max-width: 960px;

    margin: auto;
}

.smtt-faq .accordion-item {
    overflow: hidden;

    margin-bottom: 10px;

    border: 1px solid var(--tt-border);

    border-radius: 11px !important;
}

.smtt-faq .accordion-button {
    padding: 17px 19px;

    background: #fff;

    color: var(--tt-primary);

    font-size: 15px;

    line-height: 1.5;

    font-weight: 580;

    box-shadow: none !important;
}

.smtt-faq .accordion-button:not(.collapsed) {
    background: #fff8e7;

    color: var(--tt-primary);
}

.smtt-faq .accordion-body {
    padding: 3px 19px 18px;

    color: var(--tt-muted);

    font-size: 14px;

    line-height: 1.75;
}


/* =========================================================
   FINAL CTA
========================================================= */

.smtt-final {
    padding: 20px 0 75px;
}

.smtt-final-box {
    position: relative;

    overflow: hidden;

    padding: 43px;

    border-radius: 22px;

    background:
        radial-gradient(
            circle at 90% 20%,
            rgba(245, 181, 27, .22),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #071844,
            #102c68
        );
}

.smtt-final-box .smtt-label {
    background:
        rgba(255, 255, 255, .09);

    color: #fff;
}

.smtt-final-box h2 {
    margin-bottom: 9px;

    color: #fff;

    font-size: clamp(27px, 3vw, 36px);

    line-height: 1.3;

    font-weight: 600;
}

.smtt-final-box h3 {
    margin-bottom: 10px;

    color:
        rgba(255, 255, 255, .85);

    font-size: 18px;

    font-weight: 500;
}

.smtt-final-box p {
    max-width: 750px;

    margin-bottom: 19px;

    color:
        rgba(255, 255, 255, .70);

    font-size: 15px;

    line-height: 1.7;
}

.smtt-final-meta {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 9px 12px;

    margin-bottom: 20px;

    border:
        1px solid rgba(255, 255, 255, .10);

    border-radius: 8px;

    background:
        rgba(255, 255, 255, .07);

    color: #fff;

    font-size: 13px;
}

.smtt-final-meta i {
    color: var(--tt-yellow);
}

.smtt-final-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}


/* =========================================================
   RESPONSIVE - LAPTOP
========================================================= */

@media (max-width: 1199px) {

    .smtt-glance-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .smtt-glance-item:nth-child(2n) {
        border-right: 0;
    }

    .smtt-glance-item:nth-last-child(-n+3) {
        border-bottom:
            1px solid var(--tt-border);
    }

    .smtt-glance-item:nth-last-child(-n+2) {
        border-bottom: 0;
    }

    .smtt-amenities-wrap {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .smtt-safety-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .smtt-vehicle-main-image,
    .smtt-vehicle-main-image > img {
        min-height: 650px;
    }

}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 991px) {

    .smtt-section {
        padding: 60px 0;
    }

    .smtt-hero {
        min-height: auto;

        padding: 70px 0 105px;

        background:
            linear-gradient(
                rgba(5, 17, 51, .91),
                rgba(5, 17, 51, .91)
            ),
            url('assets/img/hero/04.jpg')
            center / cover no-repeat;
    }

    .smtt-quote-card {
        max-width: 100%;

        margin-top: 38px;
    }

    .smtt-cost-layout {
        grid-template-columns: 1fr;
    }

    .smtt-vehicle-main-image,
    .smtt-vehicle-main-image > img {
        min-height: 470px;
    }

    .smtt-amenities-wrap {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .smtt-safety-grid,
    .smtt-why-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .smtt-policy-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .smtt-process-line {
        display: none;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {

    .smtt-section {
        padding: 48px 0;
    }

    .smtt-section-sm {
        padding: 44px 0;
    }

    .smtt-title {
        font-size: 27px;
    }

    .smtt-section-head p,
    .smtt-description {
        font-size: 15px;
    }

    .smtt-hero {
        padding: 55px 0 92px;
    }

    .smtt-hero h1 {
        font-size: 34px;

        line-height: 1.18;
    }

    .smtt-hero-text {
        font-size: 15px;
    }

    .smtt-hero-actions
    .smtt-btn {
        width: 100%;
    }

    .smtt-quote-card {
        padding: 22px 18px;
    }

    .smtt-glance {
        margin-top: -42px;
    }

    .smtt-glance-grid {
        grid-template-columns: 1fr;
    }

    .smtt-glance-item,
    .smtt-glance-item:nth-child(2n),
    .smtt-glance-item:nth-last-child(-n+2) {
        border-right: 0;

        border-bottom:
            1px solid var(--tt-border);
    }

    .smtt-glance-item:last-child {
        border-bottom: 0;
    }

    .smtt-cost-content,
    .smtt-fare-wrap {
        padding: 22px 18px;
    }

    .smtt-fare-grid {
        grid-template-columns: 1fr;
    }

    .smtt-vehicle-grid-new {
        grid-template-columns: 1fr;
    }

    .smtt-vehicle-main-image,
    .smtt-vehicle-main-image > img {
        min-height: 390px;
    }

    .smtt-vehicle-image-info {
        left: 13px;

        right: 13px;

        bottom: 13px;

        padding: 16px;
    }

    .smtt-seater-help-inner {
        flex-direction: column;

        align-items: flex-start;
    }

    .smtt-seater-help-action {
        width: 100%;
    }

    .smtt-seater-help-action
    .smtt-btn {
        width: 100%;
    }

    .smtt-amenities-wrap,
    .smtt-safety-grid,
    .smtt-why-grid,
    .smtt-policy-grid {
        grid-template-columns: 1fr;
    }

    .smtt-outstation-card {
        padding: 29px 20px;
    }

    .smtt-route-column {
        padding-top: 28px;
    }

    .smtt-route-card-image {
        height: 210px;
    }

    .smtt-safety-wrap {
        padding: 27px 19px;
    }

    .smtt-final-box {
        padding: 31px 20px;
    }

    .smtt-final-actions
    .smtt-btn {
        width: 100%;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .smtt-hero h1 {
        font-size: 31px;
    }

    .smtt-vehicle-main-image,
    .smtt-vehicle-main-image > img {
        min-height: 350px;
    }

    .smtt-vehicle-image-badge {
        top: 13px;

        left: 13px;

        font-size: 12px;
    }

    .smtt-route-card-image {
        height: 190px;
    }

}