/* ====================================================================
   iconfutbol · CARRITO v4 — limpio (Inter) · reorden móvil + reseñas slider
   ==================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* 1. ASTRA — ocultar título y alinear el carrito al ANCHO DEL CONTENIDO de la web
   (mismo ancho que cabecera y footer). No forzamos el ancho del contenedor: se hereda. */
.icf-cart-active .entry-title, .icf-cart-active .ast-archive-title,
body.woocommerce-cart .entry-title, body.woocommerce-cart .page-title,
body.woocommerce-cart .ast-archive-title, body.woocommerce-cart .entry-header{ display:none !important; }
body.woocommerce-cart .ast-article-single{ padding:0 !important; border:0 !important; }
body.woocommerce-cart .entry-content{ margin:0 !important; padding:0 !important; }
body.woocommerce-cart #main{ padding-top:0 !important; }

/* 2. TOKENS + CONTENEDOR */
.icf-cart{
	--ink:#16181d; --ink-soft:#3f4147; --mut:#7c818b; --hair:#e7e8eb; --soft:#f6f7f9; --white:#fff; --ok:#1c8a4a; --star:#f5b301;
	--rad:16px; --ff:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
	font-family:var(--ff); color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; padding:34px 0 90px;
}
.icf-cart *{ box-sizing:border-box; }
.icf-cart__wrap{ width:100%; max-width:100%; margin:0; padding:0; }
/* Inter en TODOS los títulos del carrito.
   El theme base pone Anton con `.icf-body h1,h2,h3` (especificidad 0,1,1 = igual que
   `.icf-cart h3`), así que el empate lo decidía el orden de carga (frágil con LiteSpeed).
   Con !important ganamos siempre, porque la regla base NO lleva !important. */
.icf-cart h1, .icf-cart h2, .icf-cart h3, .icf-cart h4,
.icf-cart .icf-cart__title, .icf-cart .icf-line__name,
.icf-cart .icf-line__name a, .icf-cart .icf-summary__title,
.icf-cart .icf-reviews__title, .icf-cart .icf-cross__title,
.icf-cart .icf-empty__title, .icf-cart .icf-cart-warning__title{ font-family:var(--ff) !important; }
.icf-cart__head{ display:flex; align-items:baseline; gap:12px; margin-bottom:24px; }
.icf-cart__title{ font-weight:600; font-size:30px; letter-spacing:-.02em; margin:0; line-height:1.1; }
.icf-cart__count{ font-size:14px; font-weight:500; color:var(--mut); }

/* Escritorio: 2 columnas, resumen sticky */
.icf-cart__grid{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:34px; align-items:start; }
.icf-cart__main{ display:flex; flex-direction:column; gap:18px; min-width:0; }
.icf-cart__aside{ position:sticky; top:24px; display:flex; flex-direction:column; gap:14px; }

