/* ============================================================
   MAYORISTA v3 (28-oct-2026) — home nueva, menú del celu, paneles del menú de la compu y pie.
   Port del prototipo mayorista-home-boceto.vercel.app (aprobado por el dueño).

   TODO cuelga de html.cv3: sin esa clase este archivo no cambia nada. En modo prueba la
   pone cavutia-v3.js solo con #v3 en la dirección; en modo final la pone layout.tpl.
   Clases nuevas con prefijo c3- para no chocar con cavutia-mayorista.css (cv-) ni con el theme.
   Va como .css PLANO (libsass rompe con clamp() y con caracteres no ASCII).
   El CSS del admin se imprime ANTES que este y usa !important: donde pisa, va !important acá.
   ============================================================ */
.cv3 {
  --c3-crema: #F6EFE0;
  --c3-crema-2: #EFE4CC;
  --c3-crema-3: #E2D3B2;
  --c3-rojo: #E8341A;
  --c3-rojo-boton: #D52E15;   /* fondos con texto chico: 4,6 contra blanco */
  --c3-rojo-hover: #B8260F;   /* texto rojo sobre crema: 5,0 */
  --c3-tinta: #0F1E3D;
  --c3-tinta-2: #4B5670;
  --c3-verde: #08833F;
  --c3-wa: #0F7D3E;
  --c3-linea: rgba(15, 30, 61, .10);
  --c3-sombra: 0 10px 28px -14px rgba(0, 0, 0, .28);
  --c3-titulo: "Barlow Condensed", "Arial Narrow", sans-serif;
  --c3-texto: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --c3-radio: 12px;
  scroll-padding-top: 140px;
}
.cv3 .c3-cont { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.cv3 .c3-sec svg, .cv3 .c3-mm svg, .cv3 .c3-pie svg, .cv3 .c3-cuenta svg, .cv3 .c3-mega svg, .cv3 .c3-chips svg, .cv3 .c3-acc__datos svg {
  width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.cv3 [hidden] { display: none !important; }

/* ---------- encabezado (el nativo, solo retocado) ---------- */
/* Barra del menú de la compu: azul marino, Inter normal (sin la mayúscula condensada de cavutia-mayorista.css) y,
   con el mouse, una raya roja debajo de la categoría. El dueño la eligió entre 3 el 28-oct; la roja con el recuadro
   oscuro alrededor de la palabra no le gustaba. */
.cv3 .head-main .menu-and-banners-row { background: var(--c3-tinta) !important; border-bottom: 0 !important; }
.cv3 .head-main .js-nav-desktop-list { padding: 0 !important; margin-left: -16px; height: 50px !important; display: flex !important; align-items: stretch !important; text-transform: none !important; }
/* display sin !important: "Inicio" lo esconde cavutia-v3.js con style="display:none" */
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item { display: flex; align-items: center; height: auto !important; padding: 0 16px !important; position: relative; background: none !important; }
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item > .nav-item-container { height: 100%; display: flex; align-items: center; }
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item > .nav-item-container > a.nav-list-link,
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item > a.nav-list-link { display: flex !important; align-items: center; gap: 8px; color: rgba(255, 255, 255, .9) !important; font: 600 15.5px/1 var(--c3-texto) !important; letter-spacing: 0 !important; text-transform: none !important; transition: color .15s; }
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item:hover > .nav-item-container > a.nav-list-link,
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item:hover > a.nav-list-link { color: #fff !important; }
/* flechita en los que abren panel (el ::after del theme trae fondo y posición: se apagan) */
.cv3 .head-main .js-nav-desktop-list > li.item-with-subitems > .nav-item-container > a.nav-list-link::after { content: ""; position: static !important; width: 6px !important; height: 6px !important; background: none !important; border: 0 !important; border-right: 2px solid currentColor !important; border-bottom: 2px solid currentColor !important; transform: translateY(-2px) rotate(45deg); opacity: .55; transition: transform .2s; }
.cv3 .head-main .js-nav-desktop-list > li.item-with-subitems:hover > .nav-item-container > a.nav-list-link::after { transform: translateY(1px) rotate(225deg); opacity: .9; }
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--c3-rojo); transform: scaleX(0); transition: transform .2s ease; }
.cv3 .head-main .js-nav-desktop-list > li.nav-main-item:hover::after { transform: scaleX(1); }
/* el panel espera un instante antes de abrirse (cavutia-v3.js pone .c3-listo) y pasar de una categoría a otra es inmediato */
.cv3 .head-main .js-nav-desktop-list.c3-espera:not(.c3-listo) .nav-dropdown-content { visibility: hidden !important; opacity: 0 !important; }
.cv3 .head-main .js-nav-desktop-list.c3-espera .nav-dropdown-content { transition: none !important; }
@media (max-width: 767px) {
  /* en el celu no va ningún logo (pedido del dueño, 28-oct): al inicio se va desde el menú, que arriba dice
     "Inicio". Se esconde sin sacarle el lugar, para que el botón del menú y los íconos no se muevan. */
  .cv3 .head-main .logo-img-container, .cv3 .head-main .logo-text-container { visibility: hidden; }
}

/* chips de acceso del celu (debajo del encabezado, solo en la home) */
.cv3 .c3-chips { display: none; }
@media (max-width: 767px) {
  .cv3 .c3-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 8px 14px 10px; background: var(--c3-rojo-boton); }
  .cv3 .c3-chips::-webkit-scrollbar { display: none; }
  .cv3 .c3-chips a { flex: none; padding: 7px 13px; border-radius: 99px; background: rgba(0, 0, 0, .16); color: #fff !important; font: 700 15px/1.2 var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; text-decoration: none; }
}

/* ---------- paneles del menú de la compu ---------- */
.cv3 .head-main .desktop-dropdown.c3-mega { background: #fff !important; padding: 0 !important; border-top: 0 !important; box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .35); display: block; }
.cv3 .head-main .desktop-dropdown.c3-mega > :not(.c3-mega__in) { display: none !important; }
.cv3 .c3-mega__in { display: grid; grid-template-columns: 1fr 260px; gap: 32px; max-width: 1280px; margin: 0 auto; padding: 24px 24px 28px; box-sizing: border-box; }
.cv3 .c3-mega__subs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 18px; align-content: start; }
.cv3 .head-main .c3-mega a.c3-mega__sub { display: flex; align-items: center; gap: 12px; padding: 6px; border-radius: 10px; color: var(--c3-tinta) !important; font: 600 15px/1.25 var(--c3-texto) !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; margin: 0 !important; }
.cv3 .c3-mega__sub img { width: 46px; height: 46px; border-radius: 8px; object-fit: cover; background: var(--c3-crema); flex: none; }
.cv3 .head-main .c3-mega a.c3-mega__sub:hover { background: var(--c3-crema); color: var(--c3-rojo-hover) !important; }
.cv3 .c3-mega__lado { border-left: 1px solid var(--c3-linea); padding-left: 28px; display: flex; flex-direction: column; gap: 12px; }
.cv3 .c3-mega__lado p { margin: 0; font: 700 15px var(--c3-titulo); text-transform: uppercase; letter-spacing: .04em; color: var(--c3-tinta-2); }
.cv3 .head-main .c3-mega a.c3-mega__todo { font: 700 17px var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; color: var(--c3-rojo-hover) !important; text-decoration: none !important; }
.cv3 .head-main .c3-mega a.c3-mega__todo:hover { text-decoration: underline !important; }
.cv3 .c3-mega__mini { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cv3 .c3-mega__marcas-in { grid-template-columns: 1fr; gap: 14px; }
.cv3 .c3-mega__marcas { display: grid; grid-template-columns: repeat(12, 1fr); gap: 8px; }
.cv3 .c3-mega__marcas-in > a.c3-mega__todo { justify-self: center; border-bottom: 2px solid currentColor; }

/* ---------- tarjetas de logo (marcas) ---------- */
.cv3 .c3-logo { aspect-ratio: 1; background: #fff; border: 1px solid var(--c3-linea); border-radius: var(--c3-radio); display: grid; place-items: center; overflow: hidden; transition: box-shadow .2s; text-decoration: none !important; box-sizing: border-box; }
.cv3 .c3-logo--osc { background: #12213F; border-color: transparent; }
.cv3 .c3-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.cv3 .c3-logo:hover { box-shadow: var(--c3-sombra); }
.cv3 a.c3-logo--txt, .cv3 .head-main .c3-mega a.c3-logo--txt { padding: 10px; font: 800 19px/1.05 var(--c3-titulo) !important; text-transform: uppercase; text-align: center; color: var(--c3-tinta) !important; overflow-wrap: anywhere; }
.cv3 .c3-mega .c3-logo { border-radius: 10px; }
.cv3 .head-main .c3-mega a.c3-logo--txt { font-size: 14px !important; padding: 6px; }
/* en los cuadros chicos del menú cada logo se agranda según su forma (--z lo calcula armar_tienda.py) */
.cv3 .c3-mega .c3-logo img { transform: scale(var(--z, 1)); }

/* ---------- lupa (cavutia-buscador.js arma la lista: .c3-lupa) ---------- */
.cv3 .head-main .js-search-input { height: 46px !important; border: 1.5px solid rgba(15, 30, 61, .3) !important; border-radius: 10px !important; background: #fff !important; padding: 0 56px 0 16px !important; font: 400 15px var(--c3-texto) !important; color: var(--c3-tinta) !important; box-shadow: none !important; }
.cv3 .head-main .js-search-input::placeholder { color: #6B7385; }
.cv3 .head-main .js-search-input:focus { border-color: var(--c3-tinta) !important; box-shadow: 0 0 0 3px rgba(15, 30, 61, .12) !important; outline: 0; }
.cv3 .head-main .js-search-form .search-submit-btn { position: absolute !important; top: 50% !important; right: 5px !important; transform: translateY(-50%); margin: 0 !important; width: 38px !important; height: 36px !important; padding: 0 !important; border-radius: 8px !important; background: var(--c3-tinta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.6-3.6'/%3E%3C/svg%3E") center / 19px no-repeat !important; }
.cv3 .head-main .js-search-form .search-submit-btn > *, .cv3 .head-main .js-search-form .search-submit-btn::before, .cv3 .head-main .js-search-form .search-submit-btn::after { display: none !important; }
.cv3 .head-main .js-search-form .search-submit-btn:hover { background-color: #1C2E55 !important; }
.cv3 .head-main .js-search-form .search-empty-btn { right: 46px !important; }
.cv3 .js-search-form-suggestions.c3-lupa-caja { background: #fff !important; border: 1px solid var(--c3-linea) !important; border-radius: 14px !important; box-shadow: 0 22px 44px -20px rgba(15, 30, 61, .4) !important; padding: 6px !important; max-height: calc(100vh - 150px); overflow-y: auto; }
.cv3 ul.c3-lupa { list-style: none; margin: 0 !important; padding: 0 !important; }
.cv3 .c3-sug-accesos { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 6px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--c3-linea); }
.cv3 .c3-lupa a.c3-sug-chip { display: inline-flex; align-items: center; height: 38px; padding: 0 15px; border-radius: 99px; background: var(--c3-crema); color: var(--c3-tinta) !important; font: 600 14px var(--c3-texto) !important; text-decoration: none !important; }
.cv3 .c3-lupa a.c3-sug-chip:hover { background: var(--c3-crema-2); }
/* las imágenes de logo son cuadradas con el logo al medio: "cover" en una caja ancha recorta solo el aire de arriba y abajo */
.cv3 .c3-lupa a.c3-sug-chip--logo { width: 96px; padding: 0; background: #fff; border: 1px solid var(--c3-linea); border-radius: 10px; overflow: hidden; }
.cv3 .c3-lupa a.c3-sug-chip--logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv3 .c3-lupa a.c3-sug-chip--osc { background: #12213F; border-color: transparent; }
.cv3 .c3-lupa li.c3-sug { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.cv3 .c3-lupa a.c3-sug__a { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 8px !important; border-radius: 10px; color: var(--c3-tinta) !important; text-decoration: none !important; background: none; }
.cv3 .c3-lupa a.c3-sug__a:hover, .cv3 .c3-lupa a.c3-sug__a:focus-visible { background: var(--c3-crema); outline: 0; }
.cv3 .c3-sug__foto { width: 56px; height: 56px; border-radius: 10px; background: #fff; border: 1px solid var(--c3-linea); display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; }
/* el theme le pone height:auto a las imágenes: sin !important una foto vertical (ENA citrato, 240x441)
   se estiraba a 99 px de alto y el cuadro mostraba solo la tapa */
.cv3 .c3-lupa .c3-sug__foto img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain !important; display: block; }
.cv3 .c3-sug__nom { font: 500 14.5px/1.3 var(--c3-texto); color: var(--c3-tinta); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cv3 .c3-sug__nom b { font-weight: 700; }
.cv3 .c3-sug__precio { display: flex; flex-direction: column; align-items: flex-end; text-align: right; min-width: 92px; }
.cv3 .c3-sug__p { font: 800 21px/1 var(--c3-titulo); color: var(--c3-tinta); white-space: nowrap; }
.cv3 .c3-sug__e { margin-top: 4px; font: 600 12px/1.2 var(--c3-texto); color: var(--c3-verde); white-space: nowrap; }
.cv3 .c3-sug__sin { font: 600 13px var(--c3-texto); color: var(--c3-tinta-2); white-space: nowrap; }
.cv3 .c3-sug--sin .c3-sug__foto img { opacity: .45; }
.cv3 .c3-sug--sin .c3-sug__nom { color: var(--c3-tinta-2); }
/* mientras llega el precio en vivo: el lugar en gris, nunca un precio viejo */
.cv3 .c3-sug__esp { width: 74px; height: 18px; border-radius: 6px; background: linear-gradient(90deg, #EFE7D6 0%, #F8F3EA 50%, #EFE7D6 100%); background-size: 200% 100%; animation: c3-esp 1.1s linear infinite; }
@keyframes c3-esp { to { background-position: -200% 0; } }
.cv3 .c3-lupa .search-suggestions-all-link-container { padding: 8px 6px 4px !important; margin-top: 4px; border-top: 1px solid var(--c3-linea); }
.cv3 .c3-lupa .search-suggestions-all-link { display: flex !important; align-items: center; justify-content: center; height: 44px; border-radius: 10px; background: var(--c3-tinta); color: #fff !important; font: 700 16px var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important; cursor: pointer; }
.cv3 .c3-lupa .search-suggestions-all-link:hover { background: #1C2E55; }
@media (max-width: 767px) {
  /* en el celu la caja no toca los bordes de la pantalla */
  .cv3 .head-main .js-big-search-mobile { padding: 0 10px !important; }
  /* el precio va debajo del nombre: al costado le dejaba dos palabras por renglón */
  .cv3 .c3-lupa a.c3-sug__a { grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 11px; row-gap: 4px; padding: 8px 6px !important; }
  .cv3 .c3-sug__foto { grid-row: 1 / span 2; width: 52px; height: 52px; }
  .cv3 .c3-sug__nom { grid-column: 2; font-size: 14px; }
  .cv3 .c3-sug__precio { grid-column: 2; flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 9px; min-width: 0; text-align: left; }
  .cv3 .c3-sug__p { font-size: 19px; }
  .cv3 .c3-sug__e { margin-top: 0; }
  .cv3 .c3-lupa a.c3-sug-chip--logo { width: 88px; }
}

/* ---------- cuenta: login (templates/account/login.tpl) y Mi cuenta (templates/account/orders.tpl) ---------- */
.cv3 .c3-acc { background: var(--c3-crema); padding: 40px 0 56px; }
.cv3 .c3-acc__in { max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; box-sizing: border-box; }
.cv3 .c3-acc__caja { background: #fff; border: 1px solid var(--c3-linea); border-radius: 16px; padding: 32px; box-shadow: var(--c3-sombra); }
.cv3 .c3-acc__titulo { margin: 0 0 24px; font: 800 34px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .01em; color: var(--c3-tinta); display: flex; align-items: center; gap: 12px; }
.cv3 .c3-acc__titulo::before { content: ''; flex: none; width: 6px; height: 28px; border-radius: 2px; background: var(--c3-rojo); }
.cv3 .c3-acc__subtitulo { margin: 0 0 10px; font: 800 26px/1.05 var(--c3-titulo) !important; text-transform: uppercase; color: var(--c3-tinta); }
.cv3 .c3-acc .form-group { margin-bottom: 18px; }
.cv3 .c3-acc .form-label { display: block; margin-bottom: 6px; font: 600 14px var(--c3-texto) !important; color: var(--c3-tinta) !important; text-transform: none !important; letter-spacing: 0 !important; }
.cv3 .c3-acc .form-control { height: 48px; padding: 0 14px; border: 1.5px solid rgba(15, 30, 61, .25) !important; border-radius: 10px !important; background: #fff !important; font: 400 15px var(--c3-texto) !important; color: var(--c3-tinta) !important; box-shadow: none !important; }
.cv3 .c3-acc .form-control:focus { border-color: var(--c3-tinta) !important; box-shadow: 0 0 0 3px rgba(15, 30, 61, .12) !important; outline: 0; }
.cv3 .c3-acc .form-control::placeholder { color: #8A90A0; }
.cv3 .c3-acc .btn-link { color: var(--c3-tinta) !important; font: 500 14px var(--c3-texto) !important; text-decoration: underline; text-underline-offset: 3px; }
.cv3 .c3-acc .btn-link:hover { color: var(--c3-rojo-hover) !important; }
.cv3 .c3-acc form .btn-primary { display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; margin-top: 6px; border: 0 !important; border-radius: 10px !important; background: var(--c3-tinta) !important; color: #fff !important; font: 700 19px var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; }
.cv3 .c3-acc form .btn-primary:hover { background: #1C2E55 !important; }
.cv3 .c3-acc .alert { border-radius: 10px; font: 500 14px/1.4 var(--c3-texto); }
.cv3 .c3-acc__pedir { background: var(--c3-crema-2); border: 1px solid var(--c3-crema-3); border-radius: 16px; padding: 32px; }
.cv3 .c3-acc__pedir p { margin: 0 0 18px; font: 400 15.5px/1.5 var(--c3-texto); color: var(--c3-tinta); }
.cv3 .c3-acc__datos { list-style: none; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid var(--c3-crema-3); display: grid; gap: 13px; }
.cv3 .c3-acc__datos li { display: flex; align-items: center; gap: 12px; font: 600 15px/1.35 var(--c3-texto); color: var(--c3-tinta); }
.cv3 .c3-acc__datos svg { flex: none; color: var(--c3-rojo-boton); }
/* Mi cuenta */
.cv3 .c3-acc--cuenta .c3-acc__in { max-width: 1180px; grid-template-columns: 320px minmax(0, 1fr); }
.cv3 .c3-acc__cab { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cv3 .c3-acc__cab .c3-acc__titulo { margin: 0; }
.cv3 a.c3-acc__salir { font: 600 14px var(--c3-texto); color: var(--c3-tinta-2) !important; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.cv3 .c3-acc__lado { display: grid; gap: 16px; }
.cv3 .c3-acc__bloque { background: #fff; border: 1px solid var(--c3-linea); border-radius: 14px; padding: 20px 22px; }
.cv3 .c3-acc__bloque-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.cv3 .c3-acc__bloque .c3-acc__subtitulo { margin: 0; font-size: 21px !important; }
.cv3 a.c3-acc__link { font: 600 14px var(--c3-texto); color: var(--c3-rojo-hover) !important; text-decoration: underline; text-underline-offset: 3px; }
.cv3 .c3-acc__nombre { margin: 0 0 4px; font: 700 16px/1.3 var(--c3-texto); color: var(--c3-tinta); }
.cv3 .c3-acc__dato { margin: 0 0 4px; font: 400 14.5px/1.45 var(--c3-texto); color: var(--c3-tinta); overflow-wrap: anywhere; }
.cv3 .c3-acc__dato span { margin-right: 4px; color: var(--c3-tinta-2); }
.cv3 .c3-acc__pedidos > .c3-acc__subtitulo { margin-bottom: 14px; }
.cv3 .c3-pedido { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-bottom: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--c3-linea); border-radius: 14px; }
.cv3 .c3-pedido__foto { position: relative; width: 72px; height: 72px; border: 1px solid var(--c3-linea); border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; }
.cv3 .c3-pedido__foto img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.cv3 .c3-pedido__mas { position: absolute; right: 4px; bottom: 4px; padding: 3px 6px; border-radius: 6px; background: var(--c3-tinta); color: #fff; font: 700 12px/1 var(--c3-texto); }
.cv3 .c3-pedido__num { margin: 0 0 8px; font: 800 21px/1 var(--c3-titulo); text-transform: uppercase; color: var(--c3-tinta); }
.cv3 .c3-pedido__num a { color: inherit !important; text-decoration: none !important; }
.cv3 .c3-pedido__num span { margin-left: 8px; font: 500 13px var(--c3-texto); text-transform: none; color: var(--c3-tinta-2); }
.cv3 .c3-pedido__estados { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cv3 .c3-estado { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 99px; background: #EEF0F4; color: var(--c3-tinta-2); font: 600 12.5px var(--c3-texto); }
.cv3 .c3-estado--paid, .cv3 .c3-estado--envio-si { background: #E3F3EA; color: #0B6B36; }
.cv3 .c3-estado--pending, .cv3 .c3-estado--authorized { background: #FFF1D6; color: #8A5A00; }
.cv3 .c3-estado--voided, .cv3 .c3-estado--refunded, .cv3 .c3-estado--abandoned { background: #F6E3E0; color: #9B2A16; }
.cv3 .c3-pedido__total { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.cv3 .c3-pedido__monto { font: 800 25px/1 var(--c3-titulo); color: var(--c3-tinta); white-space: nowrap; }
.cv3 a.c3-pedido__btn { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 8px; background: var(--c3-tinta); color: #fff !important; font: 700 15px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important; white-space: nowrap; }
.cv3 a.c3-pedido__btn--pagar { background: var(--c3-rojo-boton); }
.cv3 .c3-acc__vacio { padding: 36px 24px; background: #fff; border: 1px dashed var(--c3-crema-3); border-radius: 14px; text-align: center; }
.cv3 .c3-acc__vacio p { margin: 0 0 16px; font: 500 16px var(--c3-texto); color: var(--c3-tinta); }
@media (max-width: 767px) {
  .cv3 .c3-acc { padding: 20px 0 36px; }
  .cv3 .c3-acc__in, .cv3 .c3-acc--cuenta .c3-acc__in { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0 14px; }
  .cv3 .c3-acc__caja, .cv3 .c3-acc__pedir { padding: 24px 18px; }
  .cv3 .c3-acc__titulo { font-size: 30px !important; margin-bottom: 20px; }
  /* en el celu los pedidos van antes que los datos */
  .cv3 .c3-acc__pedidos { order: 1; }
  .cv3 .c3-acc__lado { order: 2; }
  .cv3 .c3-pedido { grid-template-columns: 60px minmax(0, 1fr); gap: 10px 12px; padding: 12px; }
  .cv3 .c3-pedido__foto { grid-row: 1 / span 2; width: 60px; height: 60px; }
  .cv3 .c3-pedido__total { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px 14px; text-align: left; }
}

/* ---------- páginas de rubro y de marcas (snipplets/home/cavutia-landing-v3.tpl) ---------- */
.cv3 .c3-landing { background: var(--c3-crema); }
.cv3 .c3-sec.c3-sec--tope { padding-top: 22px; padding-bottom: 8px; }
.cv3 .c3-placa.c3-placa--hero { position: relative; display: block; aspect-ratio: 1232 / 210; margin: 0; border-radius: 16px; overflow: hidden; background: var(--c3-rojo-boton); }
.cv3 .c3-placa--hero.c3-placa--crema { background: #E9D9BC; }
.cv3 .c3-placa--hero h1.c3-placa__nombre { margin: 0; color: inherit; }
.cv3 .c3-placa--hero p.c3-placa__desc { margin: 6px 0 0; color: inherit; }
.cv3 .c3-placa--hero a.c3-placa__ver { display: inline-block; text-decoration: none !important; }
.cv3 .c3-placa--hero a.c3-placa__ver:hover { filter: brightness(.96); }
.cv3 .c3-rt--sinfoto .c3-rt__foto { background: var(--c3-crema-2); }
.cv3 h1.c3-landing__titulo { margin: 0; font: 800 46px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .01em; color: var(--c3-tinta); display: flex; align-items: center; gap: 14px; }
.cv3 h1.c3-landing__titulo::before { content: ''; width: 7px; height: 38px; border-radius: 2px; background: var(--c3-rojo); }
.cv3 .c3-landing--marcas .c3-sec--tope .c3-sec__sub { margin-left: 21px; }
@media (min-width: 768px) { .cv3 .c3-sec__pie.c3-sec__pie--celu { display: none; } }
/* grilla de todo el rubro (?ver=todos): va sin banner, así que el botón de volver queda pegado a la barra del menú */
.cv3 a.cv-volver--rubro { margin-top: 16px; }
@media (max-width: 767px) {
  /* la página de marcas es el listado entero: cuatro por fila para que no sea tan larga */
  .cv3 .c3-landing--marcas .c3-logos { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .cv3 .c3-landing--marcas .c3-logo { border-radius: 10px; }
  .cv3 .c3-landing--marcas a.c3-logo--txt { padding: 4px; font-size: 13px !important; }
  .cv3 .c3-placa.c3-placa--hero { aspect-ratio: 380 / 200; border-radius: 14px; }
  /* en el celu las categorías del rubro van todas a la vista (en la home son un carrusel) */
  .cv3 .c3-rb__grid.c3-rb__grid--todas { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; margin: 0; padding: 0; gap: 12px 10px; }
  .cv3 h1.c3-landing__titulo { font-size: 36px !important; }
  .cv3 h1.c3-landing__titulo::before { height: 30px; }
}

/* ---------- listado de una categoría con filtros (snipplets/grid/cavutia-listado-v3.tpl + js/cavutia-filtros-v3.js) ---------- */
.cv3 .c3-listado { background: var(--c3-crema); padding: 22px 0 56px; }
.cv3 .c3-listado__cab { margin-bottom: 18px; }
.cv3 a.c3-listado__volver { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 6px; font: 600 14px var(--c3-texto); color: var(--c3-tinta-2) !important; text-decoration: none !important; }
.cv3 a.c3-listado__volver svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.cv3 a.c3-listado__volver:hover { color: var(--c3-rojo-hover) !important; }
.cv3 h1.c3-listado__titulo { margin: 0; font: 800 42px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .01em; color: var(--c3-tinta); display: flex; align-items: center; gap: 12px; }
.cv3 h1.c3-listado__titulo::before { content: ''; flex: none; width: 6px; height: 32px; border-radius: 2px; background: var(--c3-rojo); }
.cv3 .c3-listado__cuerpo { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 28px; align-items: start; }
.cv3 .c3-listado--sin-filtros .c3-listado__cuerpo { grid-template-columns: minmax(0, 1fr); }
.cv3 .c3-listado--sin-filtros .c3-filtros, .cv3 .c3-listado--sin-filtros .c3-listado__filtrar { display: none !important; }
/* columna de filtros */
.cv3 .c3-filtros { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; scrollbar-width: thin; background: #fff; border: 1px solid var(--c3-linea); border-radius: var(--c3-radio); padding: 2px 16px 12px; box-sizing: border-box; }
.cv3 .c3-filtros__cab, .cv3 .c3-filtros__pie { display: none; }
.cv3 p.c3-filtros__cargando { margin: 14px 0; font: 500 14px var(--c3-texto); color: var(--c3-tinta-2); }
.cv3 .c3-grupo { padding: 14px 0; border-bottom: 1px solid var(--c3-crema-2); }
.cv3 .c3-grupo:last-child { border-bottom: 0; }
.cv3 h2.c3-grupo__titulo { margin: 0 0 10px; font: 700 15px/1 var(--c3-titulo) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--c3-tinta-2); }
.cv3 .c3-grupo__ops { display: flex; flex-wrap: wrap; gap: 6px; }
.cv3 .c3-op { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; margin: 0; padding: 0 11px; border: 1px solid var(--c3-crema-3); border-radius: 99px; background: #fff; color: var(--c3-tinta); font: 500 13.5px/1.2 var(--c3-texto); text-align: left; cursor: pointer; transition: border-color .15s, background-color .15s; box-sizing: border-box; }
.cv3 .c3-op__n { font-size: 12px; font-weight: 500; color: var(--c3-tinta-2); }
.cv3 .c3-op[aria-pressed="true"] { background: var(--c3-tinta); border-color: var(--c3-tinta); color: #fff; }
.cv3 .c3-op[aria-pressed="true"] .c3-op__n { color: rgba(255, 255, 255, .72); }
.cv3 .c3-op:disabled { opacity: .35; cursor: default; }
.cv3 .c3-op--extra { display: none; }
.cv3 .c3-grupo--todo .c3-op--extra { display: inline-flex; }
/* marcas: logos de a tres */
.cv3 .c3-grupo__ops--marcas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cv3 .c3-op--marca { position: relative; justify-content: center; aspect-ratio: 1; min-height: 0; padding: 8px; border-radius: 10px; overflow: hidden; }
.cv3 .c3-op--marca img { width: 100%; height: 100%; object-fit: contain; transform: scale(var(--z, 1)); }
.cv3 .c3-op--marca.c3-op--osc { background: var(--c3-tinta); border-color: var(--c3-tinta); }
.cv3 .c3-op--marca .c3-op__txt { font: 800 13px/1.05 var(--c3-titulo); text-transform: uppercase; text-align: center; overflow-wrap: normal; }
.cv3 .c3-op--marca .c3-op__txt--chico { font-size: 10.5px; letter-spacing: -.01em; }
.cv3 .c3-op--marca .c3-op__n { position: absolute; right: 5px; bottom: 3px; font-size: 11px; }
.cv3 .c3-op--marca.c3-op--osc .c3-op__n { color: rgba(255, 255, 255, .7); }
.cv3 .c3-op--marca[aria-pressed="true"] { background: #fff; border: 2px solid var(--c3-rojo-boton); color: var(--c3-tinta); }
.cv3 .c3-op--marca.c3-op--osc[aria-pressed="true"] { background: var(--c3-tinta); }
.cv3 .c3-op--marca[aria-pressed="true"] .c3-op__n { color: var(--c3-tinta-2); }
.cv3 .c3-op--marca[aria-pressed="true"]::after { content: ''; position: absolute; top: 4px; left: 4px; width: 17px; height: 17px; border-radius: 50%; background: var(--c3-rojo-boton) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
.cv3 button.c3-grupo__mas { margin: 10px 0 0; padding: 0; border: 0; background: none; font: 600 13.5px var(--c3-texto); color: var(--c3-rojo-hover); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cv3 .c3-precio { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cv3 .c3-precio label { display: flex; flex-direction: column; gap: 4px; margin: 0; font: 500 12.5px var(--c3-texto); color: var(--c3-tinta-2); }
.cv3 .c3-precio input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--c3-crema-3) !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important; font: 500 14px var(--c3-texto) !important; color: var(--c3-tinta) !important; box-sizing: border-box; -moz-appearance: textfield; }
.cv3 .c3-precio input::-webkit-inner-spin-button, .cv3 .c3-precio input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cv3 .c3-precio input:focus { border-color: var(--c3-tinta) !important; outline: 0; }
/* barra de arriba de la grilla */
.cv3 .c3-listado__barra { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.cv3 .c3-listado__filtrar { display: none; }
.cv3 p.c3-listado__cuenta { margin: 0; font: 600 14.5px var(--c3-texto); color: var(--c3-tinta-2); }
.cv3 .c3-listado__orden { display: flex; align-items: center; gap: 8px; margin: 0 0 0 auto; font: 600 13px var(--c3-texto); color: var(--c3-tinta-2); }
.cv3 .c3-listado__orden select { height: 38px; padding: 0 34px 0 12px; border: 1px solid var(--c3-crema-3); border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%230F1E3D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center / 14px no-repeat; font: 600 14px var(--c3-texto); color: var(--c3-tinta); -webkit-appearance: none; appearance: none; cursor: pointer; }
.cv3 .c3-activos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 14px; }
.cv3 .c3-activos[hidden] { display: none; }
.cv3 button.c3-activo { display: inline-flex; align-items: center; gap: 6px; height: 32px; margin: 0; padding: 0 10px 0 13px; border: 0; border-radius: 99px; background: var(--c3-tinta); color: #fff; font: 500 13px var(--c3-texto); cursor: pointer; white-space: nowrap; }
.cv3 .c3-activo svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; }
.cv3 button.c3-activos__borrar { margin: 0; padding: 0 4px; border: 0; background: none; font: 600 13px var(--c3-texto); color: var(--c3-rojo-hover); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; white-space: nowrap; }
.cv3 .c3-atajo { display: none; }
/* grilla */
.cv3 .c3-grilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cv3 .c3-card--sin .c3-card__foto { opacity: .55; }
.cv3 .c3-listado__vacio { padding: 40px 20px; border: 1px dashed var(--c3-crema-3); border-radius: var(--c3-radio); background: #fff; text-align: center; }
.cv3 .c3-listado__vacio[hidden] { display: none; }
.cv3 .c3-listado__vacio p { margin: 0 0 14px; font: 500 16px var(--c3-texto); color: var(--c3-tinta); }
html.cv3.c3-filtros-abiertos, html.cv3.c3-filtros-abiertos body { overflow: hidden !important; }
@media (max-width: 1180px) {
  .cv3 .c3-listado__cuerpo { grid-template-columns: 236px minmax(0, 1fr); gap: 20px; }
  .cv3 .c3-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .cv3 .c3-listado { padding: 14px 0 40px; }
  .cv3 .c3-listado__cab { margin-bottom: 12px; }
  .cv3 h1.c3-listado__titulo { font-size: 31px !important; }
  .cv3 h1.c3-listado__titulo::before { width: 5px; height: 24px; }
  .cv3 .c3-listado__cuerpo { display: block; }
  /* los filtros, en una pantalla aparte que sube desde abajo */
  .cv3 .c3-filtros { position: fixed; inset: 0; z-index: 20060; display: flex; flex-direction: column; max-height: none; padding: 0; border: 0; border-radius: 0; background: var(--c3-crema); transform: translateY(100%); visibility: hidden; transition: transform .26s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .26s; }
  .cv3 .c3-filtros.c3-filtros--abierto { transform: none; visibility: visible; transition: transform .26s cubic-bezier(.2, .8, .2, 1); }
  .cv3 .c3-filtros__cab { display: flex; flex: none; align-items: center; justify-content: space-between; height: 58px; padding: 0 8px 0 16px; border-bottom: 1px solid var(--c3-crema-3); }
  .cv3 p.c3-filtros__titulo { margin: 0; font: 800 23px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; color: var(--c3-tinta); }
  .cv3 button.c3-filtros__cerrar { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--c3-tinta); }
  .cv3 .c3-filtros__cerrar svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
  .cv3 .c3-filtros__grupos { flex: 1; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 16px 16px; }
  .cv3 .c3-grupo { border-bottom-color: var(--c3-crema-3); }
  .cv3 .c3-filtros__pie { display: grid; flex: none; grid-template-columns: auto 1fr; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--c3-crema-3); background: #fff; }
  .cv3 button.c3-filtros__borrar { height: 48px; padding: 0 18px; border: 2px solid var(--c3-tinta); border-radius: 10px; background: #fff; color: var(--c3-tinta); font: 700 17px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; }
  .cv3 button.c3-filtros__ver { height: 48px; border: 0; border-radius: 10px; background: var(--c3-rojo-boton); color: #fff; font: 700 17px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; }
  .cv3 .c3-grupo__ops--marcas { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cv3 .c3-op { min-height: 38px; font-size: 14px; }
  .cv3 .c3-op--marca { min-height: 0; }
  /* barra: Filtrar, cantidad y orden */
  .cv3 .c3-listado__barra { gap: 10px; }
  .cv3 button.c3-listado__filtrar { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--c3-tinta); color: #fff; font: 700 17px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; }
  .cv3 .c3-listado__filtrar svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
  .cv3 .c3-listado__nfiltros { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--c3-rojo-boton); font: 700 12px/1 var(--c3-texto); box-sizing: border-box; }
  .cv3 .c3-listado__nfiltros[hidden] { display: none; }
  .cv3 p.c3-listado__cuenta { font-size: 13px; }
  .cv3 .c3-listado__orden > span { display: none; }
  .cv3 .c3-listado__orden select { height: 40px; max-width: 148px; font-size: 13.5px; }
  .cv3 .c3-atajo { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -14px 12px; padding: 0 14px; }
  .cv3 .c3-atajo::-webkit-scrollbar { display: none; }
  .cv3 button.c3-atajo__op { flex: none; height: 34px; margin: 0; padding: 0 13px; border: 1px solid var(--c3-crema-3); border-radius: 99px; background: #fff; color: var(--c3-tinta); font: 600 13.5px var(--c3-texto); white-space: nowrap; }
  .cv3 button.c3-atajo__op[aria-pressed="true"] { background: var(--c3-tinta); border-color: var(--c3-tinta); color: #fff; }
  .cv3 button.c3-atajo__op:disabled { opacity: .4; }
  .cv3 .c3-activos { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -14px 12px; padding: 0 14px; }
  .cv3 .c3-activos::-webkit-scrollbar { display: none; }
  .cv3 .c3-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

/* ---------- carrito lateral (#modal-cart) — v3, 28-oct-2026 ----------
   Se viste el markup de la plataforma (header-modals.tpl, cart-panel.tpl, cart-item-ajax.tpl, cart-totals.tpl,
   shipping_options.tpl) sin tocar sus js-*: la plataforma reescribe la lista, los totales y las opciones de envío.
   Pisa a cavutia-mayorista.css (que usa #modal-cart con !important), por eso .cv3 #modal-cart y !important. */
.cv3 #modal-cart, .cv3 #modal-cart .modal-body { background: var(--c3-crema) !important; }
.cv3 #modal-cart .modal-header { display: flex; align-items: center; min-height: 62px; padding: 0 6px 0 18px !important; background: #fff !important; border-bottom: 1px solid var(--c3-linea) !important; opacity: 1 !important; }
.cv3 #modal-cart .modal-header > .row { width: 100%; }
.cv3 #modal-cart .modal-header, .cv3 #modal-cart .modal-header * { color: var(--c3-tinta) !important; }
.cv3 #modal-cart .modal-header .col.px-3 { padding: 0 !important; font: 800 26px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .01em; }
.cv3 #modal-cart .modal-header .modal-close svg, .cv3 #modal-cart .modal-header .modal-close svg path,
.cv3 #modal-cart .modal-header a.modal-close svg, .cv3 #modal-cart .modal-header a.modal-close svg path { fill: var(--c3-tinta) !important; stroke: var(--c3-tinta) !important; }
/* rojo al pasar el mouse solo donde hay mouse: en el celu el :hover queda pegado después de tocar y la cruz se veía roja */
@media (hover: hover) {
  .cv3 #modal-cart .modal-header .modal-close:hover svg, .cv3 #modal-cart .modal-header .modal-close:hover svg path { fill: var(--c3-rojo-hover) !important; stroke: var(--c3-rojo-hover) !important; }
}
.cv3 #modal-cart .modal-body { padding: 14px 14px 0 !important; }
/* productos: una sola tarjeta blanca con renglones */
.cv3 #modal-cart .js-ajax-cart-list { background: #fff !important; border: 1px solid var(--c3-linea) !important; border-radius: 14px !important; padding: 0 14px !important; margin-bottom: 14px; overflow: hidden; }
.cv3 #modal-cart .js-ajax-cart-list:empty { display: none; }
.cv3 #modal-cart .js-ajax-cart-list > .js-cart-item { background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 14px 0 !important; border-bottom: 1px solid var(--c3-linea) !important; }
.cv3 #modal-cart .js-ajax-cart-list > .js-cart-item:last-child { border-bottom: 0 !important; }
.cv3 #modal-cart .cart-item-image-col { width: 64px; height: 64px; border: 1px solid var(--c3-linea); border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #fff; }
.cv3 #modal-cart img.cart-item-image { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain !important; }
.cv3 #modal-cart a.cart-item-name { margin: 0 0 10px !important; font: 500 14px/1.35 var(--c3-texto) !important; color: var(--c3-tinta) !important; text-decoration: none !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* la variante (sabor) en su renglón, debajo del nombre (cart-item-ajax.tpl) */
.cv3 #modal-cart .c3-cart-variante { display: block; margin: -6px 0 10px; font: 600 13px/1.3 var(--c3-texto) !important; color: var(--c3-tinta-2); }
.cv3 #modal-cart .cart-item-delete .btn { padding: 2px 0 2px 10px !important; color: #8A90A0 !important; line-height: 1; }
.cv3 #modal-cart .cart-item-delete .btn svg { width: 15px; height: 15px; fill: currentColor !important; }
.cv3 #modal-cart .cart-item-delete .btn:hover { color: var(--c3-rojo-hover) !important; }
/* cantidad: − 12 + bien grandes (los íconos del theme son flechitas: se reemplazan por − y +) */
.cv3 #modal-cart .form-quantity.cart-item-quantity { float: none !important; display: inline-flex; width: auto !important; height: 38px; margin: 0 !important; border: 1.5px solid rgba(15, 30, 61, .22) !important; border-radius: 10px !important; background: #fff !important; overflow: hidden; }
.cv3 #modal-cart .form-quantity .form-row { flex-wrap: nowrap; height: 100%; }
.cv3 #modal-cart .js-cart-quantity-btn { display: flex !important; align-items: center; justify-content: center; width: 36px !important; height: 100% !important; margin: 0 !important; color: var(--c3-tinta) !important; cursor: pointer; }
.cv3 #modal-cart .js-cart-quantity-btn svg { display: none !important; }
.cv3 #modal-cart .js-cart-quantity-btn::before { font: 600 20px/1 var(--c3-texto); }
.cv3 #modal-cart [data-component="quantity.minus"]::before { content: "\2212"; }
.cv3 #modal-cart [data-component="quantity.plus"]::before { content: "+"; }
.cv3 #modal-cart .js-cart-quantity-btn:active { background: var(--c3-crema-2); }
.cv3 #modal-cart .js-cart-quantity-container { flex: none !important; width: 44px !important; max-width: 44px !important; }
.cv3 #modal-cart input.js-cart-quantity-input { height: 35px !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: center; font: 700 16px var(--c3-texto) !important; color: var(--c3-tinta) !important; box-shadow: none !important; -moz-appearance: textfield; }
.cv3 #modal-cart input.js-cart-quantity-input::-webkit-inner-spin-button, .cv3 #modal-cart input.js-cart-quantity-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cv3 #modal-cart .cart-item-quantity.col-auto { margin-top: 0 !important; }
.cv3 #modal-cart .js-cart-item-subtotal { padding-right: 0 !important; font: 800 21px/1 var(--c3-titulo) !important; color: var(--c3-tinta) !important; white-space: nowrap; }
.cv3 #modal-cart .cart-item-subtotal { align-self: center; }
/* subtotal, entrega y cupón: tarjeta blanca */
.cv3 #modal-cart .cart-row { background: #fff !important; border: 1px solid var(--c3-linea) !important; border-radius: 14px !important; padding: 16px 16px 0 !important; }
.cv3 #modal-cart .js-empty-ajax-cart:not([style*="none"]) ~ .cart-row { background: transparent !important; border: 0 !important; padding: 0 !important; }
.cv3 #modal-cart h5[data-store="cart-subtotal"] { display: flex !important; flex-wrap: nowrap; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 4px !important; font: 500 15px var(--c3-texto) !important; color: var(--c3-tinta); }
.cv3 #modal-cart h5[data-store="cart-subtotal"] > span { flex: 0 1 auto !important; max-width: none !important; width: auto !important; padding: 0 !important; }
/* el theme viejo ponía los <strong> del carrito en la letra condensada: quedaban mezclados en mitad de una frase */
.cv3 #modal-cart .cart-row strong { margin: 0 !important; padding: 0 !important; font-family: var(--c3-texto) !important; font-weight: 700 !important; letter-spacing: 0 !important; }
.cv3 #modal-cart .shipping-calculator-head.with-zip { height: 32px !important; }
.cv3 #modal-cart h5[data-store="cart-subtotal"] small { color: var(--c3-tinta-2); font-size: 13px; }
.cv3 #modal-cart .js-cart-subtotal { font: 700 16px var(--c3-texto) !important; }
.cv3 #modal-cart .js-total-promotions { color: var(--c3-verde) !important; font: 600 14px var(--c3-texto); }
.cv3 #modal-cart .cart-fulfillment-info { margin: 14px 0 0 !important; padding: 16px 0 4px !important; border-top: 1px solid var(--c3-linea); }
.cv3 #modal-cart .shipping-calculator-form .form-label { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font: 800 19px/1 var(--c3-titulo) !important; text-transform: uppercase; color: var(--c3-tinta) !important; }
.cv3 #modal-cart .js-shipping-input { height: 46px !important; border: 1.5px solid rgba(15, 30, 61, .25) !important; border-radius: 10px !important; font: 400 15px var(--c3-texto) !important; box-shadow: none !important; }
.cv3 #modal-cart .js-calculate-shipping { display: flex !important; align-items: center; height: 46px; padding: 0 16px !important; border: 0 !important; border-radius: 10px !important; background: var(--c3-tinta) !important; color: #fff !important; font: 700 16px var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; }
.cv3 #modal-cart .js-shipping-calculator-with-zipcode .font-small { font: 500 14px var(--c3-texto) !important; color: var(--c3-tinta); }
.cv3 #modal-cart .js-shipping-calculator-current-zip { font-weight: 700; }
.cv3 #modal-cart .js-shipping-calculator-change-zipcode { font: 600 14px var(--c3-texto) !important; color: var(--c3-rojo-hover) !important; text-decoration: underline; text-transform: none !important; letter-spacing: 0 !important; padding: 0 !important; }
.cv3 #modal-cart .js-shipping-calculator-response > .font-small { display: flex; align-items: center; gap: 8px; margin: 16px 0 8px !important; font: 600 13.5px var(--c3-texto) !important; color: var(--c3-tinta-2); }
.cv3 #modal-cart .js-shipping-calculator-response .radio-button-container { margin-bottom: 4px !important; }
.cv3 #modal-cart li.radio-button-item { margin: 0 0 8px !important; padding: 12px 14px !important; border: 1.5px solid var(--c3-linea) !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; cursor: pointer; transition: border-color .15s, background-color .15s; }
.cv3 #modal-cart li.radio-button-item:has(input:checked) { border-color: var(--c3-tinta) !important; background: #FBF8F1 !important; }
/* círculos de opción (el theme los dibuja cuadrados, como casillas de tildar) */
.cv3 #modal-cart .radio-button-icon { border-radius: 50% !important; }
.cv3 #modal-cart .radio-button-icon.unchecked { box-sizing: border-box; border: 2px solid #9AA0AE !important; background: #fff !important; }
/* el punto del elegido: el theme lo achica a 0 cuando no está elegido, así que sin borde (con borde se veía un puntito en todos) */
.cv3 #modal-cart .radio-button-icon.checked { border: 0 !important; background: var(--c3-tinta) !important; }
.cv3 #modal-cart li.radio-button-item:has(input:checked) .radio-button-icon.unchecked { border-color: var(--c3-tinta) !important; }
.cv3 #modal-cart li.radio-button-item .font-small { font: 500 14px/1.35 var(--c3-texto) !important; color: var(--c3-tinta); }
.cv3 #modal-cart li.radio-button-item .opacity-60 { margin-top: 3px; font-size: 13px !important; color: var(--c3-tinta-2); opacity: 1 !important; }
.cv3 #modal-cart li.radio-button-item [data-component="option.price"] p { font: 700 15px var(--c3-texto) !important; color: var(--c3-tinta) !important; }
.cv3 #modal-cart li.radio-button-item [data-component="option.price"] p.text-accent { color: var(--c3-verde) !important; }
.cv3 #modal-cart .js-shipping-calculator-response .btn-link { font: 600 14px var(--c3-texto) !important; color: var(--c3-tinta) !important; }
/* cupón: un solo control */
.cv3 #modal-cart .cv-cup { margin: 14px 0 0 !important; padding-top: 14px; border-top: 1px solid var(--c3-linea); }
.cv3 #modal-cart .cv-cup__fila { display: flex; gap: 0 !important; height: 46px; background: #fff; border: 1.5px solid rgba(15, 30, 61, .25) !important; border-radius: 10px; overflow: hidden; }
.cv3 #modal-cart .cv-cup__i { flex: 1; min-width: 0; height: 100% !important; padding: 0 14px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font: 500 15px var(--c3-texto) !important; color: var(--c3-tinta) !important; }
.cv3 #modal-cart .cv-cup__b { height: 100% !important; padding: 0 18px !important; border: 0 !important; border-radius: 0 !important; background: var(--c3-tinta) !important; color: #fff !important; font: 700 16px var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; }
/* pie pegado abajo: total y botón siempre a la vista (cart-totals.tpl lo envuelve en .c3-cart-pie) */
.cv3 #modal-cart .c3-cart-pie { position: sticky; bottom: 0; z-index: 2; margin: 16px -16px 0; padding: 14px 16px 6px; background: #fff; border-top: 1px solid var(--c3-linea); box-shadow: 0 -10px 24px -18px rgba(15, 30, 61, .35); border-radius: 0 0 14px 14px; }
.cv3 #modal-cart .js-cart-total-container h2 { margin: 0 0 12px !important; align-items: baseline; }
.cv3 #modal-cart .js-cart-total-container h2 > .col-auto { font: 800 22px/1 var(--c3-titulo) !important; text-transform: uppercase; color: var(--c3-tinta); }
.cv3 #modal-cart .js-cart-total { font: 800 30px/1 var(--c3-titulo) !important; color: var(--c3-tinta) !important; }
.cv3 #modal-cart .payment-discount-price-cart-container { margin-top: 6px !important; font: 600 13.5px var(--c3-texto) !important; color: var(--c3-verde) !important; text-transform: none !important; letter-spacing: 0 !important; }
.cv3 #modal-cart .payment-discount-price-cart-container * { font: inherit !important; color: inherit !important; text-transform: none !important; }
.cv3 #modal-cart input[name="go_to_checkout"] { height: 54px !important; border: 0 !important; border-radius: 12px !important; background: var(--c3-rojo-boton) !important; font: 700 21px var(--c3-titulo) !important; letter-spacing: .04em; box-shadow: 0 8px 18px -10px rgba(213, 46, 21, .7) !important; }
.cv3 #modal-cart input[name="go_to_checkout"]:hover { background: var(--c3-rojo-hover) !important; }
.cv3 #modal-cart .js-ajax-cart-submit { margin-bottom: 8px !important; }
.cv3 #modal-cart .js-ajax-cart-minimum.alert { margin: 0 0 8px !important; padding: 12px 14px !important; background: #FFF4DC !important; border: 1px solid #F1D9A6 !important; border-left: 0 !important; border-radius: 10px !important; color: #6B4A00 !important; font: 600 14px/1.4 var(--c3-texto) !important; text-align: left !important; }
.cv3 #modal-cart .c3-cart-pie .btn-link { font: 600 14px var(--c3-texto) !important; color: var(--c3-tinta-2) !important; }
.cv3 #modal-cart .c3-cart-pie .text-center.pb-3 { padding-bottom: 6px !important; }
.cv3 #modal-cart .cv-cta-wa { height: 52px; line-height: 52px; border-radius: 12px; background: var(--c3-wa) !important; color: #fff !important; font: 700 19px var(--c3-titulo) !important; letter-spacing: .03em; }
.cv3 #modal-cart .cv-cta-login { font: 600 14px var(--c3-texto) !important; color: var(--c3-tinta) !important; }
/* vacío */
.cv3 #modal-cart [data-component="cart.empty-message"] { margin: 8px 0 0; padding: 28px 18px !important; background: #fff !important; border: 1px dashed var(--c3-crema-3) !important; border-radius: 14px !important; color: var(--c3-tinta) !important; font: 500 15px var(--c3-texto) !important; }

/* ---------- franja de cuenta ---------- */
.cv3 .c3-cuenta { padding-top: 14px; }
.cv3 .c3-cuenta__caja { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: var(--c3-crema-2); border: 1px solid var(--c3-crema-3); border-radius: var(--c3-radio); padding: 14px 18px; }
.cv3 .c3-cuenta__caja p { margin: 0; font: 400 15px/1.45 var(--c3-texto); color: var(--c3-tinta); }
.cv3 .c3-cuenta__acciones { display: flex; align-items: center; gap: 18px; flex: none; }
.cv3 a.c3-btn-wa { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; background: var(--c3-wa); color: #fff !important; font: 700 17px var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; text-decoration: none !important; white-space: nowrap; }
.cv3 .c3-btn-wa svg { width: 20px; height: 20px; fill: currentColor; stroke: none; }
.cv3 a.c3-btn-wa:hover { background: #0B6632; }
.cv3 a.c3-cuenta__ingresar { font: 600 14px var(--c3-texto); color: var(--c3-tinta) !important; text-decoration: underline; text-underline-offset: 3px; }
.cv3 a.c3-cuenta__ingresar:hover { color: var(--c3-rojo-hover) !important; }

/* ---------- secciones ---------- */
.cv3 .c3-sec { padding: 44px 0 46px; background: transparent; }
.cv3 .c3-sec--alt { background: var(--c3-crema-2); }
.cv3 .c3-sec__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 20px; flex-wrap: wrap; }
.cv3 .c3-sec__titulo { margin: 0; font: 800 34px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .01em; color: var(--c3-tinta); display: flex; align-items: center; gap: 12px; }
.cv3 .c3-sec__titulo::before { content: ''; width: 6px; height: 28px; border-radius: 2px; background: var(--c3-rojo); }
.cv3 .c3-sec__sub { margin: 7px 0 0 18px; color: var(--c3-tinta-2); font: 400 14.5px/1.4 var(--c3-texto); }
.cv3 a.c3-sec__link { font: 700 17px var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; color: var(--c3-rojo-hover) !important; border-bottom: 2px solid currentColor; padding-bottom: 1px; text-decoration: none !important; }
.cv3 .c3-sec__pie { display: flex; justify-content: center; margin-top: 22px; }
.cv3 .c3-btn-ver { display: inline-flex; align-items: center; height: 46px; padding: 0 26px; border-radius: 10px; border: 2px solid var(--c3-tinta); background: none; color: var(--c3-tinta) !important; font: 700 17px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important; cursor: pointer; }
.cv3 .c3-btn-ver:hover { background: var(--c3-tinta); color: #fff !important; }

/* pestañas */
.cv3 .c3-pestanas { display: flex; gap: 6px; background: #fff; border: 1px solid var(--c3-linea); border-radius: 12px; padding: 4px; }
.cv3 .c3-pestanas button { border: 0; background: none; height: 38px; padding: 0 16px; border-radius: 9px; font: 700 16px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; color: var(--c3-tinta-2); cursor: pointer; }
.cv3 .c3-pestanas button:hover { color: var(--c3-tinta); background: var(--c3-crema); }
.cv3 .c3-pestanas button[aria-selected="true"] { background: var(--c3-tinta); color: #fff; }
.cv3 .c3-corto { display: none; }

/* rieles */
.cv3 .c3-riel { position: relative; }
.cv3 .c3-riel__pista { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 16px) / 5); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 10px; margin: -4px -2px -10px; }
.cv3 .c3-riel__pista::-webkit-scrollbar { display: none; }
.cv3 .c3-riel__pista > * { scroll-snap-align: start; }
.cv3 .c3-riel__pista > .c3-oculta { display: none !important; }
.cv3 .c3-riel__flecha { position: absolute; top: 38%; z-index: 2; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--c3-crema-3); background: #fff; box-shadow: var(--c3-sombra); display: grid; place-items: center; color: var(--c3-tinta); cursor: pointer; transition: opacity .2s; padding: 0; }
.cv3 .c3-riel__flecha--izq { left: -20px; }
.cv3 .c3-riel__flecha--der { right: -20px; }
.cv3 .c3-riel__flecha:hover { color: var(--c3-rojo-boton); border-color: var(--c3-rojo); }
.cv3 .c3-riel__flecha[disabled] { opacity: 0; pointer-events: none; }

/* tarjeta de producto */
.cv3 .c3-card { background: #fff; border: 1px solid var(--c3-linea); border-radius: var(--c3-radio); padding: 12px 12px 14px; display: flex; flex-direction: column; min-width: 0; transition: box-shadow .2s, border-color .2s; box-sizing: border-box; }
.cv3 .c3-card:hover { box-shadow: var(--c3-sombra); border-color: rgba(15, 30, 61, .16); }
.cv3 .c3-card__foto { position: relative; display: block; aspect-ratio: 1; border-radius: 8px; overflow: hidden; margin-bottom: 10px; background: #fff; }
.cv3 .c3-card__img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.cv3 .c3-card:hover .c3-card__img { transform: scale(1.05); }
.cv3 .c3-card__chip { position: absolute; top: 6px; left: 6px; z-index: 1; background: var(--c3-rojo-boton); color: #fff; font: 700 13px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .05em; padding: 5px 8px 4px; border-radius: 6px; }
.cv3 a.c3-card__nom { font: 500 13.5px/1.32 var(--c3-texto) !important; color: var(--c3-tinta) !important; text-transform: none; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(13.5px * 1.32 * 3); }
.cv3 a.c3-card__nom:hover { color: var(--c3-rojo-hover) !important; }
.cv3 .c3-card__precios { margin-top: auto; padding-top: 10px; }
.cv3 .c3-card__p { display: block; font: 800 26px/1 var(--c3-titulo) !important; letter-spacing: .005em; color: var(--c3-tinta) !important; }
.cv3 .c3-card__ef, .cv3 .c3-card__ef * { margin-top: 3px; font: 600 12.5px/1.3 var(--c3-texto) !important; color: var(--c3-verde) !important; }
.cv3 .c3-card__acc { margin-top: 12px; }
.cv3 .c3-card__form { display: flex; gap: 8px; margin: 0; }
.cv3 .c3-cant { display: flex; align-items: center; height: 40px; border: 1px solid var(--c3-crema-3); border-radius: 8px; background: #fff; flex: none; overflow: hidden; }
.cv3 .c3-cant button { width: 30px; height: 100%; border: 0; background: none; font-size: 18px; font-weight: 600; color: var(--c3-tinta-2); cursor: pointer; padding: 0; }
.cv3 .c3-cant button:hover { color: var(--c3-rojo-boton); }
.cv3 .c3-cant input { width: 34px !important; height: 100% !important; border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; text-align: center; font: 700 15px var(--c3-texto) !important; color: var(--c3-tinta) !important; -moz-appearance: textfield; }
.cv3 .c3-cant input::-webkit-inner-spin-button, .cv3 .c3-cant input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cv3 input.c3-agregar { flex: 1; min-width: 0; height: 40px !important; margin: 0 !important; padding: 0 8px !important; border: 0 !important; border-radius: 8px !important; background: var(--c3-rojo-boton) !important; color: #fff !important; font: 700 17px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; cursor: pointer; box-shadow: none !important; -webkit-appearance: none; appearance: none; }
.cv3 input.c3-agregar:hover { background: var(--c3-rojo-hover) !important; }
.cv3 .c3-opcion { display: grid !important; place-items: center; height: 40px; border-radius: 8px; border: 2px solid var(--c3-rojo-boton); color: var(--c3-rojo-boton) !important; background: #fff !important; font: 700 17px/1 var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .03em; cursor: pointer; box-sizing: border-box; }
.cv3 .c3-opcion:hover { background: var(--c3-rojo-boton) !important; color: #fff !important; }
.cv3 .c3-sinstock { display: grid; place-items: center; height: 40px; border-radius: 8px; background: #E2E6EE; color: var(--c3-tinta-2); font: 700 16px var(--c3-titulo); text-transform: uppercase; }

/* ---------- rubros ---------- */
.cv3 .c3-rubros { display: flex; flex-direction: column; gap: 34px; }
.cv3 a.c3-placa { position: relative; display: block; aspect-ratio: 1232 / 210; border-radius: 16px; overflow: hidden; margin-bottom: 14px; background: var(--c3-rojo-boton); text-decoration: none !important; }
.cv3 a.c3-placa--crema { background: #E9D9BC; }
.cv3 .c3-placa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.cv3 a.c3-placa:hover img { transform: scale(1.03); }
.cv3 .c3-placa__txt { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 0 34px; max-width: 46%; color: #FFF8EF; }
.cv3 .c3-placa__nombre { font: 800 46px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .01em; text-shadow: 0 2px 14px rgba(0, 0, 0, .18); }
.cv3 .c3-placa__desc { margin-top: 6px; font: 500 15px/1.35 var(--c3-texto); }
.cv3 .c3-placa__ver { margin-top: 14px; padding: 9px 16px 8px; border-radius: 8px; background: #FFF8EF; color: var(--c3-rojo-hover); font: 700 16px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .04em; }
.cv3 .c3-placa--crema .c3-placa__txt { color: var(--c3-tinta); }
.cv3 .c3-placa--crema .c3-placa__nombre { text-shadow: none; }
.cv3 .c3-placa--crema .c3-placa__ver { background: var(--c3-rojo-boton); color: #fff; }
.cv3 .c3-rb__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 14px; }
.cv3 a.c3-rt { display: flex; flex-direction: column; gap: 8px; text-decoration: none !important; }
.cv3 .c3-rt__foto { aspect-ratio: 1; border-radius: var(--c3-radio); overflow: hidden; background: #EFE6D6; display: block; }
.cv3 .c3-rt__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.cv3 a.c3-rt:hover .c3-rt__foto img { transform: scale(1.06); }
.cv3 .c3-rt__nom { font: 700 17px/1.1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; color: var(--c3-tinta); overflow-wrap: anywhere; hyphens: auto; }
.cv3 a.c3-rt:hover .c3-rt__nom { color: var(--c3-rojo-hover); }

/* ---------- marcas ---------- */
.cv3 .c3-logos { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.cv3 .c3-logos:not(.c3-abiertas) > :nth-child(n+25) { display: none; }

/* ---------- pie ---------- */
.cv3 .js-footer > .cv-ft-cta,
.cv3 .js-footer > .social-footer,
.cv3 .js-footer > .container.py-md-3,
.cv3 .js-footer .row:has(> .footer-payments-shipping-logos),
.cv3 .js-footer > .divider { display: none !important; }
.cv3 .js-footer { background: var(--c3-crema-2) !important; color: var(--c3-tinta); }
.cv3 .c3-pie { background: var(--c3-crema-2); border-top: 1px solid var(--c3-crema-3); }
.cv3 .c3-pie__lema { background: var(--c3-rojo-boton); color: #FFF8EF; overflow: hidden; position: relative; }
.cv3 .c3-pie__lema::after { content: 'MORA'; position: absolute; right: -10px; bottom: -40px; font: 800 220px/1 var(--c3-titulo); color: rgba(0, 0, 0, .08); pointer-events: none; }
.cv3 .c3-pie__lema .c3-cont { padding-top: 40px; padding-bottom: 40px; position: relative; z-index: 1; }
.cv3 .c3-pie__frase { margin: 0; font: 800 64px/.92 var(--c3-titulo); text-transform: uppercase; letter-spacing: .005em; color: #FFF8EF; }
.cv3 .c3-pie__frase span { display: block; color: var(--c3-tinta); }
.cv3 .c3-pie__bajada { margin: 12px 0 0; font: 400 16px/1.45 var(--c3-texto); max-width: 460px; color: #FFF8EF; }
.cv3 .c3-pie__cols { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1.6fr; gap: 32px; padding-top: 36px; padding-bottom: 36px; }
.cv3 .c3-pie__nombre { margin: 2px 0 10px; font: 800 26px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .01em; color: var(--c3-tinta); }
.cv3 .c3-pie__marca p:not(.c3-pie__nombre), .cv3 .c3-pie__txt { margin: 0 0 8px; color: var(--c3-tinta-2); font: 400 14.5px/1.45 var(--c3-texto); max-width: 320px; }
.cv3 .c3-pie__txt strong { color: var(--c3-tinta); }
.cv3 .c3-pie__tit { margin: 4px 0 12px; font: 700 17px var(--c3-titulo) !important; text-transform: uppercase; letter-spacing: .04em; color: var(--c3-tinta); display: flex; align-items: center; gap: 8px; }
.cv3 .c3-pie__tit::before { content: ''; width: 16px; height: 3px; background: var(--c3-rojo); }
.cv3 .c3-pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.cv3 .c3-pie ul a { font: 400 14.5px var(--c3-texto); color: var(--c3-tinta-2) !important; text-decoration: none; }
.cv3 .c3-pie ul a:hover { color: var(--c3-rojo-hover) !important; }
.cv3 .c3-mapa { margin: 12px 0; border-radius: var(--c3-radio); overflow: hidden; border: 1px solid var(--c3-crema-3); background: var(--c3-crema); aspect-ratio: 16 / 9; }
.cv3 .c3-mapa iframe { width: 100%; height: 100%; border: 0; display: block; }
.cv3 a.c3-btn-mapa { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 8px; background: var(--c3-tinta); color: #fff !important; font: 700 16px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important; }
.cv3 .c3-btn-mapa svg { width: 18px; height: 18px; }
.cv3 a.c3-btn-mapa:hover { background: #1C2E57; }
.cv3 .js-footer .footer-legal { background: var(--c3-crema-2) !important; border-top: 1px solid var(--c3-crema-3); color: var(--c3-tinta-2) !important; }
.cv3 .js-footer .footer-legal a { color: var(--c3-tinta) !important; }

/* ---------- menú del celu: pantalla completa, dos niveles que se deslizan ---------- */
.cv3 .c3-mm { position: fixed; inset: 0; z-index: 20050; background: var(--c3-crema); overflow: hidden; font-family: var(--c3-texto); }
.cv3 .c3-mm:not([hidden]) { animation: c3-mm-entra .22s ease-out; }
@keyframes c3-mm-entra { from { opacity: 0; transform: translateY(10px); } }
.cv3 .c3-mm__pantalla { position: absolute; inset: 0; display: flex; flex-direction: column; background: var(--c3-crema); transition: transform .28s cubic-bezier(.2, .8, .2, 1); }
.cv3 .c3-mm__n2 { transform: translateX(100%); }
.cv3 .c3-mm.c3-en-n2 .c3-mm__n2 { transform: none; box-shadow: -14px 0 30px -20px rgba(0, 0, 0, .35); }
.cv3 .c3-mm.c3-en-n2 .c3-mm__raiz { transform: translateX(-24%); }
.cv3 .c3-mm__cab { flex: none; display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; height: 62px; padding: 0 8px; border-bottom: 1px solid var(--c3-crema-3); }
.cv3 .c3-mm__raiz .c3-mm__cab { grid-template-columns: 1fr 44px; padding-left: 16px; }
.cv3 a.c3-mm__inicio { display: inline-flex; align-items: center; gap: 10px; font: 800 23px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; color: var(--c3-tinta) !important; text-decoration: none !important; }
.cv3 .c3-mm__inicio svg { color: var(--c3-rojo-boton); }
.cv3 .c3-mm__titulo { margin: 0; text-align: center; font: 800 23px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; color: var(--c3-tinta); }
.cv3 .c3-mm__cerrar, .cv3 .c3-mm__volver { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: none; color: var(--c3-tinta); padding: 0; cursor: pointer; }
.cv3 .c3-mm__cerrar svg, .cv3 .c3-mm__volver svg { width: 24px; height: 24px; }
.cv3 .c3-mm__cerrar:active, .cv3 .c3-mm__volver:active { background: var(--c3-crema-2); }
.cv3 .c3-mm__cuerpo { flex: 1; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 16px 16px 120px; display: flex; flex-direction: column; gap: 12px; }
.cv3 .c3-mm__placa { position: relative; display: block; width: 100%; aspect-ratio: 360 / 140; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: var(--c3-rojo-boton); text-align: left; cursor: pointer; }
.cv3 .c3-mm__placa--crema { background: #E9D9BC; }
.cv3 .c3-mm__placa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv3 .c3-mm__placa-txt { position: absolute; top: 0; bottom: 0; left: 16px; max-width: 52%; display: flex; align-items: center; gap: 2px; color: #FFF8EF; font: 800 24px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .01em; }
.cv3 .c3-mm__placa-txt span { overflow-wrap: anywhere; }
.cv3 .c3-mm__placa-txt svg { flex: none; width: 22px; height: 22px; stroke-width: 3; }
.cv3 .c3-mm__placa--crema .c3-mm__placa-txt { color: var(--c3-tinta); }
.cv3 .c3-mm__placa:active { transform: scale(.985); }
.cv3 .c3-mm__marcas { display: flex; flex-direction: column; gap: 12px; width: 100%; padding: 14px; border: 1px solid var(--c3-crema-3); border-radius: 14px; background: #fff; color: var(--c3-tinta); text-align: left; cursor: pointer; }
.cv3 .c3-mm__marcas-tit { display: flex; align-items: center; justify-content: space-between; font: 800 23px/1 var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; }
.cv3 .c3-mm__marcas-tit svg { width: 22px; height: 22px; stroke-width: 3; color: var(--c3-rojo-boton); }
.cv3 .c3-mm__marcas-logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.cv3 .c3-mm__marcas-logos .c3-logo { border-radius: 10px; }
.cv3 .c3-mm__filas { display: flex; flex-direction: column; margin-top: 4px; border-top: 1px solid var(--c3-crema-3); }
.cv3 .c3-mm__filas a { display: flex; align-items: center; gap: 12px; min-height: 56px; border-bottom: 1px solid var(--c3-crema-3); font: 700 19px var(--c3-titulo); text-transform: uppercase; letter-spacing: .02em; color: var(--c3-tinta) !important; text-decoration: none !important; }
.cv3 .c3-mm__filas svg { width: 22px; height: 22px; color: var(--c3-tinta-2); }
.cv3 a.c3-mm__todo { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 16px; border-radius: 12px; background: var(--c3-rojo-boton); color: #fff !important; font: 700 18px var(--c3-titulo); text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important; }
.cv3 .c3-mm__todo svg { width: 20px; height: 20px; stroke-width: 3; }
.cv3 .c3-mm__grilla { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 10px; }
.cv3 .c3-mm__grilla .c3-rt__nom { font-size: 14px; }
.cv3 .c3-mm__grilla--logos { grid-template-columns: repeat(4, 1fr); gap: 8px; }
.cv3 .c3-mm__grilla--logos .c3-logo { border-radius: 10px; }
.cv3 .c3-mm__grilla--logos .c3-logo--txt { padding: 4px; font-size: 13px !important; }
html.cv3.c3-menu-abierto, html.cv3.c3-menu-abierto body { overflow: hidden !important; }

/* ---------- tablet ---------- */
@media (max-width: 1180px) {
  .cv3 .c3-riel__pista { grid-auto-columns: calc((100% - 3 * 16px) / 4); }
  .cv3 .c3-rb__grid { grid-template-columns: repeat(5, 1fr); }
  .cv3 .c3-logos { grid-template-columns: repeat(6, 1fr); }
  .cv3 .c3-logos:not(.c3-abiertas) > :nth-child(n+19) { display: none; }
  .cv3 .c3-riel__flecha--izq { left: -8px; }
  .cv3 .c3-riel__flecha--der { right: -8px; }
  .cv3 .c3-mega__marcas { grid-template-columns: repeat(10, 1fr); }
}

/* ---------- celu ---------- */
@media (max-width: 767px) {
  .cv3 .c3-cont { padding: 0 14px; }
  .cv3 .c3-cuenta__caja { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 14px; }
  .cv3 .c3-cuenta__caja p { font-size: 14px; line-height: 1.4; }
  .cv3 .c3-cuenta__acciones { justify-content: space-between; gap: 10px; }
  .cv3 a.c3-btn-wa { height: 38px; padding: 0 14px; font-size: 15px; }
  .cv3 a.c3-cuenta__ingresar { font-size: 13px; text-align: right; }
  .cv3 .c3-sec { padding: 30px 0 32px; }
  .cv3 .c3-sec__cab { margin-bottom: 14px; gap: 12px; }
  .cv3 .c3-sec__titulo { font-size: 27px !important; }
  .cv3 .c3-sec__titulo::before { height: 22px; width: 5px; }
  .cv3 .c3-sec__sub { margin-left: 17px; font-size: 13.5px; }
  .cv3 .c3-pestanas { width: 100%; display: grid; grid-template-columns: auto 1fr 1fr 1fr; gap: 4px; box-sizing: border-box; }
  .cv3 .c3-pestanas button { height: 38px; padding: 0 10px; font-size: 16px; }
  .cv3 .c3-largo { display: none; }
  .cv3 .c3-corto { display: inline; }
  .cv3 .c3-riel__flecha { display: none; }
  .cv3 .c3-riel__pista { grid-auto-columns: 46%; gap: 10px; margin: 0 -14px; padding: 4px 14px 10px; scroll-padding: 0 14px; }
  .cv3 .c3-card { padding: 10px; }
  .cv3 .c3-card__p { font-size: 23px !important; }
  .cv3 .c3-card__form { flex-direction: column; gap: 6px; }
  .cv3 .c3-cant { justify-content: space-between; height: 38px; }
  .cv3 .c3-cant button { width: 38px; font-size: 20px; }
  .cv3 .c3-cant input { flex: 1; font-size: 16px !important; }
  .cv3 input.c3-agregar, .cv3 .c3-opcion { flex: none; height: 38px !important; font-size: 16px !important; }
  .cv3 .c3-rubros { gap: 26px; }
  .cv3 a.c3-placa { aspect-ratio: 380 / 200; border-radius: 14px; margin-bottom: 12px; }
  .cv3 .c3-placa__txt { padding: 0 16px; max-width: 48%; }
  .cv3 .c3-placa__nombre { font-size: 29px; }
  .cv3 .c3-placa__desc { font-size: 12.5px; margin-top: 4px; }
  .cv3 .c3-placa__ver { margin-top: 10px; padding: 8px 12px 7px; font-size: 14px; }
  .cv3 .c3-rb__grid { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 30%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -14px; padding: 0 14px; scroll-padding: 0 14px; gap: 10px; }
  .cv3 .c3-rb__grid::-webkit-scrollbar { display: none; }
  .cv3 a.c3-rt { scroll-snap-align: start; }
  .cv3 .c3-rt__nom { font-size: 14px; }
  .cv3 .c3-logos { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .cv3 .c3-logos:not(.c3-abiertas) > :nth-child(n+13) { display: none; }
  .cv3 a.c3-logo--txt { font-size: 17px !important; }
  .cv3 .c3-pie__lema .c3-cont { padding-top: 28px; padding-bottom: 28px; }
  .cv3 .c3-pie__frase { font-size: 46px; }
  .cv3 .c3-pie__lema::after { font-size: 130px; bottom: -22px; }
  .cv3 .c3-pie__cols { grid-template-columns: 1fr 1fr; gap: 26px 18px; padding-top: 28px; padding-bottom: 28px; }
  .cv3 .c3-pie__marca, .cv3 .c3-pie__mapa { grid-column: 1 / -1; }
  .cv3 .c3-pie__nombre { font-size: 23px; }
  .cv3 .c3-mapa { aspect-ratio: 4 / 3; }
  .cv3 a.c3-btn-mapa { width: 100%; justify-content: center; height: 46px; box-sizing: border-box; }
}
