/* Presentación exclusiva del carrito. No altera checkout, mini-carrito ni cálculos. */
.pagina-carrito { background: #f6f7f9; --carrito-tinta: #343b43; --carrito-fuente: 'Roboto', Arial, sans-serif; }
.pagina-carrito .content-body-full > .container { max-width: 1260px; padding-left: 24px !important; padding-right: 24px !important; }
.pagina-carrito .content-body-full > .container > .row { margin-left: 0; margin-right: 0; }
.pagina-carrito .content-body-full > .container > .row > .col { padding: 0; }
.pagina-carrito .carrito-big { background: transparent; padding: 8px 0 48px; color: var(--carrito-tinta); }
.pagina-carrito .carrito-big > h1 { font-family: var(--carrito-fuente); margin: 0 0 24px; text-transform: none; }
.pagina-carrito .carrito-big > hr { display: none; }
.pagina-carrito .carrito-pasos-contenedor { padding: 0 !important; background: transparent; }
.pagina-carrito .carrito-pasos { margin: 18px 0 26px; border: 1px solid #dce3ea; background: #fff; border-radius: 12px; padding: 16px 12px; }
.pagina-carrito .carrito-pasos > div { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; padding: 4px 10px; }
.pagina-carrito .carrito-pasos span { font-size: 18px; }
.pagina-carrito .carrito-pasos #carrito_paso { color: var(--carrito-tinta); font-weight: 600; }
.pagina-carrito #carrito_paso span { color: var(--color-principal); }
.pagina-carrito .carrito-estructura-anterior { display: none; }
.pagina-carrito .carrito-distribucion { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(330px,1fr); gap: 24px; align-items: start; }
.pagina-carrito .carrito-principal { display: grid; gap: 20px; min-width: 0; }
.pagina-carrito .carrito-lateral { min-width: 0; }
.pagina-carrito .carrito-lateral-fijo { position: sticky; top: var(--carrito-sticky-top,24px); }
.pagina-carrito .carrito-panel { width: 100%; max-width: none; flex: none; margin: 0 !important; padding: 24px !important; border: 1px solid #dce3ea; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px #21354704; min-width: 0; }
.pagina-carrito .carrito-panel h2 { font: 500 21px/1.4 var(--carrito-fuente); color: var(--carrito-tinta) !important; text-transform: none; margin: 0 0 20px; }
.pagina-carrito .carrito-panel p { font-size: 14px; line-height: 1.7; color: #626e7a; }
.pagina-carrito .carrito-panel > br, .pagina-carrito .carrito-panel > hr.solomovil { display: none; }
.pagina-carrito .carrito-big .carrito-productos-panel table, .pagina-carrito .carrito-big .carrito-productos-panel tbody { display: block; width: 100%; }
.pagina-carrito .carrito-big .carrito-productos-panel thead { display: none; }
.pagina-carrito .carrito-big .carrito-productos-panel tr { display: grid; grid-template-columns: 88px minmax(0,1fr) auto; gap: 16px; padding: 22px 0; border-top: 1px solid #e6ebef; align-items: start; }
.pagina-carrito .carrito-big .carrito-productos-panel td { display: block; width: auto !important; min-width: 0; padding: 0 !important; margin: 0; border: 0; float: none; text-align: left; overflow-wrap: anywhere; }
.pagina-carrito .carrito-big .carrito-productos-panel .p1 { grid-column: 1; grid-row: 1 / 3; }
.pagina-carrito .carrito-big .carrito-productos-panel .p1 img { width: 80px !important; max-width: 100%; height: auto; margin: 0; border-radius: 8px; }
.pagina-carrito .carrito-big .carrito-productos-panel .hrtabla { display: none; }
.pagina-carrito .carrito-big .carrito-productos-panel .p2 { grid-column: 2; font-size: 16px; line-height: 1.5; color: var(--carrito-tinta); font-weight: 500; }
.pagina-carrito .carrito-big .carrito-productos-panel .p2 span { font-size: 13px; line-height: 1.6; color: #626e7a; font-weight: 400; }
.pagina-carrito .carrito-big .carrito-productos-panel .p3 { grid-column: 2; grid-row: 3; }
.pagina-carrito .carrito-big .carrito-productos-panel .p4 { grid-column: 2; grid-row: 2; font-size: 14px; }
.pagina-carrito .carrito-big .carrito-productos-panel .p4::before { content: attr(data-label) ': '; color: #626e7a; }
.pagina-carrito .carrito-big .carrito-productos-panel .p4 > br { display: none; }
.pagina-carrito .carrito-big .carrito-productos-panel .p5 { grid-column: 3; grid-row: 1; font-size: 18px; font-weight: 600; white-space: nowrap; }
.pagina-carrito .carrito-big .carrito-productos-panel .p6 { grid-column: 3; grid-row: 3; justify-self: end; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-disenar { width: auto; max-width: 100%; min-height: 42px; margin: 0; padding: 10px 14px; background: #f6f8fa; color: #465363; border: 1px solid #d5dee6; border-radius: 7px; font-size: 13px; text-transform: none; line-height: 1.5; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-disenar:hover { border-color: var(--color-principal); background: var(--color-principal-alfa10,#eef8ff); color: #343b43; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-disenar { width: auto !important; min-width: 0 !important; background: var(--color-principal-alfa10,#eef8ff) !important; color: #344352 !important; border: 1px solid color-mix(in srgb, var(--color-principal) 28%, #dce3ea) !important; font-size: 13px !important; padding: 10px 14px !important; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-disenar:hover { border-color: var(--color-principal) !important; background: var(--color-principal-alfa10,#eef8ff) !important; }
.pagina-carrito .carrito-big .carrito-productos-panel td.p3, .pagina-carrito .carrito-big .carrito-productos-panel td.p4 { text-align: left !important; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-cerrar { width: 42px; height: 42px; min-width: 42px; margin: 0; padding: 8px; border: 1px solid #e1e6eb; border-radius: 7px; background: #fff; color: #687786; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-cerrar:hover { color: #a23b45; background: #fbedee; }
.pagina-carrito .carrito-envios-panel .aviso-retraso-envio { margin: 0 0 20px; padding: 12px 16px; background: #fff8e7; color: #796433; font-size: 13px; line-height: 1.6; border-radius: 7px; font-style: normal; }
.pagina-carrito .carrito-envios-panel #pais_destino { margin: 0 0 18px; }
.pagina-carrito .carrito-envios-panel .contenedor-lista-paises { border: 1px solid #ccd5df; border-radius: 7px; background: #fff; width: 100%; }
.pagina-carrito .carrito-envios-panel .listado-paises { z-index: 20; background: #fff; width: calc(100% + 2px); top: calc(100% + 6px); left: -1px; border: 1px solid #ccd5df; border-radius: 9px; box-shadow: 0 8px 24px #2135471a; max-height: 320px; overflow-y: auto; }
.pagina-carrito .carrito-envios-panel .listado-paises .pais { border-top: 1px solid #e6ebef; }
.pagina-carrito .carrito-envios-panel .listado-paises .pais:first-child { border-top: 0; }
.pagina-carrito .carrito-envios-panel .listado-paises .pais:hover { background: var(--color-principal-alfa10,#eef8ff); }
.pagina-carrito .carrito-envios-panel .entrega_estimada { padding: 0; margin: 14px 0 10px; text-align: left; font-size: 12px; }
.pagina-carrito .carrito-envios-panel .tipo_envio { margin: 0; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label { position: relative; width: 100%; margin: 0 0 10px; cursor: pointer; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label > input[type=radio] { display: block; position: absolute; left: 15px; top: 21px; width: 18px; height: 18px; margin: 0; opacity: 1; appearance: auto; accent-color: var(--color-principal); z-index: 1; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label > div { display: grid; grid-template-columns: minmax(100px,1fr) auto; gap: 5px 12px; padding: 16px 14px 16px 44px; border: 1px solid #dce3ea; border-radius: 9px; background: #fff; color: var(--carrito-tinta); }
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-envio-express > div { background: #f2f6ff; border-color: #dce5f6; }
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-envio-urgente > div { background: #fff7ec; border-color: #efdfc8; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label > input:checked ~ div { border-color: var(--color-principal); background: var(--color-principal-alfa10,#eef8ff); box-shadow: inset 0 0 0 1px var(--color-principal); }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .nombre { grid-column: 1; width: auto; padding: 0; margin: 0; text-align: left; font-size: 14px; font-weight: 600; background: none !important; color: var(--carrito-tinta) !important; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .dias { grid-column: 1; grid-row: 2; padding: 0; letter-spacing: 0; line-height: 1.5; color: #626e7a; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .dias * { letter-spacing: 0; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .derecha { grid-column: 2; grid-row: 1 / 3; float: none; display: flex; align-items: center; justify-content: flex-end; gap: 5px; width: auto; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .fecha { float: none; width: 34px; height: auto; min-height: 40px; margin: 0; padding: 5px; border-radius: 5px; background: #f0f3f6 !important; color: #465363 !important; font-size: 12px; line-height: 1.3; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .precio { float: none; width: auto; height: auto; min-width: 66px; margin: 0 0 0 5px; padding: 0; font-size: 15px; font-weight: 500; line-height: 1.5; white-space: nowrap; color: var(--carrito-tinta); }
.pagina-carrito .carrito-promocion-titulo { cursor: pointer; }
.pagina-carrito .carrito-promocion-titulo h2 { display: inline; font-size: 17px; margin: 0; }
.pagina-carrito .grupo-codigopromocional { width: 100%; max-width: none; padding: 18px 0 0 !important; margin: 0 !important; }
.pagina-carrito .grupo-codigopromocional > br { display: none; }
.pagina-carrito .grupo-codigopromocional .input-group { flex-wrap: nowrap; }
.pagina-carrito .grupo-codigopromocional input, .pagina-carrito .grupo-codigopromocional button { min-height: 42px; }
.pagina-carrito .carrito-presupuesto-panel h2 { font-size: 17px; margin-bottom: 10px; }
.pagina-carrito .btn-descargar-presupuesto { min-height: 42px; padding: 10px 14px; border: 1px solid #d5dee6; border-radius: 7px; font-size: 13px; }
.pagina-carrito .carrito-notas-panel > .col-lg-12 { padding: 0; }
.pagina-carrito .carrito-notas-panel > .col-lg-12 > hr { display: none; }
.pagina-carrito .carrito-notas-panel .row { margin: 0; gap: 20px; }
.pagina-carrito .carrito-notas-panel .row > div { flex: 0 0 100%; max-width: 100%; padding: 0 !important; margin: 0; }
.pagina-carrito .carrito-resumen-panel { font-size: 14px; color: #626e7a; }
.pagina-carrito .carrito-resumen-panel h2 { padding-bottom: 18px; border-bottom: 1px solid #e1e7ed; }
.pagina-carrito .carrito-resumen-panel > br, .pagina-carrito .carrito-resumen-panel > .clearfix, .pagina-carrito .carrito-resumen-panel > hr { display: none; }
.pagina-carrito .carrito-importe-fila { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; padding: 7px 0; align-items: baseline; }
.pagina-carrito .carrito-importe-fila[hidden] { display: none; }
.pagina-carrito .carrito-importe-fila .izq, .pagina-carrito .carrito-importe-fila .der { float: none; width: auto; clear: none; padding: 0; line-height: 1.5; }
.pagina-carrito .carrito-importe-fila .der { white-space: nowrap; color: var(--carrito-tinta); }
.pagina-carrito .carrito-importe-total { border-top: 1px solid #dce3ea; padding-top: 20px; margin-top: 14px; color: var(--carrito-tinta); }
.pagina-carrito .carrito-importe-total .der { font-size: 27px; }
.pagina-carrito .carrito-continuar { margin-top: 24px; }
.pagina-carrito #disenharCarrito { width: 100%; height: auto; min-height: 48px; padding: 12px 16px; margin: 0; white-space: normal; line-height: 1.5; font-size: 16px; }
.pagina-carrito #disenharCarrito { margin: 0 !important; }
.pagina-carrito .carrito-big button:focus-visible, .pagina-carrito .carrito-big summary:focus-visible, .pagina-carrito .carrito-big input:focus-visible { outline: 2px solid #465363; outline-offset: 3px; }
.pagina-carrito .no-hay-productos { background: #fff; padding: 48px 24px; border: 1px solid #dce3ea; border-radius: 12px; }
@media(max-width:991px) {
 .pagina-carrito .carrito-distribucion { grid-template-columns: minmax(0,1fr); }
 .pagina-carrito .carrito-lateral-fijo { position: static; }
 .pagina-carrito .carrito-pasos > div { flex: 1; max-width: none; font-size: 12px; }
}
@media(max-width:575px) {
 .pagina-carrito .content-body-full > .container { padding-left: 16px !important; padding-right: 16px !important; }
 .pagina-carrito .carrito-panel { padding: 18px !important; }
 .pagina-carrito .carrito-pasos { padding: 10px 4px; }
 .pagina-carrito .carrito-pasos > div { flex-direction: column; text-align: center; gap: 4px; padding: 3px 4px; }
 .pagina-carrito .carrito-big .carrito-productos-panel tr { grid-template-columns: 66px minmax(0,1fr) 42px; gap: 12px; }
 .pagina-carrito .carrito-big .carrito-productos-panel .p2 { grid-column: 2 / 4; font-size: 15px; }
 .pagina-carrito .carrito-big .carrito-productos-panel .p4 { grid-column: 2 / 4; }
 .pagina-carrito .carrito-big .carrito-productos-panel .p5 { grid-column: 2 / 4; grid-row: 3; }
 .pagina-carrito .carrito-big .carrito-productos-panel .p3 { grid-column: 2; grid-row: 4; }
 .pagina-carrito .carrito-big .carrito-productos-panel .p6 { grid-row: 4; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label > div { grid-template-columns: minmax(0,1fr); }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label .derecha { grid-column: 1; grid-row: 3; justify-content: flex-start; margin-top: 6px; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label .precio { margin-left: auto; }
 .pagina-carrito .carrito-panel h2 { font-size: 19px; }
 .pagina-carrito .carrito-panel .promocion_msg { overflow-wrap: anywhere; }
}
.pagina-carrito .carrito-presupuesto-panel { display: block; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-disenar { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: auto; }
.pagina-carrito .carrito-big .carrito-productos-panel .btn-disenar i { color: inherit !important; font-size: 13px !important; line-height: 1; margin: 0; }
.carrito-paso-corto { display: none; }
@media(max-width:575px) {
 .carrito-pasos .carrito-paso-largo { display: none; }
 .carrito-pasos .carrito-paso-corto { display: inline; }
 .pagina-carrito .carrito-pasos > div { justify-content: flex-start; }
}
/* Urgente: mismo orden vertical que Formas de pago en cualquier ancho. */
.pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas > div { grid-template-columns: minmax(0,1fr) auto; gap: 8px 10px; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .nombre { grid-column: 1; grid-row: 1; padding-right: 0; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .precio { position: static; grid-column: 2; grid-row: 1; margin: 0; text-align: right; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .carrito-fechas { grid-column: 1 / -1; grid-row: 2; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .dias { grid-column: 1 / -1; grid-row: 3; }
/* Fechas en texto, sin pastillas, usando siempre el cálculo original de la tienda. */
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas > div { grid-template-columns: minmax(90px,1fr) minmax(0,210px) auto; align-items: center; }
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .derecha { display: contents; }
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .fecha,
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .dias .fechalarga,
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .dias .fechacorta,
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .carrito-plazo-vacio { display: none !important; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .carrito-fechas { grid-column: 2; grid-row: 1 / 3; display: flex; align-items: center; gap: 8px; min-width: 0; color: #344352; font-size: 15px; font-weight: 500; line-height: 1.45; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .carrito-fechas-texto { font: inherit; color: inherit; }
.pagina-carrito .carrito-envios-panel .tipo_envio > label .carrito-fechas i { display: inline-block; flex: 0 0 auto; color: #71808c !important; font-size: 16px; }
.pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .precio { grid-column: 3; grid-row: 1 / 3; text-align: right; margin: 0 0 0 8px; align-self: center; }
@media(max-width:575px), (min-width:992px) and (max-width:1199px) {
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-envio-urgente > div { position: relative; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-envio-urgente .precio { position: absolute; top: 0; right: 14px; margin: 0; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-envio-urgente .nombre { grid-row: 1; padding-right: 76px; grid-column: 1 / -1; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas > div { grid-template-columns: minmax(0,1fr) auto; gap: 8px 10px; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .precio { grid-column: 2; grid-row: 1; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .carrito-fechas { grid-column: 1 / 3; grid-row: 2; font-size: 15px; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > .carrito-fechas-listas .dias { grid-column: 1 / 3; grid-row: 3; }
}
@media(min-width:1200px) {
 /* Urgente usa el mismo orden de columnas que los demás envíos: nombre/aclaración, fecha y precio. */
 .pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas > div { grid-template-columns: minmax(90px,1fr) minmax(0,210px) auto; gap: 5px 12px; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .nombre { grid-column: 1; grid-row: 1; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .carrito-fechas { grid-column: 2; grid-row: 1 / 3; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .dias { grid-column: 1; grid-row: 2; }
 .pagina-carrito .carrito-envios-panel .tipo_envio > label.carrito-envio-urgente.carrito-fechas-listas .precio { grid-column: 3; grid-row: 1 / 3; margin: 0 0 0 8px; align-self: center; }
}
/* Estado de eliminación: contenido estable hasta confirmar los importes del servidor. */
.carrito-borrado-estado { position:sticky; top:12px; z-index:20; padding:16px; margin:12px 0; border:1px solid var(--color-principal); border-radius:9px; background:#fff; color:#343b43; box-shadow:0 4px 16px #21354715; }
.carrito-borrado-estado button { margin-left:12px; padding:8px 12px; border:1px solid #ccd5df; border-radius:6px; background:#fff; cursor:pointer; }
.pagina-carrito .carrito-big[aria-busy=true] { opacity:.65; }
.pagina-carrito .carrito-borrando i { display:none; }
.pagina-carrito .carrito-borrando::after { content:''; display:inline-block; width:16px; height:16px; border:2px solid #ccd5df; border-top-color:var(--color-principal); border-radius:50%; animation:carrito-borrar-giro .8s linear infinite; }
@keyframes carrito-borrar-giro { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .pagina-carrito .carrito-borrando::after { animation:none; } }
