:root{
  --cc-primary:#cf191c;
  --cc-primary-dark:#a01216;
  --cc-ink:#0d0c0b;
  --cc-ink-soft:#2b2825;
  --cc-paper:#fffdfa;
  --cc-line:#d6cfc4;
  --cc-line-soft:#e8e2d8;
  --cc-muted:#5f5a54;
  --cc-ok:#166534;
}

.woocommerce-checkout .cc-progress,
.woocommerce-checkout .cc-perk,
.woocommerce-checkout .cc-step,
.woocommerce-checkout .cc-summary{
  border-radius:0;
}

.cc-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:0 0 12px;
}
.cc-panel{
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 15px;
  background:var(--cc-paper);
  border:1px solid var(--cc-line);
  border-radius:0;
  opacity:.6;
  transition:opacity .3s ease, border-color .3s ease;
}
.cc-panel__art{flex:0 0 32px;height:32px}
.cc-panel__ring{
  width:32px;
  height:32px;
  border:1.5px solid var(--cc-line);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  color:var(--cc-muted);
  transition:all .3s ease;
}
.cc-panel__text{min-width:0}
.cc-panel__text strong{
  display:block;
  font-size:14px;
  font-weight:700;
  color:var(--cc-ink);
  line-height:1.25;
  text-transform:none;
  letter-spacing:0;
}
.cc-panel__text em{
  font-style:normal;
  font-size:12px;
  color:var(--cc-muted);
}

.cc-panel.is-active{opacity:1;border-color:var(--cc-ink)}
.cc-panel.is-active .cc-panel__ring{border-color:var(--cc-primary);color:var(--cc-primary)}

.cc-panel.is-done{opacity:1}
.cc-panel.is-done .cc-panel__ring{
  background:var(--cc-primary);
  border-color:var(--cc-primary);
  color:#fff;
  font-size:0;
  animation:cc-seal .3s ease;
}
.cc-panel.is-done .cc-panel__ring::after{content:"\2713";font-size:15px;line-height:1}
@keyframes cc-seal{
  0%{transform:scale(1.35);opacity:.4}
  100%{transform:scale(1);opacity:1}
}

.cc-perk{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  border-top:1px solid var(--cc-line-soft);
  border-bottom:1px solid var(--cc-line-soft);
  padding:10px 12px;
  margin:0 0 26px;
  font-size:13px;
  color:var(--cc-muted);
}
.cc-perk__item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  padding:0 20px;
}
.cc-perk__item + .cc-perk__item{border-left:1px solid var(--cc-line-soft)}
.cc-perk__ico{
  display:inline-flex;
  width:17px;
  height:17px;
  color:var(--cc-primary);
  flex:0 0 17px;
}
.cc-perk__ico svg{width:100%;height:100%;display:block}
.cc-perk strong{color:var(--cc-ink);font-weight:700}

.cc-steps-wrap{position:relative}
.cc-step{display:none;opacity:0}
.cc-step.is-visible{display:block;animation:cc-in .32s cubic-bezier(.16,1,.3,1) forwards}
.cc-step.is-leaving{display:block;animation:cc-out .18s ease forwards;pointer-events:none}
.cc-step.is-back.is-visible{animation:cc-in-back .32s cubic-bezier(.16,1,.3,1) forwards}
@keyframes cc-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes cc-in-back{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes cc-out{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-12px)}}
@media (prefers-reduced-motion:reduce){
  .cc-step.is-visible,.cc-step.is-leaving{animation:none;opacity:1}
  .cc-panel.is-done .cc-panel__ring{animation:none}
}

.cc-step__head{
  margin:0 0 20px;
  padding-bottom:12px;
  border-bottom:2px solid var(--cc-ink);
}
.cc-step__head h3{
  margin:0!important;
  font-size:19px!important;
  font-weight:700!important;
  color:var(--cc-ink)!important;
  text-transform:none!important;
  letter-spacing:0!important;
  text-align:left!important;
  line-height:1.2!important;
}
.cc-step__head p{
  margin:4px 0 0!important;
  font-size:13px!important;
  color:var(--cc-muted)!important;
  text-align:left!important;
}

.cc-hint{
  display:block;
  font-size:12px;
  color:var(--cc-muted);
  margin-top:5px;
  line-height:1.4;
}

