/* --- Unique Locations Page Styles --- */
.locations-hero-unique {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url('../images/locations_hero.jpg') center/cover no-repeat;
    padding: calc(var(--header-height) + 4rem) 0 4rem;
}

.locations-hero-content {
    color: #fff;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}
.locations-hero-content h1 {
    font-size: 3rem;
    font-weight: 900;
    margin-bottom: 1.2rem;
}
.locations-hero-pins {
    margin-top: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
}
.locations-hero-pins .pin {
    background: var(--accent-color);
    color: var(--primary-color);
    font-weight: 700;
    padding: 0.7em 1.5em;
    border-radius: 999px;
    font-size: 1.1rem;
    text-decoration: none;
    display: inline-block;
    transition: background 0.18s, color 0.18s;
}
.locations-hero-pins .pin:hover {
    background: var(--primary-color);
    color: #fff;
}

/* Calgary Section: Compact Two-Column Feature Blocks */
.calgary-features, .nanaimo-features, .kelowna-features, .toronto-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
    margin-top: 1.2rem;
}
.calgary-feature-block, .nanaimo-feature-block, .kelowna-feature-block, .toronto-feature-block {
    display: flex;
    align-items: flex-start;
    background: #fff;
    border-radius: var(--border-radius);
    box-shadow: 0 2px 12px rgba(44,82,130,0.08);
    padding: 1rem 0.8rem;
    gap: 1rem;
    transition: box-shadow 0.18s, transform 0.18s;
    min-height: 0;
}
.calgary-feature-block h3, .nanaimo-feature-block h3, .kelowna-feature-block h3, .toronto-feature-block h3 {
    margin: 0 0 0.3rem 0;
    font-size: 1.08rem;
}
.calgary-feature-block p, .calgary-feature-list, .nanaimo-feature-block p, .nanaimo-feature-list, .kelowna-feature-block p, .kelowna-feature-list, .toronto-feature-block p, .toronto-feature-list {
    font-size: 0.98rem;
}
.calgary-feature-list, .nanaimo-feature-list, .kelowna-feature-list, .toronto-feature-list {
    list-style: none;
    margin: 0.2rem 0 0 0;
    padding-left: 0;
}
.calgary-feature-list li, .nanaimo-feature-list li, .kelowna-feature-list li, .toronto-feature-list li {
    color: var(--primary-color);
    margin-bottom: 0.3em;
    line-height: 1.4;
    display: flex;
    align-items: flex-start;
    gap: 0.7em;
    font-size: 0.98rem;
}
.calgary-feature-list li i, .nanaimo-feature-list li i, .kelowna-feature-list li i, .toronto-feature-list li i {
    color: var(--secondary-color);
    font-size: 0.7em;
    margin-top: 0.32em;
    flex-shrink: 0;
}
.calgary-image-desktop, .nanaimo-image-desktop, .kelowna-image-desktop, .toronto-image-desktop {
    height: 400px;
    max-width: 600px;
    width: 100%;
    display: block;
}
.calgary-image-mobile, .nanaimo-image-mobile, .kelowna-image-mobile, .toronto-image-mobile { display: none; }

/* Victoria Section: Two-Column Layout */
.victoria-two-col .flex-section, .edmonton-two-col .flex-section {
    align-items: center;
    gap: 3rem;
}
.victoria-image-desktop, .edmonton-image-desktop {
    height: 400px;
    max-width: 600px;
    width: 100%;
    background-size: cover;
    background-position: center;
    border-radius: var(--border-radius);
    box-shadow: 0 4px 16px rgba(44,82,130,0.07);
    display: block;
}
.victoria-image-mobile, .edmonton-image-mobile { display: none; }
.victoria-features, .edmonton-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
    margin-top: 1.2rem;
}
.victoria-feature-block, .edmonton-feature-block {
    display: flex;
    align-items: flex-start;
    background: #fff;
    border-radius: var(--border-radius);
    box-shadow: 0 2px 12px rgba(44,82,130,0.08);
    padding: 1rem 0.8rem;
    gap: 1rem;
    min-height: 0;
}
.victoria-feature-block h3, .edmonton-feature-block h3 {
    margin: 0 0 0.3rem 0;
    font-size: 1.08rem;
}
.victoria-feature-list, .edmonton-feature-list {
    list-style: none;
    margin: 0.2rem 0 0 0;
    padding-left: 0;
}
.victoria-feature-list li, .edmonton-feature-list li {
    color: var(--primary-color); 
    margin-bottom: 0.3em;
    line-height: 1.4;
    display: flex;
    align-items: flex-start;
    gap: 0.7em;
    font-size: 0.98rem;
}
.victoria-feature-list li i, .edmonton-feature-list li i {
    color: var(--secondary-color);  
    font-size: 0.7em;
    margin-top: 0.32em;
    flex-shrink: 0;
}
.victoria-two-col .section-content > p, .edmonton-two-col .section-content > p {
  color: #fff;
}

/* Why Choose Us Carousel */
.why-choose-section {
    background-color: var(--primary-color);
}
.why-choose-section h2 {
    color: white;
}
.carousel-arrow:hover {
    background: var(--accent-color);
    color: var(--primary-color);
}