/* Import Montserrat Font with exact needed weights (Regular, 700, 900) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,700;0,900;1,400&display=swap');

/* Global Reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

body {
    background-color: #ffffff;
    position: relative;
    min-height: 100vh;
}

/* ==========================================================================
   PART 1: HEADER & NAVIGATION CSS (Prefix: .hdr-)
   ========================================================================== */
.hdr-section {
    background-color: #ededed;
    padding: 15px 20px 30px 20px;
    position: relative; /* 核心修改：让整个 header 变成定位基准 */
}

.hdr-skip-link {
    color: #d14d1d;
    text-decoration: underline;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 15px;
}

.hdr-top-banner {
    background-color: #3f3f3f;
    width: 100%;
    height: 150px;
    margin-bottom: 25px;
}

/* 导航包裹容器 */
.hdr-nav-container {
    width: 100%;
    position: relative;
}

/* --------------------------------------------------------------------------
   图片链接样式：绝对定位，强行往上提，覆盖在 top-banner 的左边
   -------------------------------------------------------------------------- */
.hdr-logo-link {
    color: rgb(227, 78, 27);         
    cursor: pointer;                 
    display: inline;                 
    font-family: 'Montserrat', sans-serif; 
    text-decoration: none;
    
    /* 核心修改：绝对定位控制 */
    position: absolute;              
    top: -175px;                     /* 提示：通过负值强行把图片拉进上面的 top-banner 区域 */
    left: 20px;                      /* 距离左边留出 20px 边距 */
    z-index: 10;                     /* 确保图片层级在最上面，死死压住灰色 banner */
}

.hdr-left-img {
    width: 246px;                    /* 严格匹配您提供的 246px */
    height: 150px;                   /* 微调：高度改为 150px，使其完美契合 top-banner 的高度 */
    overflow-clip-margin: content-box; 
    overflow: clip;                  
    display: block;                  
    object-fit: contain;             /* 保证 logo 缩放时不变形 */
}

/* --------------------------------------------------------------------------
   下方的导航菜单列表（保持在原位不受影响）
   -------------------------------------------------------------------------- */
.hdr-nav-list {
    list-style-type: disc;
    padding-left: 40px;
    font-size: 14px;
    line-height: 1.8;
}

.hdr-nav-list a {
    color: #5555ac;
    text-decoration: underline;
}

.hdr-language-selector {
    color: #777;
}

.hdr-flag-icon {
    width: 20px;
    height: auto;
    vertical-align: middle;
    margin-right: 5px;
}

.hdr-sub-list {
    list-style-type: disc;
    padding-left: 25px;
    margin-top: 5px;
    margin-bottom: 5px;
}


/* ==========================================================================
   PART 2: CONTENT BODY CSS (Prefix: .cnt-)
   ========================================================================== */
.cnt-section {
    padding: 80px 20px 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative; 
}

.cnt-container {
    text-align: center;
    width: 100%;
}

/* MAIN TITLE CSS */
.cnt-main-title {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 45px;
    font-weight: 700;
    height: 54.4px;
    margin-block-end: 0px;
    margin-block-start: 37.35px;
    margin-bottom: 0px;
    margin-inline-end: 0px;
    margin-inline-start: 0px;
    text-align: center;
    unicode-bidi: isolate;
}

.cnt-feature-block {
    margin-top: 45px;
    margin-bottom: 35px;
}

/* CHILD TITLE CSS */
.cnt-feature-title {
    color: rgb(107, 100, 85);
    display: inline;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 900;
    height: auto;
    letter-spacing: 3px;
    margin-bottom: 0px;
    text-align: center;
    text-transform: uppercase;
    width: auto;
}

