#financierate-cookie-root,
#financierate-cookie-root * {
    box-sizing: border-box;
}

#financierate-cookie-root {
    --financierate-cookie-accent: #2271b1;
    --financierate-cookie-text: #20272d;
    --financierate-cookie-muted: #59636e;
    --financierate-cookie-border: #d8dde2;
    --financierate-cookie-panel: #ffffff;
    --financierate-cookie-radius: 16px;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.45;
    color: var(--financierate-cookie-text);
}

#financierate-cookie-root [hidden] {
    display: none !important;
}

html.financierate-cookie-modal-open,
body.financierate-cookie-modal-open {
    overflow: hidden !important;
}

#financierate-cookie-root .financierate-cookie-banner {
    position: fixed !important;
    z-index: 2147483644 !important;
    right: 24px !important;
    bottom: 24px !important;
    left: 24px !important;
    display: block !important;
    width: auto !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 1px solid rgba(32, 39, 45, 0.12) !important;
    border-radius: var(--financierate-cookie-radius) !important;
    background: var(--financierate-cookie-panel) !important;
    color: var(--financierate-cookie-text) !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.24) !important;
}

#financierate-cookie-root .financierate-cookie-banner__content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 28px !important;
    align-items: center !important;
    padding: 24px !important;
}

#financierate-cookie-root .financierate-cookie-banner__copy,
#financierate-cookie-root .financierate-cookie-banner__actions {
    min-width: 0 !important;
}

#financierate-cookie-root .financierate-cookie-banner h2,
#financierate-cookie-root .financierate-cookie-modal h2,
#financierate-cookie-root .financierate-cookie-modal h3,
.financierate-cookie-placeholder strong {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--financierate-cookie-text) !important;
    font-family: inherit !important;
    font-style: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

#financierate-cookie-root .financierate-cookie-banner h2,
#financierate-cookie-root .financierate-cookie-modal h2 {
    font-size: clamp(1.45rem, 2vw, 2rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

#financierate-cookie-root .financierate-cookie-modal h3 {
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

#financierate-cookie-root p {
    margin: 0 !important;
    color: var(--financierate-cookie-muted) !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

#financierate-cookie-root .financierate-cookie-banner__copy p {
    margin-top: 8px !important;
}

#financierate-cookie-root a {
    color: #0867ad !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

#financierate-cookie-root .financierate-cookie-policy-link {
    display: inline-block !important;
    margin-top: 10px !important;
}

#financierate-cookie-root .financierate-cookie-banner__actions,
#financierate-cookie-root .financierate-cookie-modal__actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

#financierate-cookie-root button.financierate-cookie-button,
#financierate-cookie-root button.financierate-cookie-modal__close,
#financierate-cookie-root button.financierate-cookie-floating,
button.financierate-cookie-placeholder__button,
button.financierate-cookie-inline-settings {
    all: unset;
    box-sizing: border-box !important;
    cursor: pointer !important;
    font-family: inherit !important;
    -webkit-tap-highlight-color: transparent;
}

#financierate-cookie-root button.financierate-cookie-button {
    display: inline-flex !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 18px !important;
    border: 2px solid var(--financierate-cookie-accent) !important;
    border-radius: 10px !important;
    background: var(--financierate-cookie-accent) !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

#financierate-cookie-root button.financierate-cookie-button--settings {
    background: #ffffff !important;
    color: #165f99 !important;
}

#financierate-cookie-root button.financierate-cookie-button:hover,
#financierate-cookie-root button.financierate-cookie-button:focus-visible,
button.financierate-cookie-placeholder__button:hover,
button.financierate-cookie-placeholder__button:focus-visible {
    filter: brightness(0.93) !important;
}

#financierate-cookie-root button:focus-visible,
button.financierate-cookie-inline-settings:focus-visible {
    outline: 3px solid rgba(34, 113, 177, 0.35) !important;
    outline-offset: 3px !important;
}

#financierate-cookie-root .financierate-cookie-modal {
    position: fixed !important;
    z-index: 2147483646 !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 24px !important;
}

#financierate-cookie-root .financierate-cookie-modal__backdrop {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.58) !important;
    cursor: pointer !important;
}

#financierate-cookie-root .financierate-cookie-modal__panel {
    position: relative !important;
    z-index: 1 !important;
    width: min(760px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 30px !important;
    border: 1px solid rgba(32, 39, 45, 0.1) !important;
    border-radius: var(--financierate-cookie-radius) !important;
    background: var(--financierate-cookie-panel) !important;
    color: var(--financierate-cookie-text) !important;
    box-shadow: 0 22px 75px rgba(0, 0, 0, 0.34) !important;
    overscroll-behavior: contain !important;
}

