/* Tema Electro - Custom CSS */

:root {
    --color-primary: #0b6876;
    --color-primary-hover: #0a5d69;
    --color-warning: #e0aa16;
}

.electro-benefits {
    width: 100%;
    background: #126b73;
    border-bottom: 0.58rem solid #e0aa16;
    color: #ffffff;
}

.electro-benefits__inner {
    display: grid;
    max-width: 1440px;
    min-height: 5.55rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 2.25rem;
    margin: 0 auto;
    padding: 0.65rem 4.8rem 0.7rem;
}

.electro-benefits__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    min-width: 0;
}

.electro-benefits__icon {
    width: 3.45rem;
    height: 3.45rem;
    flex: 0 0 auto;
    color: #ffffff;
}

.electro-benefits__text {
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    .electro-benefits__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem 2rem;
        padding-inline: 2rem;
    }

    .electro-benefits__item {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .electro-benefits {
        border-bottom-width: 0.38rem;
    }

    .electro-benefits__inner {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 0.75rem;
        padding: 1rem 1.25rem;
    }

    .electro-benefits__icon {
        width: 2.8rem;
        height: 2.8rem;
    }

    .electro-benefits__text {
        font-size: 0.88rem;
        white-space: normal;
    }
}

.shop-main .select-minimal {
    background-color: #ffffff;
}