.woocommerce-checkout .cc-step .form-row{margin-bottom:16px;padding:0}
.woocommerce-checkout .cc-step label{
  text-transform:none!important;
  font-size:13px!important;
  font-weight:700!important;
  color:var(--cc-ink)!important;
  margin-bottom:6px!important;
  letter-spacing:0!important;
}
.woocommerce-checkout .cc-step input[type="text"],
.woocommerce-checkout .cc-step input[type="tel"],
.woocommerce-checkout .cc-step input[type="email"],
.woocommerce-checkout .cc-step select,
.woocommerce-checkout .cc-step .select2-container .select2-selection{
  border:1px solid var(--cc-line)!important;
  border-radius:0!important;
  background:#fff!important;
  padding:12px 13px!important;
  font-size:15px!important;
  color:var(--cc-ink)!important;
  text-transform:none!important;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.woocommerce-checkout .cc-step input::placeholder{
  text-transform:none!important;
  color:#9c968e!important;
}
.woocommerce-checkout .cc-step input:focus,
.woocommerce-checkout .cc-step select:focus{
  border-color:var(--cc-ink)!important;
  box-shadow:0 0 0 3px rgba(13,12,11,.07)!important;
  outline:none!important;
}

.cc-field-ok input{border-color:var(--cc-ok)!important}
.cc-field-bad input{border-color:var(--cc-primary)!important}
.cc-msg{
  display:block;
  font-size:12px;
  margin-top:5px;
  color:var(--cc-primary);
  font-weight:600;
}

.cc-nav{display:flex;gap:10px;align-items:center;margin-top:24px}
.cc-btn{
  border:none;
  border-radius:0;
  font:700 15px/1.2 inherit;
  cursor:pointer;
  transition:background .18s ease, transform .1s ease;
  text-transform:none;
}
.cc-btn--next{flex:1;background:var(--cc-primary);color:#fff;padding:16px 22px}
.cc-btn--next:hover:not(:disabled){background:var(--cc-primary-dark)}
.cc-btn--next:active:not(:disabled){transform:translateY(1px)}
.cc-btn--next:disabled{background:#ddd7cd;color:#8f8a83;cursor:not-allowed}
.cc-btn--back{
  flex:0 0 auto;
  background:transparent;
  color:var(--cc-ink);
  border:1px solid var(--cc-line);
  padding:16px 18px;
  font-weight:600;
}
.cc-btn--back:hover{border-color:var(--cc-ink)}

.woocommerce-checkout #place_order{
  background:var(--cc-primary)!important;
  color:#fff!important;
  border:none!important;
  border-radius:0!important;
  padding:18px!important;
  font-size:16px!important;
  font-weight:700!important;
  width:100%!important;
  text-transform:none!important;
  transition:background .18s ease;
}
.woocommerce-checkout #place_order:hover{background:var(--cc-primary-dark)!important}

/* ---------- RESUMEN ---------- */
.cc-summary{
  background:var(--cc-paper);
  border:1px solid var(--cc-line);
  border-radius:0;
  padding:22px;
  margin-bottom:16px;
}
.cc-summary__title{
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:2px solid var(--cc-ink);
  font-size:13px;
  font-weight:700;
  color:var(--cc-ink);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cc-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:16px 0;
  border-bottom:1px solid var(--cc-line-soft);
}
.cc-item:last-child{border-bottom:none;padding-bottom:4px}
.cc-item__thumb{
  flex:0 0 auto;
  height:110px;
  display:flex;
  align-items:flex-start;
}
.cc-item__thumb img{
  height:110px!important;
  width:auto!important;
  max-width:82px;
  object-fit:contain;
  display:block;
  border:1px solid var(--cc-line);
  border-radius:0;
  margin:0!important;
  background:#fff;
}
.cc-item__body{flex:1;min-width:0;padding-top:2px}
.cc-item__name{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--cc-ink);
  line-height:1.3;
  margin-bottom:6px;
}
.cc-item__meta{
  display:block;
  font-size:13px;
  color:var(--cc-muted);
}
.cc-item__meta del{color:#9c968e;margin-right:2px}
.cc-item__meta del .amount{font-size:12px}
.cc-item__price{
  flex:0 0 auto;
  font-size:15px;
  font-weight:700;
  color:var(--cc-ink);
  white-space:nowrap;
  padding-top:2px;
}

.cc-totals{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--cc-line);
}
.cc-totals__row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:14px;
  color:var(--cc-ink-soft);
  padding:5px 0;
}
.cc-totals__row span:last-child{color:var(--cc-ink);font-weight:600}
.cc-totals__row--save span{color:var(--cc-ok)!important;font-weight:700}
.cc-totals__row--free span:last-child{color:var(--cc-ok)!important;font-weight:700}
.cc-totals__row--total{
  margin-top:10px;
  padding-top:14px;
  border-top:2px solid var(--cc-ink);
  font-size:20px;
  font-weight:700;
  color:var(--cc-ink);
}
.cc-totals__row--total span{font-weight:700!important;color:var(--cc-ink)!important}
.cc-totals__tax{
  display:block;
  font-size:12px;
  font-weight:400;
  color:var(--cc-muted);
  text-align:right;
  margin-top:4px;
}

