/* =========================================================
   site-style.css — FROZEN shared stylesheet
   Extracted from the approved homepage build.
   Do not edit, restructure, or restyle in any future page prompt.
   ========================================================= */

body{
    font-family: sans-serif;
}
p{
    margin-bottom: 10px;
}

/* ---- Route overview ---- */
.route-overview-sec{
    padding: 50px 0;
    background: #f7f9f9;
}
.route-facts-list{
    list-style: none;
    padding-left: 0;
}
.route-facts-list li{
    padding: 6px 0 6px 28px;
    position: relative;
}
.route-facts-list li:before{
    content: "\f0a9";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color:#0e6b5c;
    position: absolute;
    left: 0;
}

/* ---- Why book cards ---- */
.why-book-sec{
    padding: 50px 0;
}
.why-book-sec .why-card{
    background:#fff;
    border-left: 4px solid #0e6b5c;
    padding: 20px 22px;
    margin-bottom: 20px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}
.why-book-sec .why-card h4{
    margin-top:0;
    color:#0e6b5c;
}

/* ---- FAQ blocks ---- */
.faq-sec{
    padding: 50px 0;
    background: #f7f9f9;
}
.faq-sec .faq-block{
    margin-bottom: 22px;
}
.faq-sec .faq-block h3{
    font-size: 19px;
    color:#0e6b5c;
    margin-bottom: 6px;
}

/* ---- Other routes / internal links list ---- */
.other-routes-sec{
    padding: 45px 0;
}
.other-routes-sec ul{
    list-style: none;
    padding-left:0;
}
.other-routes-sec ul li{
    padding: 10px 0;
    border-bottom: 1px solid #e5e5e5;
}
.other-routes-sec ul li a{
    color:#0e6b5c;
    font-weight: 600;
    text-decoration: none;
}
.other-routes-sec ul li a:hover{
    text-decoration: underline;
}

/* ---- Trust badge bar ---- */
.trust-badge-sec{
    padding: 35px 0;
    background: #0e6b5c;
}
.trust-badge-sec .badge-item{
    text-align: center;
    color: #fff;
    padding: 10px;
}
.trust-badge-sec .badge-item i{
    font-size: 30px;
    display: block;
    margin-bottom: 8px;
}
.trust-badge-sec .badge-item span{
    font-weight: 600;
    font-size: 14px;
}

/* ---- Comparison table ---- */
.compare-sec{
    padding: 50px 0;
    background: #f7f9f9;
}
.compare-sec table{
    background: #fff;
}
.compare-sec table th{
    background: #0e6b5c;
    color: #fff;
}
.compare-sec table td.highlight-col, .compare-sec table th.highlight-col{
    background: #eaf6f3;
    font-weight: 600;
}

/* ---- Numbered process steps ---- */
.process-sec{
    padding: 50px 0;
}
.process-sec .process-step{
    text-align: center;
    padding: 15px;
}
.process-sec .process-step .step-num{
    width: 46px;
    height: 46px;
    line-height: 46px;
    border-radius: 50%;
    background: #0e6b5c;
    color: #fff;
    font-weight: 700;
    margin: 0 auto 12px;
}

/* ---- What's included checklist ---- */
.included-sec{
    padding: 45px 0;
    background: #f7f9f9;
}
.included-sec ul{
    list-style: none;
    padding-left: 0;
    columns: 2;
}
.included-sec ul li{
    padding: 6px 0 6px 26px;
    position: relative;
    break-inside: avoid;
}
.included-sec ul li:before{
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color:#0e6b5c;
    position: absolute;
    left: 0;
}

/* ---- Sub-audience cards ---- */
.sub-audience-sec{
    padding: 50px 0;
}
.sub-audience-sec .audience-card{
    background:#fff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    padding: 22px;
    margin-bottom: 20px;
    height: 100%;
}
.sub-audience-sec .audience-card h4{
    color:#0e6b5c;
}

/* ---- Locations teaser pills ---- */
.locations-teaser-sec{
    padding: 45px 0;
    background: #f7f9f9;
}
.locations-teaser-sec .loc-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-left: 0;
    list-style: none;
}
.locations-teaser-sec .loc-list li{
    background: #fff;
    border: 1px solid #ddd;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 14px;
}

/* ---- Footer CTA banner (also used standalone via cta.php) ---- */
.footer-cta-banner{
    background: #0e6b5c;
    color: #fff;
    text-align: center;
    padding: 30px 15px;
}
.footer-cta-banner a{
    color: #fff;
    font-weight: 700;
    font-size: 22px;
}

/* ---- Generic content-block heading spacing (used by every page) ---- */
.title-section{
    margin-bottom: 10px;
}
.main-title-agile{
    font-weight: 700;
}

/* ---- Audience/why-card/process/included icon color token ----
   Brand accent colour used throughout: #0e6b5c
   Keep this single source of truth — do not redefine the accent
   colour locally on any page-level content block. */
:root{
    --brand-accent: #0e6b5c;
}