/* ===== WooCommerce Cart (2 columnas siempre) ===== */

/* Layout: grid de 2 columnas (izq: items / der: totales + botón) */
body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 30vw);
  gap: 50px;
  align-items: start;
  margin-top: 5rem;
}

/* Forzar cada bloque en su columna */
body.woocommerce-cart .wc-block-cart__main { 
  grid-column: 1 !important; 
  width: 100%;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-cart__payment-options,
body.woocommerce-cart .wc-block-cart__submit {
  grid-column: 2 !important;
}

/* ===== Estilos de controles de línea ===== */
body.woocommerce-cart .wc-block-components-quantity-selector__input {
  border-radius: 8px;
  padding: .35rem .6rem;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #6265fe;
  text-decoration: underline;
}

/* ===== Sidebar totales como tarjeta ===== */
body.woocommerce-cart .wc-block-cart__sidebar {
  background: var(--eg-card-bg, #fff);
  border-radius: var(--eg-radius, 16px);
  box-shadow: 0 6px 20px var(--eg-soft, rgba(17, 24, 39, .08));
  padding: 1.25rem;
  min-width: 440px;
  position: sticky;
  top: 96px; /* Ajusta si tu header es más alto/bajo */
}

body.woocommerce-cart .wc-block-cart__totals-title {
  font-size: 1.25rem;
  margin-bottom: .75rem;
  color: #033840;
}

/* ===== Botón “Finalizar compra” ===== */
body.woocommerce-cart .wc-block-cart__submit-button {
  border-radius: 10px;
  padding: .9rem 1.25rem;
  font-weight: 700;
  background: #033840;
  color: #fff;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
  filter: brightness(1.08);
}

/* ===== Bloque cupones (acordeón) ===== */
body.woocommerce-cart .wc-block-components-panel__button {
  border-radius: 10px;
}

/* ≤ 1280px: respira y reduce sticky */
@media (max-width: 1280px){
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    grid-template-columns: minmax(0, 1fr) minmax(320px, 28vw);
    gap: 36px;
    padding: 0 16px;
  }
  body.woocommerce-cart .wc-block-cart__sidebar{
    min-width: 380px;
    top: 84px;
  }
}

/* ≤ 1024px: sidebar más angosto, controles touch */
@media (max-width: 1024px){
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    grid-template-columns: 1fr 340px;
    gap: 28px;
  }
  body.woocommerce-cart .wc-block-cart__sidebar{
    min-width: 0;          /* evita forzar ancho */
    top: 76px;
  }
  body.woocommerce-cart .wc-block-components-quantity-selector__input{
    padding: .5rem .7rem;
    min-height: 44px;
    font-size: 16px;
  }
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image{
    width: 64px; height: 64px;
  }
}

/* ≤ 900px: 1 columna (sidebar debajo) */
@media (max-width: 900px){
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    grid-template-columns: 1fr;
    gap: 22px;
    margin-top: 4rem;
    padding: 0 14px;
  }
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-cart .wc-block-cart__payment-options,
  body.woocommerce-cart .wc-block-cart__submit{
    grid-column: 1 !important;
  }
  body.woocommerce-cart .wc-block-cart__sidebar{
    position: static;
    width: 100%;
    min-width: 0;
    padding: 1rem;
  }
  /* Botón al 100% en móvil */
  body.woocommerce-cart .wc-block-cart__submit-button{
    width: 100%;
    padding: 1rem 1.25rem;
    font-size: 1.05rem;
  }
  /* Panel de cupón más legible */
  body.woocommerce-cart .wc-block-components-panel__button{ padding: .8rem 1rem; }
  body.woocommerce-cart .wc-block-components-panel__content{ padding: .6rem 0 0; }
}

/* ≤ 560px: tipografías y miniaturas */
@media (max-width: 560px){
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image{
    width: 56px; height: 56px;
  }
  body.woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__product-name{
    font-size: .98rem;
  }
  body.woocommerce-cart .wc-block-components-totals-wrapper{
    gap: .5rem;
  }
  body.woocommerce-cart .wc-block-cart__totals-title{
    font-size: 1.1rem;
    margin-bottom: .5rem;
  }
}

