/* Cupones Tech · Home con el diseño de OMX (0.41.0 · E2b, propuesta). Todo bajo .ctc-home--omx: sin la clase no aplica nada.
   Proporciones y jerarquía de OMX 0.1.134 (feed.css / oferta.css); colores de CT (azul #1428A0). */
.ctc-home--omx {
	--ctc-omx-azul: var(--ctc-accent, #1428a0);
	--ctc-omx-azul-bg: #eef0fa;
	--ctc-omx-borde: #e5e5e7;
	--ctc-omx-suave: #5b5b5b;
	--ctc-omx-media: #f1f1f3;
}
.ctc-home--omx .ctc-home-grid { display: flex; flex-direction: column; gap: 14px; }

/* ------------------------------------------------------------ tarjeta común (.ctc-oc) */
.ctc-oc { box-sizing: border-box; display: flex; flex-direction: column; width: 100%; background: #fff; color: #1a1a1a; border: 1px solid var(--ctc-omx-borde, #e5e5e7); border-radius: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.06); overflow: hidden; line-height: 1.3; }
.ctc-oc *, .ctc-oc *::before, .ctc-oc *::after { box-sizing: border-box; }
.ctc-oc p, .ctc-oc h3 { margin: 0; padding: 0; }
.ctc-oc-main { display: grid; grid-template-columns: minmax(96px, 36%) minmax(0, 1fr); flex: 1 1 auto; }
.ctc-oc-img { position: relative; display: flex; align-items: center; justify-content: center; min-height: 200px; padding: 10px 10px 30px; background: var(--ctc-omx-media, #f1f1f3); color: #b3bacb; overflow: hidden; }
.ctc-oc-img img { max-width: 100%; max-height: 190px; width: auto; height: auto; object-fit: contain; display: block; }
.ctc-oc-img svg { width: 46px; height: 46px; }
.ctc-oc-hace { position: absolute; left: 12px; bottom: 8px; font-size: 12px; color: #6b6b73; }
.ctc-oc-body { display: flex; flex-direction: column; gap: 8px; padding: 12px 12px 10px; min-width: 0; }
.ctc-oc-top { display: flex; align-items: center; gap: 8px; min-height: 32px; }
.ctc-oc-tienda { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ctc-omx-suave, #5b5b5b); white-space: nowrap; }
.ctc-oc-destacado { position: absolute; left: 10px; top: 10px; z-index: 1; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 6px; background: #fff6d6; color: #5a4300; border: 1px solid #f0d36b; }
.ctc-oc-top-der { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; }
.ctc-oc-compartir { flex: 0 0 auto; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--ctc-omx-borde, #e5e5e7); border-radius: 9px; background: #fff; color: #1a1a1a; cursor: pointer; }
.ctc-oc-compartir svg { width: 18px; height: 18px; }
.ctc-oc-metricas { display: inline-flex; gap: 8px; font-size: 11px; color: #6b7280; }
.ctc-oc-metrica { display: inline-flex; align-items: center; gap: 3px; }
.ctc-oc-metrica svg { width: 12px; height: 12px; }
.ctc-oc .ctc-fav-toggle.ctc-oc-fav { position: static !important; width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; max-width: 34px !important; max-height: 34px !important; border: 1px solid var(--ctc-omx-borde, #e5e5e7); border-radius: 9px; background: #fff; box-shadow: none; color: #9aa1b0; flex: 0 0 auto; }
.ctc-oc .ctc-fav-toggle.ctc-oc-fav svg { width: 18px !important; height: 18px !important; }
.ctc-oc .ctc-fav-toggle.ctc-oc-fav.is-guardado { color: #e11d48; border-color: #e11d48; }
.ctc-oc-titulo { font-size: 15px; line-height: 1.28; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ctc-oc-titulo a { color: inherit; text-decoration: none; }
.ctc-oc-precio { position: relative; display: flex; flex-direction: column; padding: 10px 12px; border-radius: 12px; background: var(--ctc-omx-azul, #1428a0); color: #fff; }
.ctc-oc-k { font-size: 11px; font-weight: 800; letter-spacing: .08em; opacity: .85; }
.ctc-oc-v { font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.ctc-oc-l { font-size: 12px; opacity: .92; }
.ctc-oc-pct { position: absolute; right: 10px; top: 10px; padding: 2px 8px; border-radius: 999px; background: #fff; color: var(--ctc-omx-azul, #1428a0); font-size: 12px; font-weight: 800; }
.ctc-oc-ref { display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 13px; color: var(--ctc-omx-suave, #5b5b5b); }
.ctc-oc-ref b { color: #1a1a1a; }
.ctc-oc-ref:empty { display: none; }
.ctc-oc-extras { display: flex; flex-wrap: wrap; gap: 6px; }
.ctc-oc-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: var(--ctc-omx-azul-bg, #eef0fa); color: var(--ctc-omx-azul, #1428a0); font-size: 11.5px; font-weight: 700; }
.ctc-oc-chip svg { width: 13px; height: 13px; }
.ctc-oc-chip--est { background: #e3f4f1; color: #0f766e; }
.ctc-oc-chip--var { background: #f3f5f9; color: #4b5563; font-weight: 600; }
.ctc-oc-regalo { font-size: 12.5px; color: #6d3f9e; background: #f2ecfa; padding: 4px 8px; border-radius: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ctc-oc-acts { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid #eeeef0; background: #fff; }
.ctc-oc-btn { flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 12px; border: 1.5px solid transparent; border-radius: 10px; font: inherit; font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
.ctc-oc-btn--primario { background: var(--ctc-omx-azul, #1428a0); color: #fff; }
.ctc-oc-btn--secundario { background: #fff; color: #1a1a1a; border-color: #d5d5da; }
.ctc-oc-btn--secundario.is-vista { opacity: .55; cursor: default; }
.ctc-oc-btn { gap: 4px; }
.ctc-oc a:focus-visible, .ctc-oc button:focus-visible { outline: 2px solid var(--ctc-omx-azul, #1428a0); outline-offset: 2px; }

/* ------------------------------------------------------------ minitarjetas y bloques laterales */
.ctc-lat-bloque { background: #fff; border: 1px solid var(--ctc-omx-borde, #e5e5e7); border-radius: 14px; padding: 14px; }
.ctc-lat-bloque h2 { margin: 0 0 10px; font-size: 15px; line-height: 1.3; font-weight: 800; color: #1a1a1a; }
.ctc-lat-sub { margin: -6px 0 8px; font-size: 11px; color: var(--ctc-omx-suave, #5b5b5b); }
.ctc-mini { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 8px 0; color: #1a1a1a; text-decoration: none; }
.ctc-mini + .ctc-mini { border-top: 1px solid #f0efe8; }
a.ctc-mini:hover .ctc-mini__t { text-decoration: underline; }
a.ctc-mini:focus-visible { outline: 2px solid var(--ctc-omx-azul, #1428a0); outline-offset: 2px; border-radius: 8px; }
.ctc-mini__img { position: relative; flex: 0 0 60px; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #ececf0; }
.ctc-mini__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; display: block; }
.ctc-mini__pos { position: absolute; top: -5px; left: -5px; z-index: 1; width: 20px; height: 20px; border-radius: 50%; background: #1a1a1a; color: #fff; font: 700 11px/20px system-ui, sans-serif; text-align: center; }
.ctc-mini__sin { padding: 0 4px; font-size: 10px; font-weight: 700; text-align: center; color: #8a8a93; }
.ctc-mini__txt { flex: 1; min-width: 0; }
.ctc-mini__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.3; font-weight: 600; }
.ctc-mini__p { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; margin-top: 4px; }
.ctc-mini__p small { font-size: 10px; font-weight: 700; letter-spacing: .04em; color: var(--ctc-omx-suave, #5b5b5b); }
.ctc-mini__p strong { font-size: 14px; line-height: 1.2; }
.ctc-mini__pct { padding: 3px 6px; border-radius: 999px; background: var(--ctc-omx-azul, #1428a0); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.ctc-mini__tienda { margin-left: auto; padding: 2px 5px; border: 1px solid var(--ctc-omx-borde, #e5e5e7); border-radius: 6px; font-size: 10px; font-weight: 700; color: var(--ctc-omx-suave, #5b5b5b); white-space: nowrap; }
.ctc-cupon-lat { padding: 10px 0; }
.ctc-cupon-lat + .ctc-cupon-lat { border-top: 1px solid #f0efe8; }
.ctc-cupon-lat__origen { margin: 0; font-size: 11px; font-weight: 600; color: var(--ctc-omx-suave, #5b5b5b); }
.ctc-cupon-lat__beneficio { margin: 2px 0 0; font-size: 15px; font-weight: 700; line-height: 1.25; }
.ctc-cupon-lat__contexto { margin: 2px 0 8px; font-size: 12px; line-height: 1.35; color: var(--ctc-omx-suave, #5b5b5b); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ctc-cupon-lat__ver { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 36px; margin-top: 4px; border-radius: 10px; background: #fff; color: var(--ctc-omx-azul, #1428a0); border: 1.5px solid var(--ctc-omx-azul, #1428a0); font-size: 13px; font-weight: 700; text-decoration: none; }

/* Franja móvil «Top del día»: desplazamiento manual, sin flechas ni autoplay. */
.ctc-lat-movil { padding: 12px 0 2px; }
.ctc-lat-movil h2 { margin: 0 0 8px; font-size: 15px; font-weight: 800; }
.ctc-lat-tira { display: flex; gap: 8px; margin: 0 -12px; padding: 0 12px 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 12px; overscroll-behavior-x: contain; scrollbar-width: none; }
.ctc-lat-tira::-webkit-scrollbar { display: none; }
.ctc-lat-tira .ctc-mini { flex: 0 0 min(276px, 76vw); height: 84px; padding: 8px; border: 1px solid var(--ctc-omx-borde, #e5e5e7); border-radius: 14px; background: #fff; scroll-snap-align: start; }
.ctc-lat-tira .ctc-mini + .ctc-mini { border-top: 1px solid var(--ctc-omx-borde, #e5e5e7); }
.ctc-lat-tira .ctc-mini__img { flex-basis: 64px; width: 64px; height: 64px; }
.ctc-lat-tira .ctc-mini__tienda { display: none; }
@media (min-width: 1024px) { .ctc-lat-movil { display: none; } }

/* ------------------------------------------------------------ escritorio: columna principal + barra lateral (como OMX) */
@media (min-width: 1024px) {
	.ctc-home--omx.ctc-home.ctc-listado { max-width: 1240px; }
	.ctc-home--omx .ctc-home-layout { grid-template-columns: minmax(0, 1fr) clamp(280px, 28vw, 360px); gap: 28px; }
	.ctc-home--omx .ctc-home-sidebar { gap: 14px; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
	.ctc-oc-main { grid-template-columns: minmax(180px, 30%) minmax(0, 1fr); }
	.ctc-oc-img { min-height: 220px; }
	.ctc-oc-body { padding: 14px 18px 12px; gap: 9px; }
	.ctc-oc-titulo { font-size: 17px; }
	.ctc-oc-precio { align-self: flex-start; width: min(100%, 520px); }
	.ctc-oc-acts { padding: 12px 16px; }
}
@media (max-width: 380px) {
	.ctc-oc-main { grid-template-columns: 104px minmax(0, 1fr); }
	.ctc-oc-v { font-size: 24px; }
	.ctc-oc-btn { font-size: 13px; padding: 0 8px; }
}

/* ===== 0.41.0 · E2c — «Ver detalles» plegable + botón directo ===== */
.ctc-oc .ctc-oc-acts a.ctc-cta{width:auto;margin:0;box-shadow:none}
.ctc-oc-det-btn{cursor:pointer;font:inherit}
.ctc-oc-det-btn .ctc-oc-det-chev{display:inline-block;transition:transform .15s}
.ctc-oc-det-btn[aria-expanded="true"] .ctc-oc-det-chev{transform:rotate(90deg)}
.ctc-oc-det{flex:0 0 100%;width:100%;box-sizing:border-box;margin-top:12px;padding:14px 16px;background:#f5f7ff;border:1px solid #d9e0fb;border-radius:10px;font-size:14px;line-height:1.45;color:#1b2147}
.ctc-oc-det[hidden]{display:none}
.ctc-oc-det-tit{margin:0 0 8px;font-weight:700;color:#1428a0}
.ctc-oc-det-canal{margin-left:6px;padding:2px 8px;border-radius:999px;background:#1428a0;color:#fff;font-size:11px;font-weight:600}
.ctc-oc-det-precio{margin:0 0 10px}.ctc-oc-det-precio b{font-size:18px}.ctc-oc-det-precio s{margin:0 8px;color:#6b7280}.ctc-oc-det-precio span{color:#0a7d3b;font-weight:600}
.ctc-oc-det-pasos{margin:0;padding-left:20px}.ctc-oc-det-pasos li{margin:0 0 8px}.ctc-oc-det-pasos small{display:block;color:#4b5563}
.ctc-oc-det-directo{list-style:none;margin-left:-20px!important;color:#0a7d3b;font-weight:600}
.ctc-oc-det-cupones{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ctc-oc-det-cod{padding:4px 10px;border:1px dashed #1428a0;border-radius:6px;background:#fff;color:#1428a0;font:600 13px/1.2 ui-monospace,monospace;cursor:pointer}
.ctc-oc-det-cod--pers{cursor:default;border-style:solid;border-color:#c7d0f5;font-family:inherit}
.ctc-oc-det-cod.is-copiado{background:#1428a0;color:#fff}
.ctc-oc-det-nota{margin:8px 0 0;color:#374151}
.ctc-oc-det-ficha{display:inline-block;margin-top:10px;color:#1428a0;font-weight:600;text-decoration:none}
.ctc-oc-det-opciones{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.ctc-oc-det-grupo{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ctc-oc-det-o,.ctc-oc-det-mas{font-style:normal;font-weight:700;color:#6b7280;font-size:12px}

/* E5: listado general /ofertas/ (solo el título; todo lo demás es el Home) */
.ctc-ofl-titulo{font-size:1.4rem;line-height:1.2;margin:8px 0 12px;color:#1428A0}
.ctc-home-ver-todas{text-align:center;margin:14px 0 4px}.ctc-home-ver-todas a{font-weight:700;color:#1428A0;text-decoration:none}
