/* FLORIDSDORF PAGE STYLES */

.floridsdorf-location {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--spacing-8) var(--spacing-4);
}

/* Hero Section */
.floridsdorf-location__hero {
    text-align: center;
    margin-bottom: var(--spacing-12);
}

.floridsdorf-location__hero-heading {
    font-family: var(--font-heading);
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-500);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__hero-paragraph {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-neutral-900);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-6);
}

/* Primary CTA Button */
.floridsdorf-location__cta-primary {
    display: inline-block;
    padding: var(--spacing-3) var(--spacing-8);
    min-width: 44px;
    min-height: 44px;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--cookie-banner-accept-color);
    background-color: var(--cookie-banner-accept-bg);
    border: none;
    border-radius: var(--radius-md);
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background-color var(--duration-200) ease;
}

.floridsdorf-location__cta-primary:hover,
.floridsdorf-location__cta-primary:focus {
    background-color: var(--cookie-banner-accept-hover-bg);
    text-decoration: none;
}

/* Transport Section */
.floridsdorf-location__transport {
    margin-bottom: var(--spacing-12);
}

.floridsdorf-location__transport-heading {
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-500);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__transport p,
.floridsdorf-location__transport ul {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-neutral-900);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__transport ul {
    padding-left: var(--spacing-6);
}

.floridsdorf-location__transport li {
    margin-bottom: var(--spacing-2);
}

.floridsdorf-location__transport-subheading {
    font-family: var(--font-heading);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-500);
    line-height: var(--line-height-tight);
    margin-top: var(--spacing-6);
    margin-bottom: var(--spacing-3);
}

/* Services Section */
.floridsdorf-location__services {
    margin-bottom: var(--spacing-12);
}

.floridsdorf-location__services-heading {
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-500);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__services p {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-neutral-900);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__services ul {
    padding-left: var(--spacing-6);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__services li {
    margin-bottom: var(--spacing-2);
}

.floridsdorf-location__services-link {
    color: var(--color-primary-500);
    text-decoration: underline;
    font-weight: var(--font-weight-semibold);
}

.floridsdorf-location__services-link:hover,
.floridsdorf-location__services-link:focus {
    color: var(--color-primary-600);
}

/* Why Choose Us Section */
.floridsdorf-location__why-choose {
    margin-bottom: var(--spacing-12);
}

.floridsdorf-location__why-choose-heading {
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-500);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__why-choose p {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-neutral-900);
    line-height: var(--line-height-relaxed);
}

/* Map Section */
.floridsdorf-location__map-section {
    margin-bottom: var(--spacing-12);
}

.floridsdorf-location__map-heading {
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-500);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-4);
}

.floridsdorf-location__map-description {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-neutral-900);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-6);
}

.floridsdorf-location__map-link-wrapper {
    margin-top: var(--spacing-4);
    text-align: center;
}

.floridsdorf-location__map-link {
    display: inline-block;
    padding: var(--spacing-2) var(--spacing-6);
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-500);
    text-decoration: underline;
}

.floridsdorf-location__map-link:hover,
.floridsdorf-location__map-link:focus {
    color: var(--color-primary-600);
}

/* Contact Info Section */
.floridsdorf-location__contact-info {
    margin-bottom: var(--spacing-8);
    padding: var(--spacing-6);
    background-color: var(--color-neutral-50);
    border-radius: var(--radius-md);
}

.floridsdorf-location__contact-info p {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-neutral-900);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-2);
}

.floridsdorf-location__contact-link {
    color: var(--color-primary-500);
    text-decoration: underline;
    font-weight: var(--font-weight-semibold);
}

.floridsdorf-location__contact-link:hover {
    color: var(--color-primary-600);
}

.floridsdorf-location__contact-emphasis {
    color: var(--color-primary-500);
    font-style: italic;
}

/* Secondary CTA */
.floridsdorf-location__cta-secondary {
    display: inline-block;
    padding: var(--spacing-3) var(--spacing-8);
    min-width: 44px;
    min-height: 44px;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--cookie-banner-accept-color);
    background-color: var(--cookie-banner-accept-bg);
    border: none;
    border-radius: var(--radius-md);
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background-color var(--duration-200) ease;
    margin-top: var(--spacing-4);
}

.floridsdorf-location__cta-secondary:hover,
.floridsdorf-location__cta-secondary:focus {
    background-color: var(--cookie-banner-accept-hover-bg);
    text-decoration: none;
}

/* Responsive: Tablet */
@media (min-width: 768px) {
    .floridsdorf-location {
        padding: var(--spacing-12) var(--spacing-6);
    }

    .floridsdorf-location__hero-heading {
        font-size: var(--font-size-4xl);
    }

    .floridsdorf-location__hero-paragraph {
        font-size: var(--font-size-lg);
    }

    .floridsdorf-location__transport-heading,
    .floridsdorf-location__services-heading,
    .floridsdorf-location__why-choose-heading,
    .floridsdorf-location__map-heading {
        font-size: var(--font-size-2xl);
    }

    .floridsdorf-location__transport-subheading {
        font-size: var(--font-size-xl);
    }
}

/* Responsive: Desktop */
@media (min-width: 1024px) {
    .floridsdorf-location {
        padding: var(--spacing-16) var(--spacing-8);
    }

    .floridsdorf-location__hero-heading {
        font-size: var(--font-size-5xl);
    }

    .floridsdorf-location__transport-heading,
    .floridsdorf-location__services-heading,
    .floridsdorf-location__why-choose-heading,
    .floridsdorf-location__map-heading {
        font-size: var(--font-size-heading-h2-desktop);
    }

    .floridsdorf-location__transport-subheading {
        font-size: var(--font-size-2xl);
        margin-top: var(--spacing-8);
    }
}

/* Responsive: Large Desktop */
@media (min-width: 1536px) {
    .floridsdorf-location {
        padding: var(--spacing-20) var(--spacing-12);
    }

    .floridsdorf-location__hero {
        margin-bottom: var(--spacing-16);
    }
}