/* ======== CHECKOUT ======== */

/* Desktop: 2 columnas (contenido / resumen) */
body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(320px, 30vw);
  gap: 50px;
  align-items: start;
  margin-top: 5rem;
}

/* Forzar zonas a columna correcta */
body.woocommerce-checkout .wc-block-checkout__main{ grid-column: 1 !important; }
body.woocommerce-checkout .wc-block-checkout__sidebar{ grid-column: 2 !important; }

/* Sidebar resumen como tarjeta pegajosa */
body.woocommerce-checkout .wc-block-checkout__sidebar{
  background: var(--eg-card-bg, #fff);
  border-radius: var(--eg-radius, 16px);
  box-shadow: 0 6px 20px var(--eg-soft, rgba(17,24,39,.08));
  padding: 1.25rem;
  min-width: 440px;
  position: sticky;
  top: 96px; /* ajusta según header */
}

/* Campos: 2 col en desktop cuando Woo blocks lo permite */
body.woocommerce-checkout .wc-block-components-checkout-step .wc-block-components-checkout-step__content{
  gap: 14px;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox{
  min-height: 44px;
}

/* Botón pagar */
body.woocommerce-checkout .wc-block-components-button{
  border-radius: 10px;
  padding: 1rem 1.25rem;
  font-weight: 700;
}

/* ≤ 1280px */
@media (max-width: 1280px){
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
    grid-template-columns: minmax(0,1fr) minmax(320px, 28vw);
    gap: 36px; padding: 0 16px;
  }
  body.woocommerce-checkout .wc-block-checkout__sidebar{ min-width: 380px; top: 84px; }
}

/* ≤ 1024px: sidebar más angosto, inputs touch */
@media (max-width: 1024px){
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
    grid-template-columns: 1fr 340px; gap: 28px;
  }
  body.woocommerce-checkout .wc-block-checkout__sidebar{
    min-width: 0; top: 76px;
  }
  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-combobox input{
    font-size: 16px; padding: .85rem .9rem; min-height: 44px;
  }
  body.woocommerce-checkout .wc-block-components-select select{
    font-size: 16px; padding: .75rem .9rem; min-height: 44px;
  }
}

/* ≤ 900px: 1 columna */
@media (max-width: 900px){
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
    grid-template-columns: 1fr; gap: 22px; margin-top: 4rem; padding: 0 14px;
  }
  body.woocommerce-checkout .wc-block-checkout__main,
  body.woocommerce-checkout .wc-block-checkout__sidebar{
    grid-column: 1 !important;
  }
  body.woocommerce-checkout .wc-block-checkout__sidebar{
    position: static; width: 100%; min-width: 0; padding: 1rem;
  }
  body.woocommerce-checkout .wc-block-components-button{
    width: 100%; text-align: center; font-size: 1.05rem;
  }
  /* Acordeones de métodos de pago más cómodos */
  body.woocommerce-checkout .wc-block-components-radio-control__option{
    padding: .7rem .6rem;
  }
}

/* ≤ 560px: micro-ajustes de tipografía y espacios */
@media (max-width: 560px){
  body.woocommerce-checkout .wc-block-checkout__billing-fields h2,
  body.woocommerce-checkout .wc-block-checkout__shipping-fields h2{
    font-size: 1.1rem;
  }
  body.woocommerce-checkout .wc-block-components-order-summary-item__image{
    width: 56px; height: 56px;
  }
  body.woocommerce-checkout .wc-block-components-order-summary-item__description > a{
    font-size: .98rem;
  }
  body.woocommerce-checkout .wc-block-components-order-summary__button{
    padding: .7rem 1rem; border-radius: 10px;
  }
}
@media (min-width: 1200px) {
  .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0px;
    margin-bottom: 60px;
  }
}
@media (min-width: 1201px) {
    .ast-separate-container .entry-content[data-ast-blocks-layout] > .alignwide, .ast-plain-container .entry-content[data-ast-blocks-layout] > .alignwide {
        margin-left: auto;
        margin-right: auto;
        margin-top: 100px;
    }
}