/* ==========================================================
   CLIMACO – HEAT PUMP FINDER
   ========================================================== */

.climaco-heat-pump-finder,
.climaco-heat-pump-finder * {
    box-sizing: border-box;
}

.climaco-heat-pump-finder {
    width: 100%;
}


/* ==========================================================
   HUVUDLAYOUT
   ========================================================== */

.hpf-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}


/* ==========================================================
   SIDEBAR
   ========================================================== */

.hpf-sidebar {
    padding: 20px;
    background: #f5f8fa;
    border-radius: 8px;
}

.hpf-section {
    margin-bottom: 26px;
}

.hpf-section h3 {
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.25;
}


/* Inputs */

.hpf-supplier,
.hpf-model-filter,
.hpf-global-search {
    width: 100%;
    min-height: 46px;

    padding: 10px 13px;

    border: 1px solid #d8e0e6;
    border-radius: 5px;

    background: #fff;

    font-size: 14px;
}


/* Modellista */

.hpf-model-list {
    max-height: 245px;

    margin-top: 7px;

    overflow-y: auto;

    border: 1px solid #d8e0e6;
    border-radius: 5px;

    background: #fff;
}

.hpf-model-item,
.hpf-global-result {
    display: block;

    width: 100%;

    padding: 9px 13px;

    border: 0;
    border-bottom: 1px solid #edf1f3;

    background: #fff;

    text-align: left;

    cursor: pointer;
}

.hpf-model-item:hover,
.hpf-model-item.is-active,
.hpf-global-result:hover {
    background: #dcefff;
}


/* ==========================================================
   HUR FUNGERAR DET
   ========================================================== */

.hpf-how {
    margin-top: 30px;
    padding: 18px;

    border-radius: 7px;

    background: #eaf6ff;
}

.hpf-how-heading {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 15px;

    font-size: 17px;
}

.hpf-how-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 36px;

    width: 36px;
    height: 36px;

    border-radius: 50%;

    background: #079be8;
    color: #fff;

    font-size: 22px;
    font-weight: 700;
}

.hpf-how-steps {
    display: flex;
    flex-direction: column;

    gap: 10px;
}

.hpf-how-step {
    display: grid;

    grid-template-columns:
        26px minmax(0, 1fr);

    gap: 10px;

    align-items: start;

    color: #626e78;

    font-size: 13px;
    line-height: 1.4;
}

.hpf-how-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    border-radius: 50%;

    background: #168fea;
    color: #fff;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}


/* ==========================================================
   RESULTATOMRÅDE
   ========================================================== */

.hpf-results {
    min-width: 0;
}

.hpf-start-message,
.hpf-step-message {
    padding: 35px;

    border: 1px solid #dce5ea;
    border-radius: 8px;

    background: #f8fbfd;
}

.hpf-step-message {
    display: flex;
    gap: 20px;
    align-items: center;
}

.hpf-step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    border-radius: 50%;

    background: #079be8;
    color: #fff;

    font-size: 26px;
    font-weight: 700;
}

.hpf-step-message h2,
.hpf-start-message h2 {
    margin: 0 0 7px;
}


/* ==========================================================
   SÖKRESULTAT
   ========================================================== */

.hpf-result-heading {
    margin-bottom: 14px;
}

.hpf-result-heading h2 {
    margin: 0 0 3px;

    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

.hpf-result-model {
    font-size: 21px;
    line-height: 1.2;
    font-weight: 700;
}


/* ==========================================================
   TOPP – 66 / 33
   ========================================================== */

.hpf-detail-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
}


/* ==========================================================
   VÄRMEPUMPSKORT
   ========================================================== */

.hpf-pump-info {
    padding: 22px;

    border: 1px solid #dce5ea;
    border-radius: 8px;

    background: #fff;
}

