/* INESIA — flujo de inscripción (Inscripción, confirmación y Mi cuenta).
   Pantallas de tarea: una familia, títulos contenidos, superficies con borde y sin sombra,
   el curso como cara de la pantalla y una sola acción principal en tinta. */

:root {
  --ease-ui: cubic-bezier(0.23, 1, 0.32, 1);
  --task-radius: 18px;
  --task-radius-inner: 12px;
  --task-pad: clamp(20px, 2.2vw, 28px);
  --field-border: #CFC6B3;
  --notice-bg: #FFF8E6;
  --notice-line: #EBD9A6;
  --notice-ink: #6E4E12;
}

/* ---------------------------------------------------------------- Cabecera de las pantallas de tarea */
.page-head--task { padding-block: clamp(28px, 4vw, 48px) 0; }
.page-head--task .page-head__title { font-size: clamp(1.75rem, 1.2vw + 1.2rem, 2.25rem); line-height: 1.15; letter-spacing: -0.02em; max-width: 30ch; }
.page-head--task .page-head__lead { margin-top: 10px; font-size: 1.0625rem; max-width: 62ch; color: var(--ink-soft); }
.page-head--task + .section { padding-top: clamp(24px, 3vw, 36px); }

/* ---------------------------------------------------------------- Botones: respuesta al pulsar */
.shop .btn, .shop .wc-block-components-button:not(.is-link), .shop .button {
  transition: transform 160ms var(--ease-ui), background-color 160ms ease, box-shadow 160ms ease;
}
.shop .btn:active, .shop .wc-block-components-button:not(.is-link):active, .shop .button:active { transform: scale(0.98); }
.shop :focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

/* ---------------------------------------------------------------- Inscripción (checkout de bloques) */
.shop .wc-block-components-sidebar-layout { gap: clamp(20px, 2.4vw, 32px); flex-wrap: nowrap; align-items: flex-start; }
.shop .wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 auto; min-width: 0; width: auto; }
.shop .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 0 auto; width: clamp(320px, 34%, 420px); }
@media (max-width: 860px) {
  .shop .wc-block-components-sidebar-layout { flex-wrap: wrap; }
  .shop .wc-block-components-sidebar-layout .wc-block-components-main,
  .shop .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; }
}

/* Las dos superficies: el formulario y el curso. Borde, sin sombra. */
.shop .wp-block-woocommerce-checkout-fields-block,
.shop .wp-block-woocommerce-checkout-totals-block {
  padding: var(--task-pad) !important; background: var(--surface); border: 1px solid var(--line); border-radius: var(--task-radius); box-shadow: none;
}
.shop .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
@media (min-width: 861px) { .shop .wc-block-components-sidebar { position: sticky; top: calc(var(--header-h, 72px) + 24px); } }

/* Pasos: títulos en frase, sin numeración */
.shop .wc-block-components-checkout-step { margin-bottom: 28px !important; }
.shop .wc-block-components-checkout-step__heading { margin-bottom: 14px !important; }
.shop .wc-block-components-checkout-step__title {
  font-family: var(--font-display); font-size: 1.125rem !important; font-weight: 800; letter-spacing: -0.01em; text-transform: none; color: var(--ink);
}
.shop .wc-block-components-checkout-step__container::after, .shop .wc-block-components-checkout-step::before { display: none !important; }
.shop .wc-block-components-checkout-step__heading-content a { font-weight: 700; color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: .25em; }

/* Campos */
.shop .wc-block-components-text-input input,
.shop .wc-block-components-combobox .wc-block-components-combobox-control input,
.shop .wc-blocks-components-select select,
.shop .wc-block-components-address-form select {
  border: 1px solid var(--field-border) !important; border-radius: 10px !important; background: var(--surface) !important; color: var(--ink) !important;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.shop .wc-block-components-text-input input:focus,
.shop .wc-blocks-components-select select:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 3px rgba(201, 169, 107, .35) !important; outline: 0; }
.shop .wc-block-components-text-input label, .shop .wc-blocks-components-select label { color: var(--ink-muted) !important; }
.shop .wc-block-components-address-form__address_2-toggle { font-weight: 700; color: var(--ink-soft); }

