.kessel-dolibarr-page .themelogik-page__header {
    display: none;
}

body.kessel-user-professional {
    --kessel-professional-cta-bg: var(--color-cta-profesionales);
    --kessel-professional-cta-text: #FCFCFC;
    --kessel-professional-cta-hover-bg: var(--color-cta-profesionales-hover-bg, #FCFCFC);
    --kessel-professional-cta-hover-text: var(--color-cta-profesionales-hover-text, var(--color-cta-profesionales));
    --kessel-professional-cta-hover-border: var(--color-cta-profesionales-hover-border, var(--color-cta-profesionales));
    --color-cta: var(--kessel-professional-cta-bg);
    --color-cta-text: var(--kessel-professional-cta-text);
    --color-cta-hover-bg: var(--kessel-professional-cta-hover-bg);
    --color-cta-hover-text: var(--kessel-professional-cta-hover-text);
    --color-cta-hover-border: var(--kessel-professional-cta-hover-border);
}

body.kessel-user-professional .kessel-cart,
body.kessel-user-professional .kessel-checkout {
    --kessel-cart-primary-bg: var(--color-cta-profesionales);
    --kessel-cart-primary-color: var(--kessel-professional-cta-text, #FCFCFC);
    --kessel-cart-primary-hover-bg: var(--kessel-professional-cta-hover-bg, var(--color-cta-hover-bg, #FCFCFC));
    --kessel-cart-primary-hover-color: var(--kessel-professional-cta-hover-text, var(--color-cta-profesionales));
    --kessel-cart-primary-hover-border: var(--kessel-professional-cta-hover-border, var(--color-cta-profesionales));
    --kessel-cart-checkout-bg: var(--color-cta-profesionales);
    --kessel-cart-checkout-color: var(--kessel-professional-cta-text, #FCFCFC);
    --kessel-cart-checkout-hover-bg: var(--kessel-professional-cta-hover-bg, var(--color-cta-hover-bg, #FCFCFC));
    --kessel-ecommerce-flow-button-bg: var(--color-cta-profesionales);
    --kessel-ecommerce-flow-button-color: var(--kessel-professional-cta-text, #FCFCFC);
}

.kessel-cart {
    --kessel-cart-bg: var(--color-fondo-oscuro, transparent);
    --kessel-cart-surface: var(--color-blanco, transparent);
    --kessel-cart-surface-muted: var(--color-fondo-claro, var(--kessel-cart-surface));
    --kessel-cart-text: var(--color-negro-texto, currentColor);
    --kessel-cart-text-muted: var(--font-body-claro-color, var(--kessel-cart-text));
    --kessel-cart-title-color: var(--font-seccion-clara-color, var(--kessel-cart-text));
    --kessel-cart-border: color-mix(in srgb, var(--kessel-cart-text) 12%, transparent);
    --kessel-cart-shadow: 0 16px 40px color-mix(in srgb, var(--kessel-cart-text) 10%, transparent);
    --kessel-cart-primary-bg: var(--color-cta, var(--kessel-cart-surface));
    --kessel-cart-primary-color: var(--font-cat-color, var(--kessel-cart-text));
    --kessel-cart-primary-hover-bg: var(--color-cta-hover-bg, var(--kessel-cart-surface));
    --kessel-cart-primary-hover-color: var(--color-cta-hover-text, var(--kessel-cart-text));
    --kessel-cart-primary-hover-border: var(--color-cta-hover-border, var(--kessel-cart-primary-bg));
    --kessel-cart-danger-bg: color-mix(in srgb, var(--kessel-cart-text) 10%, var(--kessel-cart-surface));
    --kessel-cart-danger-color: var(--kessel-cart-text);
    --kessel-cart-danger-hover-bg: color-mix(in srgb, var(--kessel-cart-text) 18%, var(--kessel-cart-surface));
    --kessel-cart-danger-hover-color: var(--kessel-cart-text);
    --kessel-cart-remove-bg: #c94b4b;
    --kessel-cart-remove-hover-bg: #ad3939;
    --kessel-cart-remove-color: #fcfcfc;
    --kessel-cart-checkout-bg: var(--color-cta, var(--kessel-cart-primary-bg));
    --kessel-cart-checkout-hover-bg: var(--color-cta-hover-bg, var(--kessel-cart-primary-hover-bg));
    --kessel-cart-checkout-color: var(--font-cat-color, var(--kessel-cart-text));
    --kessel-dolibarr-button-shadow: 0 12px 24px color-mix(in srgb, var(--color-cta, var(--kessel-cart-primary-bg)) 24%, transparent);
    --kessel-ecommerce-flow-button-bg: #E0B046;
    --kessel-ecommerce-flow-button-color: #FFFFFF;
    background: var(--kessel-cart-bg);
    color: var(--kessel-cart-text);
    padding: clamp(2rem, 5vw, 4rem) 1.5rem clamp(3rem, 6vw, 5rem);
}

.kessel-cart-page .themelogik-page__header {
    display: none;
}

.kessel-cart-page .themelogik-page__content {
    padding: 0;
}

.kessel-cart--page {
    padding-top: clamp(2.5rem, 5vw, 4rem);
}

.kessel-cart.is-loading {
    opacity: 0.7;
    pointer-events: none;
}

.kessel-cart-message,
.kessel-cart-message-error,
.kessel-cart-message-success {
    width: min(100%, 1120px);
    margin: 0 auto 1rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    background: var(--kessel-cart-surface);
    color: var(--kessel-cart-text);
    border: 1px solid var(--kessel-cart-border);
    box-sizing: border-box;
}

.kessel-cart-message-success {
    border-color: color-mix(in srgb, var(--color-cta, currentColor) 35%, transparent);
}

.kessel-cart-message-error {
    border-color: color-mix(in srgb, var(--kessel-cart-text) 24%, transparent);
}

.kessel-cart__shell,
.kessel-cart__empty {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.kessel-cart__content,
.kessel-cart__empty-inner {
    background: var(--kessel-cart-surface);
    color: var(--kessel-cart-text);
    border-radius: 18px;
    box-shadow: var(--kessel-cart-shadow);
    border: 1px solid var(--kessel-cart-border);
    box-sizing: border-box;
}

.kessel-cart__content {
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.kessel-cart__empty-inner {
    padding: clamp(2rem, 5vw, 4rem);
    text-align: center;
}

.kessel-cart__header {
    margin-bottom: 2rem;
}

.kessel-cart__title,
.kessel-cart__empty-title {
    margin: 0;
    font-family: var(--font-seccion-clara-family, inherit);
    font-size: var(--font-seccion-clara-size, inherit);
    font-weight: var(--font-seccion-clara-weight, inherit);
    line-height: var(--font-seccion-clara-line-height, inherit);
    letter-spacing: var(--font-seccion-clara-letter-spacing, normal);
    color: var(--kessel-cart-title-color);
}

.kessel-cart__subtitle,
.kessel-cart__empty-text,
.kessel-cart__item-format,
.kessel-cart__checkout-note {
    margin: 0;
    font-family: var(--font-body-claro-family, inherit);
    font-size: var(--font-body-claro-size, inherit);
    font-weight: var(--font-body-claro-weight, inherit);
    line-height: var(--font-body-claro-line-height, inherit);
    letter-spacing: var(--font-body-claro-letter-spacing, normal);
    color: var(--kessel-cart-text-muted);
}

.kessel-checkout {
    --kessel-ecommerce-flow-button-bg: #E0B046;
    --kessel-ecommerce-flow-button-color: #FFFFFF;
    width: min(100%, 1160px);
    margin: 0 auto;
}

.kessel-checkout--result-view,
.kessel-checkout--selection-view {
    background: #FCFCFC;
    padding: clamp(2rem, 5vw, 4rem) 1.5rem clamp(3rem, 6vw, 5rem);
    box-sizing: border-box;
}

.kessel-checkout__shell {
    width: min(100%, 1040px);
    margin: 0 auto;
}

.kessel-checkout__form,
.kessel-checkout__card,
.kessel-checkout__header,
.kessel-checkout__layout,
.kessel-checkout__main,
.kessel-checkout__side,
.kessel-checkout__section,
.kessel-checkout__section-header,
.kessel-checkout__summary,
.kessel-checkout__summary-items,
.kessel-checkout__summary-item-main,
.kessel-checkout__summary-totals,
.kessel-checkout__payment-grid,
.kessel-checkout__payment-card-copy,
.kessel-checkout__legal,
.kessel-checkout__actions,
.kessel-checkout__result {
    display: grid;
    gap: 1rem;
}

.kessel-checkout__card {
    padding: clamp(1.5rem, 2vw + 1rem, 2.75rem);
    background: var(--kessel-cart-surface);
    color: var(--kessel-cart-text);
    border: 1px solid var(--kessel-cart-border);
    border-radius: 32px;
    box-shadow: var(--kessel-cart-shadow);
    box-sizing: border-box;
}

.kessel-checkout__card--selection {
    background: #F4F1EC;
}

.kessel-checkout__layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.95fr);
    align-items: start;
    gap: clamp(1.35rem, 3vw, 2rem);
}

.kessel-checkout__title,
.kessel-checkout__section-title {
    margin: 0;
    font-family: var(--font-seccion-clara-family, inherit);
    font-size: var(--font-seccion-clara-size, inherit);
    font-weight: var(--font-seccion-clara-weight, inherit);
    line-height: var(--font-seccion-clara-line-height, inherit);
    letter-spacing: var(--font-seccion-clara-letter-spacing, normal);
    color: var(--kessel-cart-title-color);
}

.kessel-checkout__section-title,
.kessel-checkout__summary-title {
    margin: 0;
    font-family: var(--font-cat-family, inherit);
    font-size: var(--font-cat-size, inherit);
    font-weight: var(--font-cat-weight, inherit);
    line-height: var(--font-cat-line-height, inherit);
    letter-spacing: var(--font-cat-letter-spacing, normal);
    color: var(--font-cat-color, var(--kessel-cart-text));
    text-transform: uppercase;
}

.kessel-checkout__subtitle,
.kessel-checkout__section-description,
.kessel-checkout__summary-item-meta,
.kessel-checkout__payment-description,
.kessel-checkout__legal-text,
.kessel-checkout__legal-error,
.kessel-checkout__notice {
    margin: 0;
    font-family: var(--font-body-claro-family, inherit);
    font-size: var(--font-body-claro-size, inherit);
    font-weight: var(--font-body-claro-weight, inherit);
    line-height: var(--font-body-claro-line-height, inherit);
    letter-spacing: var(--font-body-claro-letter-spacing, normal);
}

.kessel-checkout__subtitle,
.kessel-checkout__section-description {
    color: var(--kessel-cart-text-muted);
}

.kessel-checkout__header {
    gap: 0.55rem;
    padding-bottom: 0.4rem;
}

.kessel-checkout__section {
    gap: 1rem;
}

.kessel-checkout__summary,
.kessel-checkout__section--payment,
.kessel-checkout__section--legal {
    padding: 1.35rem;
    border: 1px solid var(--kessel-cart-border);
    border-radius: 24px;
    background: var(--kessel-cart-surface-muted);
}

.kessel-checkout__summary-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid color-mix(in srgb, var(--kessel-cart-text) 10%, transparent);
    border-radius: 18px;
    background: var(--kessel-cart-surface);
}

.kessel-checkout__summary-item-name,
.kessel-checkout__summary-item-price {
    font-family: var(--font-body-claro-family, inherit);
    font-size: var(--font-body-claro-size, inherit);
    font-weight: var(--font-body-claro-weight, inherit);
    line-height: var(--font-body-claro-line-height, inherit);
    letter-spacing: var(--font-body-claro-letter-spacing, normal);
    color: var(--kessel-cart-text);
}

.kessel-checkout__summary-item-name,
.kessel-checkout__summary-item-price,
.kessel-checkout__payment-title {
    font-weight: 700;
}

.kessel-checkout__summary-item-price {
    color: var(--kessel-cart-title-color);
    white-space: nowrap;
    text-align: right;
}

.kessel-checkout__summary-totals {
    gap: 0.85rem;
}

.kessel-checkout__summary-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.15rem 0;
    color: var(--kessel-cart-text);
}

.kessel-checkout__summary-row strong {
    color: var(--kessel-cart-title-color);
    white-space: nowrap;
}

.kessel-checkout__summary-row--shipping {
    color: var(--kessel-cart-text-muted);
}

.kessel-checkout__summary-row--total {
    padding-top: 1rem;
    border-top: 1px solid var(--kessel-cart-border);
    font-family: var(--font-seccion-oscura-family, var(--font-seccion-clara-family, inherit));
    font-size: var(--font-seccion-oscura-size, var(--font-seccion-clara-size, inherit));
    font-weight: var(--font-seccion-oscura-weight, var(--font-seccion-clara-weight, inherit));
    line-height: var(--font-seccion-oscura-line-height, var(--font-seccion-clara-line-height, inherit));
    letter-spacing: var(--font-seccion-oscura-letter-spacing, var(--font-seccion-clara-letter-spacing, normal));
    color: var(--kessel-cart-title-color);
}

.kessel-checkout__payment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.kessel-checkout__payment-card {
    display: grid;
    grid-template-columns: 1.15rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 1.05rem;
    border: 1px solid var(--kessel-cart-border);
    border-radius: 20px;
    background: var(--kessel-cart-surface);
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.kessel-checkout__payment-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--color-cta, currentColor) 28%, transparent);
}

.kessel-checkout__payment-card input {
    margin: 0.2rem 0 0;
}

.kessel-checkout__payment-card input:checked + .kessel-checkout__payment-card-copy .kessel-checkout__payment-title {
    color: var(--kessel-cart-title-color);
}

.kessel-checkout__payment-card input:checked + .kessel-checkout__payment-card-copy .kessel-checkout__payment-description {
    color: var(--kessel-cart-text);
}

@supports selector(:has(input:checked)) {
    .kessel-checkout__payment-card:has(input:checked) {
        border-color: color-mix(in srgb, var(--color-cta, currentColor) 42%, transparent);
        background: color-mix(in srgb, var(--kessel-cart-surface) 78%, var(--color-cta, currentColor) 22%);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-cta, currentColor) 32%, transparent);
    }
}

.kessel-checkout__payment-title {
    color: var(--kessel-cart-title-color);
}

.kessel-checkout__payment-description {
    color: var(--kessel-cart-text);
}

.kessel-checkout__legal {
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.kessel-checkout__legal-checkbox {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 1.05rem;
    border: 1px solid var(--kessel-cart-border);
    border-radius: 20px;
    background: var(--kessel-cart-surface);
    cursor: pointer;
}

.kessel-checkout__legal-checkbox input {
    margin: 0.2rem 0 0;
}

.kessel-checkout__legal-text {
    color: var(--kessel-cart-text);
}

.kessel-checkout__legal-text a {
    color: var(--color-cta, var(--kessel-cart-text));
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.kessel-checkout__legal-text a:hover,
.kessel-checkout__legal-text a:focus-visible {
    color: var(--color-cta-hover-text, var(--kessel-cart-text));
}

.kessel-checkout__notice {
    padding: 1rem 1.1rem;
    border-radius: 18px;
    border: 1px solid var(--kessel-cart-border);
    background: var(--kessel-cart-surface-muted);
    color: var(--kessel-cart-text);
}

.kessel-checkout__notice--success {
    border-color: color-mix(in srgb, var(--color-cta, currentColor) 35%, transparent);
}

.kessel-checkout__notice--warning {
    border-color: color-mix(in srgb, var(--kessel-cart-checkout-bg) 50%, var(--kessel-cart-border));
}

.kessel-checkout__notice--error {
    border-color: color-mix(in srgb, var(--kessel-cart-text) 24%, transparent);
}

.kessel-checkout__actions,
.kessel-checkout__result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.kessel-checkout__actions--center {
    justify-content: center;
}

.kessel-dolibarr-button,
.kessel-checkout__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 999px;
    border-style: solid;
    border-width: 1px;
    background-image: none;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
    font-family: var(--font-boton-ui-family, var(--font-cat-family, inherit));
    font-size: var(--font-boton-ui-size, var(--font-cat-size, inherit));
    font-weight: var(--font-boton-ui-weight, var(--font-cat-weight, inherit));
    line-height: var(--font-boton-ui-line-height, var(--font-cat-line-height, inherit));
    letter-spacing: var(--font-boton-ui-letter-spacing, var(--font-cat-letter-spacing, normal));
}

.kessel-dolibarr-button--primary,
.kessel-checkout__button--primary {
    background-color: var(--kessel-cart-primary-bg);
    color: var(--kessel-cart-primary-color);
    border-color: var(--kessel-cart-primary-bg);
    box-shadow: var(--kessel-dolibarr-button-shadow);
}

.kessel-dolibarr-button--secondary,
.kessel-checkout__button--secondary {
    background-color: var(--color-blanco, var(--kessel-cart-surface));
    color: var(--kessel-cart-text);
    border-color: var(--color-cta, var(--kessel-cart-primary-bg));
    box-shadow: 0 10px 20px color-mix(in srgb, var(--color-cta, var(--kessel-cart-primary-bg)) 14%, transparent);
}

.kessel-dolibarr-button:hover,
.kessel-dolibarr-button:focus-visible,
.kessel-checkout__button:hover,
.kessel-checkout__button:focus-visible {
    transform: translateY(-1px);
}

.kessel-dolibarr-button--primary:hover,
.kessel-dolibarr-button--primary:focus-visible,
.kessel-checkout__button--primary:hover,
.kessel-checkout__button--primary:focus-visible {
    background-color: var(--kessel-cart-primary-hover-bg);
    color: var(--kessel-cart-primary-hover-color);
    border-color: var(--kessel-cart-primary-hover-border);
}

.kessel-dolibarr-button--secondary:hover,
.kessel-dolibarr-button--secondary:focus-visible,
.kessel-checkout__button--secondary:hover,
.kessel-checkout__button--secondary:focus-visible {
    background-color: var(--kessel-cart-primary-hover-bg);
    color: var(--kessel-cart-primary-hover-color);
    border-color: var(--kessel-cart-primary-hover-border);
}

.kessel-checkout__result {
    justify-items: start;
    gap: 1.15rem;
}

.kessel-checkout--result-view .kessel-checkout__shell {
    width: min(100%, 760px);
}

.kessel-checkout--result-view .kessel-checkout__result {
    justify-items: center;
    gap: 1.35rem;
    padding: clamp(2rem, 4vw, 3rem);
    text-align: center;
    background: #F4F1EC;
    border-color: color-mix(in srgb, #1A1A1A 12%, transparent);
}

.kessel-checkout--result-view .kessel-checkout__header,
.kessel-checkout--result-view .kessel-checkout__result-actions {
    justify-items: center;
}

.kessel-checkout--result-view .kessel-checkout__title,
.kessel-checkout--result-view .kessel-checkout__subtitle,
.kessel-checkout--result-view .kessel-checkout__notice {
    text-align: center;
}

.kessel-checkout--result-view .kessel-checkout__notice {
    width: min(100%, 36rem);
    background: #FCFCFC;
    border-color: color-mix(in srgb, #1A1A1A 12%, transparent);
    color: #1A1A1A;
}

.kessel-checkout--selection-view .kessel-checkout__shell {
    width: min(100%, 980px);
}

.kessel-checkout--selection-view .kessel-checkout__card--selection {
    padding: clamp(1.75rem, 2vw + 1rem, 3rem);
    border-color: color-mix(in srgb, #1A1A1A 12%, transparent);
}

.kessel-checkout--selection-view .kessel-checkout__header {
    justify-items: center;
    text-align: center;
}

.kessel-checkout--selection-view .kessel-checkout__title,
.kessel-checkout--selection-view .kessel-checkout__subtitle {
    text-align: center;
}

.kessel-checkout--selection-view .kessel-checkout__summary,
.kessel-checkout--selection-view .kessel-checkout__section--payment,
.kessel-checkout--selection-view .kessel-checkout__section--legal,
.kessel-checkout--selection-view .kessel-checkout__notice {
    background: #FCFCFC;
    border-color: color-mix(in srgb, #1A1A1A 12%, transparent);
}

.kessel-checkout__result-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    border: 1px solid var(--kessel-cart-border);
    background: var(--kessel-cart-surface-muted);
    color: var(--kessel-cart-title-color);
    font-family: var(--font-cat-family, inherit);
    font-size: var(--font-cat-size, inherit);
    font-weight: var(--font-cat-weight, inherit);
}

.kessel-checkout__result--success .kessel-checkout__result-icon,
.kessel-checkout__result--warning .kessel-checkout__result-icon,
.kessel-checkout__result--error .kessel-checkout__result-icon {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--kessel-cart-title-color) 12%, transparent);
}

.kessel-checkout__result-icon--spinner {
    position: relative;
    color: transparent;
}

.kessel-checkout__result-icon--spinner::after {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 999px;
    border: 2px solid color-mix(in srgb, var(--kessel-cart-title-color) 24%, transparent);
    border-top-color: var(--kessel-cart-title-color);
    animation: kessel-checkout-spin 900ms linear infinite;
}

.kessel-checkout__payment-card input:focus-visible,
.kessel-checkout__legal-checkbox input:focus-visible,
.kessel-dolibarr-button:focus-visible,
.kessel-checkout__button:focus-visible {
    outline: 2px solid var(--kessel-cart-title-color);
    outline-offset: 3px;
}

@keyframes kessel-checkout-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 860px) {
    .kessel-checkout__layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .kessel-checkout__payment-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .kessel-checkout__summary-row,
    .kessel-checkout__result-actions,
    .kessel-checkout__actions {
        width: 100%;
    }

    .kessel-checkout__result-actions,
    .kessel-checkout__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .kessel-checkout__button {
        width: 100%;
    }
}

.kessel-cart__subtitle,
.kessel-cart__empty-text {
    margin-top: 0.75rem;
}

.kessel-cart__empty-actions {
    margin: 1.5rem 0 0;
}

.kessel-cart__form {
    display: grid;
    gap: 2rem;
}

.kessel-cart__items {
    display: grid;
    gap: 1rem;
}

.kessel-cart__item {
    display: grid;
    grid-template-columns: minmax(0, 144px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    padding: 1.25rem;
    background: var(--kessel-cart-surface-muted);
    border: 1px solid var(--kessel-cart-border);
    border-radius: 16px;
    box-sizing: border-box;
}

.kessel-cart__media {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--kessel-cart-surface);
    border-radius: 14px;
    overflow: hidden;
    padding: 0.75rem;
    box-sizing: border-box;
}

.kessel-cart__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

.kessel-cart__image-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-seccion-clara-family, inherit);
    font-size: var(--font-seccion-clara-size, inherit);
    font-weight: var(--font-seccion-clara-weight, inherit);
    line-height: 1;
    color: var(--kessel-cart-title-color);
    background: color-mix(in srgb, var(--kessel-cart-surface-muted) 70%, transparent);
}

.kessel-cart__item-main {
    display: grid;
    gap: 1.25rem;
}

.kessel-cart__item-copy {
    display: grid;
    gap: 0.35rem;
}

.kessel-cart__item-title {
    margin: 0;
    font-family: var(--font-seccion-oscura-family, var(--font-seccion-clara-family, inherit));
    font-size: var(--font-seccion-oscura-size, var(--font-seccion-clara-size, inherit));
    font-weight: var(--font-seccion-oscura-weight, var(--font-seccion-clara-weight, inherit));
    line-height: var(--font-seccion-oscura-line-height, var(--font-seccion-clara-line-height, inherit));
    letter-spacing: var(--font-seccion-oscura-letter-spacing, var(--font-seccion-clara-letter-spacing, normal));
    color: var(--kessel-cart-text);
}

.kessel-cart__item-meta {
    display: grid;
    grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
    gap: 1rem 1.5rem;
    align-items: end;
}

.kessel-cart__field {
    display: grid;
    gap: 0.5rem;
}

.kessel-cart__field-label,
.kessel-cart__summary-kicker,
.kessel-cart__price-label {
    margin: 0;
    font-family: var(--font-cat-family, inherit);
    font-size: var(--font-cat-size, inherit);
    font-weight: var(--font-cat-weight, inherit);
    line-height: var(--font-cat-line-height, inherit);
    letter-spacing: var(--font-cat-letter-spacing, normal);
    color: var(--font-cat-color, var(--kessel-cart-text));
    text-transform: uppercase;
}

.kessel-cart__quantity-input {
    width: 100%;
    min-height: 48px;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--kessel-cart-border);
    background: var(--kessel-cart-surface);
    color: var(--kessel-cart-text);
    box-sizing: border-box;
    font-family: var(--font-boton-ui-family, var(--font-body-claro-family, inherit));
    font-size: var(--font-boton-ui-size, var(--font-body-claro-size, inherit));
    font-weight: var(--font-boton-ui-weight, var(--font-body-claro-weight, inherit));
    line-height: var(--font-boton-ui-line-height, var(--font-body-claro-line-height, inherit));
    letter-spacing: var(--font-boton-ui-letter-spacing, normal);
}

