/* Islency drawer + cart flyout — route bundles (not global header_nav.css) */
/* ── Side drawer ─────────────────────────────────────────────────────────── */
.s_islency_drawer {
    --islency-drawer-shift: 28px;
    --islency-drawer-enter: 320ms;
    --islency-drawer-leave: 280ms;
    --islency-drawer-scrim: 220ms;
    --islency-drawer-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --islency-drawer-ease-in: cubic-bezier(0.4, 0, 1, 1);
    z-index: 1060;
    /* Hide the tree when idle, but delay so leave (slide + fade) can finish. */
}

.s_islency_drawer.s_islency_drawer_open {
}

.s_islency_drawer.s_islency_drawer_open .s_islency_drawer_backdrop {
    opacity: 1;
}

.s_islency_drawer.s_islency_drawer_open .s_islency_drawer_panel {
    transform: translateX(0);
    opacity: 1;
}

/* First paint / content-visibility flip: start from the rest pose, not open. */
@starting-style {
    .s_islency_drawer.s_islency_drawer_open .s_islency_drawer_backdrop {
        opacity: 0;
    }

    .s_islency_drawer.s_islency_drawer_open .s_islency_drawer_panel {
        transform: translateX(calc(-1 * var(--islency-drawer-shift)));
        opacity: 0;
    }
}

.s_islency_drawer_backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    cursor: pointer;
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
}