/* Aviso de pago no disponible: tranquilo, no alarma */
.shop .wc-block-components-notice-banner.is-error,
.shop .wc-block-checkout__no-payment-methods-notice {
  background: var(--notice-bg) !important; border: 1px solid var(--notice-line) !important; color: var(--notice-ink) !important; border-radius: var(--task-radius-inner) !important;
}
.shop .wc-block-components-notice-banner.is-error > svg { fill: var(--notice-ink) !important; background: transparent !important; }

/* Condiciones y botón */
.shop .wc-block-checkout__terms { font-size: .95rem; color: var(--ink-soft); }
.shop .wc-block-checkout__terms a { color: var(--ink); font-weight: 700; text-decoration-color: var(--gold); text-underline-offset: .2em; }
.shop .wc-block-checkout__actions_row { justify-content: stretch; }
.shop .wc-block-components-checkout-place-order-button { width: 100%; min-height: 54px; font-size: 1.0625rem !important; font-weight: 800 !important; }
.shop .wc-block-components-checkout-return-to-cart-button { display: none !important; }

/* ---------------------------------------------------------------- «Tu inscripción»: el curso como cara de la pantalla */
.shop .wc-block-components-checkout-order-summary__title,
.shop .wc-block-components-order-summary .wc-block-components-panel__button { padding: 0 !important; margin: 0 0 16px !important; }
.shop .wc-block-components-checkout-order-summary__title-text,
.shop .wc-block-components-title.wc-block-components-checkout-order-summary__title-text {
  font-family: var(--font-display) !important; font-size: 1.125rem !important; font-weight: 800 !important; letter-spacing: -0.01em !important; text-transform: none !important; color: var(--ink) !important;
}
.shop .wc-block-components-order-summary { padding: 0 !important; }
.shop .wc-block-components-order-summary-item {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 14px; padding: 0 0 20px !important; border: 0 !important;
}
.shop .wc-block-components-order-summary-item__image { grid-column: 1 / -1; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.shop .wc-block-components-order-summary-item__image img {
  display: block; width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--task-radius-inner); background: var(--night);
}
.shop .wc-block-components-order-summary-item__quantity { display: none !important; }
.shop .wc-block-components-order-summary-item__description { padding: 0 !important; }
.shop .wc-block-components-order-summary-item .wc-block-components-product-name {
  display: block; font-family: var(--font-display); font-size: 1.125rem !important; font-weight: 800 !important; line-height: 1.25; letter-spacing: -0.01em; color: var(--ink) !important; text-decoration: none !important;
}
.shop .wc-block-components-order-summary-item .wc-block-components-product-metadata { margin-top: 6px; font-size: .95rem; color: var(--ink-muted); }
.shop .wc-block-components-order-summary-item .wc-block-cart-item__prices,
.shop .wc-block-components-order-summary-item .wc-block-components-order-summary-item__individual-prices { display: none !important; }
.shop .wc-block-components-order-summary-item__total-price { align-self: start; font-weight: 800; font-size: 1.0625rem; color: var(--ink); font-variant-numeric: tabular-nums; }

.shop .wc-block-components-totals-wrapper { padding-inline: 0 !important; border-color: var(--rule, #EFE9DC) !important; }
.shop .wc-block-components-totals-coupon .wc-block-components-panel__button { font-weight: 700; color: var(--ink-soft); }
.shop .wc-block-components-totals-item { font-variant-numeric: tabular-nums; }
.shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--font-display); font-size: 1.125rem; font-weight: 800; color: var(--ink); }
.shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--font-display); font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }

/* ---------------------------------------------------------------- Confirmación de inscripción */
.enrol-heading { font-family: var(--font-display); font-size: 1.125rem; font-weight: 800; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 16px; }
.enrol-done__lead { margin: 0 0 clamp(24px, 3vw, 36px); font-size: 1.125rem; color: var(--ink-soft); max-width: 62ch; }
.enrol-done__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: clamp(20px, 2.4vw, 32px); align-items: start; }
@media (max-width: 860px) { .enrol-done__grid { grid-template-columns: 1fr; } }