.hpf-pump-link {
    display: block;

    color: inherit !important;
    text-decoration: none !important;

    cursor: pointer;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.hpf-pump-link:hover {
    border-color: #079be8;

    box-shadow:
        0 5px 18px rgba(0, 0, 0, .07);

    transform: translateY(-1px);
}


/* Heading */

.hpf-pump-heading {
    display: flex;
    align-items: center;
    gap: 20px;

    margin-bottom: 18px;
}

.hpf-manufacturer-logo {
    display: block;

    width: auto;
    max-width: 120px;
    height: 55px;

    object-fit: contain;
}

.hpf-pump-title-wrap {
    min-width: 0;
}

.hpf-pump-heading h2 {
    margin: 0;
    padding: 0;

    color: #141a40;

    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
}

.hpf-pump-link:hover h2 {
    color: #079be8;
}

.hpf-pump-type {
    margin-top: 5px;

    color: #616d78;

    font-size: 15px;
    line-height: 1.3;
    font-weight: 400;
}


/* Main content */

.hpf-pump-main {
    display: grid;

    grid-template-columns:
        minmax(200px, .9fr)
        1.1fr;

    gap: 20px;

    align-items: center;
}


/* Technical data */

.hpf-tech-row {
    display: grid;

    grid-template-columns:
        48px minmax(0, 1fr);

    align-items: center;

    gap: 12px;

    margin-bottom: 16px;
}

.hpf-tech-row:last-child {
    margin-bottom: 0;
}

.hpf-tech-row img {
    display: block;

    width: 42px;
    height: 42px;

    object-fit: contain;
}

.hpf-tech-row span {
    display: block;

    margin-bottom: 2px;

    color: #697782;

    font-size: 13px;
    line-height: 1.2;
}

.hpf-tech-row strong {
    display: block;

    color: #141a40;

    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
}
  
.hpf-tech-label {
    display: block;

    margin-bottom: 2px;

    color: #697782;

    font-size: 13px;
    line-height: 1.2;
}

.hpf-tech-subtext {
    display: block;

    margin-top: 3px;

    color: #697782;

    font-size: 12px;
    line-height: 1.25;
}


/* Heat pump image */

.hpf-pump-image img {
    display: block;

    width: 100%;
    height: 240px;

    object-fit: contain;
}
  
  /* ==========================================================
   KNAPP – VISA VÄRMEPUMP
   ========================================================== */

.hpf-pump-button-wrap {
    margin-top: 20px;
}

.hpf-pump-button {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-height: 44px;

    padding: 10px 16px;

    border-radius: 5px;

    background: #079be8;
    color: #fff;

    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;

    transition:
        background .2s ease,
        transform .2s ease;
}

.hpf-pump-button-arrow {
    margin-left: 15px;

    font-size: 20px;
    line-height: 1;
}

.hpf-pump-link:hover .hpf-pump-button {
    background: #078ed4;
}


/* ==========================================================
   INFOBOX 33 %
   ========================================================== */

.hpf-info-box {
    padding: 24px;

    border: 0;
    border-radius: 8px;

    background: #f2faff;
}

.hpf-info-heading {
    display: grid;

    grid-template-columns:
        44px minmax(0, 1fr);

    gap: 13px;

    align-items: center;

    margin-bottom: 18px;
}

.hpf-info-symbol {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    margin: 0;

    border-radius: 50%;

    background: #079be8;
    color: #fff;

    font-size: 27px;
    line-height: 1;
    font-weight: 700;
}

.hpf-info-heading h3 {
    margin: 0;
    padding: 0;

    color: #141a40;

    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}

.hpf-info-box p {
    margin: 0;

    color: #505d69;

    font-size: 15px;
    line-height: 1.5;
}
  

/* ==========================================================
   REKOMMENDERADE PRODUKTER
   ========================================================== */

.hpf-recommendations {
    margin-top: 25px;
}

.hpf-recommendations > h2 {
    margin: 0 0 13px;

    font-size: 24px;
}

.hpf-rec-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.hpf-rec-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;
    min-height: 390px;

    padding: 18px;

    border: 1px solid #dce5ea;
    border-radius: 8px;

    background: #fff;

    color: inherit !important;
    text-decoration: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.hpf-rec-card:hover {
    border-color: #079be8;

    box-shadow:
        0 4px 15px rgba(0,0,0,.05);
}

.hpf-rec-label {
    align-self: flex-start;

    margin-bottom: 10px;

    padding: 6px 13px;

    border-radius: 20px;

    background: #079be8;
    color: #fff;

    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
}

.hpf-rec-card img {
    display: block;

    width: 100%;
    height: 175px;

    margin-bottom: 12px;

    object-fit: contain;
}

.hpf-rec-card h3 {
    margin: 0 0 8px;

    font-size: 20px;
    line-height: 1.2;
}

.hpf-rec-card p {
    margin: 0 0 15px;

    line-height: 1.4;
}

.hpf-rec-link {
    margin-top: auto;

    color: #079be8;

    font-weight: 600;
}


/* ==========================================================
   FRITEXT
   ========================================================== */

.hpf-global-results {
    position: relative;
    z-index: 10;

    margin-top: 5px;

    border-radius: 4px;

    background: #fff;
}


/* ==========================================================
   PLACEHOLDER
   ========================================================== */

.hpf-placeholder {
    padding: 10px 12px;

    color: #65717b;

    font-size: 13px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

    .hpf-layout {
        grid-template-columns: 1fr;
    }

    .hpf-detail-top {
        grid-template-columns: 1fr;
    }

    .hpf-rec-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .hpf-sidebar {
        padding: 16px;
    }

    .hpf-pump-main {
        grid-template-columns: 1fr;
    }

    .hpf-pump-heading {
        align-items: flex-start;
    }

    .hpf-manufacturer-logo {
        max-width: 95px;
        height: 45px;
    }

    .hpf-pump-image img {
        height: 200px;
    }

    .hpf-rec-grid {
        grid-template-columns: 1fr;
    }

    .hpf-start-message,
    .hpf-step-message {
        padding: 22px;
    }

    .hpf-step-message {
        align-items: flex-start;
    }
}
  
  /* ==========================================================
   BOTTOM LINKS
   ========================================================== */

.hpf-bottom-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    margin-top: 30px;
    padding: 24px 28px;

    background: #f2faff;
    border-radius: 6px;
}


