/* 1. Tokens */ :root{--sx-navy:#021f5a;--sx-blue:#076bf2;--sx-white:#fff;--sx-bg-soft:#e9eef5;--sx-text:#2d2d2d;--sx-whatsapp:#25d366;--sx-blue-10:rgba(7,107,242,.1);--sx-navy-10:rgba(2,31,90,.1);--sx-font:Poppins,"Avenir Next","Segoe UI",Arial,sans-serif}
/* 2. Base */ *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--sx-text);font-family:var(--sx-font);line-height:1.55}img{max-width:100%;height:auto}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sx-blue);outline-offset:3px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.skip-link{position:fixed;top:-4rem;left:1rem;z-index:10;padding:.75rem;background:#fff}.skip-link:focus{top:1rem}
/* 3. Layout */ .sx-container{width:min(100% - 2rem,1200px);margin:auto}.sx-section{padding:4.5rem 0}.sx-heading{max-width:700px;margin-bottom:2rem}.sx-eyebrow{margin:0 0:.75rem;color:var(--sx-blue);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2.5rem,7vw,5rem)}h2{margin-top:0;color:var(--sx-navy);font-size:clamp(2rem,4vw,3.25rem)}h3{color:var(--sx-navy)}.sx-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.sx-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.7rem 1.1rem;border:2px solid var(--sx-blue);border-radius:.25rem;color:#fff;background:var(--sx-blue);font:inherit;font-weight:700;text-decoration:none}.sx-button--ghost{border-color:#fff;background:transparent}.sx-button--outline{color:var(--sx-blue);background:#fff}.sx-button--small{min-height:40px;font-size:.8rem}.sx-text-link{align-self:center;color:var(--sx-blue);font-weight:700}.sx-split{display:grid;gap:2.5rem;align-items:center}.sx-check-list,.sx-trust__list{display:grid;gap:.7rem;padding:0;list-style:none;font-weight:600}.sx-check-list li:before,.sx-trust__list li:before{padding-right:.6rem;color:var(--sx-blue);content:"✓"}
/* 4. Header */ .sx-header{background:#fff;border-bottom:1px solid #dce4ef}.sx-header__inner{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:1rem}.sx-logo{text-decoration:none;color:var(--sx-navy);font-size:1.4rem;font-weight:700}.sx-logo img{width:180px}.sx-logo small{display:block;font-size:.56rem;letter-spacing:.11em;text-transform:uppercase}.sx-nav{display:none}.sx-nav__list{display:flex;gap:1.25rem;padding:0;list-style:none}.sx-nav a{text-decoration:none;font-size:.9rem;font-weight:600}.sx-header__actions{display:flex;gap:.5rem;align-items:center}.sx-phone{display:none;font-size:.8rem}.sx-whatsapp{padding:.5rem .65rem;border-radius:.25rem;color:#fff;background:var(--sx-whatsapp);font-size:.78rem;font-weight:700;text-decoration:none}
/* 5. Hero */ .sx-hero{position:relative;overflow:hidden;color:#fff;background:var(--sx-navy)}.sx-hero__media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,31,90,.94) 0%,rgba(2,31,90,.80) 34%,rgba(2,31,90,.25) 65%,rgba(2,31,90,0) 82%),url("../images/home/hero-satelex-mallorca.webp") center/cover}.sx-hero__content{position:relative;padding:5rem 0}.sx-hero h1{max-width:750px;margin:.5rem 0 1rem}.sx-hero__lead{max-width:650px;font-size:1.1rem}.sx-hero .sx-eyebrow{color:#b9d7ff}.sx-hero__benefits{position:relative;display:grid;gap:.75rem;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.25);font-size:.9rem;font-weight:600}.sx-hero__benefits span:before{padding-right:.5rem;color:#8fc0ff;content:"•"}
/* 6. Services */ .sx-services__grid{display:grid;gap:1rem}.sx-service-card{overflow:hidden;border:1px solid #dce4ef;border-radius:.4rem;background:#fff}.sx-service-card__image{aspect-ratio:3/2;background:var(--sx-bg-soft)}.sx-service-card__image img,.sx-energy__image img,.sx-coverage__map img{width:100%;height:100%;object-fit:cover}.sx-service-card__body{position:relative;padding:1.3rem}.sx-service-card__body h3{margin:.8rem 0 .4rem}.sx-service-card__body p{margin:0;padding-right:2rem;font-size:.92rem}.sx-icon{width:40px;height:40px;padding:.5rem;border-radius:.35rem;color:var(--sx-blue);background:var(--sx-blue-10)}.sx-arrow-link{position:absolute;right:1.2rem;bottom:1.2rem;color:var(--sx-blue)}.sx-arrow-link img{width:22px}
/* 7. Smart/Energy */ .sx-energy{background:var(--sx-bg-soft)}.sx-energy__image{aspect-ratio:4/3;background:#d8e3ef}.sx-energy__image img{object-fit:cover}
/* 8. Spare parts */ .sx-parts__categories{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1.5rem;border-radius:.4rem;background:var(--sx-bg-soft)}.sx-parts__categories span{padding:.75rem;border-left:3px solid var(--sx-blue);background:#fff;font-size:.9rem;font-weight:600}
/* 9. Coverage */ .sx-coverage__map{display:grid;min-height:300px;place-items:center;background:var(--sx-bg-soft)}.sx-coverage__map img{object-fit:contain}
/* 10. Trust */ .sx-trust{padding:4.5rem 0;color:#fff;background:var(--sx-navy)}.sx-trust h2{color:#fff}.sx-trust .sx-eyebrow{color:#9cc8ff}.sx-trust__list li:before{color:#8fc0ff}.sx-trust__image{min-height:280px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}
/* 11. Contact */ .sx-contact{background:var(--sx-bg-soft)}.sx-contact__grid{display:grid;gap:2rem}.sx-contact__details{display:grid;gap:1rem}.sx-contact__details p{display:grid;gap:.15rem;margin:0}.sx-contact__details strong{color:var(--sx-navy)}.sx-contact__form{display:grid;gap:1rem}.sx-contact__form label{display:block;margin-bottom:.35rem;font-weight:600}.sx-contact__form input,.sx-contact__form select,.sx-contact__form textarea{width:100%;padding:.75rem;border:1px solid #aab7c8;border-radius:.2rem;background:#fff;font:inherit}.sx-privacy{display:flex!important;gap:.5rem;align-items:flex-start}.sx-privacy input{width:auto!important;margin-top:.3rem}
/* 12. Footer */ .sx-footer{padding:4rem 0 0;color:#d8e5f8;background:var(--sx-navy)}.sx-footer__grid{display:grid;gap:2rem}.sx-footer h2{margin:0 0 .8rem;color:#fff;font-size:1rem}.sx-footer a,.sx-footer span{display:block;margin:.4rem 0;text-decoration:none;font-size:.9rem}.sx-logo--negative{color:#fff}.sx-footer__bottom{padding:1.25rem 0;margin-top:3rem;border-top:1px solid rgba(255,255,255,.2);font-size:.85rem}
/* 13. Responsive */ @media(min-width:640px){.sx-services__grid{grid-template-columns:repeat(2,1fr)}.sx-contact__form{grid-template-columns:1fr 1fr}.sx-contact__full{grid-column:1/-1}.sx-footer__grid{grid-template-columns:1.4fr repeat(3,1fr)}}@media(min-width:900px){.sx-nav{display:block}.sx-phone{display:block}.sx-hero__content{min-height:530px;padding-top:7rem}.sx-hero__benefits{grid-template-columns:repeat(4,1fr)}.sx-split{grid-template-columns:1fr 1fr}.sx-services__grid{grid-template-columns:repeat(4,1fr)}.sx-service-card:nth-child(5){grid-column:1/2}.sx-service-card:nth-child(6){grid-column:2/3}.sx-service-card:nth-child(7){grid-column:3/4}.sx-contact__grid{grid-template-columns:.7fr 1.3fr}}@media(min-width:1200px){.sx-header__inner{gap:2rem}.sx-nav__list{gap:1.7rem}}

/* Trust photography */
.sx-trust__image {
    overflow: hidden;
}

.sx-trust__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
}

/* Desktop refinement pass — Home V2 */

/* Smart home / energy */
.sx-energy {
    padding-bottom: 4rem;
}

.sx-energy .sx-actions {
    align-items: center;
}

/* Mallorca coverage */
.sx-coverage__map {
    overflow: hidden;
}

.sx-coverage__map img {
    width: 92%;
    height: 92%;
    margin: auto;
}

/* Trust */
.sx-trust {
    padding: 4rem 0;
}

.sx-trust__image {
    border-radius: .75rem;
}

.sx-trust .sx-actions {
    margin-top: 1.75rem;
}

/* Contact */
.sx-contact .sx-heading {
    max-width: 620px;
}

.sx-contact__details {
    gap: .7rem;
}

.sx-contact__item {
    display: grid !important;
    grid-template-columns: 42px 1fr;
    gap: .85rem !important;
    align-items: center;
    padding: .65rem 0;
}

.sx-contact__item > img {
    width: 42px;
    height: 42px;
    padding: 9px;
    border-radius: 50%;
    background: var(--sx-blue-10);
}

.sx-contact__item > span {
    display: grid;
    gap: .12rem;
}

/* Footer */
.sx-footer {
    padding-top: 3.25rem;
}

.sx-footer .sx-logo img {
    width: 195px;
}

.sx-footer__bottom {
    margin-top: 2.25rem;
}

/* Tablet / mobile navigation */
.sx-nav-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dce4ef;
    border-radius: .5rem;
    background: #fff;
    cursor: pointer;
}

.sx-nav-toggle__icon {
    display: grid;
    gap: 4px;
}

.sx-nav-toggle__icon span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: var(--sx-navy);
}

.sx-nav__mobile-actions {
    display: none;
}

@media (max-width: 899px) {
    .sx-header__inner {
        position: relative;
    }

    .sx-nav {
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        z-index: 50;
        display: none;
        padding: 1rem;
        border-top: 1px solid #dce4ef;
        border-bottom: 1px solid #dce4ef;
        background: #fff;
        box-shadow: 0 12px 30px rgba(2,31,90,.10);
    }

    .sx-nav.is-open {
        display: block;
    }

    .sx-nav__list {
        flex-direction: column;
        gap: 0;
        margin: 0;
    }

    .sx-nav__list a {
        display: block;
        padding: .75rem .4rem;
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .sx-hero__benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .sx-services__grid .sx-service-card:last-child {
        grid-column: 1 / -1;
        width: calc(50% - .5rem);
        justify-self: center;
    }

    .sx-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .sx-header__actions {
        display: none;
    }

    .sx-nav__mobile-actions {
        display: flex;
        flex-wrap: wrap;
        gap: .75rem;
        padding-top: 1rem;
        margin-top: .5rem;
        border-top: 1px solid #dce4ef;
    }

    .sx-logo img {
        width: 155px;
    }
}

@media (min-width: 900px) {
    .sx-nav-toggle {
        display: none;
    }
}

/* Final mobile refinement */
@media (max-width: 560px) {
    .sx-hero__media {
        background:
            linear-gradient(
                90deg,
                rgba(2,31,90,.96) 0%,
                rgba(2,31,90,.84) 55%,
                rgba(2,31,90,.62) 100%
            ),
            url("../images/home/hero-satelex-mallorca.webp") center/cover;
    }

    .sx-footer {
        padding-top: 2.75rem;
    }

    .sx-footer__grid {
        gap: 1.75rem;
    }
}

/* Real contact data */
.sx-phone {
    color: var(--sx-navy);
    text-decoration: none;
}

.sx-phone:hover,
.sx-contact__item a:hover {
    color: var(--sx-blue);
}

/* Contact form delivery notice */
.sx-contact__notice {
    max-width: 620px;
    margin: .75rem 0 0;
    color: #657386;
    font-size: .82rem;
    line-height: 1.45;
}

/* Standard content pages */
.sx-page {
    background: #fff;
}

.sx-page__hero {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: #e9eef5;
    border-bottom: 1px solid #dce4ef;
}

.sx-page__hero .sx-eyebrow {
    margin-bottom: .75rem;
}

.sx-page__hero h1 {
    max-width: 900px;
    margin: 0;
    color: var(--sx-navy);
    font-size: clamp(2.25rem, 5vw, 4rem);
    line-height: 1.08;
}

.sx-page__content {
    padding: clamp(3rem, 6vw, 5rem) 0;
}

.sx-prose {
    max-width: 860px;
    color: #2d2d2d;
    font-size: 1rem;
    line-height: 1.75;
}

.sx-prose > *:first-child {
    margin-top: 0;
}

.sx-prose h2 {
    margin: 2.75rem 0 1rem;
    color: var(--sx-navy);
    font-size: clamp(1.4rem, 3vw, 1.8rem);
    line-height: 1.25;
}

.sx-prose h3 {
    margin: 2rem 0 .75rem;
    color: var(--sx-navy);
}

.sx-prose p {
    margin: 0 0 1.15rem;
}

.sx-prose ul,
.sx-prose ol {
    margin: 0 0 1.5rem;
    padding-left: 1.5rem;
}

.sx-prose a {
    color: var(--sx-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sx-prose strong {
    color: var(--sx-navy);
}

@media (max-width: 560px) {
    .sx-page__hero {
        padding: 2.75rem 0 2.5rem;
    }

    .sx-page__content {
        padding: 2.75rem 0 3.5rem;
    }

    .sx-prose h2 {
        margin-top: 2.25rem;
    }
}

/* WEB-001 guided customer portal */
.sx-guided{min-width:0}.sx-guided__chooser h3{margin-top:0}.sx-guided__choices{display:grid;gap:.75rem}.sx-guided__choice{min-height:56px;padding:.9rem 1rem;border:1px solid #c8d3e1;border-radius:.55rem;color:var(--sx-navy);background:#fff;font:inherit;font-weight:700;text-align:left;cursor:pointer}.sx-guided__choice:hover{border-color:var(--sx-blue);box-shadow:0 5px 18px rgba(2,31,90,.08)}.sx-guided__store-link{margin:1rem 0 0}.sx-guided__store-link a{color:var(--sx-blue);font-weight:700}.sx-guided__panels{display:grid;gap:1rem}.sx-guided__form{display:grid;gap:1rem;padding:1.25rem;border:1px solid #d6dfeb;border-radius:.65rem;background:#fff}.sx-guided__form fieldset{min-width:0;padding:0;margin:0;border:0}.sx-guided__form legend{width:100%;padding:0 0 1rem;color:var(--sx-navy);font-size:1.1rem;font-weight:700}.sx-guided__grid{display:grid;gap:1rem}.sx-guided__grid label{display:block;margin-bottom:.35rem;font-weight:600}.sx-guided__grid input,.sx-guided__grid select,.sx-guided__grid textarea{width:100%;padding:.75rem;border:1px solid #aab7c8;border-radius:.3rem;background:#fff;font:inherit}.sx-guided__full{grid-column:1/-1}.sx-guided__inline-group{display:flex!important;flex-wrap:wrap;gap:.75rem 1.25rem;padding:1rem!important;border:1px solid #dce4ef!important;border-radius:.45rem!important}.sx-guided__inline-group legend{padding-bottom:.5rem}.sx-guided__inline-group label{display:inline-flex;gap:.45rem;align-items:center;margin:0}.sx-guided__inline-group input{width:auto}.sx-guided__nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.sx-guided__summary{margin-top:1rem;padding:1rem;border-radius:.45rem;background:var(--sx-bg-soft)}.sx-guided__summary:empty{display:none}.sx-guided__summary h4{margin:0 0 .75rem;color:var(--sx-navy)}.sx-guided__summary dl{display:grid;grid-template-columns:minmax(120px,.6fr) 1fr;gap:.35rem .75rem;margin:0}.sx-guided__summary dt{font-weight:700}.sx-guided__summary dd{margin:0;overflow-wrap:anywhere}.sx-guided__error{padding:1rem;border-left:4px solid #b42318;background:#fff}.sx-guided__honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.sx-guided--enhanced .sx-guided__form[hidden],.sx-guided--enhanced [data-guided-step][hidden]{display:none}.sx-guided--enhanced [data-onsite-details][hidden]{display:none}.sx-guided__form .sx-privacy{align-items:flex-start}.sx-guided__form .sx-privacy input{width:auto;margin-top:.3rem}.sx-guided__form .sx-privacy a{color:var(--sx-blue)}
@media(min-width:640px){.sx-guided__choices{grid-template-columns:repeat(2,1fr)}.sx-guided__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sx-guided__form{padding:1rem}.sx-guided__nav .sx-button{width:100%}.sx-guided__summary dl{grid-template-columns:1fr}.sx-guided__summary dd{margin-bottom:.45rem}}


/* WEB-002 physical location */
.sx-location {
    background: #fff;
}

.sx-location__grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

.sx-location__content {
    min-width: 0;
}

.sx-location__address {
    display: grid;
    gap: .2rem;
    margin: 1.5rem 0 0;
    color: var(--sx-text);
    font-style: normal;
    line-height: 1.6;
}

.sx-location__address strong {
    margin-bottom: .2rem;
    color: var(--sx-navy);
    font-size: 1.1rem;
}

.sx-location__map {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid #d6dfeb;
    border-radius: .75rem;
    background: var(--sx-bg-soft);
    box-shadow: 0 10px 30px rgba(2,31,90,.08);
}

.sx-location__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    border: 0;
    pointer-events: none;
}

.sx-location__map-link {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 1rem;
    text-decoration: none;
}

.sx-location__map-cta {
    padding: .6rem .85rem;
    border-radius: .35rem;
    color: #fff;
    background: var(--sx-blue);
    box-shadow: 0 4px 14px rgba(2,31,90,.2);
    font-size: .85rem;
    font-weight: 700;
}

.sx-location__map-link:focus-visible {
    outline: 3px solid var(--sx-blue);
    outline-offset: -5px;
}

.sx-location__map-fallback {
    display: grid;
    min-height: 360px;
    place-items: center;
    padding: 2rem;
    text-align: center;
}

@media (min-width: 900px) {
    .sx-location__grid {
        grid-template-columns: .8fr 1.2fr;
    }
}

@media (max-width: 560px) {
    .sx-location__map,
    .sx-location__map iframe,
    .sx-location__map-fallback {
        min-height: 300px;
    }

    .sx-location .sx-actions .sx-button {
        width: 100%;
    }
}


/* WEB-002 R5-C1-H1 — header and hero refinement */

/* Keep the operational phone number readable on one line. */
.sx-header__actions .sx-phone {
    white-space: nowrap;
}

/* Desktop header actions: WhatsApp and service CTA are symmetrical. */
@media (min-width: 900px) {
    .sx-header__inner {
        gap: .8rem;
    }

    .sx-nav__list {
        gap: 1.15rem;
    }

    .sx-header__actions {
        flex: 0 0 auto;
        gap: .6rem;
    }

    .sx-header__actions .sx-whatsapp,
    .sx-header__actions .sx-button--small {
        display: inline-flex;
        width: 144px;
        min-width: 144px;
        height: 48px;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        padding: .55rem .75rem;
        text-align: center;
        white-space: nowrap;
    }
}

/*
 * Hero benefits need stable contrast independently of the photograph
 * underneath. The full-width translucent navy band keeps all four
 * statements readable without hiding the image.
 */
.sx-hero__benefits {
    isolation: isolate;
    color: #fff;
}

.sx-hero__benefits::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 0;
    width: 100vw;
    transform: translateX(-50%);
    background: rgba(2, 31, 90, .76);
    content: "";
}

.sx-hero__benefits span {
    position: relative;
    z-index: 1;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}


/* WEB-004 service landing pages */

.sx-service-page {
    background: #fff;
}

.sx-service-page__hero {
    padding: clamp(3rem, 6vw, 5.5rem) 0;
    background: var(--sx-bg-soft);
    border-bottom: 1px solid #dce4ef;
}

.sx-service-page__hero-grid,
.sx-service-page__content-grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

.sx-service-page__hero-copy {
    min-width: 0;
}

.sx-service-page__hero h1 {
    max-width: 820px;
    margin: .5rem 0 1rem;
    color: var(--sx-navy);
    font-size: clamp(2.35rem, 5vw, 4.5rem);
    line-height: 1.08;
}

.sx-service-page__hero .sx-service-page__title--long {
    font-size: clamp(2.35rem, 4.15vw, 3.75rem);
}

.sx-service-page__lead {
    max-width: 720px;
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.7;
}

.sx-service-page__hero-image {
    overflow: hidden;
    aspect-ratio: 3 / 2;
    border-radius: .8rem;
    background: #d8e3ef;
    box-shadow: 0 12px 32px rgba(2,31,90,.10);
}

.sx-service-page__hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sx-service-page__help-list {
    display: grid;
    gap: 1rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.sx-service-page__help-list li {
    padding: 1rem 1rem 1rem 3rem;
    border: 1px solid #dce4ef;
    border-radius: .55rem;
    background: #fff;
    position: relative;
}

.sx-service-page__help-list li::before {
    position: absolute;
    top: 1rem;
    left: 1rem;
    color: var(--sx-blue);
    font-weight: 700;
    content: "✓";
}

.sx-service-page__details {
    background: var(--sx-bg-soft);
}

.sx-service-page__prose {
    line-height: 1.75;
}

.sx-service-page__prose p:first-child {
    margin-top: 0;
}

.sx-service-page__prose p:last-child {
    margin-bottom: 0;
}

.sx-service-page__coverage {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background: #fff;
}

.sx-service-page__related {
    background: var(--sx-bg-soft);
}

.sx-service-page__related-grid {
    display: grid;
    gap: 1rem;
}

.sx-service-page__related-card {
    padding: 1.4rem;
    border: 1px solid #d6dfeb;
    border-radius: .65rem;
    background: #fff;
}

.sx-service-page__related-card h3 {
    margin: .8rem 0 .5rem;
}

.sx-service-page__related-card p {
    margin: 0 0 1rem;
}

.sx-service-page__related-card a,
.sx-service-page__back a {
    color: var(--sx-blue);
    font-weight: 700;
}

.sx-service-page__back {
    margin: 2rem 0 0;
}

.sx-service-page__cta {
    padding: 4rem 0;
    color: #fff;
    background: var(--sx-navy);
}

.sx-service-page__cta h2 {
    margin-bottom: .75rem;
    color: #fff;
}

.sx-service-page__cta .sx-eyebrow {
    color: #9cc8ff;
}

.sx-service-page__cta-inner {
    display: grid;
    gap: 2rem;
    align-items: center;
}

.sx-service-page__cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

@media (min-width: 760px) {
    .sx-service-page__related-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 900px) {
    .sx-service-page__hero-grid {
        grid-template-columns: 1.05fr .95fr;
    }

    .sx-service-page__content-grid {
        grid-template-columns: .8fr 1.2fr;
    }

    .sx-service-page__cta-inner {
        grid-template-columns: 1.15fr .85fr;
    }

    .sx-service-page__cta-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 560px) {
    .sx-service-page__hero {
        padding: 2.75rem 0 3rem;
    }

    .sx-service-page__hero h1 {
        font-size: clamp(2.2rem, 11vw, 3.25rem);
    }

    .sx-service-page__hero .sx-service-page__title--long {
        font-size: clamp(2rem, 9.5vw, 2.85rem);
    }

    .sx-service-page__coverage {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .sx-service-page__hero .sx-actions .sx-button,
    .sx-service-page__cta-actions .sx-button {
        width: 100%;
    }

    .sx-service-page__cta {
        padding: 3rem 0;
    }
}


/* WEB-005 WooCommerce / Recambios */

.woocommerce-page #primary,
.woocommerce-page .site-main {
    width: min(100% - 2rem, 1200px);
    margin-right: auto;
    margin-left: auto;
}

.woocommerce-page #primary {
    padding-top: 2.5rem;
    padding-bottom: 4.5rem;
}

.woocommerce .woocommerce-breadcrumb {
    margin-bottom: 1.25rem;
    color: #59697d;
    font-size: .86rem;
}

.woocommerce-products-header__title.page-title,
.woocommerce div.product .product_title {
    color: var(--sx-navy);
}

.woocommerce-products-header__title.page-title {
    margin: 0 0 1.5rem;
    font-size: clamp(2.4rem, 5vw, 4.25rem);
    line-height: 1.08;
}

.sx-shop-tools {
    display: grid;
    gap: 1.5rem;
    padding: 1.5rem;
    margin: 0 0 2rem;
    border: 1px solid #dce4ef;
    border-radius: .75rem;
    background: var(--sx-bg-soft);
}

.sx-shop-tools__intro {
    max-width: 760px;
}

.sx-shop-tools__intro h2 {
    margin-bottom: .75rem;
}

.sx-shop-tools__intro p:last-child {
    margin-bottom: 0;
}

.sx-shop-search {
    display: grid;
    gap: .5rem;
}

.sx-shop-search > label {
    color: var(--sx-navy);
    font-weight: 700;
}

.sx-shop-search__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
}

.sx-shop-search input[type="search"] {
    width: 100%;
    min-height: 48px;
    padding: .7rem .85rem;
    border: 1px solid #aab7c8;
    border-radius: .25rem;
    background: #fff;
    font: inherit;
}

.sx-shop-categories {
    padding-top: 1rem;
    border-top: 1px solid #cdd7e4;
}

.sx-shop-categories__label {
    margin: 0 0 .65rem;
    color: var(--sx-navy);
    font-weight: 700;
}

.sx-shop-categories__links {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.sx-shop-categories__links a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: .45rem .75rem;
    border: 1px solid #b9c7d8;
    border-radius: 999px;
    color: var(--sx-navy);
    background: #fff;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-ordering select {
    min-height: 42px;
    padding: .45rem .65rem;
    border: 1px solid #aab7c8;
    border-radius: .25rem;
    background: #fff;
    font: inherit;
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.25rem;
    clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none;
    width: auto;
    padding: 1rem;
    margin: 0;
    border: 1px solid #dce4ef;
    border-radius: .65rem;
    background: #fff;
}

.woocommerce ul.products li.product a img {
    aspect-ratio: 4 / 3;
    margin-bottom: 1rem;
    border-radius: .45rem;
    background: var(--sx-bg-soft);
    object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--sx-navy);
    font-size: 1.05rem;
    line-height: 1.3;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--sx-navy);
    font-weight: 700;
}

.sx-product-status {
    margin: .35rem 0 .8rem;
    font-size: .86rem;
    font-weight: 700;
}

.sx-product-status.is-in {
    color: #176b3a;
}

.sx-product-status.is-out {
    color: #8b2f2f;
}

.sx-product-status.is-query {
    color: #59697d;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    min-height: 44px;
    padding: .65rem 1rem;
    border: 2px solid var(--sx-blue);
    border-radius: .25rem;
    color: #fff;
    background: var(--sx-blue);
    font-weight: 700;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    color: #fff;
    background: var(--sx-navy);
}

.sx-parts-help {
    display: grid;
    gap: 1.5rem;
    align-items: center;
    padding: 1.5rem;
    margin: 2.5rem 0 0;
    border-radius: .75rem;
    color: #fff;
    background: var(--sx-navy);
}

.sx-parts-help h2 {
    margin-bottom: .65rem;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.sx-parts-help .sx-eyebrow {
    color: #9cc8ff;
}

.sx-parts-help p:last-child {
    margin-bottom: 0;
}

.sx-parts-help .sx-button {
    justify-self: start;
}

.single-product div.product {
    padding-top: 1rem;
}

.single-product div.product .summary {
    line-height: 1.7;
}

.single-product div.product .product_meta {
    padding-top: 1rem;
    margin-top: 1.25rem;
    border-top: 1px solid #dce4ef;
}

.single-product div.product .woocommerce-product-gallery img {
    border-radius: .65rem;
    background: var(--sx-bg-soft);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: .35rem;
}

@media (min-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sx-parts-help {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .sx-parts-help .sx-button {
        justify-self: end;
    }
}

@media (min-width: 900px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sx-shop-tools {
        padding: 2rem;
    }
}

@media (max-width: 560px) {
    .sx-shop-search__row {
        grid-template-columns: 1fr;
    }

    .sx-shop-search__row .sx-button,
    .sx-parts-help .sx-button {
        width: 100%;
    }

    .woocommerce-page #primary {
        padding-top: 1.75rem;
        padding-bottom: 3rem;
    }
}


/* WEB-005 R8-C2 product refinement */

.single-product div.product .product_title {
    max-width: 680px;
    margin-bottom: 1.25rem;
    font-size: clamp(2.25rem, 4vw, 3.55rem);
    line-height: 1.08;
}

.single-product div.product .woocommerce-product-gallery {
    overflow: hidden;
    border-radius: .65rem;
    background: var(--sx-bg-soft);
}

.single-product div.product .woocommerce-product-gallery img {
    display: block;
    width: 100%;
    background: var(--sx-bg-soft);
    object-fit: contain;
}

.sx-product-meta {
    display: grid;
    gap: .4rem;
}

.sx-product-meta > span {
    display: block;
}

.woocommerce ul.products li.product .button {
    margin-top: .5rem;
}

@media (max-width: 639px) {
    .single-product div.product .product_title {
        font-size: clamp(2rem, 10vw, 2.8rem);
    }
}