.kessel-cart__price-group {
    display: grid;
    gap: 0.6rem;
}

.kessel-cart__price-row,
.kessel-cart__summary-line,
.kessel-cart__summary-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
}

.kessel-cart__price-value,
.kessel-cart__summary-total-value {
    font-family: var(--font-seccion-oscura-family, var(--font-seccion-clara-family, inherit));
    font-size: var(--font-seccion-oscura-size, var(--font-seccion-clara-size, inherit));
    font-weight: var(--font-seccion-oscura-weight, var(--font-seccion-clara-weight, inherit));
    line-height: var(--font-seccion-oscura-line-height, var(--font-seccion-clara-line-height, inherit));
    letter-spacing: var(--font-seccion-oscura-letter-spacing, var(--font-seccion-clara-letter-spacing, normal));
    color: var(--kessel-cart-text);
}

.kessel-cart__price-row--total .kessel-cart__price-value,
.kessel-cart__summary-total-value {
    color: var(--kessel-cart-title-color);
}

.kessel-cart__summary-line-label,
.kessel-cart__summary-line-value {
    font-family: var(--font-body-claro-family, inherit);
    font-size: var(--font-body-claro-size, inherit);
    font-weight: var(--font-body-claro-weight, inherit);
    line-height: var(--font-body-claro-line-height, inherit);
    letter-spacing: var(--font-body-claro-letter-spacing, normal);
}