/* En kolumn */

.hpf-bottom-item {
    display: flex;
    align-items: center;

    gap: 18px;

    min-width: 0;
    padding: 0 28px;

    border-right: 1px solid #9bd5f7;
}

.hpf-bottom-item:first-child {
    padding-left: 0;
}

.hpf-bottom-item:last-child {
    padding-right: 0;
    border-right: 0;
}


/* Tillverkarlogga */

.hpf-installer-logo-wrap {
    flex: 0 0 90px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.hpf-installer-logo {
    display: block;

    width: auto;
    max-width: 90px;
    max-height: 55px;

    object-fit: contain;
}


/* Statiska ikoner */

.hpf-bottom-icon {
    flex: 0 0 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    border-radius: 50%;

    background: #079be8;

    color: #fff;

    font-size: 30px;
    font-weight: 700;
    line-height: 1;
}


/* Innehåll */

.hpf-bottom-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.hpf-bottom-content > strong {
    display: block;

    margin-bottom: 5px;

    color: #11183b;

    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
}

.hpf-bottom-content > span {
    display: block;

    margin-bottom: 12px;

    color: #626e78;

    font-size: 13px;
    line-height: 1.4;
}


/* Länkknapp */

.hpf-bottom-content > a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    width: fit-content;
    max-width: 100%;

    padding: 8px 12px;

    border: 1px solid #079be8;
    border-radius: 4px;

    background: #fff;

    color: #079be8 !important;

    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;

    text-decoration: none !important;
}

.hpf-bottom-content > a:hover {
    background: #079be8;
    color: #fff !important;
}

.hpf-arrow {
    flex: 0 0 auto;

    font-size: 20px;
    line-height: 1;
}


/* ==========================================================
   TABLET / MOBILE
   ========================================================== */

@media (max-width: 980px) {

    .hpf-bottom-links {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .hpf-bottom-item,
    .hpf-bottom-item:first-child,
    .hpf-bottom-item:last-child {
        padding: 20px 0;

        border-right: 0;
        border-bottom: 1px solid #9bd5f7;
    }

    .hpf-bottom-item:first-child {
        padding-top: 0;
    }

    .hpf-bottom-item:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
}


@media (max-width: 600px) {

    .hpf-bottom-item {
        align-items: flex-start;
        gap: 14px;
    }

    .hpf-installer-logo-wrap,
    .hpf-bottom-icon {
        flex-basis: 65px;
        width: 65px;
    }

    .hpf-installer-logo {
        max-width: 65px;
    }

    .hpf-bottom-content > strong {
        font-size: 16px;
    }

    .hpf-bottom-content > a {
        width: 100%;
    }
}

/* ==========================================================
   HEAT PUMP SINGLE – BOTTOM LINKS
   Anpassning för att linjera med övriga Divi-rader
   ========================================================== */

.hpf-bottom-links-single {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;

   
}


/* Se till att kolumnerna fyller hela tillgängliga bredden */
.hpf-bottom-links-single .hpf-bottom-item {
    min-width: 0;
}


/* Lite jämnare intern spacing */
.hpf-bottom-links-single .hpf-bottom-item {
    padding-left: 24px;
    padding-right: 24px;
}

.hpf-bottom-links-single .hpf-bottom-item:first-child {
    padding-left: 0;
}

.hpf-bottom-links-single .hpf-bottom-item:last-child {
    padding-right: 0;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

    .hpf-bottom-links-single {
        padding: 22px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .hpf-bottom-links-single {
        padding: 18px;
    }

}