/*
 * ILPFIX paikkakuntasivut.
 * Site colors, typography and button appearance inherit from Kadence/global variables.
 */
#primary.ilp-location {
    --ilp-radius: 16px;
    --ilp-content: var(--global-content-width, 1200px);
    --ilp-narrow: 860px;
    --ilp-section-space: var(--global-kb-spacing-xxl, 6rem);
    --ilp-section-space-mobile: var(--global-kb-spacing-lg, 3rem);
    font-family: var(--global-body-font-family, inherit);
    color: var(--global-palette4);
    background: linear-gradient(0deg, var(--global-palette7), var(--global-palette8));
}

.ilp-location *,
.ilp-location *::before,
.ilp-location *::after {
    box-sizing: border-box;
}

.ilp-location h1,
.ilp-location h2,
.ilp-location h3 {
    font-family: var(--global-heading-font-family, inherit);
    text-wrap: balance;
}

.ilp-location h2 {
    margin: 1rem 0 1.5rem;
}

.ilp-location h3 {
    margin-top: 1rem;
}

.ilp-location p {
    max-width: 860px;
    text-wrap: balance;
}

.ilp-location-container {
    width: min(calc(100% - 40px), var(--ilp-content));
    margin-inline: auto;
}

.ilp-location-container--narrow {
    max-width: var(--ilp-narrow);
}

.ilp-location-section,
.ilp-location-section--soft,
.ilp-location-section--dark {
    padding-block: var(--ilp-section-space);
    background: transparent;
    color: inherit;
}

.ilp-location-gradient-title {
    width: fit-content;
    max-width: 100%;
    background-image: linear-gradient(135deg, var(--global-palette2) 40%, var(--global-palette10) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.ilp-location-center {
    text-align: center;
}

.ilp-location-center .ilp-location-gradient-title {
    margin-inline: auto;
}

.ilp-location-center > p {
    margin: 0 auto 2.5rem;
}

/* Hero */
.ilp-location-hero {
    min-height: 96vh;
    display: flex;
    color: var(--global-palette9);
    background:
        linear-gradient(0deg, var(--global-palette3) 0%, rgba(45, 55, 72, 0.5) 100%),
        var(--ilp-location-hero-bg) center / cover no-repeat;
}

.ilp-location-hero__inner {
    margin: auto;
    padding-block: 7rem;
}

.ilp-location-hero h1 {
    max-width: 1000px;
    color: var(--global-palette9);
}

.ilp-location-lead {
    max-width: 900px;
    color: var(--global-palette8);
}

.ilp-location-lead p {
    max-width: 900px;
}

/* Hidden only inside the location CPT template. */
.ilp-location .ilp-location-stats {
    display: none;
}

/* Keep layout wrapper only; actual buttons use the site's Kadence classes. */
.ilp-location-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 1.5rem;
}

/* Layout */
.ilp-location-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    align-items: center;
}

.ilp-location-building-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ilp-location-card {
    padding: 24px 16px;
    text-align: center;
    border-radius: var(--ilp-radius);
    box-shadow: 0 4px 24px -12px rgba(0, 0, 0, 0.2);
    background: color-mix(in srgb, var(--global-palette9) 70%, transparent);
}

.ilp-location-card h3 {
    margin-top: 1rem;
    font-size: 16px;
}

.ilp-location-card p {
    margin-inline: auto;
}

.ilp-location-check {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--global-palette1);
    font-size: 20px;
    font-weight: 700;
}

.ilp-location-gallery {
    display: grid;
    gap: 16px;
    margin-top: 32px;
}

.ilp-location-gallery--2 { grid-template-columns: repeat(2, 1fr); }
.ilp-location-gallery--3 { grid-template-columns: repeat(3, 1fr); }
.ilp-location-gallery--4 { grid-template-columns: repeat(4, 1fr); }

.ilp-location-gallery img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--ilp-radius);
}

/* Benefits */
.ilp-location-benefits {
    overflow: hidden;
    border-radius: var(--ilp-radius);
    box-shadow: 0 2px 48px -12px rgba(25, 64, 236, 0.18);
    background: color-mix(in srgb, var(--global-palette9) 70%, transparent);
}

.ilp-location-benefit {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 24px;
}

.ilp-location-benefit__icon {
    display: grid;
    flex: 0 0 30px;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--global-palette1);
}

.ilp-location-benefit__icon svg {
    display: block;
    width: 22px;
    height: 22px;
    max-width: 22px;
    max-height: 22px;
}

