/* Ajustes de WooCommerce sobre la maqueta de Plano Studio. */

.field { display: flex; flex-direction: column; }

.mt-3 { margin-top: var(--e3); }
.mb-0 { margin-bottom: 0; }

.plano-woo .woocommerce-message,
.plano-woo .woocommerce-info,
.plano-woo .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  background: var(--superficie);
  border: var(--borde);
  border-left: 3px solid var(--terracota);
  padding: var(--e4) var(--e5);
  margin: 0 0 var(--e4);
  list-style: none;
  color: var(--texto);
}

.plano-woo table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: var(--superficie);
  border: var(--borde);
  border-radius: var(--radio-md);
  overflow: hidden;
}

.plano-woo table.shop_table th,
.plano-woo table.shop_table td {
  padding: var(--e4);
  border-bottom: var(--borde);
  text-align: left;
  vertical-align: middle;
}

.plano-woo table.shop_table th {
  font-family: var(--fuente-display);
  font-weight: 400;
  color: var(--azul-petroleo);
  font-size: var(--fs-sm);
}

.plano-woo table.shop_table img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--radio);
}

.plano-woo .button,
.plano-woo button.button,
.plano-woo a.button,
.plano-woo input.button,
.woocommerce a.button,
.woocommerce button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 var(--e5);
  border-radius: var(--radio);
  border: 1px solid var(--azul-petroleo);
  background: var(--azul-petroleo);
  color: #fff;
  font-family: var(--fuente-display);
  cursor: pointer;
  text-decoration: none;
}

.plano-woo .button.alt,
.plano-woo #place_order {
  background: var(--terracota);
  border-color: var(--terracota);
}

.plano-woo .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: var(--e3);
  margin-bottom: var(--e5);
}

.plano-woo .coupon .input-text {
  width: min(280px, 100%);
}

form.checkout.woocommerce-checkout {
  display: grid;
  gap: var(--e6);
}

@media (min-width: 960px) {
  form.checkout.woocommerce-checkout {
    grid-template-columns: 1.35fr 0.8fr;
    align-items: start;
  }

  form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 4; }
  form.checkout #order_review_heading,
  form.checkout #order_review { grid-column: 2; }
}

.plano-woo .col2-set { display: grid; gap: var(--e5); }
.plano-woo .form-row { margin-bottom: var(--e4); }
.plano-woo .form-row label { display: block; font-size: var(--fs-sm); color: var(--azul-petroleo); margin-bottom: var(--e2); }
.plano-woo .woocommerce-billing-fields h3,
.plano-woo .woocommerce-shipping-fields h3,
.plano-woo #order_review_heading {
  font-family: var(--fuente-display);
  font-weight: 400;
  color: var(--azul-petroleo);
  margin-bottom: var(--e4);
}

.plano-woo #order_review,
.plano-woo .cart_totals {
  background: var(--superficie);
  border: var(--borde);
  border-radius: var(--radio-md);
  padding: var(--e5);
}

.plano-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: var(--e2);
  list-style: none;
  margin: 0;
  padding: 0;
}

.plano-pagination .page-numbers a,
.plano-pagination .page-numbers span {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: var(--borde);
  border-radius: var(--radio);
  background: var(--superficie);
}

.plano-pagination .page-numbers .current {
  background: var(--azul-petroleo);
  color: #fff;
  border-color: var(--azul-petroleo);
}

.product form.cart .quantity .qty {
  width: 110px;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin-top: var(--e5);
}

@media (max-width: 720px) {
  .plano-woo table.shop_table { display: block; overflow-x: auto; }
}