/* Ocultar tabla nativa */
.woocommerce-checkout .woocommerce-checkout-review-order-table{display:none!important}
.woocommerce-checkout #order_review_heading{display:none!important}
.woocommerce-checkout .woocommerce-billing-fields > h3{display:none!important}

.woocommerce-checkout #shipping_method li input[type="radio"]{display:none}
.woocommerce-checkout #shipping_method li label{font-weight:700;color:var(--cc-ok);font-size:14px}

/* ==========================================================
   CUPÓN DISCRETO DEBAJO DEL RESUMEN
   ========================================================== */

.woocommerce-checkout .e-coupon-box{
	margin:12px 0 0!important;
	padding:9px 0 0!important;
	border:none!important;
	border-top:1px solid var(--cc-line-soft)!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--cc-muted)!important;
}

/* Línea: ¿Tienes un cupón? Aplicar código */
.woocommerce-checkout .e-woocommerce-coupon-nudge{
	margin:0!important;
	padding:0!important;
	border:none!important;
	background:transparent!important;
	font-size:11.5px!important;
	font-weight:400!important;
	line-height:1.4!important;
	color:#8a857e!important;
	text-align:left!important;
	text-transform:none!important;
	letter-spacing:0!important;
}

/* Enlace Aplicar código */
.woocommerce-checkout .e-show-coupon-form{
	margin-left:2px!important;
	color:#77726c!important;
	font-size:11.5px!important;
	font-weight:500!important;
	text-decoration:underline!important;
	text-decoration-thickness:1px!important;
	text-underline-offset:2px!important;
}

/* Hover muy sutil */
.woocommerce-checkout .e-show-coupon-form:hover{
	color:var(--cc-ink)!important;
}

/* Formulario desplegado */
.woocommerce-checkout .e-coupon-anchor{
	margin-top:10px!important;
	padding:10px!important;
	border:1px solid var(--cc-line-soft)!important;
	border-radius:0!important;
	background:#faf9f7!important;
	box-shadow:none!important;
}

/* Texto explicativo del formulario */
.woocommerce-checkout .e-coupon-anchor-description{
	display:block!important;
	margin:0 0 8px!important;
	padding:0!important;
	font-size:11.5px!important;
	font-weight:400!important;
	line-height:1.4!important;
	color:var(--cc-muted)!important;
	text-transform:none!important;
}

/* Rejilla del campo y el botón */
.woocommerce-checkout .coupon-container-grid{
	display:grid!important;
	grid-template-columns:minmax(0, 1fr) auto!important;
	gap:7px!important;
	align-items:stretch!important;
}

/* Quitar anchos heredados de Elementor */
.woocommerce-checkout .coupon-container-grid .col{
	width:auto!important;
	max-width:none!important;
	padding:0!important;
	margin:0!important;
}

/* Campo del código */
.woocommerce-checkout .e-coupon-anchor input#coupon_code{
	width:100%!important;
	min-height:38px!important;
	margin:0!important;
	padding:8px 10px!important;
	border:1px solid var(--cc-line)!important;
	border-radius:0!important;
	background:#fff!important;
	box-shadow:none!important;
	font-size:12.5px!important;
	color:var(--cc-ink)!important;
	text-transform:none!important;
}

.woocommerce-checkout .e-coupon-anchor input#coupon_code:focus{
	border-color:var(--cc-ink)!important;
	outline:none!important;
	box-shadow:0 0 0 2px rgba(13,12,11,.06)!important;
}

/* Botón Aplicar */
.woocommerce-checkout .e-apply-coupon{
	min-height:38px!important;
	margin:0!important;
	padding:8px 14px!important;
	border:1px solid var(--cc-line)!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--cc-ink)!important;
	font-size:12px!important;
	font-weight:600!important;
	line-height:1.2!important;
	text-transform:none!important;
}

.woocommerce-checkout .e-apply-coupon:hover{
	border-color:var(--cc-ink)!important;
	background:var(--cc-ink)!important;
	color:#fff!important;
}

/* Evitar márgenes añadidos por WooCommerce */
.woocommerce-checkout .e-coupon-anchor .form-row{
	margin:0!important;
	padding:0!important;
}

