/* YES: additive layout and accessibility improvements. Original template retained. */
:root { --yes-ink: #16394e; --yes-blue: #08759a; --yes-border: #d9e6ec; }
html { scroll-padding-top: 112px; }
body.site :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #ef9b00 !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 2px #fff;
}
.yes-skip-link { position: fixed; top: 8px; left: 16px; z-index: 99999; padding: 12px 20px; background: #fff; color: #16394e; border-radius: 8px; transform: translateY(-160%); }
.yes-skip-link:focus { transform: translateY(0); }
/* Content must not depend on scroll-animation completion to become readable. */
.sppb-wow { visibility: visible !important; animation: none !important; }
#sp-header { background: #fff !important; box-shadow: 0 2px 16px #16394e0d; }
#sp-header .sp-megamenu-parent > li > a, #sp-header #offcanvas-toggler { color: var(--yes-ink) !important; }
#sp-header .sp-megamenu-parent > li.active > a { color: #08759a !important; }
#sp-header .burger-icon > span { background-color: var(--yes-ink) !important; }
#sp-header .offcanvas-toggler-secondary { min-width: 44px; justify-content: center; }
/* The adhesion form already has its own h1; omit the empty legacy "Contact 4" banner. */
body.itemid-254 #sp-title { display: none; }
#sp-footer1 a { color: #075c82; }
#sppb-addon-1610680030942 .title-clip { font-size: clamp(36px, 4.3vw, 66px) !important; line-height: 1.07 !important; letter-spacing: -1.5px !important; }
#sppb-addon-1610680030942 .intro-absolute { font-size: clamp(16px, 1.55vw, 23px) !important; line-height: 1.45 !important; }
#sppb-addon-1610680030942 .sp-item.active [data-layer="true"] { visibility: visible !important; opacity: 1 !important; transform: none !important; }
.yes-hero-service-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #b8e8fa; border-radius: 8px; font-size: 12px !important; line-height: 1.5; letter-spacing: 1px; color: #fff; text-decoration: none !important; }
#sp-slider-item-1610680030942-num-0-key .sp-background { background-image: url('/images/yes-hero-fibra-maputo.webp') !important; }
#sp-slider-item-1610680030942-num-1-key .sp-background { background-image: url('/images/yes-hero-empresas-mpls.webp') !important; }
.yes-competitive-home { width: min(100% - 48px, 1440px); margin-inline: auto; }
.yes-solution-card { padding: 28px !important; }
.yes-solution-card p { line-height: 1.65; }
.yes-solution-card:not(.yes-solution-card--transit) p { color: #405b6a; }
/* Pricing: generous useful width, compact vertical rhythm, all terms retained. */
body.itemid-101 #section-id-1610761074684 { padding: 56px 0 !important; }
body.itemid-101 #section-id-1610761074684 > .sppb-row-container { width: calc(100% - 48px); max-width: 1440px; }
#section-id-1763105844281 { padding: 0 !important; margin-top: 24px !important; }
#price { padding-top: 0 !important; padding-bottom: 16px !important; }
.pricing-plan { padding: 24px !important; border: 1px solid var(--yes-border); border-radius: 18px !important; box-shadow: 0 8px 24px #16394e0a; margin: 0 !important; color: #405b6a; }
.pricing-plan .plan-name { margin: 0 0 20px !important; padding: 12px 8px !important; border-radius: 8px; background: #08759a !important; }
.pricing-plan .plan-name h3 { margin: 0 !important; font-size: 22px !important; line-height: 1.3 !important; letter-spacing: 0 !important; color: #fff !important; }
.pricing-plan .plan-desc { display: flex; align-items: center; justify-content: space-between; min-height: 104px; margin: 0 0 16px !important; padding: 0 !important; }
.pricing-plan .plan-content { width: auto !important; flex: 1; }
.pricing-plan .plan-content h4 { font-size: 27px !important; line-height: 1.1 !important; font-weight: 600 !important; margin: 0 !important; color: #075c82 !important; }
.pricing-plan .plan-content p { font-size: 11px !important; line-height: 1.4 !important; margin: 2px 0 8px !important; letter-spacing: 1px !important; }
.pricing-plan .price-icon { width: 76px !important; flex: 0 0 76px; margin: 0 !important; position: static !important; }
.pricing-plan .price-icon img { width: 76px !important; height: 76px !important; }
.pricing-plan .list-bordered { margin: 0 !important; padding: 0 !important; }
.pricing-plan .plan-features { margin: 0 !important; }
.pricing-plan .list-bordered li { padding: 11px 0 !important; font-size: 14px !important; line-height: 1.55 !important; letter-spacing: 0 !important; color: #405b6a; }
.pricing-plan .yes-install-note { margin: 14px 0 !important; color: #536b79 !important; font-size: 12px !important; line-height: 1.5 !important; }
.pricing-plan .price-wrap { justify-content: center; align-items: baseline; gap: 5px; margin: 20px 0 16px !important; padding: 0 !important; white-space: nowrap; }
.pricing-plan .plan-price { font-size: 35px !important; line-height: 1.2 !important; font-weight: 700; color: #075c82 !important; }
.pricing-plan .plan-sign, .pricing-plan .plan-decimals { font-size: 11px !important; letter-spacing: 0 !important; margin: 0 !important; }
.pricing-plan .plan-button { margin: 0 !important; position: static !important; bottom: auto !important; }
.pricing-plan .plan-button a { display: flex; justify-content: center; align-items: center; height: auto !important; min-height: 46px; width: 100% !important; padding: 12px 16px !important; border: 0 !important; border-radius: 8px; color: #fff !important; background: #08759a !important; font-size: 14px !important; line-height: 22px !important; letter-spacing: .5px !important; }
.pricing-plan .plan-button a:hover { background: #07516d !important; }
@media (min-width: 992px) {
    #section-id-1763105844281 > .sppb-container-inner > .sppb-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 0; }
    #section-id-1763105844281 > .sppb-container-inner > .sppb-row > div { width: 100%; max-width: none; padding: 0; }
    .pricing-plan { min-height: 590px; }
    body.itemid-101 #about > .sppb-row-container > .sppb-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; }
    body.itemid-101 #about #sppb-addon-1610761074769 img { height: 360px !important; max-height: 360px !important; }
    body.itemid-101 #features #sppb-addon-1610933608156 img { height: 320px !important; max-height: 320px !important; }
}
@media (max-width: 991px) and (min-width: 600px) {
    #section-id-1763105844281 > .sppb-container-inner > .sppb-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 0; }
    #section-id-1763105844281 > .sppb-container-inner > .sppb-row > div { width: 100%; max-width: none; padding: 0; }
}
@media (max-width: 767px) {
    body.site { padding-bottom: calc(120px + env(safe-area-inset-bottom)) !important; }
    .yes-competitive-home { width: calc(100% - 32px); }
    .yes-conversion-bar { left: 8px !important; right: 8px !important; bottom: calc(8px + env(safe-area-inset-bottom)) !important; width: auto !important; display: grid !important; grid-template-columns: 1fr 1fr; gap: 6px !important; padding: 7px !important; border-radius: 12px !important; }
    .yes-conversion-bar a { min-height: 42px; justify-content: center; padding: 9px 6px !important; font-size: 12px !important; }
    #yes-adhesion-root input, #yes-adhesion-root select, #yes-adhesion-root textarea, .yes-coverage-form input, .yes-coverage-form select { font-size: 16px !important; }
    #sppb-addon-1610680030942 .title-clip { font-size: clamp(30px,8vw,44px) !important; letter-spacing: -.6px !important; }
    #sppb-addon-1610680030942 .intro-absolute { position: static !important; width: auto !important; max-width: 100% !important; margin: 16px 0 0 !important; padding: 12px !important; }
    #sppb-addon-1610680030942 .sppb-sp-slider-text { margin: 16px 0 0 !important; }
    #sp-slider-item-1610680030942-num-0-key .sp-background { background-image: url('/images/yes-hero-fibra-maputo-mobile.webp') !important; }
    .pricing-plan { margin-bottom: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    .sp-slider *, .sppb-wow, .yes-solution-card { animation: none !important; transition: none !important; }
}