/* CHILD DESCRIPTION CSS */
.cnt-feature-text {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    height: auto;
    min-height: 18.4px; 
    letter-spacing: 1px;
    margin-block-end: 15px;
    margin-block-start: 15px;
    margin-inline-end: 0px;
    margin-inline-start: 0px;
    text-align: center;
    unicode-bidi: isolate;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

/* EXACT MATCH CSS FOR OUR FLEET LINK */
.cnt-fleet-link {
    color: rgb(107, 100, 85);
    cursor: pointer;
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    height: 24px;
    letter-spacing: 3px;
    margin-block-end: 20px;
    margin-block-start: 20px;
    margin-inline-end: 0px;
    margin-inline-start: 0px;
    padding-bottom: 15px;
    text-align: center;
    text-transform: uppercase;
    unicode-bidi: isolate;
    text-decoration: underline;
}

/* LEFT SIDE BOTTOM CONTAINER USING IMAGE ELEMENT */
.cnt-bottom-left-graphics {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    margin-top: 20px;
}

.cnt-arrow-img {
    width: 58px;
    height: 18px;
    display: block;
}


/* ==========================================================================
   GLOBAL PERSISTENT ELEMENT CSS
   ========================================================================== */
.global-cta-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #e6511d;
    color: white;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 1000;
}

.global-cta-button:hover {
    background-color: #cf4313;
}

.global-arrow-icon {
    font-size: 16px;
}

/* ==========================================================================
   PART 3: SCOOTERS & MOTORCYCLES CSS
   ========================================================================== */
.sec3-wrapper {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    background-color: #6b6455;
    width: 100%;
    min-height: 372.75px;
    margin: 0px;
    padding-top: 35px;
    padding-left: 15px;
    padding-right: 15px;
    unicode-bidi: isolate;
}