/* Móvil */
@media(max-width:768px){

	.woocommerce-checkout .e-coupon-box{
		margin-top:10px!important;
		padding-top:8px!important;
	}

	.woocommerce-checkout .coupon-container-grid{
		grid-template-columns:1fr!important;
	}

	.woocommerce-checkout .e-apply-coupon{
		width:100%!important;
	}
}

/* Matar bordes redondeados de Elementor */
.woocommerce-checkout .elementor-widget-container,
.woocommerce-checkout .e-checkout__container,
.woocommerce-checkout .e-checkout__column,
.woocommerce-checkout .e-checkout__column-inner,
.woocommerce-checkout .e-checkout__order_review,
.woocommerce-checkout .e-checkout__order_review-2,
.woocommerce-checkout .e-coupon-box,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout #payment,
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout .elementor-element > div{
  border-radius:0!important;
}

/* Pago */
.woocommerce-checkout #payment{
  background:transparent!important;
  border:1px solid var(--cc-line)!important;
  border-radius:0!important;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--cc-line-soft)!important;
  padding:14px!important;
}
.woocommerce-checkout #payment label{
  color:var(--cc-ink)!important;
  font-weight:600!important;
  font-size:14px!important;
}
.woocommerce-checkout #payment .payment_box{
  background:#f7f3ec!important;
  border-radius:0!important;
  font-size:13px!important;
  color:var(--cc-ink-soft)!important;
}
.woocommerce-checkout #payment .payment_box::before{display:none!important}

.cc-summary__toggle{display:none}

@media(max-width:768px){
  .cc-progress{gap:4px}
  .cc-panel{flex-direction:column;text-align:center;padding:9px 4px;gap:5px}
  .cc-panel__text em{display:none}
  .cc-panel__text strong{font-size:11px;line-height:1.15}
  .cc-perk{font-size:12px;padding:9px 4px}
  .cc-perk__item{padding:0 10px;gap:5px}
  .cc-perk__ico{width:15px;height:15px;flex:0 0 15px}

  .cc-summary{order:-1;margin-bottom:18px;padding:16px}
  .cc-summary.is-collapsed .cc-summary__items,
  .cc-summary.is-collapsed .cc-totals,
  .cc-summary.is-collapsed .cc-summary__title{display:none}
  .cc-summary__toggle{
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    width:100%;
    background:none;
    border:none;
    padding:0;
    font:700 14px/1 inherit;
    color:var(--cc-ink);
    cursor:pointer;
  }
  .cc-summary__toggle em{font-style:normal;color:var(--cc-muted);font-weight:400}
  .cc-summary__toggle strong{font-weight:700}
  .cc-summary:not(.is-collapsed) .cc-summary__toggle{margin-bottom:14px}

  .cc-item__thumb,.cc-item__thumb img{height:88px}
  .cc-item__thumb img{max-width:66px}
  .cc-item__name{font-size:14px}

  .cc-nav{
    position:sticky;
    bottom:0;
    background:#fff;
    padding:12px 0;
    box-shadow:0 -6px 16px rgba(0,0,0,.08);
    z-index:5;
  }
}

/* ==========================================================
   LOGIN EN EL PASO 1
   ========================================================== */