#financierate-cookie-root button.financierate-cookie-modal__close {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
    display: inline-flex !important;
    width: 40px !important;
    height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: var(--financierate-cookie-text) !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

#financierate-cookie-root button.financierate-cookie-modal__close:hover,
#financierate-cookie-root button.financierate-cookie-modal__close:focus-visible {
    background: #eef2f5 !important;
}

#financierate-cookie-root .financierate-cookie-modal__intro {
    margin-top: 10px !important;
    padding-right: 36px !important;
}

#financierate-cookie-root .financierate-cookie-category {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 22px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 22px 0 !important;
    border-top: 1px solid var(--financierate-cookie-border) !important;
}

#financierate-cookie-root .financierate-cookie-category:first-of-type {
    margin-top: 24px !important;
}

#financierate-cookie-root .financierate-cookie-category p {
    margin-top: 5px !important;
}

#financierate-cookie-root .financierate-cookie-modal__policy {
    padding: 0 0 20px !important;
    border-bottom: 1px solid var(--financierate-cookie-border) !important;
}

#financierate-cookie-root .financierate-cookie-modal__actions {
    margin-top: 22px !important;
}

#financierate-cookie-root .financierate-cookie-switch {
    position: relative !important;
    display: inline-block !important;
    width: 56px !important;
    height: 32px !important;
    flex: 0 0 auto !important;
    cursor: pointer !important;
}

#financierate-cookie-root .financierate-cookie-switch input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

#financierate-cookie-root .financierate-cookie-switch > span[aria-hidden="true"] {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 999px !important;
    background: #9aa5ae !important;
    transition: background 0.18s ease !important;
}

#financierate-cookie-root .financierate-cookie-switch > span[aria-hidden="true"]::after {
    content: "" !important;
    position: absolute !important;
    top: 4px !important;
    left: 4px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.28) !important;
    transition: transform 0.18s ease !important;
}

#financierate-cookie-root .financierate-cookie-switch input:checked + span[aria-hidden="true"] {
    background: var(--financierate-cookie-accent) !important;
}

#financierate-cookie-root .financierate-cookie-switch input:checked + span[aria-hidden="true"]::after {
    transform: translateX(24px) !important;
}

#financierate-cookie-root .financierate-cookie-switch input:focus-visible + span[aria-hidden="true"] {
    outline: 3px solid rgba(34, 113, 177, 0.35) !important;
    outline-offset: 3px !important;
}

#financierate-cookie-root .financierate-cookie-switch--locked {
    cursor: not-allowed !important;
    opacity: 0.72 !important;
}

#financierate-cookie-root button.financierate-cookie-floating {
    position: fixed !important;
    z-index: 2147483643 !important;
    left: 18px !important;
    bottom: 18px !important;
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: var(--financierate-cookie-accent) !important;
    color: #ffffff !important;
    box-shadow: 0 7px 24px rgba(0, 0, 0, 0.28) !important;
}

#financierate-cookie-root .financierate-cookie-floating__icon,
#financierate-cookie-root .financierate-cookie-floating__icon svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
}

.financierate-cookie-placeholder {
    position: relative !important;
    display: grid !important;
    min-height: 180px !important;
    place-items: center !important;
    width: 100% !important;
    margin: 1.5rem 0 !important;
    padding: 24px !important;
    overflow: hidden !important;
    border: 1px solid #d8dee6 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #182333 0%, #0e1723 100%) !important;
    color: #ffffff !important;
    text-align: center !important;
}

.financierate-cookie-placeholder--video {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    margin-block: 1.5rem !important;
}

.financierate-cookie-placeholder--video::before {
    content: "▶" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    z-index: 0 !important;
    transform: translate(-50%, -50%) !important;
    color: rgba(255,255,255,.055) !important;
    font-size: clamp(90px, 15vw, 180px) !important;
    line-height: 1 !important;
}

.financierate-cookie-placeholder__inner {
    position: relative !important;
    z-index: 1 !important;
    max-width: 520px !important;
}

.financierate-cookie-placeholder strong {
    display: block !important;
    color: #ffffff !important;
    font-size: clamp(1.05rem, 2vw, 1.3rem) !important;
    line-height: 1.25 !important;
}

