/* Tema compartido de la tienda. Se carga al final para reemplazar colores heredados. */
:root {
  --store-button-light: color-mix(in srgb, var(--store-button, #8b602c) 70%, #ffffff);
  --store-button-dark: color-mix(in srgb, var(--store-button, #8b602c) 84%, #24170c);
  --store-primary-soft: color-mix(in srgb, var(--store-primary, #97652b) 10%, #ffffff);
  --store-primary-border: color-mix(in srgb, var(--store-primary, #97652b) 24%, transparent);
  --store-surface: color-mix(in srgb, var(--store-bg, #fff8ec) 70%, #ffffff);
  --store-surface-strong: color-mix(in srgb, var(--store-bg, #fff8ec) 42%, #ffffff);
  --store-ink: color-mix(in srgb, var(--store-primary, #97652b) 42%, #17120d);
  --store-action-gradient: linear-gradient(105deg, var(--store-button-light) 0%, var(--store-button, #8b602c) 58%, var(--store-button-dark) 100%);
  --store-theme-shadow: 0 10px 22px color-mix(in srgb, var(--store-button, #8b602c) 24%, transparent);
}

/*
 * El lienzo de todas las pantallas publicas pertenece al fondo global.
 * Las tarjetas conservan sus superficies, pero las envolturas no deben
 * reemplazar el preset o color elegido desde Configuracion.
 */
.site-public-root :is(
  .home-reference-tools,
  .featured,
  .home-cats,
  .home-panels,
  .product.spad,
  .shoping-cart.spad,
  .checkout.spad,
  .nosotros-page,
  .order-status-page,
  .client-account,
  .ec-checkout,
  .pv-page
) {
  background-color: transparent !important;
  background-image: none !important;
}

.site-public-root .nosotros-page::before,
.site-public-root .nosotros-page::after {
  display: none !important;
}

.site-public-root .footer.footer--pro {
  background: transparent !important;
}

/* Acciones principales de todas las secciones públicas */
.site-public-root :is(
  .site-btn,
  .primary-btn,
  .featured__bottom-btn,
  .fcard-add,
  .topsell__btn:not(.topsell__btn--ghost),
  .hero-filter-btn,
  .pf-search__btn,
  .home-reference__cta,
  .home-reference-tools__search button,
  .about-btn--primary,
  .about-form button,
  .status-search__button,
  .os-search button,
  .cart-summary__button,
  .checkout-btn,
  .checkout__order button,
  .shoping__discount form button,
  .contact-form form button,
  .ca-submit,
  .ec-submit,
  .pv-primary,
  .pv-search .btn,
  .cp-btn-wpp,
  #cartDrawerCheckout,
  #productoModal .pm-btn--info,
  #productoModal .pm-btn--add,
  #productoModal .pm-btn--buy
) {
  border-color: color-mix(in srgb, var(--store-button, #8b602c) 78%, #ffffff) !important;
  background-color: var(--store-button, #8b602c) !important;
  background-image: var(--store-action-gradient) !important;
  color: var(--store-button-text, #ffffff) !important;
  box-shadow: var(--store-theme-shadow) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.site-public-root :is(
  .site-btn,
  .primary-btn,
  .featured__bottom-btn,
  .fcard-add,
  .topsell__btn:not(.topsell__btn--ghost),
  .hero-filter-btn,
  .pf-search__btn,
  .home-reference__cta,
  .home-reference-tools__search button,
  .about-btn--primary,
  .about-form button,
  .status-search__button,
  .os-search button,
  .cart-summary__button,
  .checkout-btn,
  .checkout__order button,
  .shoping__discount form button,
  .contact-form form button,
  .ca-submit,
  .cp-btn-wpp,
  #cartDrawerCheckout,
  #productoModal .pm-btn--info,
  #productoModal .pm-btn--add,
  #productoModal .pm-btn--buy
):hover {
  color: var(--store-button-text, #ffffff) !important;
  filter: saturate(1.04) brightness(1.025) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--store-button, #8b602c) 30%, transparent) !important;
}

/* Acciones Bootstrap y pantallas auxiliares que no usan las clases de la tienda. */
.site-public-root :is(
  .btn-primary,
  .btn-success,
  .about-map-go,
  .submit-btn:not(.bg-white)
) {
  border-color: color-mix(in srgb, var(--store-button, #8b602c) 78%, #ffffff) !important;
  background-color: var(--store-button, #8b602c) !important;
  background-image: var(--store-action-gradient) !important;
  color: var(--store-button-text, #ffffff) !important;
  box-shadow: var(--store-theme-shadow) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.site-public-root :is(
  .btn-primary,
  .btn-success,
  .about-map-go,
  .submit-btn:not(.bg-white)
):hover {
  color: var(--store-button-text, #ffffff) !important;
  filter: saturate(1.04) brightness(1.025) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--store-button, #8b602c) 30%, transparent) !important;
}

.site-public-root :is(
  .site-btn,
  .primary-btn,
  .featured__bottom-btn,
  .fcard-add,
  .topsell__btn,
  .hero-filter-btn,
  .pf-search__btn,
  .home-reference__cta,
  .home-reference-tools__search button,
  .about-btn,
  .about-form button,
  .status-search__button,
  .os-search button,
  .ca-submit,
  .cp-btn-wpp,
  #cartDrawerCheckout,
  #productoModal .pm-btn
):active {
  transform: translateY(0);
  filter: brightness(.96) !important;
}

.site-public-root :is(
  .site-btn,
  .primary-btn,
  .fcard-add,
  .pf-search__btn,
  .home-reference__cta,
  .home-reference-tools__search button,
  .about-btn,
  .about-form button,
  .os-search button,
  .ca-submit,
  .cp-btn-wpp,
  #cartDrawerCheckout,
  #productoModal .pm-btn
):focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--store-button, #8b602c) 22%, transparent), var(--store-theme-shadow) !important;
}

/* Acentos que todavía conservaban el verde del tema original */
.site-public-root .hero__categories__all,
.site-public-root .header__right__pill--drawer {
  background-color: var(--store-button, #8b602c) !important;
  background-image: var(--store-action-gradient) !important;
  box-shadow: var(--store-theme-shadow) !important;
}

.site-public-root :is(
  .form-check-inline input:checked + label::before,
  .pf-check input:checked + .pf-box,
  .pf-check input:checked + .pf-box::after,
  .header__cart ul li a span,
  .hm-cart-link #numerito
) {
  background-color: var(--store-primary, #97652b) !important;
  border-color: var(--store-primary, #97652b) !important;
}

.site-public-root :is(
  .featured__all-link,
  .topsell__name:hover,
  .home-cat:hover,
  .product__pagination a:hover,
  .blog__pagination a:hover
) {
  color: var(--store-primary, #97652b) !important;
}

.site-public-root :is(
  .about-eyebrow,
  .about-visual-badge span,
  .about-mini-list i,
  .ca-eyebrow,
  .ca-fav-price,
  .hero__search__phone__icon
) {
  color: var(--store-primary, #97652b) !important;
}

.site-public-root :is(
  .about-info-icon,
  .about-visual-empty__icon,
  .ca-avatar
) {
  background-color: var(--store-button, #8b602c) !important;
  background-image: var(--store-action-gradient) !important;
  box-shadow: var(--store-theme-shadow) !important;
}

.site-public-root :is(.ca-tab.active, .ca-tab:hover, .ca-fav-actions a) {
  background: var(--store-primary-soft) !important;
  color: var(--store-primary, #97652b) !important;
}

.site-public-root :is(
  .about-form input,
  .about-form textarea,
  .ca-field input
):focus {
  border-color: var(--store-primary, #97652b) !important;
  box-shadow: 0 0 0 4px var(--store-primary-soft) !important;
}

.site-public-root .checkout__input__checkbox label input:checked ~ .checkmark {
  border-color: var(--store-primary, #97652b) !important;
  background: var(--store-primary, #97652b) !important;
}

.site-public-root .featured__controls ul li::after,
.site-public-root .product__pagination a:hover,
.site-public-root .blog__pagination a:hover,
.site-public-root :is(.featured__item__pic__hover, .product__item__pic__hover) li:hover a {
  background-color: var(--store-primary, #97652b) !important;
  border-color: var(--store-primary, #97652b) !important;
}

.site-public-root :is(.topsell__btn--ghost, .oos-item__btn, .about-btn--ghost) {
  background: var(--store-primary-soft) !important;
  border: 1px solid var(--store-primary-border) !important;
  color: var(--store-primary, #97652b) !important;
}

/* Página de carrito */
.site-public-root .shoping-cart.cp-cart {
  min-height: 52vh;
  padding: 64px 0 82px;
  background: transparent !important;
}

.site-public-root .cp-card,
.site-public-root .cp-summary {
  border: 1px solid var(--store-primary-border);
  border-radius: 20px;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--store-primary, #97652b) 12%, transparent);
}

.site-public-root .cp-card {
  background: color-mix(in srgb, var(--store-surface) 88%, transparent);
  backdrop-filter: blur(8px);
}

.site-public-root .cp-card__head {
  padding: 20px 22px;
  border-color: var(--store-primary-border);
  background: linear-gradient(110deg, var(--store-surface-strong), var(--store-surface));
}

.site-public-root .cp-card__title,
.site-public-root .cp-prod__name,
.site-public-root .cp-money,
.site-public-root .cp-foot-total strong {
  color: var(--store-ink);
}

.site-public-root .cp-table thead th {
  background: var(--store-primary-soft);
  color: var(--store-ink);
  border-color: var(--store-primary-border);
  letter-spacing: .035em;
}

.site-public-root .cp-table tbody td,
.site-public-root .cp-card__foot {
  border-color: var(--store-primary-border);
}

.site-public-root .cp-table tbody tr {
  transition: background-color .18s ease;
}

.site-public-root .cp-table tbody tr:hover {
  background: color-mix(in srgb, var(--store-primary, #97652b) 4%, #ffffff);
}

.site-public-root .cp-card__foot {
  padding: 18px 22px;
  background: var(--store-surface-strong);
}

.site-public-root .cp-link {
  color: var(--store-primary, #97652b);
}

.site-public-root .cp-link:hover {
  color: var(--store-button-dark);
}

.site-public-root .cp-stepper {
  border-color: var(--store-primary-border);
  background: #ffffff;
  box-shadow: inset 0 1px 3px rgba(70, 45, 20, .06);
}

.site-public-root .cp-qty-btn {
  background: var(--store-primary-soft);
  color: var(--store-primary, #97652b);
}

.site-public-root .cp-qty-btn:hover {
  background: color-mix(in srgb, var(--store-primary, #97652b) 18%, #ffffff);
}

.site-public-root .cp-summary__head {
  padding: 19px 22px;
  color: var(--store-button-text, #ffffff);
  background: var(--store-button-dark);
  border-color: rgba(255, 255, 255, .2);
  letter-spacing: .02em;
}

.site-public-root .cp-summary__body {
  padding: 20px 22px 22px;
  color: var(--store-button-text, #ffffff);
  background-color: var(--store-button, #8b602c);
  background-image: linear-gradient(105deg, var(--store-button-light) 0%, var(--store-button, #8b602c) 54%, var(--store-button-dark) 100%);
}

.site-public-root .cp-help {
  color: var(--store-ink);
  background: color-mix(in srgb, var(--store-bg, #fff8ec) 28%, #ffffff);
  border: 1px solid rgba(255, 255, 255, .5);
  box-shadow: 0 8px 20px rgba(46, 29, 12, .1);
}

.site-public-root .cp-prod__img {
  background: var(--store-surface);
  border-color: var(--store-primary-border);
}

.site-public-root .cp-prod__actions .btn-outline-secondary,
.site-public-root #cartDrawer .cd-edit.btn-outline-secondary {
  color: var(--store-primary, #97652b);
  border-color: var(--store-primary-border);
  background: var(--store-primary-soft);
}

/* Carrito lateral */
.site-public-root #cartDrawer .modal-content {
  color: var(--store-ink);
  background: var(--store-surface);
  border-left: 1px solid var(--store-primary-border);
  box-shadow: -24px 0 60px rgba(54, 34, 15, .18);
}

.site-public-root #cartDrawer .modal-header {
  padding: 20px 22px;
  border-color: var(--store-primary-border);
  background: linear-gradient(105deg, var(--store-surface-strong), var(--store-primary-soft));
}

.site-public-root #cartDrawer .modal-title {
  color: var(--store-ink);
  font-family: 'Cormorant Garamond', serif;
  font-size: 27px;
  font-weight: 700;
}

.site-public-root #cartDrawer .cart-drawer__body {
  background: color-mix(in srgb, var(--store-bg, #fff8ec) 78%, #ffffff);
}

.site-public-root #cartDrawer .cart-drawer__items {
  padding: 16px;
}

.site-public-root #cartDrawer .cd-item {
  gap: 13px;
  padding: 13px;
  border-color: var(--store-primary-border);
  border-radius: 16px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--store-primary, #97652b) 8%, transparent);
}

.site-public-root #cartDrawer .cd-item__img {
  width: 72px;
  height: 72px;
  flex-basis: 72px;
  background: var(--store-surface);
}

.site-public-root #cartDrawer .cd-item__name,
.site-public-root #cartDrawer .cd-item__price,
.site-public-root #cartDrawer .cart-drawer__total strong {
  color: var(--store-ink);
}

.site-public-root #cartDrawer .cd-qty input {
  border-color: var(--store-primary-border);
  color: var(--store-ink);
}

.site-public-root #cartDrawer :is(.cd-minus, .cd-plus) {
  border-color: var(--store-primary-border);
  background: var(--store-primary-soft);
  color: var(--store-primary, #97652b);
}

.site-public-root #cartDrawer .cart-drawer__footer {
  padding: 16px 18px;
  border-color: var(--store-primary-border);
  background: var(--store-surface-strong);
}

.site-public-root #cartDrawer .btn-outline-secondary {
  border-color: var(--store-primary-border);
  background: rgba(255, 255, 255, .72);
  color: var(--store-primary, #97652b);
}

.site-public-root #cartDrawerCheckout,
.site-public-root .cp-btn-wpp {
  border-radius: 12px;
  font-weight: 800;
}

/* Modal de producto y formularios */
.site-public-root #productoModal .pm-color.is-active,
.site-public-root #productoModal .pm-size.is-active {
  border-color: var(--store-primary, #97652b);
  box-shadow: 0 0 0 3px var(--store-primary-soft);
}

.site-public-root :is(.wpp-input, .wpp-select, .wpp-textarea):focus,
.site-public-root .os-search input:focus {
  border-color: var(--store-primary, #97652b);
  box-shadow: 0 0 0 4px var(--store-primary-soft);
}

/* SweetAlert utiliza botones propios; se integra al mismo tema. */
.site-public-root .swal2-confirm:not(.swal2-styled[style*="display: none"]) {
  border-color: var(--store-button, #8b602c) !important;
  background-color: var(--store-button, #8b602c) !important;
  background-image: var(--store-action-gradient) !important;
  color: var(--store-button-text, #ffffff) !important;
  box-shadow: var(--store-theme-shadow) !important;
}

@media (max-width: 991.98px) {
  .site-public-root .shoping-cart.cp-cart {
    padding: 42px 0 64px;
  }

  .site-public-root .cp-summary {
    margin-top: 26px;
  }
}

@media (max-width: 575.98px) {
  .site-public-root .shoping-cart.cp-cart {
    padding: 28px 0 48px;
  }

  .site-public-root .cp-card,
  .site-public-root .cp-summary {
    border-radius: 15px;
  }

  .site-public-root .cp-card__head,
  .site-public-root .cp-card__foot,
  .site-public-root .cp-summary__head,
  .site-public-root .cp-summary__body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .site-public-root #cartDrawer .modal-dialog {
    width: 100%;
    max-width: 100vw;
  }

  .site-public-root #cartDrawer .cd-item {
    align-items: flex-start;
  }

  .site-public-root #cartDrawer .cd-item__right {
    min-width: 102px;
  }

  .site-public-root #cartDrawer .cart-drawer__footer {
    align-items: stretch;
  }

  .site-public-root #cartDrawer .cart-drawer__footerBtns {
    width: 100%;
  }

  .site-public-root #cartDrawer .cart-drawer__footerBtns > * {
    flex: 1;
  }
}
