
/* v4.1.2: checkout físico y aislado del storefront. */
html[data-valgo-page="checkout"] #announcementBar,
html[data-valgo-page="checkout"] body > .site-header,
html[data-valgo-page="checkout"] body > main,
html[data-valgo-page="checkout"] body > footer,
html[data-valgo-page="checkout"] #cartDrawer,
html[data-valgo-page="checkout"] #overlay,
html[data-valgo-page="checkout"] #productDialog,
html[data-valgo-page="checkout"] #searchDialog,
html[data-valgo-page="checkout"] #customerAccountDialog,
html[data-valgo-page="checkout"] #whatsappFloat { display:none !important; }
html[data-valgo-page="checkout"] body { min-height:100dvh; }
/* VALGO Checkout page v4.1.2 */
html[data-valgo-page="checkout"] body { background:#f7f5f0; }
html[data-valgo-page="checkout"] body > .announcement-bar,
html[data-valgo-page="checkout"] body > .site-header,
html[data-valgo-page="checkout"] body > main:not(#productDetailPage),
html[data-valgo-page="checkout"] body > footer,
html[data-valgo-page="checkout"] #whatsappFloat { display:none !important; }

.checkout-page[hidden] { display:none !important; }
html[data-valgo-page="checkout"] .checkout-page[hidden],
html[data-valgo-page="checkout"] .checkout-page { display:block !important; min-height:100dvh; background:#f7f5f0; }
.checkout-page__shell { width:min(1440px,100%); margin:0 auto; padding:0 28px 72px; }
.checkout-page__topbar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(22,51,40,.12); }
.checkout-page__back,.checkout-continue-shopping { color:#163328; text-decoration:none; font-size:.86rem; font-weight:600; }
.checkout-page__back:hover,.checkout-continue-shopping:hover { text-decoration:underline; text-underline-offset:4px; }
.checkout-page__secure { color:#6d756f; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.checkout-dialog__content { width:100%; max-width:none; padding:42px 0 0; }
.checkout-dialog__content > #checkoutFormView > .eyebrow { margin-bottom:8px; }
#checkoutDialogTitle { margin:0; color:#163328; font-size:clamp(2rem,4vw,4rem); font-weight:400; }
.checkout-dialog__intro { max-width:620px; margin:12px 0 34px; color:#68716b; }

.checkout-order-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr); gap:30px; align-items:start; margin-bottom:34px; }
.checkout-order-products,.checkout-money-card,.checkout-step-card,.shipping-selector,.checkout-final-actions { background:#fff; border:1px solid rgba(22,51,40,.12); border-radius:22px; box-shadow:0 10px 30px rgba(25,38,31,.04); }
.checkout-order-products { padding:26px; }
.checkout-order-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; }
.checkout-order-heading h2,.checkout-money-card h2 { margin:4px 0 0; color:#163328; font-size:1.25rem; }
.checkout-step-kicker { color:#9a7a32; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.checkout-money-card { position:sticky; top:20px; padding:26px; }
.checkout-money-card h2 { margin:0 0 20px; }

.checkout-cart-items { display:grid; gap:0; }
.checkout-cart-item { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:18px; align-items:start; padding:18px 0; border-top:1px solid rgba(22,51,40,.1); }
.checkout-cart-item:first-child { border-top:0; padding-top:0; }
.checkout-cart-item__image-link { display:block; }
.checkout-cart-item img { width:90px; height:112px; object-fit:cover; border-radius:12px; background:#f0eee8; }
.checkout-cart-item__copy { min-width:0; display:grid; gap:7px; }
.checkout-cart-item__name { color:#171916; text-decoration:none; font-weight:700; line-height:1.3; }
.checkout-cart-item__meta { color:#717771; font-size:.78rem; line-height:1.45; }
.checkout-cart-item__bottom { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:7px; }
.checkout-cart-item__price { font-weight:700; color:#163328; white-space:nowrap; }
.checkout-cart-item__remove { border:0; background:transparent; color:#745f55; text-decoration:underline; text-underline-offset:3px; cursor:pointer; font:inherit; font-size:.75rem; }
.checkout-cart-empty { padding:34px 12px; text-align:center; color:#68716b; }

.checkout-page .cart-quantity { display:inline-grid; grid-template-columns:34px 38px 34px; align-items:center; border:1px solid rgba(22,51,40,.22); border-radius:999px; overflow:hidden; background:#fff; }
.checkout-page .cart-quantity button { width:34px; height:34px; border:0; background:transparent; color:#163328; cursor:pointer; font-size:1rem; }
.checkout-page .cart-quantity button:disabled { opacity:.3; cursor:not-allowed; }
.checkout-page .cart-quantity span { text-align:center; font-weight:700; font-size:.8rem; }

.checkout-page #checkoutForm { display:grid; gap:22px; }
.checkout-page .checkout-step-card,.checkout-page .shipping-selector,.checkout-page .checkout-final-actions { padding:26px; }
.checkout-page .checkout-step-card__heading { align-items:flex-start; }
.checkout-step-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:16px 18px; background:#f7f5f0; border-radius:14px; }
.checkout-step-summary div { display:grid; gap:4px; }
.checkout-step-summary span { color:#68716b; font-size:.82rem; }
.checkout-edit-step { border:0; background:transparent; color:#163328; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.checkout-step-card.is-complete .checkout-step-body { display:none; }
.checkout-step-card.is-complete .checkout-step-summary { display:flex !important; }
.checkout-contact-grid { margin-top:20px; }
.checkout-shipping-grid { margin-bottom:20px; }
.checkout-recipient-choice { display:grid; gap:10px; padding:18px 0; border-top:1px solid rgba(22,51,40,.1); }
.checkout-recipient-choice > span { color:#163328; font-weight:700; }
.checkout-recipient-choice label { display:flex; align-items:center; gap:9px; font-size:.86rem; color:#454b47; }
.checkout-recipient-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }
.checkout-recipient-fields label { display:grid; gap:7px; color:#3e4540; font-size:.8rem; font-weight:600; }
.checkout-recipient-fields input { width:100%; border:1px solid rgba(22,51,40,.22); border-radius:10px; padding:12px; font:inherit; }
.checkout-shipping-continue { margin-top:4px; }
.checkout-payment-step { margin-top:24px; padding-top:24px; border-top:1px solid rgba(22,51,40,.12); }
.checkout-payment-step__heading { margin-bottom:18px; }
.checkout-page .checkout-final-actions { display:grid; gap:14px; }
.checkout-page .checkout-summary--final { display:none; }
.checkout-page .checkout-money-card .checkout-summary__item-image { display:block; width:58px; height:72px; object-fit:cover; border-radius:8px; background:#f0eee8; }
.checkout-page .checkout-money-card .checkout-summary__item-main { display:grid; grid-template-columns:58px minmax(0,1fr); gap:12px; align-items:center; min-width:0; }
.checkout-page .checkout-money-card .checkout-summary__item-copy small { font-size:.72rem; }
.checkout-page .checkout-money-card .checkout-summary__item { gap:.5rem; }
.checkout-success { width:min(720px,100%); margin:48px auto 0; padding:42px; background:#fff; border:1px solid rgba(22,51,40,.12); border-radius:22px; }

@media (max-width:900px) {
  .checkout-page__shell { padding:0 16px 48px; }
  .checkout-page__topbar { min-height:62px; }
  .checkout-page__secure { display:none; }
  .checkout-dialog__content { padding-top:28px; }
  .checkout-order-layout { grid-template-columns:1fr; gap:18px; }
  .checkout-money-card { position:static; order:2; }
  .checkout-order-products { order:1; }
  .checkout-page .checkout-step-card,.checkout-page .shipping-selector,.checkout-page .checkout-final-actions,.checkout-order-products,.checkout-money-card { padding:20px; border-radius:16px; }
  .checkout-recipient-fields { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .checkout-cart-item { grid-template-columns:72px minmax(0,1fr); gap:12px; }
  .checkout-cart-item img { width:72px; height:90px; }
  .checkout-cart-item__price { grid-column:2; justify-self:start; }
  .checkout-order-heading { align-items:center; }
  .checkout-order-heading h2 { font-size:1.1rem; }
}


/* v4.1.1 hotfix: checkout puede activarse sin recargar la página. */
html[data-valgo-page="checkout"] #checkoutDialog.checkout-page { display:block !important; }
html[data-valgo-page="checkout"] body.valgo-loading #checkoutDialog.checkout-page { min-height:100dvh; }

/* v4.1.4: resumen sticky durante todo el flujo + envío colapsable + regalo. */

.checkout-main-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,360px);
  gap:30px;
  align-items:start;
}
.checkout-left-flow { min-width:0; display:grid; gap:22px; }
.checkout-main-layout .checkout-money-card {
  position:sticky;
  top:20px;
  align-self:start;
  max-height:calc(100dvh - 40px);
  overflow:auto;
  overscroll-behavior:contain;
}
.checkout-main-layout #checkoutForm { display:grid; gap:22px; }
.checkout-main-layout .checkout-order-products { margin:0; }
.checkout-main-layout .checkout-money-card { margin:0; }

.checkout-recipient-fields[hidden] { display:none !important; }
.checkout-shipping-summary[hidden] { display:none !important; }
.shipping-selector.is-complete .shipping-selector__fields { display:none; }
.shipping-selector.is-complete .checkout-shipping-summary { display:flex !important; }
.checkout-shipping-summary strong { line-height:1.35; }

.checkout-gift-option {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:4px 0 18px;
  padding:16px 18px;
  border:1px solid rgba(22,51,40,.12);
  border-radius:14px;
  background:#faf9f6;
  cursor:pointer;
}
.checkout-gift-option input { margin-top:3px; flex:0 0 auto; }
.checkout-gift-option span { display:grid; gap:4px; }
.checkout-gift-option strong { color:#163328; font-size:.9rem; }
.checkout-gift-option small { color:#68716b; line-height:1.45; }

.checkout-payment-step { margin-top:0; padding:26px; border-top:0; }
.checkout-payment-step .checkout-final-actions {
  margin-top:22px;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.checkout-payment-step .checkout-final-actions[hidden] { display:none !important; }

@media (max-width:900px) {
  .checkout-main-layout { grid-template-columns:1fr; gap:18px; }
  .checkout-main-layout .checkout-money-card { position:static; max-height:none; overflow:visible; order:2; }
  .checkout-left-flow { order:1; }
}



/* VALGO v4.1.5 — progreso, resumen visual y colapso robusto de envío */
.checkout-progress {
  width:min(760px,100%);
  margin:26px auto 2px;
  display:grid;
  grid-template-columns:auto minmax(48px,1fr) auto minmax(48px,1fr) auto;
  align-items:start;
  gap:12px;
}
.checkout-progress__step { display:grid; justify-items:center; gap:7px; min-width:92px; color:#9a9f9b; }
.checkout-progress__number {
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  border:1px solid #aeb3af; background:#fff; color:#727872; font-size:.8rem; font-weight:700;
}
.checkout-progress__label { font-size:.72rem; line-height:1.2; text-align:center; }
.checkout-progress__line { height:1px; background:#c9cdca; margin-top:14px; }
.checkout-progress__step.is-active { color:#163328; }
.checkout-progress__step.is-active .checkout-progress__number { border-color:#163328; background:#163328; color:#fff; }
.checkout-progress__step.is-complete { color:#163328; }
.checkout-progress__step.is-complete .checkout-progress__number { border-color:#163328; background:#fff; color:#163328; }
.checkout-progress__line.is-complete { background:#163328; }

.checkout-money-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:18px; }
.checkout-money-card__heading h2 { margin:4px 0 0 !important; }
.checkout-money-card__bag-link { color:#163328; font-size:.75rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.checkout-money-card .checkout-summary__items { display:grid; gap:14px; padding-bottom:18px; border-bottom:1px solid rgba(22,51,40,.12); }
.checkout-money-card .checkout-summary__item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; }
.checkout-money-card .checkout-summary__item-copy { min-width:0; display:grid; gap:4px; }
.checkout-money-card .checkout-summary__item-copy strong { font-size:.84rem; line-height:1.25; }
.checkout-money-card .checkout-summary__item-copy small { color:#747a75; line-height:1.35; }
.checkout-money-card .checkout-summary__item-price { color:#163328; font-weight:700; font-size:.82rem; white-space:nowrap; }
.checkout-money-card .checkout-summary__totals { display:grid; gap:9px; padding-top:18px; }
.checkout-money-card .checkout-summary__totals > div { display:flex; justify-content:space-between; gap:18px; font-size:.84rem; }
.checkout-money-card .checkout-summary__totals > div:last-child { margin-top:6px; padding-top:12px; border-top:1px solid rgba(22,51,40,.14); font-size:1rem; }

/* En v4.1.5 el JS controla hidden de forma explícita para evitar que reglas antiguas lo pisen. */
#shippingSelectorFields[hidden],
#checkoutShippingSummary[hidden],
#checkoutPaymentStep[hidden],
#checkoutFinalActions[hidden] { display:none !important; }
.shipping-selector.is-complete #shippingSelectorFields { display:none !important; }
.shipping-selector.is-complete #checkoutShippingSummary { display:flex !important; }
.checkout-shipping-summary { margin-top:18px; }
.checkout-shipping-summary > div { min-width:0; }
.checkout-shipping-summary strong,
.checkout-shipping-summary span { overflow-wrap:anywhere; }

@media (min-width:901px) {
  .checkout-main-layout { grid-template-columns:minmax(0,1fr) minmax(340px,390px); }
  .checkout-main-layout .checkout-money-card { top:18px; max-height:calc(100dvh - 36px); }
}
@media (max-width:700px) {
  .checkout-progress { grid-template-columns:auto minmax(20px,1fr) auto minmax(20px,1fr) auto; gap:7px; margin-top:18px; }
  .checkout-progress__step { min-width:70px; }
  .checkout-progress__label { font-size:.65rem; }
  .checkout-progress__number { width:26px; height:26px; }
  .checkout-progress__line { margin-top:13px; }
  .checkout-money-card__heading { align-items:center; }
  .checkout-money-card__bag-link { font-size:.7rem; }
}

/* VALGO v4.1.7 — una sola barra vertical.
   El resumen conserva position:sticky, pero nunca crea un scroll interno. */
html[data-valgo-page="checkout"] .checkout-main-layout .checkout-money-card {
  max-height:none !important;
  overflow:visible !important;
  overscroll-behavior:auto !important;
}

/* Los campos de envío colapsados siguen activos para que cambiar el método de pago
   pueda recalcular el total sin volver a pedir departamento/municipio. */
html[data-valgo-page="checkout"] #shippingSelectorFields[hidden] {
  display:none !important;
}


/* VALGO v4.1.8 — checkout con una sola barra vertical.
   Solo el documento (html) controla el desplazamiento vertical. */
html[data-valgo-page="checkout"] {
  height:auto !important;
  min-height:100% !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}
html[data-valgo-page="checkout"] body {
  height:auto !important;
  min-height:100dvh !important;
  max-height:none !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
}
html[data-valgo-page="checkout"] #checkoutDialog,
html[data-valgo-page="checkout"] .checkout-page,
html[data-valgo-page="checkout"] .checkout-page__shell,
html[data-valgo-page="checkout"] .checkout-dialog__content,
html[data-valgo-page="checkout"] #checkoutFormView,
html[data-valgo-page="checkout"] #checkoutForm,
html[data-valgo-page="checkout"] .checkout-main-layout,
html[data-valgo-page="checkout"] .checkout-left-flow,
html[data-valgo-page="checkout"] .checkout-money-card {
  height:auto !important;
  max-height:none !important;
  overflow-y:visible !important;
  overscroll-behavior-y:auto !important;
}
html[data-valgo-page="checkout"] #checkoutDialog,
html[data-valgo-page="checkout"] .checkout-page,
html[data-valgo-page="checkout"] .checkout-page__shell,
html[data-valgo-page="checkout"] .checkout-dialog__content,
html[data-valgo-page="checkout"] #checkoutFormView {
  overflow-x:visible !important;
}


/* ================================================================
   VALGO Checkout v4.2.0 — editorial compacto + tema administrable
   - Una sola barra vertical (documento)
   - Tipografía/espaciado coherentes con storefront
   - Labels alineados
   - Campos, tarjetas y segmentos rectos (sin esquinas redondeadas)
   - Colores provenientes de Admin > Tema visual
   ================================================================ */
html[data-valgo-page="checkout"] body,
html[data-valgo-page="checkout"] .checkout-page {
  background:var(--valgo-theme-background,#fff) !important;
  color:var(--valgo-theme-text,#0d0d0d) !important;
}

html[data-valgo-page="checkout"] .checkout-page__shell {
  width:min(1400px,100%);
  padding:0 28px 56px;
}
html[data-valgo-page="checkout"] .checkout-page__topbar {
  min-height:64px;
  border-color:color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 14%,transparent);
}
html[data-valgo-page="checkout"] .checkout-page__back,
html[data-valgo-page="checkout"] .checkout-continue-shopping,
html[data-valgo-page="checkout"] .checkout-edit-step,
html[data-valgo-page="checkout"] .checkout-money-card__bag-link {
  color:var(--valgo-theme-text,#0d0d0d) !important;
}
html[data-valgo-page="checkout"] .checkout-page__secure,
html[data-valgo-page="checkout"] .checkout-dialog__intro,
html[data-valgo-page="checkout"] .checkout-step-card__heading p,
html[data-valgo-page="checkout"] .shipping-selector__heading p,
html[data-valgo-page="checkout"] .checkout-field-help,
html[data-valgo-page="checkout"] .checkout-summary__item-copy small {
  color:color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 60%,transparent) !important;
}

/* Encabezado más contenido: misma escala editorial del resto del sitio. */
html[data-valgo-page="checkout"] .checkout-dialog__content { padding-top:26px; }
html[data-valgo-page="checkout"] .checkout-dialog__content > #checkoutFormView > .eyebrow {
  margin:0 0 5px;
  color:var(--valgo-theme-text,#0d0d0d) !important;
  font-size:.72rem;
  letter-spacing:.13em;
}
html[data-valgo-page="checkout"] #checkoutDialogTitle {
  margin:0;
  color:var(--valgo-theme-text,#0d0d0d) !important;
  font-size:clamp(2.15rem,3.3vw,3.2rem);
  line-height:1.02;
  font-weight:300;
  letter-spacing:-.025em;
}
html[data-valgo-page="checkout"] .checkout-dialog__intro {
  max-width:660px;
  margin:8px 0 24px;
  font-size:.92rem;
  line-height:1.5;
}

/* Progreso: negro/blanco/marfil según tema del Admin. */
html[data-valgo-page="checkout"] .checkout-progress {
  width:min(700px,100%);
  margin:18px auto 30px;
}
html[data-valgo-page="checkout"] .checkout-progress__step {
  color:color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 48%,transparent);
}
html[data-valgo-page="checkout"] .checkout-progress__number {
  border-radius:50%;
  border-color:color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 38%,transparent);
  background:var(--valgo-theme-background,#fff);
  color:var(--valgo-theme-text,#0d0d0d);
}
html[data-valgo-page="checkout"] .checkout-progress__step.is-active,
html[data-valgo-page="checkout"] .checkout-progress__step.is-complete {
  color:var(--valgo-theme-text,#0d0d0d);
}
html[data-valgo-page="checkout"] .checkout-progress__step.is-active .checkout-progress__number {
  border-color:var(--valgo-theme-primary,#0d0d0d);
  background:var(--valgo-theme-primary,#0d0d0d);
  color:var(--valgo-theme-primary-button-text,#fff);
}
html[data-valgo-page="checkout"] .checkout-progress__step.is-complete .checkout-progress__number {
  border-color:var(--valgo-theme-primary,#0d0d0d);
  background:var(--valgo-theme-background,#fff);
  color:var(--valgo-theme-primary,#0d0d0d);
}
html[data-valgo-page="checkout"] .checkout-progress__line,
html[data-valgo-page="checkout"] .checkout-progress__line.is-complete {
  background:color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 28%,transparent);
}
html[data-valgo-page="checkout"] .checkout-progress__line.is-complete {
  background:var(--valgo-theme-primary,#0d0d0d);
}

/* Todos los bloques editoriales del checkout son rectos. */
html[data-valgo-page="checkout"] .checkout-order-products,
html[data-valgo-page="checkout"] .checkout-money-card,
html[data-valgo-page="checkout"] .checkout-step-card,
html[data-valgo-page="checkout"] .shipping-selector,
html[data-valgo-page="checkout"] .checkout-final-actions,
html[data-valgo-page="checkout"] .checkout-success,
html[data-valgo-page="checkout"] .checkout-step-summary,
html[data-valgo-page="checkout"] .checkout-gift-option,
html[data-valgo-page="checkout"] .payment-option-card,
html[data-valgo-page="checkout"] .checkout-phone-field,
html[data-valgo-page="checkout"] input:not([type="checkbox"]):not([type="radio"]),
html[data-valgo-page="checkout"] select,
html[data-valgo-page="checkout"] textarea,
html[data-valgo-page="checkout"] button.button,
html[data-valgo-page="checkout"] .button,
html[data-valgo-page="checkout"] .cart-quantity,
html[data-valgo-page="checkout"] .checkout-cart-item img,
html[data-valgo-page="checkout"] .checkout-summary__item-image {
  border-radius:0 !important;
}

html[data-valgo-page="checkout"] .checkout-order-products,
html[data-valgo-page="checkout"] .checkout-money-card,
html[data-valgo-page="checkout"] .checkout-step-card,
html[data-valgo-page="checkout"] .shipping-selector,
html[data-valgo-page="checkout"] .checkout-final-actions {
  border-color:color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 16%,transparent) !important;
  box-shadow:none !important;
}
html[data-valgo-page="checkout"] .checkout-order-products,
html[data-valgo-page="checkout"] .checkout-money-card,
html[data-valgo-page="checkout"] .checkout-step-card,
html[data-valgo-page="checkout"] .shipping-selector {
  padding:22px;
}
html[data-valgo-page="checkout"] .checkout-left-flow,
html[data-valgo-page="checkout"] .checkout-main-layout #checkoutForm {
  gap:18px;
}
html[data-valgo-page="checkout"] .checkout-main-layout {
  gap:24px;
}

/* Escala y espacio coherentes de encabezados de cada paso. */
html[data-valgo-page="checkout"] .checkout-step-card__heading {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 16px;
}
html[data-valgo-page="checkout"] .checkout-step-card__heading > div { min-width:0; }
html[data-valgo-page="checkout"] .checkout-step-card__heading h3,
html[data-valgo-page="checkout"] .shipping-selector__heading h3 {
  margin:0;
  color:var(--valgo-theme-text,#0d0d0d) !important;
  font-size:1.18rem;
  line-height:1.18;
  font-weight:400;
  letter-spacing:-.01em;
}
html[data-valgo-page="checkout"] .checkout-step-card__heading p,
html[data-valgo-page="checkout"] .shipping-selector__heading p {
  margin:3px 0 0;
  font-size:.78rem;
  line-height:1.4;
}
html[data-valgo-page="checkout"] .checkout-step-number {
  background:var(--valgo-theme-primary,#0d0d0d) !important;
  color:var(--valgo-theme-primary-button-text,#fff) !important;
}
html[data-valgo-page="checkout"] .checkout-step-kicker {
  color:var(--valgo-theme-text,#0d0d0d) !important;
}
html[data-valgo-page="checkout"] .checkout-order-heading h2,
html[data-valgo-page="checkout"] .checkout-money-card h2 {
  color:var(--valgo-theme-text,#0d0d0d) !important;
  font-size:1.08rem;
  font-weight:400;
}

/* Formulario: labels e inputs de Nombre/WhatsApp perfectamente alineados. */
html[data-valgo-page="checkout"] .checkout-contact-grid,
html[data-valgo-page="checkout"] .checkout-shipping-grid {
  align-items:start;
  column-gap:14px;
  row-gap:14px;
}
html[data-valgo-page="checkout"] .checkout-contact-grid > label,
html[data-valgo-page="checkout"] .checkout-shipping-grid > label,
html[data-valgo-page="checkout"] .checkout-recipient-fields > label {
  display:grid !important;
  grid-template-rows:auto 48px auto;
  align-content:start;
  gap:6px !important;
  margin:0 !important;
  color:var(--valgo-theme-text,#0d0d0d) !important;
  font-size:.78rem !important;
  font-weight:600;
  line-height:1.25;
}
html[data-valgo-page="checkout"] .checkout-contact-grid > label > input,
html[data-valgo-page="checkout"] .checkout-shipping-grid > label > input,
html[data-valgo-page="checkout"] .checkout-shipping-grid > label > select,
html[data-valgo-page="checkout"] .checkout-recipient-fields > label > input,
html[data-valgo-page="checkout"] .checkout-phone-field {
  height:48px !important;
  min-height:48px !important;
  margin:0 !important;
}
html[data-valgo-page="checkout"] .checkout-phone-field {
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 20%,transparent) !important;
  background:var(--valgo-theme-background,#fff) !important;
}
html[data-valgo-page="checkout"] .checkout-phone-prefix {
  display:grid;
  place-items:center;
  border-right:1px solid color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 20%,transparent);
  background:var(--valgo-theme-surface,#f5f1e8) !important;
  color:var(--valgo-theme-text,#0d0d0d) !important;
}
html[data-valgo-page="checkout"] .checkout-phone-field input {
  height:46px !important;
  border:0 !important;
  outline:0;
  background:transparent !important;
}
html[data-valgo-page="checkout"] input:not([type="checkbox"]):not([type="radio"]),
html[data-valgo-page="checkout"] select,
html[data-valgo-page="checkout"] textarea {
  border:1px solid color-mix(in srgb,var(--valgo-theme-text,#0d0d0d) 20%,transparent) !important;
  background:var(--valgo-theme-background,#fff) !important;
  color:var(--valgo-theme-text,#0d0d0d) !important;
  box-shadow:none !important;
}
html[data-valgo-page="checkout"] input:not([type="checkbox"]):not([type="radio"]):focus,
html[data-valgo-page="checkout"] select:focus,
html[data-valgo-page="checkout"] textarea:focus {
  border-color:var(--valgo-theme-primary,#0d0d0d) !important;
  outline:1px solid var(--valgo-theme-primary,#0d0d0d) !important;
  outline-offset:0 !important;
}

html[data-valgo-page="checkout"] .checkout-step-summary,
html[data-valgo-page="checkout"] .checkout-gift-option {
  background:var(--valgo-theme-surface,#f5f1e8) !important;
}
html[data-valgo-page="checkout"] .checkout-gift-option strong,
html[data-valgo-page="checkout"] .checkout-money-card .checkout-summary__item-price,
html[data-valgo-page="checkout"] .checkout-cart-item__price,
html[data-valgo-page="checkout"] .checkout-cart-item__name,
html[data-valgo-page="checkout"] .checkout-recipient-choice > span {
  color:var(--valgo-theme-text,#0d0d0d) !important;
}

/* Acciones principales obedecen lo seleccionado desde Admin > Tema visual. */
html[data-valgo-page="checkout"] .button.primary,
html[data-valgo-page="checkout"] button.button.primary {
  background:var(--valgo-theme-button-primary-bg,#0d0d0d) !important;
  border-color:var(--valgo-theme-button-primary-bg,#0d0d0d) !important;
  color:var(--valgo-theme-button-primary-text,#fff) !important;
}

/* El resumen permanece sticky, pero jamás tiene scroll interno. */
html[data-valgo-page="checkout"] .checkout-main-layout .checkout-money-card {
  position:sticky;
  top:16px;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  overflow-y:visible !important;
}
html[data-valgo-page="checkout"] #checkoutDialog,
html[data-valgo-page="checkout"] .checkout-page__shell,
html[data-valgo-page="checkout"] .checkout-dialog__content,
html[data-valgo-page="checkout"] #checkoutFormView,
html[data-valgo-page="checkout"] .checkout-main-layout,
html[data-valgo-page="checkout"] .checkout-left-flow,
html[data-valgo-page="checkout"] #checkoutForm {
  max-height:none !important;
  height:auto !important;
  overflow-y:visible !important;
}

@media (max-width:900px) {
  html[data-valgo-page="checkout"] .checkout-page__shell { padding:0 16px 40px; }
  html[data-valgo-page="checkout"] .checkout-dialog__content { padding-top:20px; }
  html[data-valgo-page="checkout"] #checkoutDialogTitle { font-size:clamp(2rem,9vw,2.65rem); }
  html[data-valgo-page="checkout"] .checkout-progress { margin:14px auto 24px; }
  html[data-valgo-page="checkout"] .checkout-order-products,
  html[data-valgo-page="checkout"] .checkout-money-card,
  html[data-valgo-page="checkout"] .checkout-step-card,
  html[data-valgo-page="checkout"] .shipping-selector { padding:18px; }
}
