.elementor-15127 .elementor-element.elementor-element-0c6cd1c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15127 .elementor-element.elementor-element-0c6cd1c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-15127 .elementor-element.elementor-element-0c6cd1c{--min-height:0px;}}@media(min-width:768px){.elementor-15127 .elementor-element.elementor-element-0c6cd1c{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-a13dce9 *//* =========================================================
   PUNTO LEGAL
   HEADER + MEGA MENU
   V3.2 — LOGO NUEVO + POSICIÓN AJUSTADA
========================================================= */


/* =========================================================
   01. VARIABLES
========================================================= */

.pl-site-header {
    --plh-navy: #071b2e;
    --plh-navy-dark: #041522;
    --plh-green: #75a93b;
    --plh-green-dark: #679533;
    --plh-green-soft: #f2f7ec;
    --plh-green-light: #b9d596;
    --plh-text: #0d1826;
    --plh-muted: #68737d;
    --plh-border: #e3e8df;
    --plh-soft: #f7f9f5;
    --plh-white: #ffffff;

    position: relative !important;
    z-index: 99999;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    overflow: visible !important;
    border: 0 !important;

    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   02. RESET
========================================================= */

.pl-site-header *,
.pl-site-header *::before,
.pl-site-header *::after {
    box-sizing: border-box;
}

.pl-site-header a {
    text-decoration: none;
}

.pl-site-header button,
.pl-site-header input,
.pl-site-header select {
    font: inherit;
}

.pl-site-header button {
    margin: 0;
}

.pl-site-header svg {
    display: block;
}


/* =========================================================
   03. ELEMENTOR FULL WIDTH
========================================================= */

.elementor-widget-html:has(.pl-site-header),
.elementor-widget-shortcode:has(.pl-site-header) {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    border: 0 !important;
}

.elementor-widget-html:has(.pl-site-header) > .elementor-widget-container,
.elementor-widget-shortcode:has(.pl-site-header) > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    border: 0 !important;
}


/* =========================================================
   04. CONTENEDOR GENERAL
========================================================= */

.pl-header-container {
    width: min(calc(100% - 220px), 1680px) !important;
    max-width: 1680px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================================
   05. TOP BAR
========================================================= */

.pl-header-top {
    position: relative;

    width: 100vw !important;
    max-width: 100vw !important;

    min-height: 52px;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    color: #ffffff;
    background: var(--plh-navy);

    overflow: visible !important;
    border: 0 !important;
}

.pl-header-top__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 52px;

    gap: 30px;

    overflow: visible !important;
}


/* =========================================================
   06. TOP BAR CONTACTO
========================================================= */

.pl-header-top__contact {
    display: flex !important;
    align-items: center !important;

    flex: 0 0 auto;

    gap: 18px;

    min-width: 0;
}

.pl-header-top__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 9px;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    background: transparent !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    white-space: nowrap;

    opacity: 1 !important;
    visibility: visible !important;

    transition: color .2s ease;
}

.pl-header-top__link:hover {
    color: var(--plh-green-light) !important;
}

.pl-header-top__link svg {
    display: block !important;

    width: 19px !important;
    height: 19px !important;

    min-width: 19px !important;
    min-height: 19px !important;

    flex: 0 0 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    fill: none !important;
    stroke: currentColor !important;

    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.pl-header-top__divider {
    display: block;

    width: 1px;
    height: 25px;

    flex: 0 0 1px;

    background: rgba(255,255,255,.30);
}


/* =========================================================
   07. TOP BAR DERECHA
========================================================= */

.pl-header-top__right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    flex: 1 1 auto !important;

    gap: 9px !important;

    min-width: 150px;

    margin-left: auto !important;

    overflow: visible !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* =========================================================
   08. TRANSLATEPRESS
========================================================= */

.pl-header-language {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    min-width: 75px;

    color: #ffffff;

    opacity: 1 !important;
    visibility: visible !important;
}

.pl-header-language .trp-language-switcher {
    position: relative;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.pl-header-language .trp-language-switcher > div {
    width: auto !important;
    min-width: 75px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    background: transparent !important;
    border: 0 !important;
}

.pl-header-language .trp-language-switcher a {
    display: flex !important;
    align-items: center !important;

    gap: 6px;

    min-width: 75px !important;

    padding: 6px 8px !important;

    color: #ffffff !important;
    background: transparent !important;

    border: 0 !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    white-space: nowrap !important;
}

.pl-header-language .trp-language-switcher img {
    display: inline-block !important;

    width: 19px !important;
    max-width: 19px !important;
    height: auto !important;

    margin: 0 4px 0 0 !important;
}

.pl-header-language .trp-language-switcher:hover > div {
    background: var(--plh-navy) !important;

    box-shadow: 0 15px 35px rgba(0,0,0,.15);
}

.pl-header-language .trp-language-switcher:hover a:hover {
    color: var(--plh-green-light) !important;

    background: rgba(255,255,255,.06) !important;
}


/* =========================================================
   09. EMAIL + FACEBOOK
========================================================= */

.pl-header-top__right .pl-header-social {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;

    min-width: 36px !important;
    min-height: 36px !important;

    max-width: 36px !important;
    max-height: 36px !important;

    flex: 0 0 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    background: transparent !important;

    border: 1px solid rgba(255,255,255,.30) !important;

    border-radius: 50% !important;

    opacity: 1 !important;
    visibility: visible !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.pl-header-top__right .pl-header-email svg {
    width: 18px !important;
    height: 18px !important;

    fill: none !important;
    stroke: #ffffff !important;

    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.pl-header-top__right .pl-header-facebook svg {
    width: 17px !important;
    height: 17px !important;

    fill: #ffffff !important;
    stroke: none !important;
}

.pl-header-top__right .pl-header-email:hover,
.pl-header-top__right .pl-header-facebook:hover {
    background: var(--plh-green) !important;
    border-color: var(--plh-green) !important;

    transform: translateY(-2px);
}


/* =========================================================
   10. HEADER PRINCIPAL
========================================================= */

.pl-header-main {
    position: relative;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 0 !important;

    overflow: visible !important;

    background: #ffffff;

    border: 0 !important;
    border-bottom: 0 !important;

    box-shadow: none !important;
}

.pl-header-main::before,
.pl-header-main::after {
    display: none !important;

    content: none !important;
}


/* =========================================================
   11. HEADER INNER
========================================================= */

.pl-header-main__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    min-height: 105px !important;
    height: 105px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0;

    border: 0 !important;
}


/* =========================================================
   12. LOGO
========================================================= */

.pl-header-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 270px !important;
    flex: 0 0 270px !important;

    height: 105px;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

.pl-header-logo img {
    display: block !important;

    width: 270px !important;
    max-width: 270px !important;

    height: auto !important;
    max-height: 96px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    transform: none !important;
}


/* =========================================================
   13. NAVEGACIÓN DESKTOP
========================================================= */

.pl-header-nav {
    display: flex !important;
    align-items: stretch !important;

    align-self: stretch;

    flex: 0 0 auto;

    margin-left: auto !important;
    margin-right: 28px !important;
}


/* =========================================================
   14. LINKS NAV
========================================================= */

.pl-header-nav__link,
.pl-mega__trigger {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 105px !important;
    height: 105px !important;

    padding: 0 12px;

    color: var(--plh-text) !important;

    background: transparent;

    border: 0;

    cursor: pointer;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: .015em !important;

    text-transform: uppercase !important;

    white-space: nowrap;

    transition: color .2s ease;
}

.pl-header-nav__link::after,
.pl-mega__trigger::after {
    content: "";

    position: absolute;

    right: 12px;
    bottom: 0;
    left: 12px;

    height: 3px;

    background: var(--plh-green);

    transform: scaleX(0);
    transform-origin: center;

    transition: transform .22s ease;
}

.pl-header-nav__link:hover,
.pl-mega__trigger:hover {
    color: var(--plh-green) !important;
}

.pl-header-nav__link:hover::after,
.pl-mega__trigger:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   15. MEGA TRIGGER
========================================================= */

.pl-mega {
    position: static;

    display: flex;
    align-items: stretch;
}

.pl-mega__trigger {
    gap: 7px;
}

.pl-mega__trigger svg {
    width: 17px !important;
    height: 17px !important;

    flex: 0 0 17px;

    fill: none !important;
    stroke: currentColor !important;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform .2s ease;
}

.pl-mega:hover .pl-mega__trigger,
.pl-mega.is-open .pl-mega__trigger {
    color: var(--plh-green) !important;
}

.pl-mega:hover .pl-mega__trigger::after,
.pl-mega.is-open .pl-mega__trigger::after {
    transform: scaleX(1);
}

.pl-mega:hover .pl-mega__trigger svg,
.pl-mega.is-open .pl-mega__trigger svg {
    transform: rotate(180deg);
}


/* =========================================================
   16. MEGA PANEL
========================================================= */

.pl-mega__panel {
    position: absolute;

    z-index: 1000;

    top: 100%;
    left: 50%;

    width: min(calc(100vw - 220px), 1680px);

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transform: translate(-50%, 10px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.pl-mega:hover .pl-mega__panel,
.pl-mega.is-open .pl-mega__panel {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;

    transform: translate(-50%, 0);
}

.pl-mega__inner {
    overflow: hidden;

    background: #ffffff;

    border-top: 4px solid var(--plh-green);
    border-right: 1px solid var(--plh-border);
    border-bottom: 1px solid var(--plh-border);
    border-left: 1px solid var(--plh-border);

    box-shadow: 0 30px 70px rgba(7,27,46,.18);
}


/* =========================================================
   17. MEGA HEADER
========================================================= */

.pl-mega__header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 25px 32px;

    background:
        linear-gradient(
            110deg,
            var(--plh-navy-dark),
            var(--plh-navy)
        );
}

.pl-mega__eyebrow {
    display: block;

    margin-bottom: 7px;

    color: var(--plh-green-light);

    font-size: 11px !important;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .18em;

    text-transform: uppercase;
}

.pl-mega__header strong {
    display: block;

    color: #ffffff;

    font-size: 27px !important;
    font-weight: 700;
    line-height: 1.15;

    letter-spacing: -.02em;
}

.pl-mega__all-top {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 700;

    letter-spacing: .04em;

    text-transform: uppercase;

    transition: color .2s ease;
}

.pl-mega__all-top:hover {
    color: var(--plh-green-light) !important;
}

.pl-mega__all-top svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: var(--plh-green);

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   18. MEGA GRID
========================================================= */

.pl-mega__grid {
    display: grid;

    grid-template-columns:
        1.08fr
        1.08fr
        1.08fr
        .92fr;

    background: #ffffff;
}


/* =========================================================
   19. MEGA COLUMNAS
========================================================= */

.pl-mega__column {
    position: relative;

    min-width: 0;

    padding: 32px 27px 34px;

    border-right: 1px solid var(--plh-border);
}

.pl-mega__column:last-child {
    border-right: 0;
}

.pl-mega__column::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;
    left: 0;

    height: 3px;

    background: var(--plh-green);

    opacity: 0;

    transform: scaleX(.35);
    transform-origin: left;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.pl-mega__column:hover::before {
    opacity: 1;

    transform: scaleX(1);
}


/* =========================================================
   20. MEGA TÍTULOS
========================================================= */

.pl-mega__title {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    min-height: 72px;

    margin-bottom: 20px;
}

.pl-mega__title-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    color: var(--plh-green);

    background: var(--plh-green-soft);

    border: 1px solid rgba(117,169,59,.25);

    border-radius: 3px;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.pl-mega__column:hover .pl-mega__title-icon {
    color: #ffffff;

    background: var(--plh-green);

    transform: translateY(-2px);
}

.pl-mega__title-icon svg {
    width: 24px;
    height: 24px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.pl-mega__category {
    display: block;

    margin: 2px 0 6px;

    color: var(--plh-green) !important;

    font-size: 11px !important;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: .13em;

    text-transform: uppercase;
}

.pl-mega__title h3 {
    margin: 0;

    color: var(--plh-navy);

    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.25;
}


/* =========================================================
   21. MEGA LINKS
========================================================= */

.pl-mega__links {
    display: flex;
    flex-direction: column;

    gap: 0;
}

.pl-mega__links a {
    position: relative;

    display: block;

    padding: 11px 20px 11px 15px;

    color: var(--plh-text) !important;

    border-bottom: 1px solid rgba(227,232,223,.72);

    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.42;

    transition:
        color .2s ease,
        padding-left .2s ease,
        background .2s ease;
}

.pl-mega__links a:last-child {
    border-bottom: 0;
}

.pl-mega__links a::before {
    content: "";

    position: absolute;

    top: 50%;
    left: 1px;

    width: 5px;
    height: 5px;

    background: var(--plh-green);

    border-radius: 50%;

    transform: translateY(-50%);
}

.pl-mega__links a::after {
    content: "→";

    position: absolute;

    top: 50%;
    right: 1px;

    color: var(--plh-green);

    font-size: 15px;

    opacity: 0;

    transform: translate(-5px,-50%);

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.pl-mega__links a:hover {
    padding-left: 20px;

    color: var(--plh-green-dark) !important;

    background:
        linear-gradient(
            90deg,
            rgba(117,169,59,.07),
            rgba(117,169,59,0)
        );
}

.pl-mega__links a:hover::after {
    opacity: 1;

    transform: translate(0,-50%);
}


/* =========================================================
   22. MINI FEATURE
========================================================= */

.pl-mega__mini-feature {
    position: relative;

    margin-top: 24px;

    padding: 21px;

    overflow: hidden;

    background: var(--plh-navy);

    border-top: 3px solid var(--plh-green);
}

.pl-mega__mini-feature::after {
    content: "";

    position: absolute;

    right: -38px;
    bottom: -52px;

    width: 115px;
    height: 115px;

    border: 1px solid rgba(185,213,150,.18);

    transform: rotate(45deg);
}

.pl-mega__mini-feature > span {
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: 7px;

    color: var(--plh-green-light);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;
}

.pl-mega__mini-feature strong {
    position: relative;
    z-index: 2;

    display: block;

    color: #ffffff;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.pl-mega__mini-feature a {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-top: 14px;

    color: var(--plh-green-light) !important;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
}


/* =========================================================
   23. MEGA FOOTER
========================================================= */

.pl-mega__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 20px 32px;

    background: var(--plh-soft);

    border-top: 1px solid var(--plh-border);
}

.pl-mega__footer-text span {
    display: block;

    margin-bottom: 4px;

    color: var(--plh-muted);

    font-size: 13px;
    line-height: 1.3;
}

.pl-mega__footer-text strong {
    display: block;

    color: var(--plh-navy);

    font-size: 15px;
    line-height: 1.3;
}

.pl-mega__footer-actions {
    display: flex;
    align-items: center;

    gap: 20px;
}

.pl-mega__cases {
    color: var(--plh-navy) !important;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
}

.pl-mega__cases:hover {
    color: var(--plh-green-dark) !important;
}

.pl-mega__footer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 47px;

    padding: 12px 22px;

    color: #ffffff !important;

    background: var(--plh-green);

    border-radius: 24px;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;

    transition:
        background .2s ease,
        transform .2s ease;
}

.pl-mega__footer-button:hover {
    background: var(--plh-green-dark);

    transform: translateY(-1px);
}

.pl-mega__footer-button svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;
}


/* =========================================================
   24. HEADER ACTIONS
========================================================= */

.pl-header-actions {
    display: flex;
    align-items: center;

    flex: 0 0 auto;

    gap: 14px;

    margin-left: 0 !important;
}


/* =========================================================
   25. TELÉFONO
========================================================= */

.pl-header-phone {
    display: flex;
    align-items: center;

    gap: 10px;

    color: var(--plh-text) !important;
}

.pl-header-phone__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    color: #ffffff;

    background: var(--plh-green);

    border-radius: 50%;

    transition:
        background .2s ease,
        transform .2s ease;
}

.pl-header-phone:hover .pl-header-phone__icon {
    background: var(--plh-green-dark);

    transform: translateY(-2px);
}

.pl-header-phone__icon svg {
    width: 23px !important;
    height: 23px !important;

    fill: none !important;

    stroke: currentColor !important;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.pl-header-phone__text {
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.pl-header-phone__text small {
    color: var(--plh-muted);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;
}

.pl-header-phone__text strong {
    color: var(--plh-text);

    font-size: 14px;
    font-weight: 700;

    white-space: nowrap;
}


/* =========================================================
   26. ASISTENCIA LEGAL
========================================================= */

.pl-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 175px;
    min-height: 52px;

    padding: 14px 20px;

    color: #ffffff !important;

    background: var(--plh-green);

    border-radius: 28px;

    font-size: 12px !important;
    font-weight: 700;

    letter-spacing: .025em;

    text-align: center;

    text-transform: uppercase;

    white-space: nowrap;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.pl-header-cta:hover {
    background: var(--plh-green-dark);

    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(117,169,59,.23);
}


/* =========================================================
   27. MOBILE ACTIONS
========================================================= */

.pl-header-mobile-actions {
    display: none;

    align-items: center;

    gap: 10px;

    margin-left: auto;
}

.pl-header-mobile-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    color: #ffffff !important;

    background: var(--plh-green);

    border-radius: 50%;
}

.pl-header-mobile-whatsapp svg {
    width: 23px !important;
    height: 23px !important;

    fill: currentColor !important;
}


/* =========================================================
   28. HAMBURGER
========================================================= */

.pl-header-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    width: 48px;
    height: 48px;

    padding: 0;

    cursor: pointer;

    background: var(--plh-navy);

    border: 0;

    border-radius: 3px;
}

.pl-header-toggle span {
    display: block;

    width: 22px;
    height: 2px;

    background: #ffffff;

    transition:
        transform .25s ease,
        opacity .25s ease;
}

.pl-mobile-open .pl-header-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.pl-mobile-open .pl-header-toggle span:nth-child(2) {
    opacity: 0;
}

.pl-mobile-open .pl-header-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =========================================================
   29. MOBILE MENU
========================================================= */

.pl-mobile-menu {
    display: none;

    position: absolute;

    z-index: 9999;

    top: 100%;
    left: 0;

    width: 100%;

    max-height: calc(100vh - 90px);

    overflow-x: hidden;
    overflow-y: auto;

    opacity: 0;
    visibility: hidden;

    background: #ffffff;

    border: 0 !important;

    box-shadow: 0 22px 50px rgba(7,27,46,.16);

    transform: translateY(-8px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.pl-mobile-open .pl-mobile-menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.pl-mobile-menu__inner {
    width: min(calc(100% - 40px), 650px);

    margin-inline: auto;

    padding: 16px 0 28px;
}


/* =========================================================
   30. MOBILE LINKS
========================================================= */

.pl-mobile-menu__inner > a,
.pl-mobile-services-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    min-height: 58px;

    padding: 12px 3px;

    color: var(--plh-text) !important;

    background: transparent;

    border: 0;
    border-bottom: 1px solid var(--plh-border);

    cursor: pointer;

    text-align: left;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    letter-spacing: .025em;

    text-transform: uppercase;
}

.pl-mobile-menu__inner > a:hover,
.pl-mobile-services-trigger:hover {
    color: var(--plh-green) !important;
}

.pl-mobile-services-trigger svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    transition: transform .2s ease;
}

.pl-mobile-services-trigger.is-open svg {
    transform: rotate(180deg);
}


/* =========================================================
   31. MOBILE SERVICES
========================================================= */

.pl-mobile-services {
    display: none;

    padding: 7px 0 15px;

    background: #f8faf6;

    border-bottom: 1px solid var(--plh-border);
}

.pl-mobile-services.is-open {
    display: block;
}


/* =========================================================
   32. MOBILE CATEGORY
========================================================= */

.pl-mobile-category {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding: 17px 13px;

    color: var(--plh-navy);

    background: transparent;

    border: 0;
    border-bottom: 1px solid #e5e9e1;

    cursor: pointer;

    text-align: left;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;

    letter-spacing: .05em;

    text-transform: uppercase;
}

.pl-mobile-category svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: var(--plh-green);

    stroke-width: 2;

    transition: transform .2s ease;
}

.pl-mobile-category.is-open svg {
    transform: rotate(180deg);
}


/* =========================================================
   33. MOBILE CATEGORY CONTENT
========================================================= */

.pl-mobile-category__content {
    display: none;

    padding: 8px 13px 14px 25px;
}

.pl-mobile-category__content.is-open {
    display: block;
}

.pl-mobile-category__content a {
    position: relative;

    display: block;

    padding: 11px 8px 11px 15px;

    color: var(--plh-text) !important;

    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.45;

    text-transform: none;
}

.pl-mobile-category__content a::before {
    content: "";

    position: absolute;

    top: 19px;
    left: 0;

    width: 5px;
    height: 5px;

    background: var(--plh-green);

    border-radius: 50%;
}

.pl-mobile-category__content a:hover {
    color: var(--plh-green-dark) !important;
}


/* =========================================================
   34. MOBILE VER TODOS
========================================================= */

.pl-mobile-services-all {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    margin: 13px 12px 4px !important;

    min-height: auto !important;

    padding: 15px 16px !important;

    color: #ffffff !important;

    background: var(--plh-navy) !important;

    border: 0 !important;

    border-radius: 3px !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    text-transform: uppercase !important;
}


/* =========================================================
   35. MOBILE CONTACT
========================================================= */

.pl-mobile-menu__contact {
    display: grid;

    gap: 13px;

    padding: 23px 3px;
}

.pl-mobile-menu__contact a {
    color: var(--plh-text) !important;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.pl-mobile-menu__contact a:hover {
    color: var(--plh-green) !important;
}


/* =========================================================
   36. MOBILE FACEBOOK
========================================================= */

.pl-mobile-facebook {
    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 11px !important;

    min-height: 48px !important;

    margin-bottom: 15px;

    padding: 10px 4px !important;

    color: var(--plh-navy) !important;

    border-bottom: 0 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

.pl-mobile-facebook svg {
    width: 23px !important;
    height: 23px !important;

    fill: var(--plh-green) !important;

    stroke: none !important;
}


/* =========================================================
   37. MOBILE CTA
========================================================= */

.pl-mobile-menu__cta {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 56px !important;

    padding: 15px 22px !important;

    color: #ffffff !important;

    background: var(--plh-green) !important;

    border: 0 !important;

    border-radius: 28px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    text-align: center !important;

    text-transform: uppercase !important;
}


/* =========================================================
   38. DESKTOP GRANDE
   LOGO 30PX HACIA LA DERECHA
========================================================= */

@media (min-width: 1481px) {

    .pl-header-main__inner {
        justify-content: flex-start !important;
    }

    /*
     * MOVEMOS VISUALMENTE SOLO EL LOGO.
     * NO EMPUJA EL MENÚ.
     */
    .pl-header-logo img {
        transform: translateX(30px) !important;
    }

    .pl-header-nav {
        margin-left: auto !important;
        margin-right: 28px !important;
    }

    .pl-header-actions {
        margin-left: 0 !important;
    }
}


/* =========================================================
   39. DESKTOP MEDIANO
   1181PX — 1480PX
========================================================= */

@media (max-width: 1480px) and (min-width: 1181px) {

    .pl-header-container {
        width: calc(100% - 110px) !important;

        max-width: 1370px !important;
    }

    .pl-header-main__inner {
        min-height: 100px !important;
        height: 100px !important;

        gap: 8px;
    }


    /* LOGO */

    .pl-header-logo {
        width: 235px !important;

        flex: 0 0 235px !important;

        height: 100px;
    }

    .pl-header-logo img {
        width: 235px !important;
        max-width: 235px !important;

        height: auto !important;
        max-height: 88px !important;

        transform: none !important;
    }


    /* NAV */

    .pl-header-nav {
        margin-left: auto !important;
        margin-right: 7px !important;
    }

    .pl-header-nav__link,
    .pl-mega__trigger {
        min-height: 100px !important;
        height: 100px !important;

        padding-left: 7px !important;
        padding-right: 7px !important;

        font-size: 13px !important;
    }

    .pl-header-nav__link::after,
    .pl-mega__trigger::after {
        right: 7px;
        left: 7px;
    }


    /* ACTIONS */

    .pl-header-actions {
        gap: 8px !important;
    }

    .pl-header-phone__text {
        display: none !important;
    }

    .pl-header-phone__icon {
        width: 46px !important;
        height: 46px !important;

        flex: 0 0 46px !important;
    }

    .pl-header-cta {
        min-width: 138px !important;
        min-height: 48px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;

        font-size: 10px !important;
    }


    /* MEGA */

    .pl-mega__panel {
        width: calc(100vw - 110px);

        max-width: 1370px;
    }

    .pl-mega__column {
        padding: 27px 20px 29px;
    }

    .pl-mega__links a {
        font-size: 13px !important;
    }

    .pl-mega__title h3 {
        font-size: 17px !important;
    }
}


/* =========================================================
   40. TABLET
========================================================= */

@media (max-width: 1180px) {

    .pl-header-container {
        width: calc(100% - 50px) !important;

        max-width: none !important;
    }

    .pl-header-top,
    .pl-header-top__inner {
        min-height: 54px;
    }

    .pl-header-main__inner {
        min-height: 92px !important;
        height: 92px !important;

        gap: 20px;
    }


    /* LOGO */

    .pl-header-logo {
        width: 215px !important;

        flex: 0 0 215px !important;

        height: 92px;
    }

    .pl-header-logo img {
        width: 215px !important;
        max-width: 215px !important;

        height: auto !important;
        max-height: 78px !important;

        transform: none !important;
    }


    /* DESKTOP OFF */

    .pl-header-nav,
    .pl-header-actions {
        display: none !important;
    }


    /* MOBILE ON */

    .pl-header-mobile-actions {
        display: flex !important;
    }

    .pl-mobile-menu {
        display: block;
    }
}


/* =========================================================
   41. MOBILE
========================================================= */

@media (max-width: 767px) {

    .pl-header-container {
        width: calc(100% - 36px) !important;
    }


    /* TOP */

    .pl-header-top,
    .pl-header-top__inner {
        min-height: 50px;
    }

    .pl-header-top__inner {
        gap: 8px;
    }

    .pl-header-top__contact {
        flex: 1 1 auto;

        min-width: 0;

        gap: 8px;
    }

    .pl-header-top__link {
        gap: 7px;

        font-size: 13px !important;
    }

    .pl-header-top__link svg {
        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        min-height: 18px !important;

        flex-basis: 18px !important;
    }

    .pl-header-top__contact .pl-header-top__link:nth-of-type(2),
    .pl-header-top__divider {
        display: none !important;
    }

    .pl-header-top__right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        flex: 0 0 auto !important;

        min-width: auto !important;

        gap: 7px !important;

        margin-left: auto !important;
    }

    .pl-header-language {
        display: none !important;
    }

    .pl-header-top__right .pl-header-email,
    .pl-header-top__right .pl-header-facebook {
        display: inline-flex !important;

        width: 34px !important;
        height: 34px !important;

        min-width: 34px !important;
        min-height: 34px !important;

        max-width: 34px !important;
        max-height: 34px !important;

        flex: 0 0 34px !important;
    }

    .pl-header-top__right .pl-header-email svg,
    .pl-header-top__right .pl-header-facebook svg {
        width: 16px !important;
        height: 16px !important;
    }


    /* HEADER */

    .pl-header-main__inner {
        min-height: 82px !important;
        height: 82px !important;

        gap: 10px;
    }


    /* LOGO */

    .pl-header-logo {
        width: 180px !important;

        flex: 0 0 180px !important;

        height: 82px;
    }

    .pl-header-logo img {
        width: 180px !important;
        max-width: 180px !important;

        height: auto !important;
        max-height: 68px !important;

        transform: none !important;
    }


    /* MOBILE ACTIONS */

    .pl-header-mobile-actions {
        gap: 8px;
    }

    .pl-header-mobile-whatsapp {
        width: 42px;
        height: 42px;
    }

    .pl-header-mobile-whatsapp svg {
        width: 21px !important;
        height: 21px !important;
    }

    .pl-header-toggle {
        width: 44px;
        height: 44px;
    }

    .pl-mobile-menu__inner {
        width: calc(100% - 36px);
    }
}


/* =========================================================
   42. MOBILE PEQUEÑO
========================================================= */

@media (max-width: 420px) {

    .pl-header-container {
        width: calc(100% - 28px) !important;
    }

    .pl-header-main__inner {
        min-height: 76px !important;
        height: 76px !important;

        gap: 7px;
    }


    /* LOGO */

    .pl-header-logo {
        width: 150px !important;

        flex: 0 0 150px !important;

        height: 76px;
    }

    .pl-header-logo img {
        width: 150px !important;
        max-width: 150px !important;

        height: auto !important;
        max-height: 60px !important;

        transform: none !important;
    }


    /* ACTIONS */

    .pl-header-mobile-actions {
        gap: 6px;
    }

    .pl-header-mobile-whatsapp {
        width: 39px;
        height: 39px;
    }

    .pl-header-mobile-whatsapp svg {
        width: 19px !important;
        height: 19px !important;
    }

    .pl-header-toggle {
        width: 41px;
        height: 41px;
    }

    .pl-header-toggle span {
        width: 20px;
    }


    /* TOP SOCIAL */

    .pl-header-top__right .pl-header-email,
    .pl-header-top__right .pl-header-facebook {
        width: 31px !important;
        height: 31px !important;

        min-width: 31px !important;
        min-height: 31px !important;

        max-width: 31px !important;
        max-height: 31px !important;

        flex: 0 0 31px !important;
    }

    .pl-mobile-menu__inner {
        width: calc(100% - 28px);
    }
}


/* =========================================================
   43. ELIMINAR LÍNEAS EXTRA
========================================================= */

.pl-site-header,
.pl-header-top,
.pl-header-main,
.pl-header-main__inner {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}

.pl-site-header::before,
.pl-site-header::after,
.pl-header-main::before,
.pl-header-main::after,
.pl-header-main__inner::before,
.pl-header-main__inner::after {
    display: none !important;

    content: none !important;
}


/* =========================================================
   44. ACCESSIBILIDAD
========================================================= */

.pl-site-header a:focus-visible,
.pl-site-header button:focus-visible {
    outline: 2px solid var(--plh-green);

    outline-offset: 3px;
}


/* =========================================================
   45. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pl-site-header *,
    .pl-site-header *::before,
    .pl-site-header *::after {
        scroll-behavior: auto !important;

        transition: none !important;

        animation: none !important;
    }
}
/* =========================================================
   FIX OVERFLOW HEADER - PUNTO LEGAL
   Solo corrige 100vw sin alterar el layout
========================================================= */

.pl-site-header,
.pl-header-top,
.pl-header-main {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}/* End custom CSS */