.sec3-title {
    color: rgb(209, 209, 209);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 45px;
    font-weight: 700;
    height: 54.4px;
    text-align: center;
    width: 100%;
    margin-block-start: 37.35px;
    margin-block-end: 0px;
    margin-bottom: 0px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

.sec3-link-container {
    display: block;
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-block-start: 110px;  
    margin-block-end: 20px;
}

.sec3-link {
    color: rgb(209, 209, 209);
    cursor: pointer;
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    height: 24px;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 2px solid #d14d1d; 
    padding-bottom: 15px;
    unicode-bidi: isolate;
}

/* ==========================================================================
   PART 4: PLAN A ROAD TRIP CSS
   ========================================================================== */
.sec4-wrapper {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #ededed; 
    width: 100%;
    min-height: 352.15px;
    flex-grow: 1;
    margin: 0px;
    padding-top: 35px;
    padding-left: 15px;
    padding-right: 15px;
    z-index: 1;
    unicode-bidi: isolate;
    -webkit-box-direction: normal;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;
}

.sec4-title {
    color: rgb(107, 100, 85); 
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 45px;
    font-weight: 700;
    height: 54.4px;
    width: 100%;
    text-align: center;
    margin-block-start: 37.35px;
    margin-block-end: 0px;
    margin-bottom: 0px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

.sec4-content-block {
    display: block;
    font-family: 'Montserrat', sans-serif;
    height: auto;
    width: 100%;
    max-width: 1200px;
    margin-bottom: 0px;
    unicode-bidi: isolate;
}

.sec4-text {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    height: auto;
    min-height: 36.8px;      
    line-height: 1.8;          
    letter-spacing: 1px;
    text-align: center;
    margin-block-start: 15px;
    margin-block-end: 15px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

/* ==========================================================================
   PART 5: CONTACT & LOCATION CSS
   ========================================================================== */
.sec5-wrapper {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    background-color: #ffffff;
    width: 100%;                  
    min-height: 939.45px;
    margin: 0px;
    padding-top: 35px;
    padding-left: 15px;
    padding-right: 15px;
    unicode-bidi: isolate;
}

.sec5-main-title {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 45px;
    font-weight: 700;
    height: 54.4px;
    text-align: center;
    width: 100%;
    margin-block-start: 37.35px;
    margin-block-end: 40px;
    margin-bottom: 40px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

.sec5-columns-container {
    display: flex;
    width: 100%;
    max-width: 1410px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    align-items: flex-start;
}

.sec5-column {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    width: 50%;                  
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
    unicode-bidi: isolate;
}

.sec5-city-title {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 55px;
    font-weight: 700;
    height: 67.2px;
    text-align: center;
    margin-block-start: 36.85px;
    margin-block-end: 36.85px;
    unicode-bidi: isolate;
}

.sec5-btn-space {
    position: relative;
    width: 181.55px;              
    height: 52px;                 
    margin: 30px auto;
}

.sec5-orange-btn {
    box-sizing: border-box;
    display: block;
    background-color: #d14d1d;
    position: absolute;
    top: 0px;
    bottom: -4px;
    left: 0px;
    right: 0px;
    width: 181.55px;
    height: 52px;
    line-height: 52px;
    color: rgb(255, 255, 255);
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 0px #a63611; 
    text-shadow: rgba(0, 0, 0, 0.4) 0px 1px 1px; 
    cursor: pointer;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    border-radius: 6px;
    transition: all 0.1s ease;
}

.sec5-orange-btn:hover {
    background-color: #be4318;
    box-shadow: 0 2px 0px #a63611;
    transform: translateY(2px);
}

.sec5-map-placeholder {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 590px;
    height: 250px;                
    background-color: #e3e1dc;    
    border: 1px solid #d1cfc8;
    margin: 0 auto 25px auto;
}

.sec5-info-block {
    display: block;
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    margin-bottom: 0px;
    unicode-bidi: isolate;
}

.sec5-text-bold {
    color: rgb(107, 100, 85);
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;             
    letter-spacing: 1px;
    margin-bottom: 15px;
    text-align: center;
}

.sec5-text-spacing {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    letter-spacing: 1px;
    margin-block-start: 20px;
    margin-block-end: 15px;
    text-align: center;
    unicode-bidi: isolate;
}

.sec5-text-normal {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 1px;
    text-align: center;
    margin-block-start: 20px;
    margin-block-end: 0px;
    unicode-bidi: isolate;
}

.sec5-time-style {
    font-style: italic;
    color: #777570;
}

.sec5-link-orange {
    color: #d14d1d;
    text-decoration: underline;
}

.sec5-link-orange:hover {
    color: #b03a12;
}

.sec5-map-img {
    height: 22px;
    width: auto; 
    vertical-align: middle;
    margin-right: 6px; 
    margin-top: -3px;   
}

@media (max-width: 991px) {
    .sec5-columns-container {
        flex-direction: column;
        align-items: center;
    }
    .sec5-column {
        width: 100%;
        margin-bottom: 50px;
    }
}

/* ==========================================================================
   PART 6: VIDEO GALLERY CSS
   ========================================================================== */
.sec6-wrapper {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    background-color: #ededed;
    width: 100%;                  
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 15px;
    padding-right: 15px;
    unicode-bidi: isolate;
}

.sec6-container {
    display: flex;
    width: 100%;
    max-width: 1410px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.sec6-video-box {
    box-sizing: border-box;
    width: 50%;
}

.sec6-video-responsive {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background-color: #000000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.sec6-video-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 767px) {
    .sec6-container {
        flex-direction: column;
        gap: 30px;
    }
    .sec6-video-box {
        width: 100%;
    }
}

/* ==========================================================================
   PART 7: QUICK NAVIGATION CSS
   ========================================================================== */
.sec7-wrapper {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    background-color: #ff7900;
    width: 100%;                  
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 15px;
    padding-right: 15px;
    unicode-bidi: isolate;
}

.sec7-container {
    display: flex;
    width: 100%;
    max-width: 1410px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    align-items: center;
}

.sec7-item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    width: 330px;
    height: 252.3px;
    flex-grow: 1;
    margin: 0px;
    padding-top: 35px;
    padding-left: 0px;
    padding-right: 0px;
    z-index: 1;
    unicode-bidi: isolate;
    -webkit-box-direction: normal;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;

    /* Prevents HTML link properties from changing your typography layout */
    text-decoration: none; 
    color: inherit;        
}

.sec7-title {
    color: rgb(107, 100, 85);
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 900;
    height: auto;
    width: auto;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 25px;
}

.sec7-circle-icon {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    width: 90px;
    height: 90px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
    background-color: #e8ebed;
    border-radius: 50%;
    unicode-bidi: isolate;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.sec7-circle-icon:hover {
    transform: scale(1.05);
    background-color: #ffffff;
}

@media (max-width: 1360px) {
    .sec7-container {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
    .sec7-item {
        width: 45%;
        flex-grow: 0;
    }
}

@media (max-width: 767px) {
    .sec7-item {
        width: 100%;
    }
}

/* ==========================================================================
   PART 8: FOOTER CSS
   ========================================================================== */
.ftr-wrapper {
    box-sizing: border-box;
    display: block;
    font-family: 'Montserrat', sans-serif;
    background-color: #313131;
    width: 100%;                  
    padding-top: 50px;
    padding-bottom: 60px;
    padding-left: 30px;
    padding-right: 30px;
    unicode-bidi: isolate;
}

.ftr-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    max-width: 1410px;
    margin-left: auto;
    margin-right: auto;
}

.ftr-column {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-bottom: 40px;
}

.ftr-column:last-child {
    margin-bottom: 0px;
}

.ftr-brand-title, .ftr-section-title {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.ftr-nav-links {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.ftr-nav-links li {
    margin-bottom: 10px;
    text-align: left;
}

.ftr-nav-links a {
    color: #bcbcbc;
    font-size: 14px;
    text-decoration: underline;
}

.ftr-social-icons {
    display: flex;
    flex-direction: column; /* Stack icons from top to bottom (从上面到下面) */
    gap: 15px;
    margin-bottom: 20px;
}

.ftr-icon-box {
    color: #ffffff;
    font-size: 14px;
    text-decoration: underline;
}

/* ==========================================
   ADDED: IMAGE ICON CSS ONLY
   ========================================== */
.ftr-social-img {
    width: 30px;            /* Adjust width as needed */
    height: 30px;           /* Adjust height as needed */
    object-fit: contain;
    display: block;
}

.ftr-license-text {
    color: #9c9c9c;
    font-size: 14px;
    margin: 0;
}

.ftr-info-text {
    color: #bcbcbc;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.ftr-map-link-container {
    margin: 0 0 15px 0;
}

.ftr-contact-details {
    color: #bcbcbc;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 20px 0;
}

.ftr-orange-link {
    color: #ffffff;
    text-decoration: underline;
}

.ftr-badge-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.ftr-badge-placeholder {
    box-sizing: border-box;
    width: 140px;
    height: 140px;
    background-color: #ffffff;
    border: 3px solid #25aa6b;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333333;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    padding: 10px;
}

.ftr-badge-img {
    box-sizing: border-box;
    display: block;
    width: 140px;
    height: 140px;
    object-fit: contain;
    margin: 0;
}

/* ==========================================================================
   WHO WE ARE SECTION CSS (Prefix: .whowe-)
   ========================================================================== */

/* 承载关于我们文本的大容器 */
.whowe-content-block {
    display: block;
    font-family: 'Montserrat', sans-serif;
    height: auto;            /* 变更为 auto：文本左对齐折行后，高度会自动撑开，避免溢出 */
    width: 1424px;           /* 严格对齐控制台 1424px */
    unicode-bidi: isolate;
    margin-left: auto;       /* 容器本身依然在页面居中 */
    margin-right: auto;
    margin-top: 40px;        /* 预留上方间距 */
    margin-bottom: 40px;
}

/* 常规段落 (第1、2段) */
.whowe-text-normal {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    height: auto;            /* 变更为 auto：防止字数变动或换行时文字被截断 */
    letter-spacing: 1px;
    margin-block-start: 15px;
    margin-block-end: 15px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
    width: 1424px;
    text-align: left;        /* 【关键修改】修改为左对齐 */
}

/* 底部段落 (最后大段文字) */
.whowe-text-bottom {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    height: auto;            /* 变更为 auto */
    letter-spacing: 1px;
    margin-block-start: 15px;
    margin-block-end: 0px;
    margin-bottom: 0px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
    width: 1424px;
    text-align: left;        /* 【关键修改】修改为左对齐 */
}

/* 核心理念高亮加粗 (Keep it simple, make it local.) */
.whowe-text-highlight {
    color: rgb(107, 100, 85);
    display: inline;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;        /* 严格对齐粗体 700 */
    height: auto;
    width: auto;
    letter-spacing: 1px;
}

/* 响应式兼容：避免在小于 1424px 的屏幕下出现横向滚动条 */
@media (max-width: 1440px) {
    .whowe-content-block, .whowe-text-normal, .whowe-text-bottom {
        width: 100%;
        height: auto;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}

/* ==========================================================================
   PRICE AND REQUIREMENT SECTION CSS (完全基于最新计算属性重构)
   ========================================================================== */

/* 核心修改：将所有最外层 Section 容器的大背景色全部换成统一的灰色 */
.prreq-section-wrapper,
.prcond-section-wrapper {
    display: block;
    width: 100%;
    background-color: rgb(240, 240, 240);       /* 全局大背景灰色 */
    box-sizing: border-box;
}

/* 第一个表格外层容器间距 */
.prreq-section-wrapper:first-of-type {
    padding-top: 40px;
    padding-bottom: 20px;
}

/* 底部第二个表格外层容器间距 */
.prreq-requirements-section {
    padding-top: 20px !important;
    padding-bottom: 40px;
}

/* 严格控制 1424px 的内部包裹器 */
.prreq-container {
    max-width: 1424px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto; 
    -webkit-overflow-scrolling: touch;
}

/* 核心表格：利用 border-spacing 创造完美的 1.6px 白色缝隙 */
.prreq-table {
    width: 100%;
    min-width: 1200px;
    border-collapse: separate;
    -webkit-border-horizontal-spacing: 1.6px;  /* 严格匹配 1.6px 横向间距 */
    -webkit-border-vertical-spacing: 1.6px;    /* 严格匹配 1.6px 纵向间距 */
    background-color: #ffffff;                 /* 缝隙底色（纯白） */
}

/* 基础通用单元格样式 */
.prreq-cell {
    display: table-cell;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;                           /* 严格匹配 16px 字号 */
    font-weight: 700;                          /* 默认粗细 700 */
    vertical-align: middle;
    text-align: center;
    box-sizing: border-box;
    unicode-bidi: isolate;
}

/* 1. 橙色表头 / 橙色单元格类 (严格匹配第一组计算属性) */
.prreq-bg-orange {
    background-color: rgb(227, 78, 27);         /* 精确的主题橙 */
    color: rgb(255, 255, 255);                 /* 纯白文字 */
    border: 0.8px solid rgb(0, 0, 0);          /* 纯黑边框 */
}

/* 表格左上角的空单元格：使其完美融入橙色背景和黑色边框体系 */
.prreq-cell-empty {
    background-color: rgb(227, 78, 27);
    border: 0.8px solid rgb(0, 0, 0);
}

/* 2. 白色普通数据单元格类 (严格匹配第二组计算属性) */
.prreq-row-data .prreq-cell:not(.prreq-bg-orange) {
    background-color: rgb(255, 255, 255);       /* 纯白背景 */
    color: rgb(0, 0, 0);                       /* 默认黑字 */
    padding: 5px;                              /* 上下左右固定 5px 内边距 */
    border: 0.8px solid rgb(63, 63, 63);       /* 深灰色边框 */
}

/* 3. 布局与文本对齐微调 */

/* 左侧一列（租期或指引文字）左对齐，并留出美观的左内边距 */
.prreq-text-left {
    text-align: left !important;
    padding-left: 15px !important;
}

/* 让多行长文本在单元格内换行更美观，控制其行高 */
.prreq-requirements-section .prreq-cell,
.prreq-row-spec .prreq-cell {
    line-height: 1.4;
    word-break: break-word;
}

/* 响应式断点控制：避免小屏幕下撑破页面 */
@media (max-width: 1440px) {
    .prreq-container {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}


/* ==========================================================================
   PRICING DETAILS & CONDITIONS CSS (Prefix: .prcond-)
   ========================================================================== */

/* 外部 Section 容器 */
.prcond-section-wrapper {
    /* 继承全局大背景灰色，上下间距配合表格 */
    padding-top: 20px;
    padding-bottom: 20px; 
}

/* 承载条款文本的大容器 */
.prcond-content-block {
    display: block;
    width: 930.4px;           /* 严格对齐控制台 930.4px */
    height: auto;             /* 变更为 auto，让多行段落能自然向下延伸，不写死高度 */
    margin-left: auto;        /* 容器在页面中整体居中 */
    margin-right: auto;
}

/* 单条文本行样式 */
.prcond-text-line {
    color: rgb(107, 100, 85); /* 严格对齐 rgb(107, 100, 85) */
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    height: auto;             /* 设为 auto：若手机端文字折行，高度会自动撑开防止重叠 */
    min-height: 18.4px;       /* 严格对齐控制台最小高度 18.4px */
    letter-spacing: 1px;
    margin-block-start: 15px;
    margin-block-end: 15px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
    width: 100%;
    text-align: center;       
}

/* 移动端响应式兼容 */
@media (max-width: 960px) {
    .prcond-content-block {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}

/* ==========================================================================
   LOCATIONS SECTION CSS (Prefix: .locsec-)
   ========================================================================== */

/* 最外层 Section 容器 */
.locsec-section-wrapper {
    display: block;
    width: 100%;
    background-color: #ffffff; /* 保持大底色为白 */
    padding-top: 50px;
    padding-bottom: 60px;
    box-sizing: border-box;
}

/* 核心包裹器，控制整体内容的居中与最大宽度 */
.locsec-container {
    max-width: 1440px; /* 修改点：撑大容器总宽度，确保两列 680px 能并排下 (680*2 + 40 = 1400) */
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* 主标题：Locations */
.locsec-main-title {
    color: rgb(107, 100, 85);       /* 严格匹配 rgb(107, 100, 85) */
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 45px;                 /* 严格匹配 45px */
    font-weight: 700;
    text-align: center;
    margin-top: 37.35px;             /* 严格匹配 margin-block-start */
    margin-bottom: 0px;
    line-height: 1.2;
}

/* 副标题：Your local rent-a-scooter... */
.locsec-subtitle {
    color: rgb(107, 100, 85);       /* 严格匹配 rgb(107, 100, 85) */
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;                 /* 严格匹配 20px */
    font-weight: 700;
    text-align: center;
    margin-top: 26.6px;              /* 严格匹配 margin-block-start */
    margin-bottom: 40px;             /* 为下方内容留出间距 */
}

/* 网格：处理并排双列布局 */
.locsec-grid {
    display: flex;
    justify-content: space-between;  /* 保持两端对齐左右并排 */
    gap: 40px;                       /* 两列之间的水平缝隙 */
}

/* 单个城市列容器 */
.locsec-column {
    display: block;
    flex: 0 0 680px;                 /* 修改点：固定列宽为 680px，不拉伸不压缩，确保绝对并排 */
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

/* 城市名字：Lisboa & Porto */
.locsec-city-title {
    color: rgb(107, 100, 85);       /* 严格匹配 rgb(107, 100, 85) */
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 55px;                 /* 严格匹配 55px */
    font-weight: 700;
    text-align: center;
    margin-top: 36.85px;             /* 严格匹配 margin-block-start */
    margin-bottom: 20px;
    line-height: 1.2;
}

/* 浅灰色占位区块 */
.locsec-map-placeholder {
    background-color: rgb(247, 247, 247); /* 严格匹配 rgb(247, 247, 247) */
    display: block;
    height: 300px;                   /* 严格匹配 300px */
    width: 680px;                    /* 修改点：宽度确认为 680px */
    padding: 5px;                    /* 严格匹配 padding */
    box-sizing: border-box;
    border-radius: 4px;              /* 微圆角使视觉更柔和 */
}

/* 底部的文本描述区块 */
.locsec-info-block {
    display: block;
    margin-top: 25px;
    width: 100%;
}

/* 单行信息文本样式 */
.locsec-text-line {
    color: rgb(107, 100, 85);       /* 严格匹配 rgb(107, 100, 85) */
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;                 /* 严格匹配 15px */
    height: auto;
    min-height: 18.4px;              /* 严格匹配 min-height 18.4px */
    letter-spacing: 1px;             /* 严格匹配 1px 字间距 */
    margin-top: 8px;                 /* 紧凑的多行文本间距微调 */
    margin-bottom: 8px;
    text-align: center;              /* 严格匹配文字居中 */
    line-height: 1.5;
}

/* 斜体及时间细化样式 */
.locsec-text-line em {
    font-style: italic;
}

.locsec-text-line.locsec-time {
    margin-top: 2px;
    margin-bottom: 12px;
    font-weight: 600;
}

/* 链接基础样式还原（电话和邮箱） */
.locsec-text-line a {
    color: rgb(227, 78, 27);
    text-decoration: underline;      /* 带下划线 */
    font-weight: 700;
}

.locsec-text-line a:hover {
    color: rgb(227, 78, 27);         /* 悬停时转换为主体橙色调 */
}

/* ==========================================================================
   移动端自适应响应式断点
   ========================================================================== */
@media (max-width: 1441px) {
    /* 提示：当屏幕小于 1440px（放不下两个并排 680px）时，才会触发上下排列，避免页面溢出截断 */
    .locsec-grid {
        flex-direction: column;      
        gap: 50px;
        align-items: center;
    }
    .locsec-column {
        max-width: 100%;
        flex: 1;
    }
    .locsec-map-placeholder {
        max-width: 100%;             /* 小屏下宽度自适应防溢出 */
    }
    .locsec-city-title {
        font-size: 42px;             /* 移动端稍微缩减大字号 */
    }
}

/* ==========================================================================
   FAQ SECTION CSS (Prefix: .faq-)
   ========================================================================== */

/* 最外层 Section 容器 */
.faq-section-wrapper {
    display: block;
    width: 100%;
    background-color: #ffffff; /* 最外层大底色保持为白 */
    padding-bottom: 60px;
    box-sizing: border-box;
}

/* 核心包裹器（一整块完全通透的大灰色背景，无任何内部线条） */
.faq-container {
    background-color: rgb(247, 247, 247); /* 严格匹配要求的浅灰色作为整个背景 */
    border-radius: 8px;                   /* 大背景区域圆角 */
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;                   /* 内边距，使文字与灰色边缘保持舒适距离 */
    padding-right: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   上半部分：问题菜单列表（包含前面的圆点 doc）
   -------------------------------------------------------------------------- */
.faq-questions-menu {
    width: 100%;
    margin-bottom: 40px;
}

.faq-menu-list {
    margin: 0;
    padding-left: 20px; /* 给前面的圆点留出位置 */
}

/* 严格匹配您提供的问题样式 */
.faq-question {
    color: rgb(63, 63, 63);
    cursor: pointer;
    display: list-item;       /* 强制作为列表项显示，以激活圆点 */
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    height: auto;
    list-style-type: disc;    /* 开启前面圆点（doc）效果 */
    margin-bottom: 12px;      /* 问题互相之间的上下间距 */
    text-decoration-color: rgb(63, 63, 63);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
    width: auto;
}

/* 悬停微动效 */
.faq-question:hover {
    color: rgb(227, 78, 27);
    text-decoration-color: rgb(227, 78, 27);
}

/* 中间分割线（修改点：已完全移除原有线条，改为纯间距撑开上下部分） */
.faq-divider {
    border: 0;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* --------------------------------------------------------------------------
   下半部分：全答案集中展示块
   -------------------------------------------------------------------------- */
.faq-answers-block {
    width: 100%;
    display: block;
}

/* 严格匹配您提供的答案容器样式 */
.faq-answer {
    display: block;
    float: left;                /* 保持您需要的向左浮动 */
    font-family: 'Montserrat', sans-serif;
    background-color: transparent; /* 保持透明，融入大背景 */
    /* 修改点：已彻底移除原有的 border-bottom 分割线 */
    
    /* 高度和宽度自适应优化 */
    height: auto;               
    min-height: 82.4px;         /* 满足基准高度要求 */
    width: 100%;                /* 默认填满大背景空间 */
    max-width: 1424px;          /* 大屏下最大限制为您要求的 1424px */
    
    /* 间距与对齐 */
    padding-bottom: 30px;
    padding-left: 10px;
    padding-right: 70px;
    padding-top: 30px;
    unicode-bidi: isolate;
    
    box-sizing: border-box;     
    scroll-margin-top: 30px;    /* 点击滚动时，顶部预留的舒适间距 */
}

/* 严格匹配答案标题样式 */
.faq-answer-title {
    color: rgb(227, 78, 27);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    height: auto;
    min-height: 24px;
    letter-spacing: 3px;
    margin-block-end: 20px;
    margin-block-start: 20px;
    margin-inline-end: 0px;
    margin-inline-start: 0px;
    text-transform: uppercase;
    unicode-bidi: isolate;
    width: 100%;
}

/* 严格匹配答案描述样式 */
.faq-answer-desc {
    color: rgb(107, 100, 85);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    height: auto;
    letter-spacing: 1px;
    margin-block-end: 0px;
    margin-block-start: 15px;
    margin-bottom: 0px;
    margin-inline-end: 0px;
    margin-inline-start: 0px;
    line-height: 18px;
    unicode-bidi: isolate;
    width: 100%;
}

/* 清除浮动，防止外层容器高度塌陷 */
.faq-answers-block::after {
    content: "";
    display: table;
    clear: both;
}

/* 移动端优雅降级 */
@media (max-width: 768px) {
    .faq-container {
        padding: 20px;          /* 手机端缩小大灰色背景的四周间距 */
    }
    .faq-answer {
        padding-right: 20px;    /* 手机端稍微收紧答案右边距 */
    }
}

/* ==========================================================================
   FLEET FILTER SECTION CSS (Prefix: .fleet-filter-)
   ========================================================================== */

/* 最外层包裹容器，带有你要求的浅灰色背景 */
.fleet-filter-wrapper {
    background-color: rgb(247, 247, 247); /* 严格匹配你网站的标准浅灰色底色 */
    padding-top: 25px;                     /* 增加上下内边距，让排版更好看 */
    padding-bottom: 25px;
    width: 100%;
    box-sizing: border-box;
}

/* 核心分类菜单（严格合并你提供的 CSS 参数） */
.fleet-filter-menu {
    display: flex;                         /* 使用 Flexbox 布局实现现代标签排列 */
    flex-wrap: wrap;                       /* 允许标签在空间不足时优雅自动折行 */
    justify-content: center;               /* 严格匹配图片的整体居中对齐 */
    align-items: center;
    gap: 15px 25px;                        /* 标签互相之间的左右和上下间距 */
    
    font-family: 'Montserrat', sans-serif; /* 严格匹配 Montserrat 字体 */
    
    /* 严格还原你给出的初始化属性 */
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    
    margin-block-start: 16px;              /* 严格匹配 16px */
    margin-block-end: 20px;                /* 严格匹配 20px */
    margin-bottom: 20px;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 0px;
    
    padding-bottom: 0px;
    padding-inline-start: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    
    text-align: center;                    /* 严格匹配文字居中 */
    unicode-bidi: isolate;
    
    /* 自适应尺寸优化 */
    width: 100%;
    max-width: 1454px;                     /* 大屏下限制最大宽度为您提供的 1454px */
    height: auto;                          /* 优化：去掉固定的 56.4px，防止折行时文本被裁切溢出 */
    min-height: 56.4px;                    /* 满足基准高度要求 */
    margin-left: auto;                     /* 确保整个块在大屏下也保持正中 */
    margin-right: auto;
    box-sizing: border-box;
}

/* 单个分类标签样式 */
.fleet-filter-item {
    color: rgb(0, 0, 0);                   /* 默认未选中状态为黑色 */
    font-size: 15px;
    font-weight: 700;                      /* 粗体字 */
    cursor: pointer;                       /* 鼠标悬停时变成小手 */
    transition: color 0.2s ease;           /* 平滑颜色过渡 */
    white-space: nowrap;                   /* 保证单个标签内的文字（如 cc）不拆行 */
}

/* 悬停（Hover）以及被激活（Active）时的橙色状态（匹配图片中的 "All"） */
.fleet-filter-item:hover,
.fleet-filter-item.active {
    color: rgb(227, 78, 27);               /* 严格匹配你网站的主体橙色 */
}