/* Soferton | Pressidium Cookie Consent UI
   One scoped stylesheet for normal, hover, focus and active states.
   Keep the original Pressidium plugin untouched. */

/* Banner dimensions and visual hierarchy. */
#cc_div #cm {
    width: calc(100% - 32px);
    max-width: 470px;
    padding: 22px 24px 24px;
    box-sizing: border-box;
}
#cc_div #cm #c-ttl,
#cc_div #cm #c-txt,
#cc_div #cm #c-txt * {
    text-transform: none !important;
    letter-spacing: normal !important;
}
#cc_div #cm #c-ttl {
    font-weight: 650;
    line-height: 1.35;
}
#cc_div #cm #c-txt {
    line-height: 1.55;
}

/* All text links are stable. The consent settings link is sentence case,
   and hovering it must not alter its size, case, weight or underline width. */
#cc_div #cm #c-txt :is(a, button.cc-link, .cc-link),
#cc_div #cm #c-txt :is(a, button.cc-link, .cc-link):is(:hover, :focus-visible, :active) {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 1px !important;
    border: 0 !important;
    border-bottom: 1px solid currentColor !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    cursor: pointer;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    font-style: normal !important;
    line-height: inherit !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    transition: none !important;
    vertical-align: baseline !important;
}
#cc_div #cm #c-txt :is(a, button.cc-link, .cc-link):focus-visible {
    outline: 2px solid #171717 !important;
    outline-offset: 3px;
}

/* Primary consent choices: invariant typography, position and dimensions.
   Only background-color changes on hover or active. */
#cc_div #cm #c-bns {
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 10px !important;
    margin-top: 20px;
}
#cc_div #cm #c-bns > button.c-bn,
#cc_div #cm #c-bns > button.c-bn:is(:hover, :focus-visible, :active) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 calc((100% - 10px) / 2) !important;
    min-width: 0 !important;
    width: calc((100% - 10px) / 2) !important;
    max-width: calc((100% - 10px) / 2) !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 6px !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    cursor: pointer;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    word-break: normal !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    transition: background-color 150ms ease !important;
}
#cc_div #cm #c-bns > button.c-bn:first-child {
    background: var(--cc-btn-primary-bg) !important;
    color: var(--cc-btn-primary-text) !important;
}
#cc_div #cm #c-bns > button.c-bn:first-child:is(:hover, :focus-visible, :active) {
    background: var(--cc-btn-primary-hover-bg) !important;
    color: var(--cc-btn-primary-text) !important;
}
#cc_div #cm #c-bns > button.c-bn:last-child {
    background: var(--cc-btn-secondary-bg) !important;
    color: var(--cc-btn-secondary-text) !important;
}
#cc_div #cm #c-bns > button.c-bn:last-child:is(:hover, :focus-visible, :active) {
    background: var(--cc-btn-secondary-hover-bg) !important;
    color: var(--cc-btn-secondary-text) !important;
}
#cc_div #cm #c-bns > button.c-bn:focus-visible {
    outline: 2px solid #171717 !important;
    outline-offset: 2px;
}

/* The preferences panel and its actions must also avoid jumping on hover. */
#cc_div #s-cnt :is(button.c-bn, #s-c-bn, a):is(:hover, :focus-visible, :active),
#cc_div #s-cnt :is(button.c-bn, #s-c-bn, a) {
    font-family: inherit !important;
    font-weight: 600 !important;
    font-size: inherit;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    transition-property: background-color !important;
    transition-duration: 150ms !important;
}
#cc_div #s-cnt button.c-bn,
#cc_div #s-cnt button.c-bn:is(:hover, :focus-visible, :active) {
    font-size: 13px !important;
    line-height: 1.2 !important;
}
#cc_div #s-cnt :is(a, button).cc-link,
#cc_div #s-cnt :is(a, button).cc-link:is(:hover, :focus-visible, :active) {
    text-transform: none !important;
    text-decoration: none !important;
}

/* Narrow screens: maintain a single-line label while leaving enough room
   for 'Rechazar opcionales' and preserving tap target sizes. */
@media (max-width: 440px) {
    #cc_div #cm {
        width: calc(100% - 24px);
        max-width: none;
        left: 12px;
        right: 12px;
        padding: 20px 17px 19px;
    }
    #cc_div #cm #c-bns {
        gap: 8px !important;
    }
    #cc_div #cm #c-bns > button.c-bn,
    #cc_div #cm #c-bns > button.c-bn:is(:hover, :focus-visible, :active) {
        flex: 0 0 calc((100% - 8px) / 2) !important;
        width: calc((100% - 8px) / 2) !important;
        max-width: calc((100% - 8px) / 2) !important;
        min-height: 46px !important;
        padding: 10px 3px !important;
        font-size: 12px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #cc_div #cm #c-bns > button.c-bn,
    #cc_div #cm #c-bns > button.c-bn:is(:hover, :focus-visible, :active) {
        transition: none !important;
    }
}


/* Preference category headings: normal sentence case in every state.
   Protect Pressidium accordion labels from theme uppercase/hover styles. */
#cc_div #s-cnt #s-bl .b-bn .b-tl,
#cc_div #s-cnt #s-bl .b-bn .b-tl *,
#cc_div #s-cnt #s-bl .b-bn .b-tl:is(:hover, :focus-visible, :active),
#cc_div #s-cnt #s-bl .b-bn .b-tl:is(:hover, :focus-visible, :active) * {
    text-transform: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    font-variant: normal !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
}
#cc_div #s-cnt #s-bl .b-bn .b-tl,
#cc_div #s-cnt #s-bl .b-bn .b-tl:is(:hover, :focus-visible, :active) {
    font-size: 15px !important;
    line-height: 1.45 !important;
    transition: background-color 150ms ease !important;
}

/* Keep both cookie choices side-by-side on every mobile viewport. */
#cc_div #cm #c-bns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
}
#cc_div #cm #c-bns > button.c-bn,
#cc_div #cm #c-bns > button.c-bn:is(:hover, :focus-visible, :active) {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
}
@media (max-width: 440px) {
    #cc_div #cm #c-bns > button.c-bn,
    #cc_div #cm #c-bns > button.c-bn:is(:hover, :focus-visible, :active) {
        padding: 11px 3px !important;
        font-size: clamp(10px, 3vw, 12px) !important;
        line-height: 1.25 !important;
    }
}