.kessel-cart__summary-line-label {
    color: var(--kessel-cart-text-muted);
}

.kessel-cart__summary-line-value {
    color: var(--kessel-cart-text);
}

.kessel-cart__item-actions {
    grid-column: 2;
    display: flex;
    justify-content: flex-end;
}

.kessel-cart__submit-fallback {
    display: none;
}

.kessel-cart__summary-card {
    display: grid;
    gap: 1.25rem;
    padding: 1.5rem;
    background: var(--kessel-cart-bg);
    border-radius: 16px;
    border: 1px solid var(--kessel-cart-border);
    box-sizing: border-box;
}

.kessel-cart__summary-card--gate {
    align-content: start;
}

.kessel-cart--page .kessel-cart__summary-card {
    color: var(--color-blanco, #fff);
    border-color: color-mix(in srgb, var(--color-blanco, #fff) 12%, transparent);
}

.kessel-cart--page .kessel-cart__summary-kicker,
.kessel-cart--page .kessel-cart__summary-total-label,
.kessel-cart--page .kessel-cart__summary-line-label {
    color: var(--color-fondo-claro, #f4f1ec);
}

.kessel-cart--page .kessel-cart__summary-total-value,
.kessel-cart--page .kessel-cart__summary-line-value,
.kessel-cart--page .kessel-cart__checkout-note {
    color: var(--color-blanco, #fff);
}

.kessel-cart__summary-total-label {
    font-family: var(--font-cat-family, inherit);
    font-size: var(--font-cat-size, inherit);
    font-weight: var(--font-cat-weight, inherit);
    line-height: var(--font-cat-line-height, inherit);
    letter-spacing: var(--font-cat-letter-spacing, normal);
    color: var(--font-cat-color, var(--kessel-cart-text));
}

.kessel-cart__summary-actions {
    display: grid;
    gap: 0.75rem;
}

.kessel-cart__checkout-gate-message {
    margin: 0;
    font-family: var(--font-body-claro-family, inherit);
    font-size: var(--font-body-claro-size, inherit);
    font-weight: var(--font-body-claro-weight, inherit);
    line-height: var(--font-body-claro-line-height, inherit);
    letter-spacing: var(--font-body-claro-letter-spacing, normal);
    color: var(--color-blanco, #fff);
}

.kessel-cart__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.8rem 1.4rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, opacity 180ms ease;
    box-sizing: border-box;
    font-family: var(--font-boton-ui-family, var(--font-cat-family, inherit));
    font-size: var(--font-boton-ui-size, var(--font-cat-size, inherit));
    font-weight: var(--font-boton-ui-weight, var(--font-cat-weight, inherit));
    line-height: var(--font-boton-ui-line-height, var(--font-cat-line-height, inherit));
    letter-spacing: var(--font-boton-ui-letter-spacing, var(--font-cat-letter-spacing, normal));
}

.kessel-cart__button--primary,
.kessel-cart__button--secondary {
    background: var(--kessel-cart-primary-bg);
    color: var(--kessel-cart-primary-color);
    border-color: var(--kessel-cart-primary-bg);
}

.kessel-cart__button--ghost {
    background: var(--kessel-cart-remove-bg);
    color: var(--kessel-cart-remove-color);
    border-color: var(--kessel-cart-remove-bg);
}

.kessel-cart__button--danger {
    background: var(--kessel-cart-danger-bg);
    color: var(--kessel-cart-danger-color);
    border-color: var(--kessel-cart-danger-bg);
}

.kessel-cart--page .kessel-cart__button--danger {
    background: var(--color-blanco, #fff);
    color: var(--color-negro-texto, #111);
    border-color: var(--color-blanco, #fff);
}

.kessel-cart__button--checkout {
    background: var(--kessel-ecommerce-flow-button-bg);
    color: var(--kessel-ecommerce-flow-button-color);
    border-color: var(--kessel-ecommerce-flow-button-bg);
}

.kessel-cart__button--gate {
    background: #1A1A1A;
    color: #FCFCFC;
    border-color: #1A1A1A;
}

.kessel-cart__button:hover,
.kessel-cart__button:focus-visible {
    outline: none;
}

.kessel-cart__button--primary:hover,
.kessel-cart__button--primary:focus-visible,
.kessel-cart__button--secondary:hover,
.kessel-cart__button--secondary:focus-visible {
    background: var(--kessel-cart-primary-hover-bg);
    color: var(--kessel-cart-primary-hover-color);
    border-color: var(--kessel-cart-primary-hover-border);
}

.kessel-cart__button--ghost:hover,
.kessel-cart__button--ghost:focus-visible {
    background: var(--kessel-cart-remove-hover-bg);
    color: var(--kessel-cart-remove-color);
    border-color: var(--kessel-cart-remove-hover-bg);
}

.kessel-cart__button--danger:hover,
.kessel-cart__button--danger:focus-visible {
    background: var(--kessel-cart-danger-hover-bg);
    color: var(--kessel-cart-danger-hover-color);
    border-color: var(--kessel-cart-danger-hover-bg);
}

.kessel-cart__button--checkout:hover,
.kessel-cart__button--checkout:focus-visible {
    background: var(--kessel-ecommerce-flow-button-color);
    color: var(--kessel-ecommerce-flow-button-bg);
    border-color: var(--kessel-ecommerce-flow-button-bg);
}

.kessel-cart__button--gate:hover,
.kessel-cart__button--gate:focus-visible {
    background: #FCFCFC;
    color: #1A1A1A;
    border-color: #1A1A1A;
}

.kessel-cart__noscript {
    margin: 0;
}

.themelogik-header__cart-dropdown > .kessel-cart {
    padding: 0;
    background: transparent;
}

.themelogik-header__cart-dropdown {
    width: min(24rem, calc(100vw - 2rem));
    max-width: min(24rem, calc(100vw - 2rem));
    max-height: min(calc(100dvh - 2rem), 38rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 1rem;
    border-radius: 18px;
    border-color: color-mix(in srgb, var(--color-negro-texto, #111) 12%, transparent);
    background: var(--color-blanco, #fff);
    color: var(--color-negro-texto, #111);
    box-shadow: 0 16px 40px color-mix(in srgb, var(--color-negro-texto, #111) 12%, transparent);
}

.themelogik-header__cart-dropdown .kessel-cart-message,
.themelogik-header__cart-dropdown .kessel-cart-message-error,
.themelogik-header__cart-dropdown .kessel-cart-message-success {
    width: 100%;
    margin: 0;
}

.kessel-cart--dropdown .kessel-cart__shell,
.kessel-cart--dropdown .kessel-cart__empty {
    width: 100%;
}

.kessel-cart--dropdown .kessel-cart__content,
.kessel-cart--dropdown .kessel-cart__empty-inner {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
}

.kessel-cart--dropdown .kessel-cart__form {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    gap: 1rem;
    min-height: 0;
}

.kessel-cart--dropdown .kessel-cart__items {
    display: grid;
    width: 100%;
    max-height: min(calc(100dvh - 14rem), 28rem);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    min-height: 0;
    padding-right: 0.25rem;
    box-sizing: border-box;
}

.kessel-cart--dropdown .kessel-cart__items,
.kessel-cart--dropdown .kessel-cart__summary,
.kessel-cart--dropdown .kessel-cart__empty-inner {
    font-family: "Lato Regular", system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.35;
    letter-spacing: 0;
}

.kessel-cart--dropdown .kessel-cart__item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.85rem;
    padding: 0.85rem 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--kessel-cart-border);
    border-radius: 0;
}

.kessel-cart--dropdown .kessel-cart__item:first-child {
    padding-top: 0;
}

.kessel-cart--dropdown .kessel-cart__item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.kessel-cart--dropdown .kessel-cart__media {
    padding: 0.45rem;
    border-radius: 10px;
}

.kessel-cart--dropdown .kessel-cart__item-main {
    gap: 0.8rem;
}

.kessel-cart--dropdown .kessel-cart__item-copy,
.kessel-cart--dropdown .kessel-cart__price-group,
.kessel-cart--dropdown .kessel-cart__item-actions,
.kessel-cart--dropdown .kessel-cart__summary-card {
    color: var(--color-negro-texto, #111);
}

.kessel-cart--dropdown .kessel-cart__item-title,
.kessel-cart--dropdown .kessel-cart__price-value,
.kessel-cart--dropdown .kessel-cart__summary-total-value {
    color: var(--color-negro-texto, #111);
    font-family: "Lato Bold", system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: 0;
}

.kessel-cart--dropdown .kessel-cart__item-format,
.kessel-cart--dropdown .kessel-cart__price-label,
.kessel-cart--dropdown .kessel-cart__summary-kicker,
.kessel-cart--dropdown .kessel-cart__summary-total-label {
    color: var(--color-gris-texto, #666);
    font-family: "Lato Bold", system-ui, sans-serif;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.kessel-cart--dropdown .kessel-cart__price-row,
.kessel-cart--dropdown .kessel-cart__summary-total {
    align-items: center;
    gap: 0.75rem;
}

.kessel-cart--dropdown .kessel-cart__field {
    gap: 0.35rem;
}

.kessel-cart--dropdown .kessel-cart__field-label {
    font-family: "Lato Bold", system-ui, sans-serif;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.04em;
    color: var(--color-gris-texto, #666);
}

.kessel-cart--dropdown .kessel-cart__quantity-input {
    min-height: 40px;
    padding: 0.55rem 0.85rem;
    font-family: "Lato Regular", system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0;
}

.kessel-cart--dropdown .kessel-cart__item-meta {
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

.kessel-cart--dropdown .kessel-cart__item-actions {
    display: flex;
    grid-column: auto;
    justify-content: flex-start;
    width: 100%;
}

.kessel-cart--dropdown .kessel-cart__summary-card {
    gap: 1rem;
    padding: 1rem 0 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--kessel-cart-border);
    border-radius: 0;
}

.kessel-cart--dropdown .kessel-cart__summary-actions {
    grid-template-columns: 1fr;
}

.kessel-cart--dropdown .kessel-cart__summary {
    position: static;
    width: 100%;
    flex: 0 0 auto;
}

.kessel-cart--dropdown .kessel-cart__summary-actions .kessel-cart__button--secondary {
    background: var(--kessel-ecommerce-flow-button-bg);
    color: var(--kessel-ecommerce-flow-button-color);
    border-color: var(--kessel-ecommerce-flow-button-bg);
}

.kessel-cart--dropdown .kessel-cart__summary-actions .kessel-cart__button--secondary:hover,
.kessel-cart--dropdown .kessel-cart__summary-actions .kessel-cart__button--secondary:focus-visible {
    background: var(--kessel-ecommerce-flow-button-color);
    color: var(--kessel-ecommerce-flow-button-bg);
    border-color: var(--kessel-ecommerce-flow-button-bg);
}

.kessel-cart--dropdown .kessel-cart__button {
    width: 100%;
    min-height: 44px;
    padding: 0.7rem 1rem;
    font-family: "Lato Bold", system-ui, sans-serif;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0;
}

.kessel-cart--dropdown .kessel-cart__empty-actions + .kessel-cart__empty-actions {
    margin-top: 0.75rem;
}

.kessel-checkout__button--payment {
    background-color: var(--kessel-ecommerce-flow-button-bg);
    color: var(--kessel-ecommerce-flow-button-color);
    border-color: var(--kessel-ecommerce-flow-button-bg);
    box-shadow: 0 14px 30px color-mix(in srgb, var(--kessel-ecommerce-flow-button-bg) 18%, transparent);
}

.kessel-checkout__button--payment:hover,
.kessel-checkout__button--payment:focus-visible {
    background-color: var(--kessel-ecommerce-flow-button-color);
    color: var(--kessel-ecommerce-flow-button-bg);
    border-color: var(--kessel-ecommerce-flow-button-bg);
}

.kessel-checkout__button--result-primary {
    background: #1A1A1A;
    color: #FCFCFC;
    border-color: #1A1A1A;
    box-shadow: 0 14px 30px color-mix(in srgb, #1A1A1A 18%, transparent);
}

.kessel-checkout__button--result-primary:hover,
.kessel-checkout__button--result-primary:focus-visible {
    background: #FCFCFC;
    color: #1A1A1A;
    border-color: #1A1A1A;
}

@media (min-width: 960px) {
    .kessel-cart__form {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
        align-items: start;
    }

    .kessel-cart__summary {
        position: sticky;
        top: 2rem;
    }

    .kessel-cart--dropdown .kessel-cart__form {
        grid-template-columns: 1fr;
    }

    .kessel-cart--dropdown .kessel-cart__summary {
        position: static;
        top: auto;
    }
}

@media (max-width: 959px) {
    .kessel-cart__item {
        grid-template-columns: 1fr;
    }

    .kessel-cart__item-meta {
        grid-template-columns: 1fr;
    }

    .kessel-cart__item-actions {
        grid-column: auto;
        justify-content: stretch;
    }

    .kessel-cart__item-actions .kessel-cart__button {
        width: 100%;
    }
}