.electro-footer {
    margin-top: auto;
    border: 0;
    background: var(--footer-bg, #126b73);
    color: var(--footer-text, #ffffff);
}

.electro-footer__main {
    max-width: 1440px;
    margin: 0 auto;
    padding: 3.2rem 4rem 2.1rem;
}

.electro-footer__logo-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 2.3rem;
}

.electro-footer__logo {
    width: auto;
    max-width: min(15rem, 64vw);
    height: 4rem;
    object-fit: contain;
}

.electro-footer__brand {
    color: var(--footer-text, #ffffff);
    font-size: clamp(1.5rem, 3vw, 2.45rem);
    font-weight: 500;
    line-height: 1;
}

.electro-footer__columns {
    display: grid;
    align-items: start;
    gap: 3.2rem;
}

.electro-footer__columns--four {
    grid-template-columns: 1.24fr 1.24fr 1fr 0.88fr;
}

.electro-footer__columns--five {
    grid-template-columns: 1.15fr 1.1fr 0.95fr 0.85fr 1.2fr;
    gap: 2.2rem;
}

.electro-footer__col {
    min-width: 0;
}

.electro-footer__title {
    margin: 0 0 0.85rem;
    color: var(--footer-text, #ffffff);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.25;
}

.electro-footer__text {
    max-width: 20rem;
    margin: 0;
    color: var(--footer-text, #ffffff);
    font-size: 0.76rem;
    font-weight: 300;
    line-height: 1.45;
}

.electro-footer__text--hours {
    margin-top: 1.55rem;
}

.electro-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 1.85rem;
    padding-top: 1.35rem;
}

.electro-footer__contact-link {
    display: inline-flex;
    align-items: center;
    gap: 1.05rem;
    color: var(--footer-text, #ffffff);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
}

.electro-footer__contact-link:hover,
.electro-footer__link:hover,
.electro-footer__social-link:hover,
.electro-footer__privacy a:hover {
    color: var(--footer-hover, #e0aa16);
}

.electro-footer__contact-icon {
    width: 2.3rem;
    height: 2.3rem;
    flex: 0 0 auto;
    color: currentColor;
}

.electro-footer__contact-icon--whatsapp {
    width: 2rem;
    height: 2rem;
}

.electro-footer__contact-icon--email {
    width: 2.45rem;
    height: 2.45rem;
}

.electro-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.electro-footer__link {
    color: var(--footer-text, #ffffff);
    font-size: 0.76rem;
    font-weight: 300;
    line-height: 1.25;
    text-decoration: none;
}

.electro-footer__socials {
    text-align: center;
}

.electro-footer__social-wrap {
    display: flex;
    justify-content: center;
}

.electro-footer__social-wrap .social-icons__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.15rem;
}

.electro-footer__social-link {
    color: var(--footer-text, #ffffff);
}

.electro-footer__social-icon {
    width: 1.9rem;
    height: 1.9rem;
}

.electro-footer__newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.electro-footer__newsletter-row {
    display: flex;
    align-items: stretch;
}

.electro-footer__newsletter-input {
    min-width: 0;
    flex: 1 1 auto;
    border: 1px solid color-mix(in srgb, var(--footer-text, #ffffff) 45%, transparent);
    border-right: 0;
    border-radius: 0.45rem 0 0 0.45rem;
    background: color-mix(in srgb, var(--footer-bg, #126b73) 82%, white);
    color: var(--footer-text, #ffffff);
    padding: 0.7rem 0.8rem;
    font-size: 0.72rem;
    outline: none;
}

.electro-footer__newsletter-input::placeholder {
    color: color-mix(in srgb, var(--footer-text, #ffffff) 72%, transparent);
}

.electro-footer__newsletter-btn {
    flex: 0 0 auto;
    border: 1px solid var(--footer-hover, #e0aa16);
    border-radius: 0 0.45rem 0.45rem 0;
    background: var(--footer-hover, #e0aa16);
    color: #ffffff;
    padding: 0.7rem 0.9rem;
    font-size: 0.72rem;
    font-weight: 500;
}

.electro-footer__privacy,
.electro-footer .newsletter-signup__success-text,
.electro-footer .newsletter-signup__error {
    color: color-mix(in srgb, var(--footer-text, #ffffff) 78%, transparent);
    font-size: 0.62rem;
    font-weight: 300;
    line-height: 1.35;
}

.electro-footer__privacy a {
    color: var(--footer-text, #ffffff);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.electro-footer__stripe {
    width: 100%;
    height: 1.35rem;
    background: #daad22;
}

.electro-footer__legal {
    padding: 2.7rem 1.5rem 2.95rem;
    color: var(--footer-text, #ffffff);
    text-align: center;
}

.electro-footer__legal p {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 300;
    line-height: 1.22;
}

@media (max-width: 1100px) {
    .electro-footer__main {
        padding-inline: 2rem;
    }

    .electro-footer__columns,
    .electro-footer__columns--four,
    .electro-footer__columns--five {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.4rem;
    }

    .electro-footer__socials {
        text-align: left;
    }

    .electro-footer__social-wrap {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .electro-footer__main {
        padding: 2.4rem 1.25rem 1.8rem;
    }

    .electro-footer__logo {
        height: 3.1rem;
    }

    .electro-footer__columns,
    .electro-footer__columns--four,
    .electro-footer__columns--five {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .electro-footer__contacts {
        padding-top: 0;
    }

    .electro-footer__contact-link {
        font-size: 0.76rem;
    }

    .electro-footer__contact-icon--whatsapp {
        width: 1.8rem;
        height: 1.8rem;
    }

    .electro-footer__contact-icon--email {
        width: 2.15rem;
        height: 2.15rem;
    }

    .electro-footer__stripe {
        height: 0.9rem;
    }

    .electro-footer__legal {
        padding-block: 2rem;
    }

    .electro-footer__legal p {
        font-size: 0.72rem;
    }
}

/* Product card: catalog/full card override only. */
.product-detail__image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.05rem, 2.4vw, 1.55rem);
    border-radius: clamp(1.75rem, 5vw, 3rem);
    background: #ffffff;
}

.product-detail__image-wrap > img,
.product-detail__image-wrap .image-placeholder,
.product-detail__image-wrap .image-placeholder-png {
    border-radius: clamp(1.2rem, 4vw, 2.25rem);
    overflow: hidden;
}

.product-detail__image-wrap .image-placeholder,
.product-detail__image-wrap .image-placeholder-png {
    width: 100%;
    height: 100%;
}

.electro-product-detail__icon-btn {
    border: 1px solid var(--color-border);
    background: var(--color-bg-white);
    color: var(--color-text-muted);
    transition: all var(--transition-fast);
}

.electro-product-detail__icon-btn:hover:not(:disabled) {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
    color: var(--color-primary);
}

.electro-product-detail__icon-btn.product-detail__fav-btn--active {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #ffffff;
}

.electro-product-detail__icon-btn.product-detail__fav-btn--active:hover:not(:disabled) {
    border-color: var(--color-primary-hover, var(--color-primary));
    background-color: var(--color-primary-hover, var(--color-primary));
    color: #ffffff;
}

.electro-product-detail__title,
.electro-product-detail__related-title {
    color: var(--color-primary);
}

.product-card--electro {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: clamp(1rem, 5.5cqw, 1.45rem);
    border: 0;
    border-radius: clamp(1.75rem, 12cqw, 3rem);
    background: #ffffff;
    color: #050505;
    box-shadow: none;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.product-card--electro:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.product-card--electro-compact:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.product-card--electro .product-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: var(--ratio-card-results, 3/2);
    margin: -0.2rem -0.2rem 0.9rem;
    background: var(--placeholder-bg, #ffffff);
}

.product-card--electro-compact .product-card__media {
    aspect-ratio: var(--ratio-card-home, 4/3);
}

.product-card--electro .product-card__image-link {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 1.25rem;
    overflow: hidden;
}

.product-card--electro .product-card__image {
    width: 100%;
    height: 100%;
    object-fit: var(--fit-card-results, cover);
    transform: scale(1);
    transition: transform 260ms ease;
}

.product-card--electro-compact .product-card__image {
    object-fit: var(--fit-card-home, cover);
}

.product-card--electro:hover .product-card__image {
    transform: scale(1.02);
}

.product-card--electro .product-card__placeholder {
    width: 100%;
    height: 100%;
}

.product-card--electro .product-card__placeholder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-card--electro .product-card__quick-actions {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: flex;
    gap: 0.45rem;
}

.product-card--electro .product-card__icon-btn {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #111111;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.product-card--electro .product-card__icon-btn:hover {
    background: #ffffff;
    transform: translateY(-1px);
}

.product-card--electro-compact .product-card__icon-btn {
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.09);
}

.product-card--electro-compact .product-card__icon-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.11);
}

.product-card--electro .product-card__icon-btn svg {
    width: 1rem;
    height: 1rem;
}

.product-card--electro .product-detail__fav-btn--active {
    color: var(--color-danger, #d71920);
}

.product-card--electro .product-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: 0;
}

.product-card--electro .product-card__title {
    margin: 0;
    color: #050505;
    font-size: clamp(0.9rem, 5.7cqw, 1.06rem);
    font-weight: 650;
    line-height: 1.16;
}

.product-card--electro .product-card__title.product-card__title--large {
    font-size: clamp(1.08rem, 6.84cqw, 1.272rem);
}

.product-card--electro .product-card__title a {
    color: inherit;
    text-decoration: none;
}

.product-card--electro .product-card__title a:hover {
    color: var(--color-primary-hover, #0a5d69);
}

.product-card--electro .product-card__meta-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    margin-top: auto;
}

.product-card--electro .product-card__price-box {
    display: flex;
    min-width: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.45rem;
    row-gap: 0.12rem;
}

.product-card--electro .product-card__price {
    color: var(--color-primary, #0b6876);
    font-size: clamp(0.94rem, 5.1cqw, 1.08rem);
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.product-card--electro .product-card__price--old {
    color: #8a8f98;
    font-size: clamp(0.68rem, 3.8cqw, 0.78rem);
    font-weight: 600;
    line-height: 1;
    text-decoration: line-through;
    white-space: nowrap;
}

.product-card--electro .product-card__badge {
    position: static;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 1.35rem;
    padding: 0.16rem 0.42rem;
    border-radius: 0.3rem;
    box-shadow: none;
    font-size: clamp(0.62rem, 3.3cqw, 0.72rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

.product-card--electro .product-card__badge--sale {
    background: var(--color-warning, #e0aa16);
    color: #ffffff;
}

.product-card--electro .product-card__badge--new {
    background: var(--color-primary, #0b6876);
    color: #ffffff;
}

.product-card--electro .product-card__countdown {
    color: var(--color-danger, #d71920);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.25;
}

.product-card--electro .product-card__actions {
    display: flex;
    align-items: center;
}

.product-card--electro .product-card__cart-form {
    width: 100%;
}

.product-card--electro .product-card__cart-btn {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    border: 0;
    background: transparent;
    color: #050505;
    padding-right: 0.85rem;
    font-size: clamp(0.74rem, 4.4cqw, 0.88rem);
    font-weight: 900;
    line-height: 1.05;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 160ms ease, transform 160ms ease;
}

.product-card--electro .product-card__cart-btn .cart-spinner {
    flex: 0 0 auto;
    margin-left: 0.25rem;
    margin-right: 0.15rem;
}

.product-card--electro .product-card__cart-btn:hover {
    color: var(--color-primary-hover, #0a5d69);
    transform: translateX(2px);
}

.product-card--electro .product-card__info-btn {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    justify-content: center;
    text-decoration: none;
}

.electro-info-icon {
    flex: 0 0 auto;
    height: 1.25rem;
    width: 1.25rem;
}

.contact-form__product-reference--electro {
    border-color: color-mix(in srgb, var(--color-primary) 22%, #d8e0ea);
}

.electro-product-detail__info-btn {
    align-items: center;
    background: var(--color-primary);
    border-radius: 0.5rem;
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    gap: 0.5rem;
    justify-content: center;
    min-height: 3rem;
    padding: 0.75rem 1.25rem;
    text-decoration: none;
}

.electro-product-detail__info-btn:hover {
    background: var(--color-primary-hover);
    color: #fff;
}

.electro-product-detail__info-only fieldset:disabled {
    opacity: 0.72;
}

.electro-product-detail__info-only fieldset:disabled button,
.electro-product-detail__info-only fieldset:disabled input,
.electro-product-detail__info-only fieldset:disabled select {
    cursor: not-allowed;
}

.product-card--electro .product-card__image-link:focus-visible,
.product-card--electro .product-card__cart-btn:focus-visible,
.product-card--electro .product-card__icon-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-primary, #0b6876) 28%, transparent);
    outline-offset: 3px;
}

.product-card--electro-compact {
    padding: clamp(0.95rem, 5cqw, 1.25rem);
}

.product-card--electro-compact .product-card__media {
    margin-bottom: 0.8rem;
}

.product-card--electro-compact .product-card__content {
    gap: 0.58rem;
}

.product-card--electro-compact .product-card__title {
    font-size: clamp(0.84rem, 5.2cqw, 1rem);
}

.product-card--electro-compact .product-card__title.product-card__title--large {
    font-size: clamp(1.008rem, 6.24cqw, 1.2rem);
}

.product-card--electro-compact .product-card__price {
    font-size: clamp(0.9rem, 4.9cqw, 1.02rem);
}

.product-card--electro-compact .product-card__cart-btn {
    font-size: clamp(0.7rem, 4.1cqw, 0.82rem);
}

@container (max-width: 310px) {
    .product-card--electro .product-card__meta-row {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.45rem;
    }

    .product-card--electro .product-card__badge {
        justify-self: end;
    }
}

@media (max-width: 640px) {
    .product-card--electro {
        padding: 1rem;
        border-radius: 1.75rem;
    }

    .product-card--electro .product-card__media {
        margin-bottom: 0.85rem;
    }

    .product-card--electro .product-card__quick-actions {
        top: 0.1rem;
        right: 0.1rem;
    }
}