.financierate-cookie-placeholder__inner p {
    margin: 8px 0 0 !important;
    color: #d6dee8 !important;
    font-size: .95rem !important;
    line-height: 1.5 !important;
}

button.financierate-cookie-placeholder__button {
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 16px !important;
    padding: 9px 15px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--financierate-cookie-accent, #2271b1) !important;
    color: #ffffff !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}

button.financierate-cookie-placeholder__button:hover,
button.financierate-cookie-placeholder__button:focus-visible {
    filter: brightness(1.08) !important;
    color: #ffffff !important;
}

/* Gutenberg y otros wrappers reservan por su cuenta un 16:9 mediante
 * pseudo-elementos. Al sustituir el iframe por nuestro aviso o preview,
 * esa reserva duplicaba la altura y dejaba un hueco enorme. */
.wp-block-embed__wrapper.financierate-cookie-embed-host,
.fluid-width-video-wrapper.financierate-cookie-embed-host,
.embed-responsive.financierate-cookie-embed-host,
.video-container.financierate-cookie-embed-host,
.embed-container.financierate-cookie-embed-host {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.wp-block-embed__wrapper.financierate-cookie-embed-host::before,
.fluid-width-video-wrapper.financierate-cookie-embed-host::before,
.embed-responsive.financierate-cookie-embed-host::before,
.video-container.financierate-cookie-embed-host::before,
.embed-container.financierate-cookie-embed-host::before {
    content: none !important;
    display: none !important;
    padding: 0 !important;
}

.financierate-cookie-embed-host > .financierate-cookie-placeholder,
.financierate-cookie-embed-host > .financierate-cookie-youtube-preview,
.financierate-cookie-embed-host > iframe.financierate-cookie-restored-frame {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.financierate-cookie-restored-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
}

.financierate-cookie-restored-frame--youtube {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
}

.financierate-cookie-youtube-preview {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background-color: #111 !important;
    background-position: center !important;
    background-size: cover !important;
    cursor: pointer !important;
}

.financierate-cookie-youtube-preview__play {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 72px !important;
    height: 50px !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 14px !important;
    background: rgba(220, 0, 0, 0.94) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
}

.financierate-cookie-youtube-preview__play::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 52% !important;
    transform: translate(-50%, -50%) !important;
    border-top: 10px solid transparent !important;
    border-bottom: 10px solid transparent !important;
    border-left: 17px solid #ffffff !important;
}

button.financierate-cookie-inline-settings {
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 14px !important;
    border: 2px solid var(--financierate-cookie-accent, #2271b1) !important;
    border-radius: 8px !important;
    color: #165f99 !important;
    font-weight: 700 !important;
}

#financierate-cookie-root .financierate-cookie-noscript {
    position: fixed !important;
    z-index: 2147483647 !important;
    right: 16px !important;
    bottom: 16px !important;
    left: 16px !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    background: #fff4ce !important;
    color: #4b3b00 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

@media (max-width: 820px) {
    #financierate-cookie-root .financierate-cookie-banner__content {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    #financierate-cookie-root .financierate-cookie-banner__actions {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    #financierate-cookie-root .financierate-cookie-banner {
        right: 10px !important;
        bottom: 10px !important;
        left: 10px !important;
    }

    #financierate-cookie-root .financierate-cookie-banner__content,
    #financierate-cookie-root .financierate-cookie-modal__panel {
        padding: 20px !important;
    }

    #financierate-cookie-root .financierate-cookie-modal {
        padding: 10px !important;
        align-items: end !important;
    }

    #financierate-cookie-root .financierate-cookie-modal__panel {
        width: 100% !important;
        max-height: calc(100vh - 20px) !important;
        border-radius: 14px !important;
    }

    #financierate-cookie-root .financierate-cookie-banner__actions,
    #financierate-cookie-root .financierate-cookie-modal__actions {
        grid-template-columns: 1fr !important;
    }

    #financierate-cookie-root .financierate-cookie-category {
        gap: 14px !important;
    }

    #financierate-cookie-root button.financierate-cookie-button {
        width: 100% !important;
        white-space: normal !important;
    }
}


/* Los componentes ocultos deben ganar frente a sus propias reglas display. */
#financierate-cookie-root .financierate-cookie-banner[hidden],
#financierate-cookie-root .financierate-cookie-modal[hidden],
#financierate-cookie-root .financierate-cookie-floating[hidden] {
    display: none !important;
}