.enrol-done__courses, .enrol-done__receipt { padding: var(--task-pad); background: var(--surface); border: 1px solid var(--line); border-radius: var(--task-radius); }
.enrol-course { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: 20px 24px; align-items: center; }
.enrol-course + .enrol-course { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--rule, #EFE9DC); }
.enrol-course__cover { position: relative; aspect-ratio: 16 / 9; border-radius: var(--task-radius-inner); overflow: hidden; background: var(--night); }
.enrol-course__title { font-family: var(--font-display); font-size: 1.375rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.015em; color: var(--ink); margin: 0; }
.enrol-course__meta { margin: 8px 0 0; color: var(--ink-muted); }
.enrol-course__go { margin-top: 18px; display: inline-flex; align-items: center; gap: .5em; }
.enrol-course__go .icon { width: 18px; height: 18px; transition: transform 160ms var(--ease-ui); }
@media (hover: hover) and (pointer: fine) { .enrol-course__go:hover .icon { transform: translateX(3px); } }
.enrol-course__wait { margin: 16px 0 0; font-weight: 700; color: var(--notice-ink); }
@media (max-width: 600px) { .enrol-course { grid-template-columns: 1fr; } }

.enrol-receipt { margin: 0; }
.enrol-receipt > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--rule, #EFE9DC); }
.enrol-receipt > div:last-child { border-bottom: 0; }
.enrol-receipt dt { color: var(--ink-muted); }
.enrol-receipt dd { margin: 0; color: var(--ink); font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.enrol-receipt .num { font-variant-numeric: tabular-nums; }
.enrol-receipt__total dt { color: var(--ink); font-weight: 800; }
.enrol-receipt__total dd { font-family: var(--font-display); font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; }
.enrol-receipt__link { margin: 14px 0 0; }
.enrol-receipt__link a { font-weight: 700; color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: .25em; }

.enrol-note { padding: var(--task-pad); border-radius: var(--task-radius); background: var(--notice-bg); border: 1px solid var(--notice-line); color: var(--notice-ink); }
.enrol-note.is-error { background: #FFF1EE; border-color: #F2C9C0; color: #7A2318; }
.enrol-note p { margin: 0; }
.enrol-note__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 16px !important; }

/* ---------------------------------------------------------------- Mi cuenta */
.account-home__hello { margin: 0 0 28px; font-size: 1.125rem; color: var(--ink-soft); max-width: 62ch; }
.account-home__courses { padding: var(--task-pad); background: var(--surface); border: 1px solid var(--line); border-radius: var(--task-radius); }
.account-home__links { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 24px 0 0; padding: 0; }
.account-home__links a { font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .25em; }
.shop .woocommerce-orders-table { font-variant-numeric: tabular-nums; }
.shop .woocommerce-orders-table th { font-size: .9rem; font-weight: 700; color: var(--ink-muted); text-transform: none; letter-spacing: 0; }
.shop .woocommerce-orders-table__cell-order-total, .shop .woocommerce-orders-table__header-order-total { text-align: right; }

/* Padding real de las dos superficies (más específico que el de la maquetación de WooCommerce) */
.shop .wc-block-components-sidebar-layout .wp-block-woocommerce-checkout-fields-block.wc-block-components-main,
.shop .wc-block-components-sidebar-layout .wp-block-woocommerce-checkout-totals-block.wc-block-components-sidebar { padding: var(--task-pad) !important; }
.shop .wc-block-components-order-summary-item .wc-block-components-product-metadata,
.shop .wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.shop .wc-block-components-order-summary-item .wc-block-components-product-metadata__description p { font-size: .95rem !important; line-height: 1.4; color: var(--ink-muted); margin: 0; }
.shop .wc-block-components-order-summary-item .wc-block-components-product-metadata { margin-top: 6px !important; }
/* Resumen plegable del móvil: sin caja vacía */
.shop .wc-block-components-checkout-order-summary__title { border: 0 !important; }

/* Acción principal en tinta, texto blanco, sin sombra (prevalece sobre el color de enlace de la tienda) */
.shop a.btn--primary, .shop .btn--primary, .shop a.btn--primary:visited { color: #fff !important; box-shadow: none !important; text-decoration: none; }
.shop a.btn--primary:hover { color: #fff !important; }
/* Totales alineados con el resto del resumen */
.shop .wc-block-components-totals-wrapper .wc-block-components-totals-item,
.shop .wc-block-components-totals-wrapper .wc-block-components-panel__button,
.shop .wc-block-components-totals-wrapper .wc-block-components-panel__content,
.shop .wc-block-components-totals-wrapper .wc-block-components-totals-coupon { padding-left: 0 !important; padding-right: 0 !important; }