/* 3. AVISO (functions.php) */
.icf-cart-warning{ display:flex; align-items:flex-start; gap:13px; background:var(--soft); border:1px solid var(--hair); border-left:3px solid var(--ink); border-radius:14px; padding:15px 17px; margin:0 0 20px; font-family:var(--ff); }
.icf-cart-warning__icon{ flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:var(--ink); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.icf-cart-warning__title{ font-size:14px; font-weight:600; margin:0 0 3px; color:var(--ink); }
.icf-cart-warning__text{ font-size:13px; line-height:1.5; color:var(--ink-soft); margin:0; }
.icf-cart-warning__text strong{ font-weight:600; color:var(--ink); }

/* 4. PRODUCTOS */
.icf-items{ background:var(--white); border:1px solid var(--hair); border-radius:var(--rad); overflow:hidden; }
.icf-line{ display:grid; grid-template-columns:92px minmax(0,1fr); gap:16px; padding:18px; border-bottom:1px solid var(--hair); }
.icf-line:last-child{ border-bottom:0; }
.icf-line__thumb{ width:92px; height:104px; border-radius:11px; overflow:hidden; background:var(--soft); border:1px solid var(--hair); }
.icf-line__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.icf-line__body{ display:flex; flex-direction:column; min-width:0; }
.icf-line__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.icf-line__name{ font-family:var(--ff); font-size:15px; font-weight:700; line-height:1.3; margin:0; }
.icf-line__name a{ color:var(--ink); text-decoration:none; font-family:inherit; }
.icf-line__name a:hover{ text-decoration:underline; }
.icf-line__remove{ flex:0 0 auto; width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--mut); transition:.15s; }
.icf-line__remove svg{ width:17px; height:17px; }
.icf-line__remove:hover{ background:var(--soft); color:var(--ink); }
.icf-line__variation{ font-size:12.5px; color:var(--mut); margin:4px 0 0; line-height:1.4; }
.icf-line__variation dl{ margin:0; display:flex; flex-wrap:wrap; gap:4px 10px; }
.icf-line__variation dt{ font-weight:600; margin:0; }
.icf-line__variation dd,.icf-line__variation p{ margin:0; }
.icf-line__stock{ font-size:12px; font-weight:600; color:#b4540a; margin-top:6px; }
.icf-line__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:12px; }
.icf-qty{ display:inline-flex; align-items:center; border:1px solid var(--hair); border-radius:10px; overflow:hidden; background:var(--white); }
.icf-qty button{ width:34px; height:36px; border:0; background:var(--white); color:var(--ink); font-size:17px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.15s; }
.icf-qty button:hover:not([disabled]){ background:var(--soft); }
.icf-qty button[disabled]{ opacity:.3; cursor:default; }
.icf-qty [data-qty-display]{ min-width:30px; text-align:center; font-size:14px; font-weight:600; }
.icf-qty .quantity, .icf-qty input.qty, .icf-qty__input{ position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; opacity:0 !important; }
.icf-line__price{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.icf-line__price-now{ font-size:15px; font-weight:700; color:var(--ink); }
.icf-line__price-now bdi{ font-style:normal; }
.icf-line__price-old{ font-size:12.5px; color:var(--mut); text-decoration:line-through; }

/* 5. COUNTDOWN */
.icf-urgency{ display:flex; align-items:center; justify-content:center; gap:9px; padding:12px 14px; background:var(--white); border:1px dashed var(--hair); border-radius:11px; font-size:12.5px; font-weight:600; color:var(--ink-soft); }
.icf-urgency__dot{ width:8px; height:8px; border-radius:50%; background:#e23b3b; flex:0 0 auto; animation:icf-pulse 1.6s infinite; }
.icf-urgency__timer{ font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
@keyframes icf-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }

/* 6. RECUADRO 2x2 */
.icf-trustband{ display:grid; grid-template-columns:repeat(4,1fr); background:var(--white); border:1px solid var(--hair); border-radius:14px; overflow:hidden; }
.icf-feat{ display:flex; align-items:center; gap:10px; padding:15px 16px; border-left:1px solid var(--hair); }
.icf-feat:first-child{ border-left:0; }
.icf-feat > svg{ width:21px; height:21px; color:var(--ink); flex:0 0 auto; }
.icf-feat div{ display:flex; flex-direction:column; min-width:0; }
.icf-feat__t{ font-size:12.5px; font-weight:600; color:var(--ink); line-height:1.25; }
.icf-feat__s{ font-size:11.5px; color:var(--mut); }
.icf-feat:last-child > svg{ color:var(--star); }

/* 7. RESEÑAS (carrusel deslizante, sin borde negro) */
.icf-reviews{ min-width:0; width:100%; }
.icf-reviews__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.icf-reviews__title{ font-size:18px; font-weight:600; margin:0; letter-spacing:-.01em; }
.icf-reviews__badge{ display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:600; color:var(--ink); }
.icf-reviews__badge svg{ width:15px; height:15px; color:var(--star); }
.icf-reviews__track{ display:flex; gap:14px; overflow-x:auto; overflow-y:hidden; min-width:0; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:2px 0 12px; scrollbar-width:none; }
.icf-reviews__track::-webkit-scrollbar{ display:none; }
.icf-review{ scroll-snap-align:start; flex:0 0 auto; width:290px; margin:0; background:var(--soft); border:1px solid var(--hair); border-radius:14px; padding:18px; }
.icf-review__stars{ display:flex; gap:3px; margin-bottom:9px; }
.icf-review__stars svg{ width:16px; height:16px; color:var(--star); }
.icf-review__text{ margin:0; font-size:14px; line-height:1.55; color:var(--ink); font-weight:500; word-break:break-word; }
.icf-review__author{ margin-top:10px; font-size:12.5px; font-weight:600; color:var(--mut); }
.icf-review__author span{ font-weight:500; color:var(--ok); }

/* Seguir comprando */
.icf-cart__continue{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink); text-decoration:none; align-self:flex-start; }
.icf-cart__continue svg{ width:17px; height:17px; transition:transform .2s; }
.icf-cart__continue:hover svg{ transform:translateX(-3px); }

/* 8. CUPÓN (bloque propio) */
.icf-cart-promo{ display:flex; border:1px solid var(--hair); border-radius:11px; overflow:hidden; background:var(--white); }
.icf-cart-promo input[type="text"], .icf-cart-promo .input-text{ flex:1; min-width:0; border:0 !important; outline:0 !important; background:transparent !important; padding:13px 14px !important; font-family:var(--ff) !important; font-size:13.5px !important; color:var(--ink) !important; box-shadow:none !important; border-radius:0 !important; }
.icf-cart-promo input::placeholder{ color:#a9adb5 !important; }
.icf-cart-promo button{ flex:0 0 auto; border:0 !important; background:var(--ink) !important; color:#fff !important; padding:0 18px !important; font-family:var(--ff) !important; font-weight:600 !important; font-size:13px !important; cursor:pointer; border-radius:0 !important; min-height:0 !important; box-shadow:none !important; transition:background .15s; }
.icf-cart-promo button:hover{ background:#000 !important; }

/* 9. RESUMEN */
.icf-summary{ background:var(--white); border:1px solid var(--hair); border-radius:var(--rad); padding:22px; display:flex; flex-direction:column; gap:16px; }
.icf-summary__title{ font-size:17px; font-weight:600; margin:0; letter-spacing:-.01em; }
.icf-cart-summary__lines{ display:flex; flex-direction:column; gap:11px; border-top:1px solid var(--hair); padding-top:16px; }
.icf-cart-summary__line{ display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:14px; color:var(--mut); font-family:var(--ff); }
.icf-cart-summary__line b{ font-weight:600; color:var(--ink); }
.icf-cart-summary__line bdi{ font-style:normal; }
.icf-cart-summary__line--success b, .icf-cart-summary__line--free b{ color:var(--ok); font-weight:600; }
.icf-cart-summary__total{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding-top:16px; border-top:1px solid var(--hair); }
.icf-cart-summary__total > span:first-child{ font-size:15px; font-weight:600; }
.icf-cart-summary__total-value{ font-size:26px; font-weight:700; color:var(--ink); line-height:1; letter-spacing:-.02em; }
.icf-cart-summary__total-value bdi{ font-style:normal; }
.icf-cart-summary__total-value small{ font-size:12px; font-weight:500; color:var(--mut); }
.icf-checkout{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:54px; background:var(--ink); color:#fff; border-radius:12px; font-family:var(--ff); font-weight:600; font-size:15.5px; text-decoration:none; transition:background .15s; }
.icf-checkout svg{ width:19px; height:19px; transition:transform .2s; }
.icf-checkout:hover{ background:#000; color:#fff; }
.icf-checkout:hover svg{ transform:translateX(3px); }
.icf-pay{ text-align:center; margin-top:-2px; }
.icf-pay img{ max-width:260px; width:100%; height:auto; opacity:.92; margin:0 auto; }

/* 10. CROSS-SELL */
.icf-cross{ margin-top:48px; }
.icf-cross__title{ font-weight:600; font-size:20px; margin:0 0 18px; letter-spacing:-.01em; }
.icf-cross__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.icf-cross__card{ border:1px solid var(--hair); border-radius:14px; overflow:hidden; text-decoration:none; color:var(--ink); transition:border-color .15s, transform .15s; display:block; }
.icf-cross__card:hover{ border-color:var(--ink); transform:translateY(-3px); }
.icf-cross__media{ aspect-ratio:1/1; background:var(--soft); }
.icf-cross__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.icf-cross__info{ padding:12px; display:flex; flex-direction:column; gap:5px; }
.icf-cross__name{ font-size:13px; font-weight:600; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.icf-cross__price{ font-size:13.5px; font-weight:700; }
.icf-cross__price del{ color:var(--mut); font-weight:500; margin-right:5px; }
.icf-cross__price ins{ text-decoration:none; }

/* 11. VACÍO */
.icf-empty{ text-align:center; max-width:420px; margin:40px auto 60px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.icf-empty svg{ width:54px; height:54px; color:var(--hair); }
.icf-empty__title{ font-weight:600; font-size:26px; margin:8px 0 0; letter-spacing:-.01em; }
.icf-empty__sub{ font-size:14px; color:var(--mut); margin:0 0 8px; }
.icf-empty__cta{ max-width:280px; }

/* ====================================================================
   12. MÓVIL — orden exacto pedido
   aviso · productos · countdown · cupón · resumen(+pago) · 2x2 · reseñas
   Técnica: los wrappers desaparecen (display:contents) y se reordena todo.
   ==================================================================== */
@media(max-width:920px){
	.icf-cart__grid{ display:flex; flex-direction:column; gap:16px; }
	.icf-cart__main, .icf-cart__aside{ display:contents; }   /* sus hijos pasan a ser hermanos */

	.icf-items{ order:1; }
	.icf-urgency{ order:2; }
	.icf-summary{ order:4; }
	.icf-trustband{ order:5; }
	.icf-reviews{ order:6; }
	.icf-cart__continue{ order:7; }

	.icf-cross__grid{ grid-template-columns:repeat(2,1fr); }
}

/* Recuadro 2x2 real en móvil */
@media(max-width:680px){
	.icf-trustband{ grid-template-columns:repeat(2,1fr); }
	.icf-feat:nth-child(odd){ border-left:0; }
	.icf-feat:nth-child(n+3){ border-top:1px solid var(--hair); }
}

@media(max-width:560px){
	.icf-cart__title{ font-size:26px; }
	.icf-line{ grid-template-columns:74px minmax(0,1fr); gap:13px; padding:15px; }
	.icf-line__thumb{ width:74px; height:84px; }
	.icf-summary{ padding:18px; }
	.icf-cart-summary__total-value{ font-size:23px; }
	/* reseñas: una tarjeta visible con peek de la siguiente, sin borde negro */
	.icf-review{ width:82%; }
	.icf-reviews__title{ font-size:17px; }
}