.ilp-location-benefit p {
    margin: 0;
}

/* Lists */
.ilp-location-checklist {
    margin: 1rem 0;
    padding-left: 1.2rem;
}

.ilp-location-checklist li {
    margin-bottom: .55rem;
}

/* Accordion / FAQ */
.ilp-location-accordion details,
.ilp-location-faq details {
    overflow: hidden;
    border-bottom: 1px solid color-mix(in srgb, var(--global-palette4) 18%, transparent);
}

.ilp-location-accordion summary,
.ilp-location-faq summary {
    position: relative;
    cursor: pointer;
    padding: 16px 38px 16px 0;
    font-weight: 600;
    list-style: none;
}

.ilp-location-accordion summary::-webkit-details-marker,
.ilp-location-faq summary::-webkit-details-marker {
    display: none;
}

.ilp-location-accordion summary::before,
.ilp-location-accordion summary::after,
.ilp-location-faq summary::before,
.ilp-location-faq summary::after {
    content: "";
    position: absolute;
    right: 4px;
    top: 50%;
    width: 14px;
    height: 1px;
    background: currentColor;
    transform-origin: 50%;
    transition: transform .22s ease, opacity .22s ease;
}

.ilp-location-accordion summary::before,
.ilp-location-faq summary::before {
    transform: translateY(-50%) rotate(90deg);
}

.ilp-location-accordion summary::after,
.ilp-location-faq summary::after {
    transform: translateY(-50%) rotate(0deg);
}

.ilp-location-accordion details[open] > summary::before,
.ilp-location-faq details[open] > summary::before {
    transform: translateY(-50%) rotate(0deg);
}

.ilp-location-details-content {
    overflow: hidden;
    padding-bottom: 16px;
    opacity: 1;
    transform-origin: top;
    will-change: opacity, transform;
}

.ilp-location-details-content > :first-child {
    margin-top: 0;
}

/* Tax */
.ilp-location-tax-card {
    padding: 32px;
    border-radius: var(--ilp-radius);
    box-shadow: 0 6px 36px -12px rgba(0, 0, 0, 0.16);
    background: color-mix(in srgb, var(--global-palette9) 70%, transparent);
}

.ilp-location-calc {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--global-palette7) 82%, transparent);
}

/* Image CTA sections */
.ilp-location-island {
    padding-block: var(--global-kb-spacing-3xl, 8rem);
    color: var(--global-palette9);
    background:
        linear-gradient(rgba(45, 55, 72, .5), rgba(45, 55, 72, .5)),
        url('/wp-content/uploads/2026/07/ilmalampopumppu-saareen.webp') center 55% / cover no-repeat;
}

.ilp-location-island h2 {
    color: var(--global-palette9);
}

.ilp-location-quote-cta {
    padding-block: var(--ilp-section-space);
    background:
        linear-gradient(rgba(247, 250, 252, .08), rgba(45, 55, 72, .34)),
        url('/wp-content/uploads/2026/04/mitsubishi-electric-ilmalampopumppu-olohuoneen-seinalla-3.webp') center 45% / cover no-repeat;
}

.ilp-location-quote-cta__card {
    max-width: 760px;
    padding: 48px;
    border-radius: var(--ilp-radius);
    background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(237, 242, 247, 0.25) 100%);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

@media (max-width: 900px) {
    .ilp-location-two-col {
        grid-template-columns: 1fr;
    }

    .ilp-location-gallery--3,
    .ilp-location-gallery--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .ilp-location-hero__inner {
        padding-block: 6rem;
    }
}

@media (max-width: 600px) {
    #primary.ilp-location {
        --ilp-section-space: var(--ilp-section-space-mobile);
    }

    .ilp-location-container {
        width: min(calc(100% - 28px), var(--ilp-content));
    }

    .ilp-location-building-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ilp-location-gallery--2,
    .ilp-location-gallery--3,
    .ilp-location-gallery--4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .ilp-location-tax-card,
    .ilp-location-quote-cta__card {
        padding: 24px;
    }
}


/* v0.2.5 */
.ilp-location-benefit .ilp-location-check {
    display: inline-grid;
    flex: 0 0 30px;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--global-palette1);
    font-size: 20px;
    font-weight: 700;
}

.ilp-location-reviews-intro {
    margin: 0 auto 2.5rem;
}

.ilp-location-reviews-intro p {
    margin-inline: auto;
}

/* FOOTER MENU STYLES IN ADDITIONAL CSS */