.cc-login{
  margin:0 0 18px;
  padding:0 0 16px;
  border-bottom:2px dashed var(--cc-line);
}
.cc-login__trigger{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:none;
  border:none;
  padding:0;
  font:600 13px/1.4 inherit;
  color:var(--cc-muted);
  cursor:pointer;
  text-align:left;
}
.cc-login__trigger span{
  color:var(--cc-ink);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cc-login__trigger::after{
  content:"\25BE";
  font-size:11px;
  color:var(--cc-ink);
  transition:transform .2s ease;
}
.cc-login.is-open .cc-login__trigger::after{transform:rotate(180deg)}

.cc-login__panel{
  margin-top:14px;
  padding:16px;
  background:var(--cc-paper-bg);
  border:2px solid var(--cc-ink);
  box-shadow:var(--cc-shadow-sm);
  animation:cc-login-in .22s ease;
}
@keyframes cc-login-in{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .cc-login__panel{animation:none}
}

.cc-login__intro{
  margin:0 0 14px!important;
  font-size:12.5px!important;
  color:var(--cc-muted)!important;
  text-align:left!important;
}

.cc-login__row{margin-bottom:12px}
.cc-login__row label{
  display:block;
  font-size:12px!important;
  font-weight:800!important;
  color:var(--cc-ink)!important;
  margin-bottom:5px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.woocommerce-checkout .cc-login__row input[type="text"],
.woocommerce-checkout .cc-login__row input[type="password"]{
  width:100%;
  border:2px solid var(--cc-ink)!important;
  border-radius:0!important;
  background:#fff!important;
  padding:11px 12px!important;
  font-size:14px!important;
  color:var(--cc-ink)!important;
  text-transform:none!important;
  transition:box-shadow .15s ease;
}
.woocommerce-checkout .cc-login__row input:focus{
  box-shadow:3px 3px 0 var(--cc-ink)!important;
  outline:none!important;
}

.cc-login__actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:14px;
}
.cc-login__submit{
  background:var(--cc-ink)!important;
  color:#fff!important;
  border:2px solid var(--cc-ink)!important;
  border-radius:0!important;
  box-shadow:var(--cc-shadow-sm)!important;
  padding:12px 26px!important;
  font:800 14px/1.2 inherit!important;
  text-transform:none!important;
  cursor:pointer;
  transition:transform .1s ease, box-shadow .1s ease, background .15s ease;
}
.cc-login__submit:hover{background:var(--cc-ink-soft)!important}
.cc-login__submit:active{
  transform:translate(3px,3px);
  box-shadow:0 0 0 var(--cc-ink)!important;
}
.cc-login__lost{
  font-size:12.5px;
  color:var(--cc-muted)!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cc-login__lost:hover{color:var(--cc-ink)!important}

.cc-login__remember{
  display:flex!important;
  align-items:center;
  gap:7px;
  margin-top:12px!important;
  font-size:12.5px!important;
  font-weight:400!important;
  color:var(--cc-muted)!important;
  text-transform:none!important;
  cursor:pointer;
}
.cc-login__remember input{
  width:15px;
  height:15px;
  margin:0!important;
  accent-color:var(--cc-ink);
}

/* Matar el login nativo por si el tema lo reinyecta */
.woocommerce-checkout > .woocommerce-form-login-toggle,
.woocommerce-checkout > .woocommerce-form-login{display:none!important}

@media(max-width:768px){
  .cc-login__panel{padding:14px}
  .cc-login__actions{flex-direction:column;align-items:stretch;gap:10px}
  .cc-login__submit{width:100%}
  .cc-login__lost{text-align:center}
}

/* ==========================================================
   CHECKOUT CARTEM — ESQUINAS RECTAS
   ========================================================== */

.woocommerce-checkout .elementor-element-8022d58 {
	--sections-border-radius: 0px !important;
	--forms-fields-border-radius: 0px !important;
	--button-border-radius: 0px !important;
}

.woocommerce-checkout .elementor-element-8022d58 .e-checkout__container,
.woocommerce-checkout .elementor-element-8022d58 .e-checkout__column,
.woocommerce-checkout .elementor-element-8022d58 .e-checkout__column-start,
.woocommerce-checkout .elementor-element-8022d58 .e-checkout__column-end,
.woocommerce-checkout .elementor-element-8022d58 .e-checkout__column-inner,
.woocommerce-checkout .elementor-element-8022d58 #customer_details,
.woocommerce-checkout .elementor-element-8022d58 .col2-set,
.woocommerce-checkout .elementor-element-8022d58 .woocommerce-billing-fields,
.woocommerce-checkout .elementor-element-8022d58 .cc-step,
.woocommerce-checkout .elementor-element-8022d58 .cc-summary {
	border-radius: 0 !important;
}


/* ==========================================================
   BOTONES PRINCIPALES EN VERDE
   ========================================================== */

.woocommerce-checkout .cc-btn--next{
	background:#198754!important;
	color:#fff!important;
}

.woocommerce-checkout .cc-btn--next:hover:not(:disabled){
	background:#146c43!important;
}

.woocommerce-checkout .cc-btn--next:disabled{
	background:#d8ded9!important;
	color:#7c847e!important;
	cursor:not-allowed;
}

.woocommerce-checkout #place_order{
	background:#198754!important;
	color:#fff!important;
}

.woocommerce-checkout #place_order:hover{
	background:#146c43!important;
}

/* ==========================================================
   MOSTRAR SOLO EL LOGIN PERSONALIZADO
   ========================================================== */

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout form.woocommerce-form-login.login,
.woocommerce-checkout .e-woocommerce-login-nudge,
.woocommerce-checkout .e-login-actions-wrap,
.woocommerce-checkout .e-checkout-login{
	display:none!important;
}

.woocommerce-checkout #cc-login{
	display:block!important;
}



/* Ocultar el contenedor vacío que queda al mover el resumen */
.woocommerce-checkout
.elementor-element-8022d58
.e-checkout__column-end
.e-checkout__order_review{
	display:none !important;
}