.s_islency_drawer_panel {
    --islency-drawer-row-h: 44px;
    --islency-drawer-pad-x: 16px;
    --islency-drawer-pad-sub: 32px;
    --islency-drawer-divider: 1px solid var(--islency-brand-border, #e3eaf0);
    position: absolute;
    z-index: 1;
    max-width: 100%;
    transform: translateX(calc(-1 * var(--islency-drawer-shift, 28px)));
    opacity: 0;
    display: flex;
    flex-direction: column;
    contain: layout paint;
    will-change: transform, opacity;
}

@media (max-width: 991.98px) {
    .s_islency_drawer_panel {
        width: min(94vw, 26rem);
    }
}

@keyframes s_islency_drawer_row_in {
    from {
        opacity: 0;
        transform: translateX(-8px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* First visible rows only — 30ms stagger, subtle, not a cascade toy. */
.s_islency_drawer_open .s_islency_drawer_account {
    animation-delay: 40ms;
}

.s_islency_drawer_open .s_islency_drawer_ship_dest {
    animation-delay: 70ms;
}

.s_islency_drawer_open .s_islency_drawer_departments > .s_islency_drawer_dept,
.s_islency_drawer_open .s_islency_drawer_departments > .s_islency_drawer_link--root {
}

.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(2) { animation-delay: 70ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(3) { animation-delay: 100ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(4) { animation-delay: 130ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(5) { animation-delay: 160ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(6) { animation-delay: 190ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(7) { animation-delay: 220ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(8) { animation-delay: 250ms; }
.s_islency_drawer_open .s_islency_drawer_departments > :nth-child(n + 9) {
}

@media (prefers-reduced-motion: reduce) {
    .s_islency_drawer {
        --islency-drawer-shift: 0px;
        --islency-drawer-enter: 200ms;
        --islency-drawer-leave: 180ms;
        --islency-drawer-scrim: 200ms;
        --islency-drawer-ease-out: ease;
        --islency-drawer-ease-in: ease;
        transition:
            visibility 0s linear 180ms,
            content-visibility 0s linear 180ms;
    }

    .s_islency_drawer_panel,
    .s_islency_drawer.s_islency_drawer_open .s_islency_drawer_panel {
        transform: none;
        transition: opacity 200ms ease;
    }

    .s_islency_drawer_backdrop,
    .s_islency_drawer.s_islency_drawer_open .s_islency_drawer_backdrop {
        transition: opacity 200ms ease;
    }

    .s_islency_drawer_open .s_islency_drawer_account,
    .s_islency_drawer_open .s_islency_drawer_departments > .s_islency_drawer_dept,
    .s_islency_drawer_open .s_islency_drawer_departments > .s_islency_drawer_link--root,
    .s_islency_drawer_dept_children {
        animation: none;
    }
}

.s_islency_drawer_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 1rem 1rem 0.85rem;
    flex-shrink: 0;
}

/* Cuban Glass drawer header: deep title on ivory */
body.o_theme_islency_nova .s_islency_drawer_header .s_islency_drawer_title,
body.o_theme_islency_nova .s_islency_drawer_header .s_islency_drawer_title span {
}

.s_islency_drawer_title {
    font-family: var(--islency-font-family-base);
    font-size: 1.02rem;
    letter-spacing: 0.01em;
    line-height: 1.3;
}

.s_islency_drawer_close {
    border: none;
    font-size: 1.05rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.s_islency_drawer_close:hover {
}

.s_islency_drawer_account {
    padding: 0.9rem 1rem 1rem;
    font-size: 0.92rem;
    flex-shrink: 0;
}

.s_islency_drawer_account_main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.s_islency_drawer_account_icon {
}

.s_islency_drawer_account_avatar_wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.s_islency_drawer_account_avatar,
.s_islency_drawer_account_avatar_wrap .fa-user-circle,
.s_islency_drawer_account_avatar_wrap i.s_islency_drawer_account_avatar {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
}

.s_islency_drawer_account_avatar {
    border-radius: 50%;
    box-sizing: border-box;
}

.s_islency_drawer_account_avatar_wrap .fa-user-circle,
.s_islency_drawer_account_avatar_wrap i.s_islency_drawer_account_avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    line-height: 1;
    color: var(--islency-turquoise, #19a7a0);
}

.s_islency_drawer_account_text {
    line-height: 1.45;
    min-width: 0;
}

.s_islency_drawer_account_prefix {
}

body.o_theme_islency_nova .s_islency_drawer_account_link,
body.o_theme_islency_nova .s_islency_drawer_account a.s_islency_drawer_account_link,
body.o_theme_islency_nova .s_islency_drawer_account a.s_islency_drawer_account_link span {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-left: 0.25rem;
}

body.o_theme_islency_nova .s_islency_drawer_account_link:hover,
body.o_theme_islency_nova .s_islency_drawer_account a.s_islency_drawer_account_link:hover,
body.o_theme_islency_nova .s_islency_drawer_account a.s_islency_drawer_account_link:hover span {
    color: var(--islency-deep, #123b50);
}

.s_islency_drawer_account_email {
    margin-top: 0.2rem;
}

.s_islency_drawer_body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.s_islency_drawer_app_downloads {
    margin-top: 0.35rem;
    padding: 0.95rem 1rem 1rem;
    background: var(--islency-glass-bg-strong, rgba(255, 255, 255, 0.92));
    border: var(--islency-glass-border, 1px solid rgba(255, 255, 255, 0.72));
    border-radius: var(--islency-radius-lg, 18px);
    box-shadow: var(--islency-shadow-soft, 0 8px 28px rgba(18, 59, 80, 0.08));
}

.s_islency_drawer_app_downloads__label {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--islency-turquoise, #19a7a0);
}

.s_islency_drawer_app_downloads__hint {
    margin: 0.15rem 0 0.65rem;
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--islency-ink-muted, #5a7380);
}

.s_islency_drawer_app_downloads__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.s_islency_drawer_app_badge {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 3.2rem;
    padding: 0.45rem 0.6rem;
    border-radius: 0.85rem;
    background: var(--islency-white, #fff);
    color: var(--islency-deep, #123b50);
    text-decoration: none;
    border: 1.5px solid rgba(25, 167, 160, 0.35);
    box-shadow: none;
    transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

body.o_theme_islency_nova .s_islency_drawer_app_badge,
body.o_theme_islency_nova .s_islency_drawer_app_badge:hover,
body.o_theme_islency_nova .s_islency_drawer_app_badge:focus-visible {
    color: var(--islency-deep, #123b50);
    text-decoration: none;
}

.s_islency_drawer_app_badge:hover,
.s_islency_drawer_app_badge:focus-visible {
    background: color-mix(in srgb, var(--islency-turquoise, #19a7a0) 14%, var(--islency-white, #fff));
    border-color: var(--islency-turquoise, #19a7a0);
    transform: translateY(-1px);
    box-shadow: none;
    outline: none;
}

.s_islency_drawer_app_badge__icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: var(--islency-radius-md, 12px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--islency-turquoise, #19a7a0) 16%, var(--islency-white, #fff));
    color: var(--islency-turquoise, #19a7a0);
    font-size: 1.05rem;
    line-height: 1;
}

.s_islency_drawer_app_badge--android .s_islency_drawer_app_badge__icon,
.s_islency_drawer_app_badge--ios .s_islency_drawer_app_badge__icon,
.s_islency_drawer_app_badge--mac .s_islency_drawer_app_badge__icon,
.s_islency_drawer_app_badge--windows .s_islency_drawer_app_badge__icon {
    background: color-mix(in srgb, var(--islency-turquoise, #19a7a0) 16%, var(--islency-white, #fff));
    color: var(--islency-turquoise, #19a7a0);
}

.s_islency_drawer_app_badge__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}

.s_islency_drawer_app_badge__kicker {
    font-size: 0.62rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--islency-ink-muted, #5a7380);
}

.s_islency_drawer_app_badge__name {
    font-size: 0.92rem;
    font-weight: 750;
    color: var(--islency-deep, #123b50);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Footer info inside drawer (replaces page footer on mobile) */
.s_islency_drawer_site_footer {
    padding: 1.15rem 1rem calc(1.35rem + env(safe-area-inset-bottom, 0px));
}

.s_islency_drawer_site_footer__brand {
    margin-bottom: 1rem;
}

.s_islency_drawer_site_footer .s_islency_footer_app_downloads {
    margin-top: 0.95rem;
    padding: 0.95rem 1rem 1rem;
}

.s_islency_drawer_site_footer .s_islency_footer_app_downloads__hint {
    margin: 0.15rem 0 0.65rem;
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--islency-ink-muted, #5a7380);
}

.s_islency_drawer_site_footer .s_islency_footer_app_downloads__label {
    margin: 0 0 0.55rem;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.s_islency_drawer_site_footer .s_islency_footer_app_downloads__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.s_islency_drawer_site_footer .s_islency_footer_app_store_btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.65rem;
    padding: 0.4rem 0.7rem;
}

body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn,
body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn:hover,
body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn:focus-visible {
    text-decoration: none;
}

body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn:hover,
body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn:focus-visible {
    transform: translateY(-1px);
}

.s_islency_drawer_site_footer .s_islency_footer_app_store_btn .fa {
    width: 1.15rem;
    text-align: center;
    font-size: 1.1rem;
}

.s_islency_drawer_site_footer .s_islency_footer_app_store_btn__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.15;
}

.s_islency_drawer_site_footer .s_islency_footer_app_store_btn__text small {
    font-size: 0.6rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--islency-ink-muted, #5a7380);
}

.s_islency_drawer_site_footer .s_islency_footer_app_downloads__more {
}

.s_islency_drawer_site_footer .s_islency_footer_app_store_btn--android .fa,
.s_islency_drawer_site_footer .s_islency_footer_app_store_btn--ios .fa,
.s_islency_drawer_site_footer .s_islency_footer_app_store_btn--mac .fa,
.s_islency_drawer_site_footer .s_islency_footer_app_store_btn--windows .fa {
}

body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn:hover .fa,
body.o_theme_islency_nova .s_islency_drawer_site_footer .s_islency_footer_app_store_btn:focus-visible .fa {
    color: var(--islency-deep, #123b50);
}

.s_islency_drawer_site_footer__name {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.s_islency_drawer_site_footer__claim {
    margin: 0.1rem 0 0.4rem;
    font-size: 0.82rem;
    font-weight: 650;
}

.s_islency_drawer_site_footer__tagline {
    font-size: 0.82rem;
    line-height: 1.45;
}

.s_islency_drawer_site_footer__cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem 1rem;
    margin-bottom: 0.95rem;
}

.s_islency_drawer_site_footer__heading,
.s_islency_drawer_site_footer .s_islency_footer_heading {
    margin: 0 0 0.45rem;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(25, 167, 160, 0.28);
    padding-bottom: 0.3rem;
}

.s_islency_drawer_site_footer .s_islency_footer_links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.s_islency_drawer_site_footer .s_islency_footer_links li + li,
.s_islency_drawer_site_footer__contact li + li {
    margin-top: 0.32rem;
}

body.o_theme_islency_nova .s_islency_drawer_site_footer a,
body.o_theme_islency_nova .s_islency_drawer_site_footer a:hover,
body.o_theme_islency_nova .s_islency_drawer_site_footer a:focus-visible {
    text-decoration: none;
    font-size: 0.84rem;
    line-height: 1.35;
}

body.o_theme_islency_nova .s_islency_drawer_site_footer a:hover,
body.o_theme_islency_nova .s_islency_drawer_site_footer a:focus-visible {
}

.s_islency_drawer_site_footer__links .fa {
    margin-right: 0.3rem;
    opacity: 0.85;
}

.s_islency_drawer_site_footer__contact a {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.4rem;
}

.s_islency_drawer_site_footer__contact .fa {
    margin-top: 0.12rem;
}

.s_islency_drawer_site_footer__col--contact,
.s_islency_drawer_site_footer__col--help {
    margin-bottom: 0.85rem;
}

.s_islency_drawer_site_footer__about {
    display: none;
}

.s_islency_drawer_site_footer__copy {
    margin-top: 0.35rem;
    font-size: 0.72rem;
}

/* Desktop: this content belongs in the page footer at the bottom, not in the categories drawer. */
@media (min-width: 992px) {
    body.o_theme_islency_nova .s_islency_drawer .s_islency_drawer_site_footer {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .s_islency_drawer_app_downloads {
        padding: 0.65rem 0.85rem 0.75rem;
    }

    .s_islency_drawer_app_downloads__hint {
        display: none;
    }

    .s_islency_drawer_app_downloads__grid {
        gap: 0.4rem;
    }

    .s_islency_drawer_app_badge {
        min-height: 2.7rem;
        padding: 0.35rem 0.5rem;
        gap: 0.4rem;
    }

    .s_islency_drawer_app_badge__icon {
        width: 1.65rem;
        height: 1.65rem;
        font-size: 0.92rem;
    }

    .s_islency_drawer_app_badge__kicker {
        display: none;
    }

    .s_islency_drawer_app_badge__name {
        font-size: 0.84rem;
    }
}

html.islency-capacitor-app .s_islency_drawer_app_downloads {
    padding-bottom: calc(0.85rem + env(safe-area-inset-bottom, 0px));
}

html.islency-capacitor-app .s_islency_drawer_app_badge {
    min-height: 2.85rem;
}

.s_islency_drawer_body::-webkit-scrollbar {
    width: 4px;
}

.s_islency_drawer_body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.s_islency_drawer_body::-webkit-scrollbar-track {
    background: transparent;
}

.s_islency_drawer_departments {
    border-bottom: none;
}

/* One 1px divider per top-level category row (inset shadow avoids border-box height drift). */
.s_islency_drawer_departments > .s_islency_drawer_dept,
.s_islency_drawer_departments > .s_islency_drawer_link--root {
    border-bottom: none;
}

.s_islency_drawer_dept {
    margin: 0;
    padding: 0;
}

.s_islency_drawer_dept[open] .s_islency_drawer_link_arrow {
    transform: rotate(90deg);
}

.s_islency_drawer_dept_summary {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    cursor: pointer;
    list-style: none;
    font-size: 0.9rem;
    height: var(--islency-drawer-row-h);
    min-height: var(--islency-drawer-row-h);
    max-height: var(--islency-drawer-row-h);
    box-sizing: border-box;
}

.s_islency_drawer_dept_summary::marker,
.s_islency_drawer_dept_summary::-webkit-details-marker {
    display: none;
    content: "";
}

.s_islency_drawer_dept_summary:hover {
    background: rgba(46, 143, 212, 0.08);
}

.s_islency_drawer_dept_label {
    flex: 1 1 auto;
    min-width: 0;
}

.s_islency_drawer_dept_children {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
}

@keyframes s_islency_drawer_subpanel_in {
    from {
        opacity: 0;
        transform: translateY(-3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.s_islency_drawer_link_inner {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    min-height: var(--islency-drawer-row-h);
    padding: 0 var(--islency-drawer-pad-x);
    box-sizing: border-box;
}

.s_islency_drawer_link {
    display: block;
    padding: 0;
    margin: 0;
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1.35;
}

.s_islency_drawer_link:hover {
}

body.o_theme_islency_nova .s_islency_drawer_link--active {
    background: rgba(46, 143, 212, 0.14);
    color: var(--islency-brand-ink, #123b50);
    font-weight: 600;
    text-decoration: none;
}

.s_islency_drawer_link--root,
.s_islency_drawer_dept_summary {
    font-weight: 600;
}

.s_islency_drawer_link--root {
    height: var(--islency-drawer-row-h);
    min-height: var(--islency-drawer-row-h);
    max-height: var(--islency-drawer-row-h);
    box-sizing: border-box;
}

.s_islency_drawer_link--root .s_islency_drawer_link_inner,
.s_islency_drawer_dept_summary .s_islency_drawer_link_inner,
.s_islency_drawer_link--account .s_islency_drawer_link_inner,
.s_islency_drawer_link--quick .s_islency_drawer_link_inner {
    padding-left: var(--islency-drawer-pad-x);
    padding-right: var(--islency-drawer-pad-x);
}

.s_islency_drawer_link--child .s_islency_drawer_link_inner {
    padding-left: var(--islency-drawer-pad-sub);
    padding-right: var(--islency-drawer-pad-x);
    font-size: 0.86rem;
}

.s_islency_drawer_link--all {
}

.s_islency_drawer_link--all .s_islency_drawer_link_inner {
    padding-left: var(--islency-drawer-pad-sub);
    padding-right: var(--islency-drawer-pad-x);
    border-bottom: var(--islency-drawer-divider);
}

.s_islency_drawer_dept_children .s_islency_drawer_link {
    display: block;
    min-height: var(--islency-drawer-row-h);
    padding: 0;
    margin: 0;
    border-radius: 0;
    color: #1e3a5f;
    font-size: 0.86rem;
    font-weight: 500;
    text-decoration: none;
}

.s_islency_drawer_dept_children .s_islency_drawer_link:not(:last-child) {
    border-bottom: var(--islency-drawer-divider);
}

.s_islency_drawer_link_icon {
    flex-shrink: 0;
    width: 1.15rem;
    text-align: center;
    font-size: 0.95rem;
    opacity: 0.95;
}

.s_islency_drawer_link_icon--sub {
    font-size: 0.8rem;
}

.s_islency_drawer_link_text {
    flex: 1 1 auto;
    min-width: 0;
}

.s_islency_drawer_link_arrow {
    flex-shrink: 0;
    color: var(--islency-ink-subtle, #8aa0ab);
    font-size: 0.85rem;
}

.s_islency_drawer_link:hover .s_islency_drawer_link_arrow,
.s_islency_drawer_dept_summary:hover .s_islency_drawer_link_arrow {
    color: var(--islency-brand-grass, #4f9e32);
}

.s_islency_drawer_section {
    padding: 0.35rem 0 0.85rem;
}

.s_islency_drawer_section--quick {
    background: var(--islency-brand-panel-grass, linear-gradient(180deg, #e8f7e0 0%, #d4efc8 100%));
    margin-top: 0.25rem;
    padding-bottom: 1rem;
}

.s_islency_drawer_section_title {
    font-family: var(--islency-font-family-base, "Source Sans 3", sans-serif);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.85rem 1rem 0.4rem;
    margin: 0;
}

.s_islency_drawer_section_title--inset {
    padding-top: 0.75rem;
    padding-bottom: 0.15rem;
}

.s_islency_drawer_section--quick .s_islency_drawer_link {
    border-bottom: none;
    box-shadow: inset 0 -1px 0 var(--islency-brand-border, #e3eaf0);
    height: var(--islency-drawer-row-h);
    min-height: var(--islency-drawer-row-h);
    max-height: var(--islency-drawer-row-h);
    box-sizing: border-box;
}

.s_islency_drawer_section--quick .s_islency_drawer_link:last-child {
    border-bottom: none;
}

.s_islency_drawer_account_links {
    border-top: none;
    border-bottom: none;
    background: var(--islency-white, #fff);
}

/* Account drawer links — navy ink, sans-serif; beats Bootstrap --bs-link-color on /my pages */
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link .s_islency_drawer_link_text {
    color: var(--islency-brand-ink, #123b50);
    font-family: var(--islency-font-family-base, "Source Sans 3", sans-serif);
    font-weight: 600;
    text-decoration: none;
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--account {
    border-bottom: none;
    height: var(--islency-drawer-row-h);
    min-height: var(--islency-drawer-row-h);
    max-height: var(--islency-drawer-row-h);
    box-sizing: border-box;
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--account:last-child {
    border-bottom: none;
}

body.o_theme_islency_nova .s_islency_drawer_account_links .s_islency_drawer_link_icon,
body.o_theme_islency_nova .s_islency_drawer_account_links .s_islency_drawer_link_arrow {
    color: var(--islency-brand-ink, #123b50);
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link:hover,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link:hover .s_islency_drawer_link_text {
    background: var(--islency-brand-page-bg, #f0f7fb);
    color: var(--islency-brand-sea-dark, #123b50);
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link:hover .s_islency_drawer_link_icon,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link:hover .s_islency_drawer_link_arrow {
    color: var(--islency-brand-sea, #19a7a0);
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout .s_islency_drawer_link_text {
    color: var(--islency-danger, #c0392b);
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout .s_islency_drawer_link_icon,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout .s_islency_drawer_link_arrow {
    color: var(--islency-danger, #c0392b);
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout {
    margin-top: 0;
    border-top: none;
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout:hover,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout:hover .s_islency_drawer_link_text {
    background: #fdecea;
    color: #a93226;
}

body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout:hover .s_islency_drawer_link_icon,
body.o_theme_islency_nova .s_islency_drawer_account_links a.s_islency_drawer_link--logout:hover .s_islency_drawer_link_arrow {
    color: #a93226;
}

body.o_islency_drawer_open {
    overflow: hidden;
}

/* ── Cart drawer (right flyout) ──────────────────────────────────────────── */
.s_islency_cart_drawer {
    z-index: 1070;
}

.s_islency_cart_drawer.s_islency_cart_drawer_open {
}

.s_islency_cart_drawer.s_islency_cart_drawer_open .s_islency_cart_drawer_backdrop {
    opacity: 1;
}

.s_islency_cart_drawer.s_islency_cart_drawer_open .s_islency_cart_drawer_panel {
    transform: translateX(0);
}

.s_islency_cart_drawer_backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    cursor: pointer;
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
}

.s_islency_cart_drawer_panel {
    position: absolute;
    z-index: 1;
    transform: translateX(calc(100% + 0.75rem));
    display: flex;
    flex-direction: column;
    -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

.s_islency_cart_drawer_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.85rem 1rem;
    flex-shrink: 0;
}

.s_islency_cart_drawer_title {
    font-family: var(--islency-font-family-base);
    font-size: 1rem;
    font-weight: 700;
    color: var(--islency-deep, #123b50);
    display: flex;
    align-items: center;
}

.s_islency_cart_drawer_tabs {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.15rem;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(18, 59, 80, 0.04);
}

.s_islency_cart_drawer_tab {
    flex: 1 1 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.15rem;
    padding: 0.35rem 0.55rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 600;
}

.s_islency_cart_drawer_tab:hover,
.s_islency_cart_drawer_tab:focus-visible {
    color: var(--islency-deep, #123b50);
    background: color-mix(in srgb, var(--islency-turquoise, #19a7a0) 14%, var(--islency-white, #fff));
    outline: none;
}

.s_islency_cart_drawer_tab--active,
.s_islency_cart_drawer_tab[aria-selected="true"] {
    box-shadow: 0 2px 10px color-mix(in srgb, var(--islency-turquoise, #19a7a0) 35%, transparent);
}

.s_islency_cart_drawer_tab .fa {
    font-size: 0.85rem;
}

.s_islency_cart_drawer_tab .s_islency_cart_drawer_count,
.s_islency_cart_drawer_tab .s_islency_cart_drawer_wish_count,
.s_islency_cart_drawer_tab .my_cart_quantity,
.s_islency_cart_drawer_tab .my_wish_quantity {
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
}

.s_islency_cart_drawer_tab--active .s_islency_cart_drawer_count,
.s_islency_cart_drawer_tab--active .s_islency_cart_drawer_wish_count,
.s_islency_cart_drawer_tab--active .my_cart_quantity,
.s_islency_cart_drawer_tab--active .my_wish_quantity {
}

#islency_cart_drawer[data-islency-drawer-tab="wishlist"] .s_islency_cart_drawer_footer_wrap,
#islency_cart_drawer[data-islency-drawer-tab="wishlist"] [data-islency-drawer-pane="cart"],
#islency_cart_drawer[data-islency-drawer-tab="cart"] [data-islency-drawer-pane="wishlist"] {
}

.s_islency_cart_drawer_pane {
    min-height: 100%;
}

.s_islency_cart_drawer_wishlist {
    min-height: 100%;
}

.s_islency_cart_drawer_wish_empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 14rem;
    padding: 1.5rem 0.75rem;
    text-align: center;
}

.s_islency_cart_drawer_wish_empty_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: rgba(224, 122, 138, 0.12);
    color: #e07a8a;
}

.s_islency_cart_drawer_wish_empty_icon .s_islency_svg_icon {
    width: 1.5rem;
    height: 1.5rem;
}

.s_islency_cart_drawer_wish_empty_title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--islency-deep, #123b50);
    margin: 0.35rem 0 0;
}

.s_islency_cart_drawer_wish_empty_text {
    font-family: var(--islency-font-family-base);
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--islency-ink-muted, #5a7380);
    margin: 0;
    max-width: 16rem;
}

.s_islency_cart_drawer_wish_empty_cta {
    margin-top: 0.5rem;
}

.s_islency_cart_drawer_wish_list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.s_islency_cart_drawer_wish_item {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid #eef2f5;
}

.s_islency_cart_drawer_wish_item:last-child {
    border-bottom: none;
}

.s_islency_cart_drawer_wish_media {
    flex: 0 0 3.25rem;
}

.s_islency_cart_drawer_wish_media img {
    width: 3.25rem;
    height: 3.25rem;
    max-width: 3.25rem;
    object-fit: cover;
    border-radius: 0.75rem;
    background: var(--islency-white, #fff);
}

.s_islency_cart_drawer_wish_body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.s_islency_cart_drawer_wish_name {
    font-family: var(--islency-font-family-base);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--islency-ink, #123b50);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.s_islency_cart_drawer_wish_name:hover,
.s_islency_cart_drawer_wish_name:focus {
    color: var(--islency-turquoise, #19a7a0);
}

.s_islency_cart_drawer_wish_price {
    font-family: var(--islency-font-family-base);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--islency-brand-ink, #123b50);
}

.s_islency_cart_drawer_wish_actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem 0.65rem;
    margin-top: 0.1rem;
}

.s_islency_cart_drawer_wish_add,
.s_islency_cart_drawer_wish_remove {
    border: 0;
    background: transparent;
    padding: 0;
    font-family: var(--islency-font-family-base);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--islency-ink-muted, #5a7380);
    cursor: pointer;
}

.s_islency_cart_drawer_wish_add:hover,
.s_islency_cart_drawer_wish_add:focus {
    color: var(--islency-turquoise, #19a7a0);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.s_islency_cart_drawer_wish_remove:hover,
.s_islency_cart_drawer_wish_remove:focus {
    color: var(--islency-danger, #c0392b);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.s_islency_cart_drawer_wish_add[aria-busy="true"],
.s_islency_cart_drawer_wish_remove[aria-busy="true"] {
    opacity: 0.6;
    pointer-events: none;
}

body.o_theme_islency_nova .s_islency_cart_drawer_count:empty,
body.o_theme_islency_nova .s_islency_cart_drawer_count.d-none {
    display: none;
}

.s_islency_cart_drawer_close {
    border: none;
    border-radius: 50%;
    font-size: 1.25rem;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.s_islency_cart_drawer_body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1rem;
    -webkit-overflow-scrolling: touch;
}

.s_islency_cart_drawer_cart,
.s_islency_cart_drawer_cart #cart_products,
.s_islency_cart_drawer_cart #cart_products.s_islency_cart_products {
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
    margin-bottom: 0;
    padding: 0;
}

.s_islency_cart_drawer_cart .o_cart_product[data-islency-delivery="1"] {
    display: none !important;
}

/* Native title / Bootstrap tooltip over the qty stepper («Eliminar uno»). */
body.o_theme_islency_nova .s_islency_cart_drawer .tooltip,
body.o_theme_islency_nova .s_islency_cart_drawer .bs-tooltip-auto,
body.o_theme_islency_nova .s_islency_cart_drawer [role="tooltip"] {
    display: none !important;
}

/* Mini-cart rows: drawer is ~24rem but Odoo cart_lines uses viewport md breakpoints,
   so desktop layout (title + side price + d-md-flex actions) renders inside a narrow panel. */
body.o_theme_islency_nova .s_islency_cart_drawer_cart #cart_products {
    --cart-product-img-size-lg: 3.5rem;
    gap: 0;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product {
    display: grid !important;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: start;
    gap: 0.4rem 0.65rem !important;
    border-bottom: none;
    padding: 0.7rem 0.75rem;
}

.s_islency_cart_drawer_cart .o_cart_product:last-child {
}

.s_islency_cart_drawer_cart .o_cart_product_image {
    grid-column: 1;
    grid-row: 1;
    width: 4rem;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product_image img,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product_image .border.rounded {
    width: 4rem;
    max-width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: 0.65rem !important;
    border-color: rgba(18, 59, 80, 0.1) !important;
    background: var(--islency-surface-subtle, #f8fafc);
}

/* Only unwrap the column so origin / shipping / actions can sit on full-width rows.
   Keep title+price+qty together so the name never paints above the photo. */
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product > .d-flex.flex-column {
    display: contents !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product > .d-flex.flex-column > .d-flex.gap-3 {
    grid-column: 2;
    grid-row: 1;
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .flex-grow-1.text-wrap {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .d-flex.justify-content-between {
    display: block !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .d-flex.justify-content-between > .d-block.d-md-none {
    display: none !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product > .d-flex.flex-column > .d-flex.gap-3 > .d-none.d-md-block {
    display: flex !important;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product h6:not([name="website_sale_cart_line_price"]) {
    font-family: var(--islency-font-family-base);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--islency-ink, #123b50);
    width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

.s_islency_cart_drawer_cart .o_cart_product h6.text-wrap {
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="website_sale_cart_line_price"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    gap: 0.3rem;
    width: auto;
    margin: 0;
    padding: 0;
    font-family: var(--islency-font-family-base);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--islency-brand-ink, #123b50);
    white-space: nowrap;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="website_sale_cart_line_price"] .oe_price,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="website_sale_cart_line_price"] del {
    font-family: var(--islency-font-family-base);
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="website_sale_cart_line_price"] del {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--islency-ink-subtle, #8aa0ab);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .d-md-flex.flex-md-wrap {
    display: block !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .d-inline-flex.flex-wrap {
    gap: 0.15rem 0.35rem;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .cart_product_base_unit_price {
    display: none;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] {
    grid-column: 1 / -1;
    grid-row: 4;
    display: flex !important;
    flex-wrap: nowrap;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
    white-space: nowrap;
}

.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] .text-300 {
    display: none;
}

.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a,
.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] .js_delete_product {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.85rem;
    width: 1.85rem;
    height: 1.85rem;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(18, 59, 80, 0.06);
    font-size: 0;
    line-height: 0;
    color: transparent;
    text-decoration: none;
    white-space: nowrap;
}

.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a::before,
.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] .js_delete_product::before {
    font-family: FontAwesome, "Font Awesome 4 Free", "FontAwesome";
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1;
    color: var(--islency-ink-muted, #5a7380);
}

.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] .js_delete_product:not(.o_add_wishlist)::before {
    content: "\f014";
}

.s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a.o_add_wishlist::before {
    content: "\f0c7";
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a:hover,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a:focus {
    color: transparent;
    text-decoration: none;
    background: rgba(192, 57, 43, 0.1);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] .js_delete_product:not(.o_add_wishlist):hover::before,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] .js_delete_product:not(.o_add_wishlist):focus::before {
    color: var(--islency-danger, #c0392b);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a.o_add_wishlist:hover,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a.o_add_wishlist:focus {
    background: rgba(25, 167, 160, 0.12);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a.o_add_wishlist:hover::before,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container"] a.o_add_wishlist:focus::before {
    color: var(--islency-turquoise, #19a7a0);
}

/* Origin under the photo; shipping uses the remaining width of that row. */
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_cart_line_origin,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_card_origin {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-bottom: 0;
    padding: 0.12rem 0.45rem 0.12rem 0.3rem;
    border-radius: 999px;
    background: rgba(25, 167, 160, 0.08);
    font-size: 0.6875rem;
    font-weight: 650;
    line-height: 1.2;
    color: var(--islency-deep, #123b50);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_card_origin:not(.s_islency_card_origin--local) {
    background: rgba(18, 59, 80, 0.06);
    color: var(--islency-brand-ink, #123b50);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_card_origin .s_islency_origin_flag,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_card_origin .fa-plane {
    flex: 0 0 auto;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_card_origin .s_islency_origin_flag {
    width: 12px;
    height: 8px;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_card_origin .fa-plane {
    font-size: 0.65rem;
    color: var(--islency-turquoise, #19a7a0);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_line_shipping {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_cart_line_origin {
    grid-column: 1 / -1;
    grid-row: 2;
    width: auto;
    max-width: 100%;
    justify-self: start;
    white-space: nowrap;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_cart_oos_note {
    grid-column: 1 / -1;
    grid-row: 5;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_line_shipping_fold,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .s_islency_line_shipping_solo {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product [name="o_wsale_cart_line_button_container_mobile"] {
    display: none !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity {
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-height: 1.85rem;
    margin: 0;
    padding: 0 0.1rem;
    border-radius: 999px;
    overflow: hidden;
    background: #f4f8fa;
    box-shadow: none;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity .btn-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.7rem;
    width: 1.7rem !important;
    min-width: 1.7rem;
    height: 1.7rem;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    color: var(--islency-deep, #123b50);
    text-decoration: none;
    box-shadow: none;
    line-height: 1;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity .btn-link .oi {
    font-size: 0.7rem;
    line-height: 1;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity .btn-link:hover,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity .btn-link:focus {
    color: var(--islency-turquoise, #19a7a0);
    text-decoration: none;
    background: transparent;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity .quantity,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .css_quantity .form-control {
    flex: 0 0 1.35rem;
    width: 1.35rem;
    min-width: 1.35rem;
    max-width: 1.6rem;
    height: 1.7rem !important;
    min-height: 1.7rem !important;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.7rem;
    color: var(--islency-deep, #123b50);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .list-inline,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product h6.mt-2 {
    display: none;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .list-group {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin: 0.2rem 0 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .list-group-item {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.6875rem;
    color: var(--islency-ink-muted, #5a7380);
}

/* Variant / combination captions — sans, smaller (not Playfair .h6) */
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .h6.text-muted,
body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product span.h6.text-muted {
    font-family: var(--islency-font-family-base) !important;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.35;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .d-none.d-md-inline.h6.text-muted {
    display: none !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .o_cart_product .text-muted.small {
    display: none !important;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .s_islency_cart_oos_note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.4rem;
    margin-top: 0.15rem;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .s_islency_cart_oos_badge {
    font-family: var(--islency-font-family-base);
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.2;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart .s_islency_cart_oos_delivery {
    font-family: var(--islency-font-family-base);
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--islency-ink-muted, #5a7380);
}

body.o_theme_islency_nova .s_islency_cart_drawer_panel,
body.o_theme_islency_nova .s_islency_cart_drawer_footer_wrap,
body.o_theme_islency_nova .s_islency_cart_drawer_footer .o_checkout_cart_total {
    font-family: var(--islency-font-family-base);
    color: var(--islency-brand-ink, #123b50);
}

.s_islency_cart_drawer_footer_wrap {
    flex: 0 0 auto;
    margin-top: auto;
    padding: 0.65rem 0.9rem 0.75rem;
}

.s_islency_cart_drawer_footer .o_checkout_cart_total {
}

.s_islency_cart_drawer_footer .o_checkout_cart_total table,
.s_islency_cart_drawer_footer .o_checkout_cart_total tbody {
    margin-bottom: 0;
}

.s_islency_cart_drawer_footer .o_checkout_cart_total td {
    padding-top: 0.18rem !important;
    padding-bottom: 0.18rem !important;
    font-size: 0.875rem;
    line-height: 1.35;
    vertical-align: middle;
}

.s_islency_cart_drawer_footer .o_checkout_cart_total tr:not(:has(.coupon_form)) {
}

.s_islency_cart_drawer_footer .o_checkout_cart_total tr:not(:has(.coupon_form)) td {
    width: auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.s_islency_cart_drawer_footer .o_checkout_cart_total tr:not(:has(.coupon_form)) td:not(:last-child) {
}

.s_islency_cart_drawer_footer .o_checkout_cart_total tr:not(:has(.coupon_form)) td:last-child {
    white-space: nowrap;
}

.s_islency_cart_drawer_footer tr[name="o_order_total"] {
    margin-top: 0.2rem;
    padding-top: 0.35rem;
}

.s_islency_cart_drawer_footer tr[name="o_order_total"] td {
    padding-top: 0.35rem !important;
    border-top: 0 !important;
}

.s_islency_cart_drawer_footer tr[name="o_order_total_taxes"],
.s_islency_cart_drawer_footer tr.oe_website_sale_gift_card,
.s_islency_cart_drawer_footer .alert-primary {
    display: none !important;
}

.s_islency_cart_drawer_footer tr:has(.coupon_form),
.s_islency_cart_drawer_footer tr:has(.coupon_form) td,
.s_islency_cart_drawer_footer td.text-end:has(.coupon_form),
.s_islency_cart_drawer_footer td.text-xl-end:has(.coupon_form) {
}

.s_islency_cart_drawer_footer td:has(.coupon_form) > span,
.s_islency_cart_drawer_footer .coupon_form,
.s_islency_cart_drawer_footer .coupon_form form {
}

.s_islency_cart_drawer_footer .s_islency_coupon_input_group {
    width: 100% !important;
}

.s_islency_cart_drawer_footer td:has(.coupon_form)::before,
.s_islency_cart_drawer_footer td:has(.coupon_form)::after,
.s_islency_cart_drawer_footer .coupon_form::before,
.s_islency_cart_drawer_footer .coupon_form::after,
.s_islency_cart_drawer_footer .s_islency_coupon_apply::before,
.s_islency_cart_drawer_footer .s_islency_coupon_apply::after {
}

.s_islency_cart_drawer_footer .coupon_form,
.s_islency_cart_drawer_footer .coupon_form form,
.s_islency_cart_drawer_footer .s_islency_coupon_input_group {
    margin: 0.35rem 0 0;
    max-width: none;
}

.s_islency_cart_drawer_footer .coupon_form form.mb-3 {
}

.s_islency_cart_drawer_footer .s_islency_coupon_input_group {
}

.s_islency_cart_drawer_footer .s_islency_coupon_input_group .form-control {
}

.s_islency_cart_drawer_footer .s_islency_coupon_apply {
    position: relative;
    z-index: 1;
}

.s_islency_cart_drawer_actions {
}

.s_islency_cart_checkout_btn {
}

.s_islency_cart_view_full,
.s_islency_cart_empty_continue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    border-radius: 999px;
    border: 1px solid rgba(25, 167, 160, 0.42);
    background: var(--islency-white, #fff);
    color: var(--islency-turquoise, #19a7a0);
    font-weight: 750;
    text-decoration: none;
}

body.o_islency_cart_drawer_open {
    overflow: hidden;
}

/* Empty mini-cart state inside drawer */
body.o_theme_islency_nova .s_islency_cart_drawer_cart > .js_cart_lines {
    font-family: var(--islency-font-family-base);
    text-align: center;
    padding: 2rem 1rem 1.5rem;
    color: var(--islency-brand-ink-soft, #3d6f8f);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart > .js_cart_lines h5 {
    font-family: var(--islency-font-family-base);
    font-size: 1rem;
    font-weight: 600;
    color: var(--islency-brand-ink, #123b50);
}

body.o_theme_islency_nova .s_islency_cart_drawer_cart > .js_cart_lines .btn-primary {
    font-weight: 600;
}

/* ── Product configurator ("Configurar" / Opciones) ─────────────────────────
   Compact rows: main product as a cart-like line, optional products as
   thumbnail + name + add. Loaded on shop + checkout (drawer_cart.css). */
body.o_theme_islency_nova .o_dialog:has(.o_sale_product_configurator_dialog) .modal-dialog {
    --islency-cfg-thumb: 4.75rem;
    --islency-cfg-opt-thumb: 3.5rem;
    max-width: min(32rem, calc(100vw - 1.25rem));
    margin: 0.65rem auto;
    width: 100%;
}

body.o_theme_islency_nova .modal-content.o_sale_product_configurator_dialog {
    border-radius: 1rem;
    border: 1px solid var(--islency-brand-border, #e3eaf0);
    box-shadow: 0 12px 40px rgba(18, 59, 80, 0.18);
    overflow: hidden;
    max-height: min(92dvh, 46rem);
    display: flex;
    flex-direction: column;
    background: var(--islency-white, #fff);
    font-family: var(--islency-font-family-base);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-header {
    flex-shrink: 0;
    align-items: center;
    gap: 0.5rem;
    border-bottom: 1px solid var(--islency-brand-border, #bde0fe);
    padding: 0.85rem 1rem;
    background: linear-gradient(180deg, #f0f7fb 0%, #e3f4fb 100%);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-header .modal-title,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-header :is(h1, h2, h4, .h4, .modal-title) {
    color: var(--islency-brand-ink, #123b50);
    font-family: var(--islency-font-family-base);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: normal;
    line-height: 1.3;
    margin: 0;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-header .btn-close {
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.75);
    opacity: 1;
    box-shadow: none;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-header .btn-close:hover,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-header .btn-close:focus {
    background-color: var(--islency-white, #fff);
    opacity: 1;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0.85rem 1rem 0.5rem;
    background: var(--islency-shop-page-bg, #f4f7fa);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_table {
    display: block;
    width: 100%;
    margin-bottom: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_table thead {
    display: none;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_table tbody {
    display: block;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_table tr > td {
    display: block;
    min-width: 0;
    padding: 0 !important;
    border: 0;
}

/* Main product: thumb | name+price+variants, qty under the name */
body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table:not(.o_sale_product_configurator_table_optional) tbody tr {
    display: grid;
    grid-template-columns: var(--islency-cfg-thumb) minmax(0, 1fr);
    grid-template-areas:
        "img name"
        "img qty";
    column-gap: 0.75rem;
    row-gap: 0.4rem;
    align-items: start;
    padding: 0.75rem;
    background: var(--islency-white, #fff);
    border: 1px solid var(--islency-shop-card-border, #e4ebf1);
    border-radius: 0.95rem;
    box-shadow: 0 1px 2px rgba(18, 59, 80, 0.04);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table:not(.o_sale_product_configurator_table_optional)
    .o_sale_product_configurator_img {
    grid-area: img;
    width: var(--islency-cfg-thumb);
    max-width: var(--islency-cfg-thumb);
    margin: 0;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table:not(.o_sale_product_configurator_table_optional)
    .product_name_description {
    grid-area: name;
    max-width: none;
    padding: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table:not(.o_sale_product_configurator_table_optional)
    .o_sale_product_configurator_qty {
    grid-area: qty;
    width: auto !important;
    text-align: left !important;
    margin: 0;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_img img,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_islency_configurator_img {
    width: 100%;
    max-width: 100%;
    height: var(--islency-cfg-thumb);
    max-height: var(--islency-cfg-thumb);
    aspect-ratio: 1;
    object-fit: cover;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="o_sale_product_configurator_name"] {
    margin-bottom: 0.2rem !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="o_sale_product_configurator_name"] .h6,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="o_sale_product_configurator_name"] span {
    color: var(--islency-ink, #123b50);
    font-family: var(--islency-font-family-base);
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.35;
    white-space: normal;
    text-overflow: unset;
    overflow: visible;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_islency_configurator_price {
    margin-bottom: 0.35rem !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_islency_configurator_price [name="sale_product_configurator_formatted_price"] {
    color: var(--islency-brand-sea-dark, #123b50);
    font-family: var(--islency-font-family-base);
    font-size: 1rem;
    text-align: left !important;
    margin-bottom: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_qty .css_quantity {
    align-items: center;
    margin-top: 0;
    max-width: 8.5rem;
    overflow: hidden;
    background: var(--islency-surface-subtle, #f8fafc);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_qty .css_quantity .btn-link {
    border: 0;
    width: 2.15rem;
    min-width: 2.15rem;
    height: 2.15rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border-radius: 999px;
    box-shadow: none;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_qty .css_quantity .btn-link:hover,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_qty .css_quantity .btn-link:focus {
    background: color-mix(in srgb, var(--islency-brand-sea-dark, #123b50) 10%, var(--islency-white, #fff));
    color: var(--islency-brand-sea-dark, #123b50);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_qty .css_quantity .quantity,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_qty .css_quantity .form-control {
    border: 0 !important;
    background: transparent;
    font-family: var(--islency-font-family-base);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--islency-ink, #123b50);
    min-height: 2.15rem;
    padding: 0 0.25rem;
    box-shadow: none;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .impossible_combination_alert {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Optional products: compact horizontal cards */
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_optional_products {
    margin: 0.85rem 0 0 !important;
    padding: 0.85rem 0 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="sale_product_configurator_list_title"] {
    margin: 0 0 0.65rem;
    color: var(--islency-brand-sea-dark, #123b50);
    font-family: var(--islency-font-family-base);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional tbody {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional tbody tr {
    display: grid;
    grid-template-columns: var(--islency-cfg-opt-thumb) minmax(0, 1fr) minmax(5.25rem, auto);
    grid-template-areas: "img name price";
    align-items: center;
    column-gap: 0.65rem;
    padding: 0.55rem 0.6rem;
    background: var(--islency-white, #fff);
    border: 1px solid var(--islency-shop-card-border, #e4ebf1);
    border-radius: 0.85rem;
    box-shadow: 0 1px 2px rgba(18, 59, 80, 0.04);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .o_sale_product_configurator_img {
    grid-area: img;
    width: var(--islency-cfg-opt-thumb) !important;
    max-width: var(--islency-cfg-opt-thumb);
    margin: 0;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .o_sale_product_configurator_img img,
body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .o_islency_configurator_img {
    height: var(--islency-cfg-opt-thumb);
    max-height: var(--islency-cfg-opt-thumb);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .product_name_description {
    grid-area: name;
    max-width: none;
    padding: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="o_sale_product_configurator_name"] {
    margin-bottom: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="o_sale_product_configurator_name"] .h6,
body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="o_sale_product_configurator_name"] span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.8125rem;
    line-height: 1.3;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .o_sale_product_configurator_price {
    grid-area: price;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 0.3rem;
    width: auto;
    text-align: right !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .o_sale_product_configurator_price > .d-md-flex {
    display: flex !important;
    flex-direction: column;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="sale_product_configurator_formatted_price"] {
    font-size: 0.8125rem;
    color: var(--islency-brand-sea-dark, #123b50);
    margin-bottom: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional .oe_striked_price {
    font-size: 0.6875rem;
    margin: 0;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="sale_product_configurator_add_button"] {
    width: 2.35rem;
    min-width: 2.35rem;
    height: 2.35rem;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--islency-brand-sea-dark, #123b50) !important;
    color: var(--islency-white, #fff);
    box-shadow: none;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="sale_product_configurator_add_button"]:hover,
body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="sale_product_configurator_add_button"]:focus {
    background: var(--islency-brand-btn-primary-hover, #0f3d5c) !important;
    color: var(--islency-white, #fff) !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog
    .o_sale_product_configurator_table_optional [name="add_button"] {
    display: none !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-footer {
    flex-shrink: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 0.85rem 1rem 1rem;
    border-top: 1px solid var(--islency-brand-border, #bde0fe);
    background: linear-gradient(180deg, #f8fafb 0%, #f0f7fb 100%);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-footer .o_configurator_price_total,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-footer [name="sale_product_configurator_list_total"],
body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-footer :is(h5, .h5, h6, .h6) {
    order: 0 !important;
    width: 100% !important;
    text-align: center !important;
    color: var(--islency-brand-sea-dark, #123b50);
    font-family: var(--islency-font-family-base);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: normal;
    margin: 0 !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-footer .d-flex.flex-column.flex-md-row {
    flex-direction: column !important;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-footer .btn {
    font-family: var(--islency-font-family-base);
    font-weight: 600;
}

@media (max-width: 575.98px) {
    body.o_theme_islency_nova .o_dialog:has(.o_sale_product_configurator_dialog) .modal-dialog {
        --islency-cfg-thumb: 4rem;
        --islency-cfg-opt-thumb: 3.25rem;
        max-width: calc(100vw - 0.75rem);
        margin: 0.4rem auto;
    }

    body.o_theme_islency_nova .modal-content.o_sale_product_configurator_dialog {
        max-height: 94dvh;
        border-radius: 0.85rem;
    }

    body.o_theme_islency_nova .o_sale_product_configurator_dialog .modal-body {
        padding: 0.7rem 0.75rem 0.4rem;
    }

    body.o_theme_islency_nova .o_sale_product_configurator_dialog
        .o_sale_product_configurator_table_optional tbody tr {
        grid-template-columns: var(--islency-cfg-opt-thumb) minmax(0, 1fr) minmax(4.75rem, auto);
        padding: 0.45rem 0.45rem;
        column-gap: 0.5rem;
    }

    body.o_theme_islency_nova .o_sale_product_configurator_dialog
        .o_sale_product_configurator_table_optional .oe_striked_price {
        display: none;
    }
}

/* ── Variant chips (PDP + configurator) ─────────────────────────────────────
   Radio display-type is the default for Talla. Native radios overflow on
   mobile and the modal is outside #wrap.o_wsale_product_page (PDP pill scope).
   Chip surface is .form-check only — the wrapping <label> stays a wrapper. */
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .o_wsale_product_attribute,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    row-gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .js_attribute_value {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .js_attribute_value > label {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    min-width: 0;
    min-height: 0;
    cursor: pointer;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .form-check,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] .form-check {
    position: relative;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .form-check-input,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] .form-check-input:not(.btn-check) {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .form-check,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] .form-check,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_ptav_pills .btn,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .o_variant_pills {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.35rem;
    margin: 0;
    padding: 0.35rem 0.75rem !important;
    border: 1px solid var(--islency-brand-border, #e3eaf0);
    border-radius: 0.55rem;
    background: var(--islency-white, #fff);
    color: var(--islency-ink, #123b50);
    font-family: var(--islency-font-family-base);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    touch-action: manipulation;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .js_attribute_value:has(.form-check-input:checked) .form-check,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] li:has(.form-check-input:checked) .form-check,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_ptav_pills.active .btn,
body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_ptav_pills:has(input:checked) .btn,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .btn-check:checked + .btn,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .o_variant_pills.active {
    border-color: var(--islency-turquoise, #19a7a0);
    background: color-mix(in srgb, var(--islency-turquoise, #19a7a0) 16%, var(--islency-white, #fff));
    color: var(--islency-deep, #123b50);
    box-shadow: none;
    font-weight: 750;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute .attribute_name,
body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] > div > label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--islency-ink, #123b50);
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] {
    width: 100%;
    min-width: 0;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] .form-select,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .form-select {
    width: 100%;
    max-width: 100%;
    min-height: 2.5rem;
}

body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_ptav_color,
body.o_theme_islency_nova #wrap.o_wsale_product_page .css_attribute_color {
    width: 1.85rem;
    height: 1.85rem;
    min-width: 1.85rem;
    min-height: 1.85rem;
    padding: 0;
    border-radius: 999px;
}

@media (max-width: 575.98px) {
    body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .form-check,
    body.o_theme_islency_nova .o_sale_product_configurator_dialog [name="ptal"] .form-check,
    body.o_theme_islency_nova .o_sale_product_configurator_dialog .o_sale_product_configurator_ptav_pills .btn {
        min-width: 2.85rem;
        min-height: 2.6rem;
        padding: 0.4rem 0.7rem;
    }
}

/* PDP variants: label + chosen value, then compact pills (same rhythm as Cantidad). */
body.o_theme_islency_nova .s_islency_pdp_highlights,
body.o_theme_islency_nova .s_islency_pdp_chips {
    display: none !important;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes.mb-4 {
    margin-top: 0.35rem;
    margin-bottom: 0.55rem !important;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .s_islency_pdp_variants {
    gap: 0.85rem;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .variant_attribute {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    margin: 0;
    width: 100%;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .variant_attribute > .attribute_name {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    color: var(--islency-deep, #123b50);
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .s_islency_attr_selected,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .attribute_value {
    color: var(--islency-ink-muted, #6c8da6);
    font-size: 0.85rem;
    font-weight: 650;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .s_islency_attr_selected::before {
    content: "·";
    margin-right: 0.2rem;
    color: color-mix(in srgb, var(--islency-deep, #123b50) 28%, var(--islency-white, #fff));
    font-weight: 700;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .variant_attribute > .o_wsale_product_attribute,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .variant_attribute > select.form-select {
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    gap: 0.4rem !important;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .s_islency_attr_selected:not(:has(.attribute_value)) {
    display: none;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .form-check,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .o_variant_pills,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .js_add_cart_variants .o_variant_pills.btn {
    min-width: 2.75rem;
    min-height: 2.05rem;
    padding: 0.32rem 0.9rem !important;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--islency-deep, #123b50) 16%, var(--islency-white, #fff));
    background: var(--islency-white, #fff);
    color: var(--islency-deep, #123b50);
    font-weight: 700;
    box-shadow: none;
}

body.o_theme_islency_nova #wrap.o_wsale_product_page .variant_attribute[data-attribute-display-type="radio"] .js_attribute_value:has(.form-check-input:checked) .form-check,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .btn-check:checked + .btn,
body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .o_variant_pills.active {
    border-color: var(--islency-turquoise, #19a7a0);
    background: var(--islency-turquoise, #19a7a0);
    color: var(--islency-white, #fff);
    box-shadow: none;
    font-weight: 750;
}

@media (max-width: 575.98px) {
    body.o_theme_islency_nova #wrap.o_wsale_product_page .o_wsale_product_details_content_section_attributes .variant_attribute {
        grid-template-columns: none;
    }
}
