/* ═════════════════════════════════════════════════════════════════════════════
   Diseño "Costa" — skin miamiglobal.costa (www.eshopmiami.com.ar), 2026-10-15.
   Sale de la propuesta https://www.eshopmiami.com.uy/propuestas/costa/ (toc-eshopmiami/propuestas/css/{base,costa}.css)
   y se carga DESPUÉS de styles/miamiglobal/styles.css, que sigue haciendo falta para las páginas interiores.

   Partes:
     1. Tokens y base de la página (body.co)
     2. Reset acotado a las piezas nuevas (cabecera, home, pie): NO toca el marcado viejo de las páginas interiores
     3. Componentes de la propuesta (cabecera, submenús, home, calculadora, cotizador, pie, cajón móvil)
     4. Agregados del sitio real (barra de vuelos, Mi cuenta, carrito, franquicias, WhatsApp flotante)
     5. Tema de las páginas interiores (formularios, tablas, botones, títulos, panel de usuario)
   ═════════════════════════════════════════════════════════════════════════════ */

/* ── 1. Tokens y base ─────────────────────────────────────────────────────── */
.co {
  --arena: #efe8dc; --arena2: #f7f3ec; --crema: #fbf9f5; --tinta: #161513; --gris: #6f6a62; --linea: #ddd5c7;
  --ok: #1c8a4a; --mal: #c2272d;
  --ease: cubic-bezier(.2,.75,.15,1);
  --pad: clamp(18px, 4.2vw, 64px);
  --cab-h: 68px;
}
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; height: auto; }
body.co { height: auto; margin: 0; padding: 0; background: var(--crema); color: var(--tinta); font-family: 'Inter Tight', system-ui, sans-serif; font-size: 16.5px; line-height: 1.55; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
body.co #container { background: var(--crema); min-height: 0; }
.co ::selection { background: var(--tinta); color: var(--arena); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ── 2. Reset acotado a las piezas nuevas ─────────────────────────────────── */
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa, .co-int-hero) *,
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa, .co-int-hero) *::before,
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa, .co-int-hero) *::after { box-sizing: border-box; }
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa) img { max-width: 100%; display: block; }
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa) a { color: inherit; text-decoration: none; }
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa) :is(button, input, select) { font: inherit; color: inherit; }
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa) button { cursor: pointer; background: none; border: 0; padding: 0; }
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa) :is(h1, h2, h3, h4, p, figure, blockquote) { margin: 0; padding: 0; }
:where(.co-promo, .co-cab, .co-cajon, .co-home, .co-pie, .co-wa) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.co :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.co .ico { width: 1.15em; height: 1.15em; flex: none; display: inline-block; vertical-align: -.2em; }
.co [hidden] { display: none !important; }

/* Aparición al bajar (costa.js agrega .visto). Sin JS, todo visible. */
html.co-listo [data-reveal] { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--i, 0) * 90ms); }
html.co-listo [data-reveal].visto { opacity: 1; transform: none; }
html.co-listo [data-reveal="clip"] { opacity: 1; transform: none; clip-path: inset(0 0 100% 0); transition: clip-path 1.2s cubic-bezier(.7,0,.2,1); }
html.co-listo [data-reveal="clip"].visto { clip-path: inset(0 0 0 0); }
@media (prefers-reduced-motion: reduce) { html.co-listo [data-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; } }

/* ── 3. Componentes de la propuesta ───────────────────────────────────────── */
.co-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.co-home h1, .co-home h2, .co-pie h2 { font-weight: 400; letter-spacing: -.035em; line-height: 1.02; }
.co-home h2 { font-size: clamp(34px, 5vw, 68px); }
.co-cab-sec { display: flex; flex-direction: column; gap: 16px; max-width: 900px; }
.co-cab-sec > p:not(.co-eyebrow) { font-size: 18px; color: var(--gris); max-width: 560px; }
.co-sec { padding: clamp(80px, 11vw, 150px) var(--pad); }

/* Logo (isotipo real + nombre en texto) */
.co .logo { display: inline-flex; align-items: center; gap: 9px; line-height: 1; }
.co .logo img { width: 32px; height: auto; }
.co .logo-txt { display: flex; flex-direction: column; gap: 3px; }
.co .logo-txt b { font-size: 22px; letter-spacing: -.02em; font-weight: 600; }
.co .logo-txt b span { font-weight: 400; }
.co .logo-txt small { font-size: 10.5px; letter-spacing: .02em; opacity: .7; font-weight: 500; }

/* Botones en píldora */
.co-pill { display: inline-flex; align-items: center; gap: 9px; padding: 14px 26px; border-radius: 999px; background: var(--tinta); color: #fff; font-weight: 500; font-size: 15px; line-height: 1.2; transition: transform .35s var(--ease), background .3s, color .3s; white-space: nowrap; border: 0; cursor: pointer; }
.co-pill:hover { transform: translateY(-2px); background: #000; color: #fff; }
.co .co-pill-claro { background: #fff; color: var(--tinta); }
.co .co-pill-claro:hover { background: var(--arena); color: var(--tinta); }
.co .co-pill-borde { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.co .co-pill-borde:hover { background: #fff; color: var(--tinta); }
.co-tlink { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; border-bottom: 1px solid currentColor; align-self: flex-start; padding-bottom: 2px; }
.co-tlink .ico { transition: transform .3s; }
.co-tlink:hover .ico { transform: translateX(4px); }

/* Barra de avisos */
.co-promo { background: var(--tinta); color: #e9e2d4; font-size: 12.5px; letter-spacing: .02em; overflow: hidden; position: relative; z-index: 60; }
.co-promo-in { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 4px 18px; padding: 9px var(--pad); }
.co-promo-in > i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; opacity: .6; }
.co-promo-msj { white-space: nowrap; }

/* Cabecera: transparente sobre el hero de la home; sólida en el resto */
.co-cab { position: sticky; top: 0; z-index: 80; height: var(--cab-h); margin-bottom: calc(var(--cab-h) * -1); color: #fff; transition: background .4s, color .4s, transform .5s var(--ease), box-shadow .4s; }
.co-cab.scrolled, .co-cab:has(.sub-abierto), body.menu-abierto .co-cab, .co-interior .co-cab { background: rgba(251,249,245,.94); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); color: var(--tinta); box-shadow: 0 1px 0 var(--linea); }
.co-interior .co-cab { margin-bottom: 0; }
.co-cab.oculta { transform: translateY(-100%); }
.co-cab-in { height: 100%; display: flex; align-items: center; gap: 28px; padding: 0 var(--pad); }
.co-nav { flex: 1; display: flex; justify-content: center; }
.co-nav ul { display: flex; gap: 6px; }
.co-ml { display: flex; align-items: center; gap: 5px; padding: 10px 14px; font-size: 15px; font-weight: 500; border-radius: 999px; transition: background .25s; white-space: nowrap; }
.co-ml:hover { background: rgba(127,127,127,.14); }
.co-chev { width: 14px !important; height: 14px !important; transition: transform .35s var(--ease); }
.sub-abierto .co-chev { transform: rotate(180deg); }
.co-acc { display: flex; align-items: center; gap: 6px; }
.co-link { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; font-size: 15px; font-weight: 500; border-radius: 999px; transition: background .25s; white-space: nowrap; }
.co-link:hover { background: rgba(127,127,127,.14); }
.co-acc .co-pill { padding: 10px 20px; margin-left: 6px; }
.co .co-cab .co-acc .co-pill { background: #fff; color: var(--tinta); }
.co .co-cab.scrolled .co-acc .co-pill, .co .co-cab:has(.sub-abierto) .co-acc .co-pill, body.menu-abierto .co-cab .co-acc .co-pill, .co.co-interior .co-cab .co-acc .co-pill { background: var(--tinta); color: #fff; }
.co-ham { display: none; width: 42px; height: 42px; position: relative; }
.co-ham i { position: absolute; left: 11px; right: 11px; height: 1.6px; background: currentColor; transition: transform .35s var(--ease); }
.co-ham i:first-child { top: 16px; } .co-ham i:last-child { top: 25px; }
body.menu-abierto .co-ham i:first-child { transform: translateY(4.5px) rotate(45deg); }
body.menu-abierto .co-ham i:last-child { transform: translateY(-4.5px) rotate(-45deg); }

/* Submenú mega con fotos */
.co-mi { position: static; }
.co-sub { position: absolute; left: 0; right: 0; top: 100%; background: var(--crema); color: var(--tinta); box-shadow: 0 30px 60px rgba(40,30,10,.12); clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .55s var(--ease), visibility 0s .55s; }
.sub-abierto > .co-sub { clip-path: inset(0 0 -60px 0); visibility: visible; transition: clip-path .55s var(--ease); }
.co-sub-in { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; padding: 26px var(--pad) 34px; border-top: 1px solid var(--linea); }
.co-sl { display: flex; flex-direction: column; gap: 12px; opacity: 0; transform: translateY(12px); transition: opacity .5s, transform .6s var(--ease); transition-delay: calc(var(--k, 0) * 50ms + .1s); }
.sub-abierto .co-sl { opacity: 1; transform: none; }
.co-sl-img { aspect-ratio: 4/3; border-radius: 10px; overflow: hidden; background: var(--arena); }
.co-sl-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.co-sl:hover .co-sl-img img { transform: scale(1.06); }
.co-sl-t b { display: block; font-weight: 600; font-size: 15.5px; }
.co-sl-t small { color: var(--gris); font-size: 13.5px; }
.co-sub-mega .co-sl:not(:has(.co-sl-img)) { padding: 16px; border-radius: 12px; background: var(--arena2); transition: opacity .5s, transform .6s var(--ease), background .25s; }
.co-sub-mega .co-sl:not(:has(.co-sl-img)):hover { background: var(--arena); }

/* Hero */
.co-hero { position: relative; height: max(640px, 100svh); overflow: hidden; background: #1a1714; color: #fff; }
.co-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s ease, visibility 0s 1.2s; }
.co-slide.activo { opacity: 1; visibility: visible; transition: opacity 1.2s ease; z-index: 1; }
.co-slide:first-child { opacity: 1; visibility: visible; }
html.co-listo .co-slide:first-child:not(.activo) { opacity: 0; visibility: hidden; }
.co-slide-img { position: absolute; inset: 0; }
.co-slide-img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 9s linear; }
.co-slide.activo .co-slide-img img { transform: scale(1.0); }
.co-slide-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,16,10,.55) 0%, rgba(20,16,10,.15) 55%, rgba(20,16,10,0) 100%), linear-gradient(0deg, rgba(20,16,10,.45), transparent 45%); }
.co-slide-claro .co-slide-img::after { background: linear-gradient(90deg, rgba(20,16,10,.5), rgba(20,16,10,.05) 60%); }
.co-slide-txt { position: absolute; left: var(--pad); bottom: clamp(110px, 16vh, 170px); max-width: 720px; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.co-slide-txt > * { opacity: 0; transform: translateY(24px); transition: opacity .9s, transform 1.1s var(--ease); }
.co-slide.activo .co-slide-txt > * { opacity: 1; transform: none; }
.co-slide.activo .co-slide-txt > :nth-child(2) { transition-delay: .12s; }
.co-slide.activo .co-slide-txt > :nth-child(3) { transition-delay: .24s; }
.co-slide.activo .co-slide-txt > :nth-child(4) { transition-delay: .36s; }
.co-hero h1 { font-size: clamp(44px, 7.4vw, 108px); font-weight: 400; color: #fff; }
.co-slide-txt > p:not(.co-eyebrow) { font-size: clamp(17px, 1.6vw, 21px); max-width: 520px; opacity: .92; }
.co-hero-ctl { position: absolute; left: var(--pad); right: var(--pad); bottom: 36px; z-index: 5; display: flex; align-items: flex-end; gap: 30px; }
.co-dots { flex: 1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.co-dots button { text-align: left; color: #fff; font-size: 12.5px; display: flex; flex-direction: column; gap: 10px; opacity: .6; transition: opacity .3s; }
.co-dots button.on, .co-dots button:hover { opacity: 1; }
.co-dots i { display: block; height: 2px; background: rgba(255,255,255,.3); position: relative; overflow: hidden; border-radius: 2px; }
.co-dots i::after { content: ''; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.co-dots .on i::after { animation: co-llena var(--dur, 7s) linear forwards; }
.co-hero.pausa .co-dots .on i::after { animation-play-state: paused; }
@keyframes co-llena { to { transform: scaleX(1); } }
.co-flechas { display: flex; gap: 8px; }
.co-flechas button, .co-car-btn button { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px currentColor; transition: background .3s, color .3s, opacity .3s; }
.co-flechas button { color: #fff; }
.co-flechas button:hover { background: #fff; color: var(--tinta); }
.co-flechas [data-prev] .ico, .co-car-btn [data-car="-1"] .ico { transform: rotate(180deg); }

/* Servicios */
.co-serv-g { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 56px; }
.co-serv-c { position: relative; min-height: 680px; border-radius: 6px; overflow: hidden; color: #fff; display: flex; align-items: flex-end; }
.co-serv-img { position: absolute; inset: 0; overflow: hidden; }
.co-serv-img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); }
.co-serv-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,14,8,.82) 0%, rgba(18,14,8,.3) 48%, rgba(18,14,8,0) 70%); }
.co-serv-txt { position: relative; padding: clamp(26px, 3.4vw, 48px); display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.co-serv-txt h3 { font-size: clamp(30px, 3.4vw, 46px); font-weight: 400; letter-spacing: -.03em; line-height: 1.05; color: #fff; }
.co-serv-txt > p:not(.co-eyebrow) { opacity: .88; max-width: 520px; }
.co-serv-txt ul { display: grid; gap: 6px; font-size: 15px; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .7s var(--ease), opacity .5s; }
.co-serv-c:hover ul, .co-serv-c:focus-within ul { max-height: 140px; opacity: 1; }
.co-serv-txt li { display: flex; gap: 9px; align-items: center; }

/* Cómo funciona */
.co-como { background: var(--arena2); }
.co-como-top { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 100px); align-items: center; }
.co-como h2 { font-size: clamp(32px, 4.2vw, 58px); }
.co-video { position: relative; border-radius: 6px; overflow: hidden; aspect-ratio: 16/9; background: #000; width: 100%; }
.co-video img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease), opacity .6s; opacity: .92; }
.co-video:hover img { transform: scale(1.04); opacity: 1; }
.co-play { position: absolute; left: 50%; top: 50%; width: 88px; height: 88px; margin: -44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.22); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); transition: transform .5s var(--ease), background .3s; }
.co-play .ico { width: 30px; height: 30px; fill: currentColor; margin-left: 4px; }
.co-video:hover .co-play { transform: scale(1.1); background: rgba(255,255,255,.35); }
.co-video-l { position: absolute; left: 20px; bottom: 18px; color: #fff; font-size: 14px; font-weight: 500; }
.co-pasos { margin-top: clamp(70px, 9vw, 120px); }
.co-pasos-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 30px; }
.co-pasos-cab h3 { font-size: clamp(26px, 3vw, 40px); font-weight: 400; letter-spacing: -.03em; }
.co-car-btn { display: flex; gap: 8px; }
.co-car-btn button:hover:not(:disabled) { background: var(--tinta); color: #fff; }
.co-car-btn button:disabled { opacity: .25; cursor: default; }
.co-pista { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(280px, 30vw, 440px); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--pad) * -1); padding: 0 var(--pad); scroll-padding: 0 var(--pad); }
.co-pista::-webkit-scrollbar { display: none; }
.co-paso { scroll-snap-align: start; display: flex; flex-direction: column; gap: 12px; }
.co-paso-img { position: relative; aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; background: var(--arena); }
.co-paso-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.co-paso:hover .co-paso-img img { transform: scale(1.05); }
.co-paso-img span { position: absolute; left: 18px; top: 14px; color: #fff; font-size: 64px; font-weight: 300; letter-spacing: -.05em; text-shadow: 0 2px 20px rgba(0,0,0,.3); }
.co-paso h4 { font-size: 24px; font-weight: 500; letter-spacing: -.02em; }
.co-paso p { color: var(--gris); font-size: 15.5px; }
.co-paso-cta { background: var(--tinta); color: #fff; border-radius: 6px; padding: 34px; justify-content: flex-end; aspect-ratio: 4/5; }
.co-paso-cta h4 { font-size: 30px; font-weight: 400; line-height: 1.1; }
.co-paso-cta p { color: #bdb6aa; }
.co .co-paso-cta .co-pill { background: #fff; color: var(--tinta); align-self: flex-start; margin-top: 8px; }
.co-prog { height: 2px; background: var(--linea); margin-top: 34px; border-radius: 2px; overflow: hidden; }
.co-prog i { display: block; height: 100%; background: var(--tinta); width: 30%; transform: translateX(calc(var(--p, 0) * 233%)); transition: transform .2s; }

/* Calculadora (estructura de base.css + piel Costa) */
.co-calc { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 100px); align-items: center; background: var(--arena); }
.co-calc-txt { display: flex; flex-direction: column; gap: 20px; }
.co-calc-txt h2 { font-size: clamp(34px, 4.4vw, 62px); }
.co-calc-txt > p:not(.co-eyebrow) { color: #5a554d; font-size: 18px; }
.co-calc-pts { display: grid; gap: 10px; margin-top: 6px; }
.co-calc-pts li { display: flex; gap: 10px; align-items: center; font-weight: 500; }
.co-calc-card { background: #fff; border-radius: 22px; padding: clamp(24px, 3vw, 44px); box-shadow: 0 30px 80px rgba(80,60,20,.12); }
.calc { display: grid; gap: 22px; }
.calc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: end; }
.calc-campo { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.calc-campo > span:first-child { font-weight: 500; color: var(--gris); font-size: 13.5px; }
.calc-campo small { font-weight: 400; opacity: .65; }
.calc-costo, .calc-tipo { grid-column: 1 / -1; }
.calc-in { position: relative; display: flex; align-items: center; min-width: 0; height: 56px; padding: 0 18px; border-radius: 12px; background: var(--arena2); box-shadow: inset 0 0 0 1px var(--linea); transition: box-shadow .25s, background .25s; font-size: 17px; }
.calc-in:focus-within { background: #fff; box-shadow: inset 0 0 0 1.5px var(--tinta); }
.co .calc-in input, .co .calc-in select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; padding: 0; appearance: none; -webkit-appearance: none; font-size: 17px; height: auto; box-shadow: none; }
.calc-in.mal { box-shadow: inset 0 0 0 2px #e5484d !important; }
.calc-pre i { font-style: normal; opacity: .55; margin-right: 8px; font-size: .9em; }
.calc-sel .ico { position: absolute; right: 14px; pointer-events: none; }
.co .calc-sel select { padding-right: 34px; cursor: pointer; }
.calc-pesoin { gap: 10px; }
.calc-uni { display: flex; gap: 2px; flex: none; background: #fff; padding: 3px; border-radius: 999px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.calc-uni button { padding: 5px 9px; font-size: 12.5px; font-weight: 600; border-radius: 999px; opacity: .55; transition: .2s; }
.calc-uni button.on { opacity: 1; background: var(--tinta); color: #fff; }
.calc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; border-radius: 999px; background: var(--tinta); color: #fff !important; font-weight: 500; font-size: 16px; transition: background .3s, transform .3s var(--ease); }
.calc-btn:hover { background: #000; transform: translateY(-1px); }
.calc-btn .ico { transition: transform .3s; }
.calc-btn:hover .ico { transform: translateX(4px); }
.calc-res { position: relative; border-top: 1px solid var(--linea); padding-top: 24px; }
.calc-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.calc-total-l { width: 100%; font-size: 13px; opacity: .7; }
.calc-total-v { font-variant-numeric: tabular-nums; white-space: nowrap; font-size: clamp(48px, 5.6vw, 76px); font-weight: 300; letter-spacing: -.045em; line-height: 1; }
.calc-fuente { font-size: 12px; opacity: .75; display: inline-flex; align-items: center; gap: 6px; }
.calc-punto { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: calc-latido 2s infinite; }
.calc-punto-e { background: #f59e0b; animation: none; }
@keyframes calc-latido { 70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
.calc-lista { display: grid; gap: 2px; margin-top: 14px; }
.calc-lista li { position: relative; display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 14px; border-bottom: 1px solid #f0ebe2; animation: calc-entra .5s both; animation-delay: calc(var(--i) * 45ms); }
.calc-lista li b { font-variant-numeric: tabular-nums; font-weight: 600; }
.calc-barra { position: absolute; left: 0; bottom: 0; height: 2px; width: var(--w); border-radius: 2px; background: currentColor; opacity: .18; transform-origin: left; animation: calc-barra .8s both; animation-delay: calc(var(--i) * 45ms + .15s); }
@keyframes calc-entra { from { opacity: 0; transform: translateY(6px); } }
@keyframes calc-barra { from { transform: scaleX(0); } }
.calc-error { margin-top: 12px; font-size: 13px; line-height: 1.45; padding: 10px 12px; border-radius: 10px; background: rgba(229,72,77,.1); color: var(--mal); }
.calc-nota { margin-top: 12px; font-size: 12px; opacity: .6; }
.calc-cargando .calc-total-v { opacity: .45; transition: opacity .2s; }

/* El mejor servicio */
.co-mejor { position: relative; color: #fff; overflow: hidden; background: #14110d; }
.co-mejor-bg { position: absolute; inset: 0; }
.co-mejor-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.co-mejor-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #14110d 0%, rgba(20,17,13,.4) 35%, rgba(20,17,13,.6) 70%, #14110d 100%); }
.co-mejor-in { position: relative; padding: clamp(100px, 13vw, 180px) var(--pad); }
.co-mejor h2 { color: #fff; }
.co-cifras { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 70px 0; border-top: 1px solid rgba(255,255,255,.2); }
.co-cifras > div { padding-top: 26px; display: flex; flex-direction: column; gap: 6px; }
.co-cifras b { font-size: clamp(56px, 8vw, 120px); font-weight: 300; letter-spacing: -.055em; line-height: .95; font-variant-numeric: tabular-nums; }
.co-cifras b small { font-size: .28em; letter-spacing: 0; font-weight: 400; opacity: .7; }
.co-cifras > div > span { color: #cfc6b6; }
.co-mejor-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.co-mejor-g h3 { font-size: 24px; font-weight: 500; margin: 16px 0 10px; letter-spacing: -.02em; color: #fff; }
.co-mejor-g p { color: #cfc6b6; font-size: 15.5px; }
.co-mejor-ico { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.co-mejor-ico .ico { width: 24px; height: 24px; }

/* Tiendas */
.co-tiendas-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 50px; flex-wrap: wrap; }
.co-tabs { display: flex; padding: 4px; background: var(--arena); border-radius: 999px; }
.co-tabs button { padding: 11px 22px; border-radius: 999px; font-weight: 500; transition: background .3s, color .3s; }
.co-tabs button.on { background: var(--tinta); color: #fff; }
.co-tiendas-g { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.co-tiendas-g.entra .co-tienda { animation: calc-entra .5s both; }
.co .tienda { display: flex; flex-direction: column; gap: 3px; position: relative; }
.co .tienda b { font-weight: 500; letter-spacing: -.03em; font-size: 26px; }
.co .tienda small { opacity: .6; font-size: 12.5px; }
.co .tienda-f { position: absolute; right: 16px; top: 16px; opacity: 0; transform: translateX(-6px); transition: .3s; }
.co .tienda:hover .tienda-f { opacity: 1; transform: none; }
.co-tienda { padding: 30px 24px; border-radius: 6px; background: var(--arena2); transition: background .4s, transform .5s var(--ease), color .4s; min-height: 140px; justify-content: flex-end; }
.co-tienda:hover { background: var(--tinta); color: #fff; transform: translateY(-4px); }

/* Internacional + cotizador */
.co-int { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; background: var(--arena2); }
.co-int-img { border-radius: 6px; overflow: hidden; aspect-ratio: 4/5; }
.co-int-img img { width: 100%; height: 100%; object-fit: cover; }
.co-int-txt { display: flex; flex-direction: column; gap: 18px; }
.co-int-txt h2 { font-size: clamp(34px, 4.2vw, 58px); }
.co-int-txt > p:not(.co-eyebrow) { color: var(--gris); font-size: 18px; }
.co-int-card { margin-top: 10px; background: #fff; border-radius: 22px; padding: 26px; box-shadow: 0 24px 60px rgba(80,60,20,.1); }
.cz { display: grid; gap: 18px; }
.cz-form { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: end; }
.cz-peso, .cz-btn { grid-column: span 3; }
.cz-campo { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.cz-campo > span:first-child { font-size: 13px; font-weight: 500; color: var(--gris); }
.cz-in { position: relative; display: flex; align-items: center; height: 52px; padding: 0 16px; border-radius: 12px; background: var(--arena2); box-shadow: inset 0 0 0 1px var(--linea); }
.co .cz-in select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; appearance: none; -webkit-appearance: none; padding: 0 30px 0 0; cursor: pointer; text-overflow: ellipsis; font-size: 16px; height: auto; }
.cz-sel .ico { position: absolute; right: 12px; pointer-events: none; }
.cz-swap { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 4px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--linea); transition: transform .45s cubic-bezier(.3,1.5,.5,1), background .25s, color .25s; }
.cz-swap:hover { background: var(--tinta); color: #fff; }
.cz-swap.girado { transform: rotate(180deg); }
.cz-btn { height: 52px; border-radius: 999px; background: var(--tinta); color: #fff !important; font-weight: 500; }
.cz-res { display: grid; gap: 10px; }
.cz-ruta { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; }
.cz-ruta i { flex: 1; height: 1px; background: currentColor; opacity: .3; position: relative; display: grid; place-items: center; }
.cz-ruta i .ico { position: absolute; left: 0; transform: rotate(90deg); animation: cz-vuela 2.4s cubic-bezier(.5,0,.5,1) infinite; opacity: 1; }
@keyframes cz-vuela { 0% { left: 0; opacity: 0; } 15%, 85% { opacity: 1; } 100% { left: calc(100% - 1em); opacity: 0; } }
.cz-op { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 14px; background: var(--arena2); animation: calc-entra .5s both; animation-delay: calc(var(--i) * 90ms); }
.cz-op.cz-mejor { background: var(--tinta); color: #fff; }
.cz-op-a { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cz-op-c { font-size: 16px; }
.cz-op-n { font-size: 13px; opacity: .7; }
.cz-op-d { font-size: 12.5px; opacity: .75; display: flex; align-items: center; gap: 6px; }
.cz-op-p { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; flex: none; }
.cz-op-p s { font-size: 12.5px; opacity: .5; }
.cz-op-p b { font-size: 22px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cz-op-p em { font-style: normal; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #d9c9a8; }
.cz-nota { font-size: 11.5px; opacity: .55; }

/* Modal de video */
.pc-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .3s; }
.pc-modal.abierto { opacity: 1; }
.pc-modal-caja { position: relative; width: min(1100px, 100%); aspect-ratio: 16/9; transform: scale(.94); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.pc-modal.abierto .pc-modal-caja { transform: none; }
.pc-modal iframe { width: 100%; height: 100%; border: 0; border-radius: 14px; background: #000; }
.pc-modal-x { position: absolute; top: -46px; right: 0; color: #fff; font-size: 34px; line-height: 1; width: 40px; height: 40px; background: none; border: 0; cursor: pointer; }

/* Pie */
.co-pie { background: var(--tinta); color: #e9e2d4; padding: 0 var(--pad) 30px; font-size: 15px; }
.co-pie-cta { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; padding: clamp(80px, 10vw, 140px) 0 70px; border-bottom: 1px solid #36322c; }
.co-pie-cta h2 { color: #fff; font-size: clamp(38px, 5.4vw, 78px); }
.co-pie-cta > div { display: flex; gap: 10px; flex-wrap: wrap; }
.co-pie-g { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 36px; padding: 60px 0; }
.co-pie-g h4 { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #8d867a; font-weight: 600; margin: 0 0 16px; }
.co-pie-g li { padding: 5px 0; font-size: 15px; }
.co-pie-g a { display: inline-flex; align-items: center; gap: 8px; transition: color .2s; word-break: break-word; }
.co-pie-g a:hover { color: #fff; }
.co-pie-marca { display: flex; flex-direction: column; gap: 16px; font-size: 14.5px; color: #a79f92; }
.co-pie-marca .logo { color: #fff; }
.co-pie-legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 24px; border-top: 1px solid #36322c; font-size: 13px; color: #8d867a; }
.co-pie-legal a:hover { color: #fff; }

/* Cajón del menú en el celular */
.cajon.co-cajon { position: fixed; inset: 0; top: var(--cajon-top, var(--cab-h, 64px)); z-index: 75; overflow-y: auto; padding: 18px 20px 120px; transform: translateY(-12px); opacity: 0; visibility: hidden; transition: opacity .3s, transform .35s cubic-bezier(.2,.8,.2,1), visibility 0s .35s; background: var(--crema); color: var(--tinta); }
body.menu-abierto { overflow: hidden; }
body.menu-abierto .cajon.co-cajon { opacity: 1; transform: none; visibility: visible; transition: opacity .3s, transform .35s cubic-bezier(.2,.8,.2,1); }
.co-cajon nav > a, .co-cajon summary { display: flex; justify-content: space-between; align-items: center; padding: 16px 2px; font-size: 19px; font-weight: 600; border-bottom: 1px solid rgba(127,127,127,.2); cursor: pointer; list-style: none; }
.co-cajon summary::-webkit-details-marker { display: none; }
.co-cajon summary .ico { transition: transform .3s; }
.co-cajon details[open] summary .ico { transform: rotate(180deg); }
.co-cajon details a { display: flex; flex-direction: column; padding: 11px 4px 11px 14px; font-size: 15.5px; font-weight: 500; }
.co-cajon details a small { font-size: 12.5px; opacity: .6; font-weight: 400; }
.co-cajon-pie { display: flex; gap: 10px; align-items: center; margin-top: 26px; }
@media (min-width: 1000px) { .cajon.co-cajon { display: none; } }

/* ── 4. Agregados del sitio real ──────────────────────────────────────────── */
/* "Cierre de próximos vuelos": el contenido lo arma /styles/miamiglobal/js/flights-countdown.js, que trae su
   propio <style> con #flightsBanner (por eso estas reglas llevan .co-promo delante: le ganan en especificidad). */
.co-promo #flightsBanner { background: transparent; color: inherit; padding: 0; font: inherit; line-height: 1.5; text-align: center; }
.co-promo #flightsBanner[style*="block"] { display: inline-block !important; }
.co-promo #flightsBanner .fc-intro { opacity: .8; }
.co-promo #flightsBanner .fc-label { color: #f2c48d; font-weight: 600; letter-spacing: .06em; }
.co-promo #flightsBanner .fc-num { color: #fff; font-weight: 600; font-variant-numeric: tabular-nums; }
.co-promo #flightsBanner .fc-w { font-size: 10.5px; opacity: .7; }
@media (max-width: 1100px) { .co-promo-in:has(#flightsBanner[style*="block"]) > :is(.co-promo-msj, i) { display: none; } }
@media (max-width: 600px) { .co-promo-in { padding-top: 7px; padding-bottom: 7px; } .co-promo #flightsBanner { font-size: 11.5px; line-height: 1.45; } .co-promo #flightsBanner .fc-item { display: inline-block !important; margin: 0 5px !important; } .co-promo #flightsBanner .fc-intro { display: block; } }

/* Mi cuenta (desplegable a la derecha) */
.co-cuenta { position: relative; }
.co-cuenta-btn { position: relative; }
.co-cuenta .co-sub-cuenta { left: auto; right: 0; top: calc(100% + 14px); width: 300px; border-radius: 16px; border: 1px solid var(--linea); clip-path: inset(0 0 100% 0 round 16px); }
.co-cuenta.sub-abierto > .co-sub-cuenta { clip-path: inset(0 0 0 0 round 16px); }
.co-sub-cuenta .co-sub-in { grid-template-columns: 1fr; gap: 2px; padding: 12px; border-top: 0; }
.co-sub-cuenta .co-sl { flex-direction: row; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; transition: opacity .4s, transform .5s var(--ease), background .2s; transition-delay: 0s; }
.co-sub-cuenta .co-sl:hover { background: var(--arena2); }
.co-sub-cuenta .co-sl-t b { font-size: 15px; font-weight: 500; }
.co-sub-cuenta .co-sl-alerta { background: var(--arena2); }
.co-sub-cuenta .co-sl-salir { border-top: 1px solid var(--linea); border-radius: 0 0 10px 10px; margin-top: 6px; color: var(--gris); }
.co-cuenta-hola { padding: 8px 12px 10px; font-size: 14px; color: var(--gris); }
.co-cuenta-hola b { color: var(--tinta); font-weight: 600; }
.co-badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #e5484d; color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1; }
.co-cuenta-btn .co-badge { position: absolute; top: -6px; right: -6px; box-shadow: 0 0 0 2px var(--crema); }
.co-carrito { position: relative; }
.co-carrito .ico { width: 21px; height: 21px; }
.co-num { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #e5484d; color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; line-height: 1; }
.co-num:not(.box-col-red) { display: none; }

/* Franquicias: el widget mete <li class="fq-nav-item"><a>Franquicias: <span class="fq-status">con cupo</span></a></li> en ul#menu */
body.co .co-acc #menu.co-fq { display: flex; margin: 0; padding: 0; width: auto; height: auto; float: none; background: none; border: 0; list-style: none; }
body.co .co-acc #menu.co-fq li { float: none; display: block; margin: 0; padding: 0; height: auto; background: none; border: 0; }
body.co .co-acc #menu.co-fq li a { display: inline-flex; align-items: center; gap: 5px; padding: 7px 12px; border-radius: 999px; font: 500 13px/1.2 'Inter Tight', system-ui, sans-serif; text-transform: none; color: inherit; background: rgba(127,127,127,.12); white-space: nowrap; height: auto; }
body.co .co-acc #menu.co-fq li a:hover { background: rgba(127,127,127,.22); }
body.co .co-acc #menu.co-fq .fq-status { font-weight: 700; }
.co-cab:not(.scrolled):not(:has(.sub-abierto)) #menu.co-fq .fq-status { text-shadow: 0 0 1px rgba(0,0,0,.2); }
body.co-interior .co-acc #menu.co-fq li a, .co-cab.scrolled #menu.co-fq li a { background: var(--arena2); }
body.co .fq-mobile { display: none !important; }
.co .fq-modal { font-family: 'Inter Tight', system-ui, sans-serif; border-radius: 18px; }
.co .fq-mbtn { background: var(--tinta); border-radius: 999px; padding: 7px 14px; }

/* WhatsApp flotante */
.co-wa { position: fixed; right: 20px; bottom: 20px; z-index: 70; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px 12px 14px; border-radius: 999px; background: #1f9d55; color: #fff !important; font: 500 14.5px/1 'Inter Tight', system-ui, sans-serif; box-shadow: 0 12px 30px rgba(10,60,30,.28); transition: transform .35s var(--ease), box-shadow .35s; }
.co-wa:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(10,60,30,.34); color: #fff; }
.co-wa svg { width: 24px; height: 24px; flex: none; }
body.menu-abierto .co-wa { display: none; }

/* Popup de suscripción (lo abre el JS de siempre por #openModal) */
.co .modalDialog.co-modal-sus { position: fixed; inset: 0; z-index: 9999; background: rgba(22,21,19,.7); }
.co .modalDialog.co-modal-sus:target { display: grid !important; place-items: center; }
.co .co-modal-sus > div { position: relative; width: min(560px, 92vw); padding: 44px 34px 34px; border-radius: 22px; background: var(--crema); color: var(--tinta); }
.co .co-modal-sus .close { position: absolute; top: 12px; right: 16px; font-size: 28px; color: var(--gris); line-height: 1; }
.co-modal-sus-in { display: grid; gap: 22px; text-align: center; }
.co-modal-sus-in #lightbox-content { font-size: clamp(22px, 3vw, 30px); letter-spacing: -.02em; line-height: 1.2; }
.co-modal-sus-in form { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.co-modal-sus-in input { flex: 1 1 220px; height: 52px; padding: 0 18px; border-radius: 999px; border: 0; background: #fff; box-shadow: inset 0 0 0 1px var(--linea); font: 16px 'Inter Tight', system-ui, sans-serif; color: var(--tinta); }

/* ── 5. Tema de las páginas interiores ───────────────────────────────────── */
/* Contenedor: ancho de lectura, aire arriba y abajo, fondo crema */
.co-main-int { padding: clamp(36px, 5vw, 70px) var(--pad) clamp(70px, 8vw, 120px); }
.co-int-wrap { max-width: 1180px; margin: 0 auto; }
.co-main-int .content, .co-main-int .contFooter { max-width: none; width: auto; float: none; margin: 0; padding: 0; background: none; }
.co-main-int .block { background: none; border: 0; box-shadow: none; margin: 0; padding: 0; }
.co-main-int .blockInner { padding: 0; background: none; border: 0; }
.co-main-int .blFooter, .co-main-int .blFooterCont, .co-main-int .contWrapTop, .co-main-int .contWrapBottom { display: none; }

/* Tipografía */
.co-main-int { font-family: 'Inter Tight', system-ui, sans-serif; color: var(--tinta); }
.co-main-int :is(h1, h2.innerTitle, .innerTitle) { font-family: inherit; font-size: clamp(34px, 4.6vw, 60px); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; color: var(--tinta); text-align: left; margin: 0 0 18px; padding: 0; background: none; border: 0; text-transform: none; }
.co-main-int h2 { font-family: inherit; font-size: clamp(24px, 2.6vw, 34px); font-weight: 400; letter-spacing: -.025em; line-height: 1.15; color: var(--tinta); }
.co-main-int h3 { font-family: inherit; font-size: 20px; font-weight: 500; letter-spacing: -.015em; color: var(--tinta); }
.co-main-int h4 { font-family: inherit; font-weight: 600; color: var(--tinta); }
.co-main-int p { font-size: 16px; line-height: 1.6; color: #3d3a35; }
.co-main-int a:not(.co-pill) { color: var(--tinta); text-decoration: underline; text-decoration-color: rgba(22,21,19,.3); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.co-main-int a:not(.co-pill):hover { color: var(--tinta); text-decoration-color: currentColor; }
.co-main-int .form-header, .co-main-int p.form-header { margin: 28px 0 10px; padding: 0 0 10px; border-bottom: 1px solid var(--linea); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gris); }
.co-main-int .breadcrumb { padding: 0 0 14px; font-size: 13px; color: var(--gris); }

/* Campos */
.co-main-int :is(input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], input[type="date"], input:not([type]), select, textarea) {
  box-sizing: border-box; width: 100%; max-width: 100%; min-height: 50px; height: auto; padding: 12px 16px; margin: 0;
  border: 0; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--linea);
  font: 16px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--tinta); transition: box-shadow .2s, background .2s; outline: 0; -webkit-appearance: none; appearance: none;
}
.co-main-int textarea { min-height: 130px; resize: vertical; }
.co-main-int select { padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161513' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px; cursor: pointer; }
.co-main-int :is(input, select, textarea):focus { box-shadow: inset 0 0 0 1.5px var(--tinta); }
.co-main-int :is(input, select, textarea)[disabled], .co-main-int :is(input, select)[readonly] { background-color: var(--arena2); color: var(--gris); }
.co-main-int input[type="checkbox"], .co-main-int input[type="radio"] { width: 18px; height: 18px; min-height: 0; accent-color: var(--tinta); vertical-align: -3px; margin: 0 6px 0 0; }
.co-main-int input[type="file"] { font: 14px 'Inter Tight', system-ui, sans-serif; }
.co-main-int .formLabel, .co-main-int label.formLabel { display: block; float: none; width: auto; margin: 0 0 7px; padding: 0; font-size: 13.5px; font-weight: 500; color: var(--gris); text-align: left; line-height: 1.3; }
.co-main-int .formLine { margin: 0 0 16px; padding: 0; overflow: visible; float: none; width: auto; background: none; }
.co-main-int .formLine::after { content: ""; display: block; clear: both; }
.co-main-int .formFieldWrap { float: none; width: auto; margin: 0; padding: 0; position: relative; background: none; }
.co-main-int .formReq .formFieldWrap { background-image: none; }
.co-main-int .formReq .formLabel::after { content: " *"; color: #b0473a; }
.co-main-int fieldset.formFS { box-sizing: border-box; padding: 0; margin: 0; border: 0; }
@media (min-width: 761px) {
  .co-main-int fieldset.formFSLeft { float: left; width: calc(50% - 16px); margin-right: 32px; }
  .co-main-int fieldset.formFSRight { float: left; width: calc(50% - 16px); margin: 0; }
}
.co-main-int fieldset.formFSLast + *, .co-main-int .formFSRight + :not(fieldset) { clear: both; }
.co-main-int form::after { content: ""; display: block; clear: both; }

/* Botones: cualquier botón viejo pasa a píldora negra */
.co-main-int :is(span.formBtWrap, .formBtWrap) { display: inline-block; float: none; width: auto; height: auto; margin: 8px 0 0; padding: 0; background: none !important; border: 0; box-shadow: none; }
.co-main-int :is(input.formBt, input[type="submit"], input[type="button"], button[type="submit"], .formBtWrap a, a.button, .button, .btn, .bt_main a) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 0; min-height: 50px; height: auto; padding: 14px 30px; margin: 0;
  border: 0 !important; border-radius: 999px !important; background: var(--tinta) !important; color: #fff !important; box-shadow: none; text-shadow: none; opacity: 1 !important;
  font: 500 15.5px/1.2 'Inter Tight', system-ui, sans-serif; text-transform: none; letter-spacing: 0; text-decoration: none; cursor: pointer; transition: transform .3s var(--ease), background .3s;
}
.co-main-int :is(input.formBt, input[type="submit"], input[type="button"], button[type="submit"], .formBtWrap a, a.button, .button, .btn, .bt_main a):hover { background: #000 !important; transform: translateY(-1px); color: #fff !important; }

/* Mensajes */
.co-main-int .errorContent { display: none; margin: 0 0 18px; padding: 12px 16px; border-radius: 12px; background: rgba(229,72,77,.09); color: var(--mal); border: 0; font-size: 14.5px; }
.co-main-int :is(.error-msj, .error-cont, li.error, .error_full) { border-radius: 12px; border: 0; background: rgba(229,72,77,.09); color: var(--mal); }
.co-main-int :is(.ok, .success, .msgOk, .ok_full) { border-radius: 12px; border: 0; background: rgba(28,138,74,.09); color: var(--ok); }

/* Tablas (costa.js marca con .co-tabla las del contenido) */
.co-main-int table.co-tabla { border-collapse: separate; border-spacing: 0; width: 100%; max-width: 100%; background: #fff; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--linea); overflow: hidden; font-size: 14.5px; }
.co-main-int table.co-tabla :is(th, td) { padding: 12px 14px; border: 0; border-bottom: 1px solid #efe9df; text-align: left; vertical-align: middle; background: none; color: var(--tinta); }
.co-main-int table.co-tabla tr:last-child > :is(th, td) { border-bottom: 0; }
.co-main-int table.co-tabla:not(.tableForm) thead th, .co-main-int table.co-tabla:not(.tableForm) tr:first-child > th { background: var(--arena2); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gris); }
/* Sin cambio de fondo al pasar el mouse: sólo donde la fila se puede elegir (ver Paquetes recibidos). */
/* Tablas que son en realidad formularios (login, perfil): sin caja, filas aireadas */
.co-main-int table.tableForm.co-tabla { background: none; box-shadow: none; border-radius: 0; }
.co-main-int table.tableForm.co-tabla :is(th, td) { display: block; padding: 0 0 8px; border: 0; background: none; text-transform: none; letter-spacing: 0; font-size: 13.5px; font-weight: 500; color: var(--gris); }
.co-main-int table.tableForm.co-tabla tr { display: block; margin-bottom: 10px; }
.co-main-int table.tableForm.co-tabla td[colspan] { text-align: left; }
.co-main-int .table-responsive, .co-main-int .tablewrap { overflow-x: auto; }

/* Login / registro: dos columnas en tarjetas */
.co-main-int .half { box-sizing: border-box; float: left; width: calc(50% - 12px); margin: 0 24px 24px 0; padding: clamp(24px, 3vw, 40px); border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(80,60,20,.08); min-height: 0; border: 0; text-align: left; }
.co-main-int .half.half-right { margin-right: 0; background: var(--tinta); color: #e9e2d4; }
.co-main-int .half.half-right :is(h1, p) { color: #fff; }
.co-main-int .half.half-right p { color: #cfc6b6; }
.co-main-int .half.half-right :is(.formBtWrap a) { background: #fff !important; color: var(--tinta) !important; }
.co-main-int .half h1 { font-size: clamp(28px, 3vw, 40px); }
.co-main-int .signup, .co-main-int .signup-container { width: auto; float: none; margin: 0; padding: 0; background: none; border: 0; }
.co-main-int .blForm::after, .co-main-int .campaignsForm::after { content: ""; display: block; clear: both; }
.co-main-int .clearfix { clear: both; }

/* Columnas viejas (contenido + barra lateral) */
.co-main-int .cols { overflow: visible; display: flex; gap: 40px; align-items: flex-start; }
.co-main-int .cols .col { display: block; float: none; }
.co-main-int .cols .col1 { flex: 1; min-width: 0; width: auto; }
.co-main-int .cols .col2 { flex: 1; width: auto; min-width: 0; }
.co-main-int .blSide { width: auto; float: none; background: none; padding: 0; }

/* Preguntas frecuentes (acordeón con .circle) */
.co-main-int .circle { width: 22px; height: 22px; border-radius: 50%; background-color: var(--tinta); }
.co-main-int hr { background: var(--linea); color: var(--linea); height: 1px; border: 0; }

/* Calculadora vieja de /simplepages/calculator (si no se usa la nueva) y resultados */
.co-main-int #resultados { background: #fff; border-radius: 18px; padding: 22px; box-shadow: inset 0 0 0 1px var(--linea); }
.co-main-int .r_titulo, .co-main-int h4.colored { color: var(--tinta) !important; font-weight: 600; }
.co-main-int li.totalBox { border-top: 1px solid var(--linea); font-weight: 600; }

/* Encabezado de página interior (lo usan las vistas propias del skin, p. ej. la calculadora) */
.co-int-hero { max-width: 1180px; margin: 0 auto clamp(26px, 4vw, 44px); display: flex; flex-direction: column; gap: 14px; }
.co-int-hero h1 { margin: 0 !important; }
.co-int-hero p:not(.co-eyebrow) { max-width: 640px; color: var(--gris); font-size: 18px; }

/* Página de la calculadora (vista simplepages/calc*.mate del skin) */
.co-calcpag { max-width: 1180px; margin: 0 auto; }
.co-calcpag-card { max-width: 760px; }
.co-main-int .co-calcpag :is(.calc-in input, .calc-in select) { min-height: 0; padding: 0; box-shadow: none; background: transparent; border-radius: 0; }
.co-main-int .co-calcpag .calc-sel select { padding-right: 34px; background-image: none; }
.co-main-int .co-calcpag button.calc-btn { min-height: 56px; }
.co-main-int .co-calcpag .calc-uni button { min-height: 0; padding: 5px 9px; border-radius: 999px; background: none !important; color: inherit !important; font: 600 12.5px/1.2 'Inter Tight', system-ui, sans-serif; }
.co-main-int .co-calcpag .calc-uni button.on { background: var(--tinta) !important; color: #fff !important; }
.co-main-int .co-calcpag .calc-lista li { list-style: none; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1100px) { .co-tiendas-g { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1180px) { .co-link span:not(.co-num) { display: none; } .co-sub-mega .co-sub-in { grid-template-columns: repeat(3, 1fr); } }
/* Entre 1000 y 1280 px, con sesión iniciada (Franquicias + carrito + Mi cuenta) la cabecera no entraba y se salía por la derecha */
@media (min-width: 1000px) and (max-width: 1280px) {
  .co-cab-in { gap: 14px; }
  .co-ml { padding: 10px 9px; font-size: 14.5px; }
  .co-acc .co-pill { margin-left: 0; padding: 10px 16px; }
  body.co .co-acc #menu.co-fq li a { font-size: 0; gap: 0; padding: 7px 10px; }
  body.co .co-acc #menu.co-fq .fq-status { font-size: 12px; }
}
@media (min-width: 1000px) and (max-width: 1100px) { .co-cab-in { padding: 0 22px; } }
@media (max-width: 999px) {
  .co-nav, .co-acc .co-link:not(.co-carrito) { display: none; }
  .co-ham { display: block; }
  .co-acc { margin-left: auto; }
  .co-cuenta { display: none; }
  .co-serv-g, .co-como-top, .co-calc, .co-int { grid-template-columns: 1fr; }
  .co-serv-c { min-height: 560px; }
  .co-serv-txt ul { max-height: 140px; opacity: 1; }
  .co-cifras, .co-mejor-g { grid-template-columns: 1fr; }
  .co-pie-g { grid-template-columns: 1fr 1fr; }
  .co-pie-marca { grid-column: 1 / -1; }
  .co-dots span { display: none; }
  .co-int-img { aspect-ratio: 16/10; }
  .co-main-int .cols { flex-direction: column; }
}
@media (max-width: 760px) {
  .co-main-int .half, .co-main-int .half.half-right { float: none; width: auto; margin: 0 0 18px; }
  .co-main-int table.co-tabla:not(.tableForm):not(.cartTableWrapper table) { display: block; overflow-x: auto; white-space: nowrap; }
}
@media (max-width: 640px) { .co-tiendas-g { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
  body.co { font-size: 16px; }
  .co-acc .co-pill { display: none; }
  .co-flechas { display: none; }
  .co-slide-txt { right: var(--pad); bottom: 96px; }
  .co-pie-g { grid-template-columns: 1fr; }
  .co-wa span { display: none; }
  .co-wa { padding: 14px; right: 14px; bottom: 14px; }
  body.co .co-acc #menu.co-fq li a { font-size: 0; gap: 0; padding: 7px 10px; }
  body.co .co-acc #menu.co-fq .fq-status { font-size: 12px; }
  .calc-form { grid-template-columns: 1fr; }
  .cz-form { grid-template-columns: 1fr; }
  .cz-form > * { grid-column: auto; }
  .cz-swap { justify-self: center; transform: rotate(90deg); margin: -4px 0; }
  .cz-swap.girado { transform: rotate(270deg); }
}

/* ── Ajustes por página (2026-10-15, revisando capturas) ─────────────────── */
/* Login: los campos del formulario-tabla ocupan todo el ancho; el link de la contraseña abajo */
.co-main-int .tableForm :is(input, select) { float: none !important; width: 100% !important; max-width: none !important; }
.co-main-int .tableForm td[colspan] a { display: inline-block; margin: 2px 0 6px; font-size: 14px; }
.co-main-int .signup p { padding: 0 0 1em; margin: 0; }
.co-main-int :is(.formBtWrap, span.formBtWrap) a { height: auto !important; line-height: 1.2 !important; width: auto !important; }
/* Registro: día / mes / año en una fila */
.co-main-int .formFieldWrap:has(> select + select) { display: flex; gap: 8px; }
.co-main-int .formFieldWrap:has(> select + select) > select { flex: 1 1 0; width: auto; min-width: 0; }
/* Contacto: las sedes (tabla dentro de tabla) como dos tarjetas */
.co-main-int table.tableLocations, .co-main-int table.tableLocations > tbody, .co-main-int table.tableLocations > tbody > tr { display: flex; flex-wrap: wrap; gap: 14px; width: 100%; }
.co-main-int table.tableLocations > tbody > tr > td { display: block; flex: 1 1 280px; width: auto; padding: 18px 20px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--linea); }
.co-main-int table.tableLocations table :is(th, td) { padding: 0 10px 0 0; width: auto; border: 0; background: none; vertical-align: top; font-size: 14.5px; line-height: 1.5; }
/* Hay reglas viejas con #id (más fuertes) que hacen flotar la etiqueta: el campo quedaba con 0 px al lado */
.co-main-int .formLine > .formLabel { float: none !important; width: auto !important; }
.co-main-int .formLine > .formFieldWrap { float: none !important; width: auto !important; clear: both; }

/* ── Panel de usuario (Mi cuenta): botones .btWrap / .cartBt, tarjetas, progreso, carrito ── */
.co-main-int :is(span.btWrap, .btWrap, .cartBt) { display: inline-block; float: none; width: auto; height: auto; margin: 6px 6px 0 0; padding: 0; background: none !important; border: 0; box-shadow: none; vertical-align: middle; }
.co-main-int :is(.btWrap a, .btWrap input, .btWrap button, .cartBt > a, .cartBt > input) {
  display: inline-flex !important; line-height: 1.2 !important; align-items: center; justify-content: center; gap: 8px; width: auto !important; min-height: 46px; height: auto !important; padding: 12px 24px !important; margin: 0;
  border: 0 !important; border-radius: 999px !important; background: var(--tinta) !important; color: #fff !important; box-shadow: none; text-shadow: none; text-indent: 0; opacity: 1 !important; float: none !important;
  font: 500 15px/1.2 'Inter Tight', system-ui, sans-serif !important; text-transform: none; letter-spacing: 0; text-decoration: none !important; cursor: pointer; transition: transform .3s var(--ease), background .3s;
}
.co-main-int :is(.btWrap a, .btWrap input, .btWrap button, .cartBt > a, .cartBt > input):hover { background: #000 !important; transform: translateY(-1px); }
/* Secundarios: volver, cancelar, quitar */
.co-main-int :is(.bt_back, .bt_cancel, .bt_removeProd, .cartBtSecondary) :is(a, input, button) { background: #fff !important; color: var(--tinta) !important; box-shadow: inset 0 0 0 1px var(--linea) !important; }
.co-main-int :is(.bt_back, .bt_cancel, .bt_removeProd, .cartBtSecondary) :is(a, input, button):hover { background: var(--arena2) !important; }
/* Botón "Ver paquetes anteriores" (estilo en línea en el controlador) */
.co-main-int #btnPrevBoxes { background: #fff !important; color: var(--tinta) !important; border-radius: 999px !important; padding: 12px 24px !important; box-shadow: inset 0 0 0 1px var(--linea); font: 500 15px 'Inter Tight', system-ui, sans-serif; border: 0; cursor: pointer; }
/* Popups de fancybox / confirmaciones */
.co .fancybox-skin { border-radius: 18px !important; background: var(--crema) !important; font-family: 'Inter Tight', system-ui, sans-serif; }
.co :is(.azul-lightbox, .orange-lightbox) { font-family: 'Inter Tight', system-ui, sans-serif; }
.co .buttons-lightbox :is(a, input) { border-radius: 999px !important; }

/* ── Textos de entrada de las páginas interiores: alineados con el título, no centrados ── */
.co-main-int .blockInner > p:first-child, .co-main-int .cartTableWrapper > form > p:first-of-type { text-align: left !important; max-width: 820px; font-size: 17px; color: var(--gris); }
.co-main-int .blockInner > p:first-child { margin: 0 0 26px; }

/* Página "Tu franquicia" (/es/simplepages/franquicia): texto a la izquierda, con jerarquía y datos destacados */
.co-main-int .fq-info { text-align: left; max-width: 760px; }
.co-main-int .fq-info > p { text-align: left !important; max-width: none; margin: 0 0 18px; font-size: 17px; line-height: 1.6; color: var(--gris); }
.co-main-int .fq-info .fq-casos { list-style: none; margin: 6px 0 30px; padding: 0; display: grid; gap: 12px; }
.co-main-int .fq-info .fq-casos li { padding: 18px 20px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--linea); }
.co-main-int .fq-info .fq-casos .fq-monto { display: block; font-weight: 700; font-size: 17px; color: var(--tinta); margin: 0 0 4px; }
.co-main-int .fq-info .fq-casos .fq-detalle { display: block; font-size: 15.5px; line-height: 1.55; color: var(--gris); }
.co-main-int .fq-info .fq-label { font-weight: 700; color: var(--tinta); margin: 0 0 8px !important; font-size: 16px; }
.co-main-int .fq-info .fq-cond { margin: 0 0 30px; padding: 0 0 0 20px; display: grid; gap: 7px; }
.co-main-int .fq-info .fq-cond li { font-size: 15.5px; line-height: 1.5; color: var(--gris); }
.co-main-int .fq-info .fq-cta { margin: 0 0 22px; padding: 24px; border-radius: 18px; background: var(--tinta); }
.co-main-int .fq-info .fq-cta p { color: #fff; margin: 0 0 16px; font-size: 16px; line-height: 1.5; }
.co-main-int .fq-info .fq-cta .co-pill { background: #fff; color: var(--tinta); }
.co-main-int .fq-info .fq-nota { font-size: 14px; color: var(--gris); margin: 0; }

/* Acordeones de ayuda / preguntas: círculos con + y − del diseño (antes, imágenes celestes) */
.co-main-int div.circle { position: relative; width: 22px; height: 22px; border-radius: 50%; background: var(--tinta) !important; color: #fff; text-align: center; font: 600 15px/22px 'Inter Tight', system-ui, sans-serif; }
.co-main-int div.circle-more::before { content: "+"; }
.co-main-int div.circle-less::before { content: "−"; }
.co-main-int .listado h4 { font: 400 clamp(26px, 2.6vw, 34px)/1.1 'Inter Tight', system-ui, sans-serif !important; letter-spacing: -.025em; color: var(--tinta) !important; margin: 0 0 16px !important; }
.co-main-int .listado h5 { display: flex; align-items: center; gap: 12px; padding: 14px 0 !important; margin: 0; border-top: 1px solid var(--linea); font: 500 17px/1.35 'Inter Tight', system-ui, sans-serif !important; color: var(--tinta); }
.co-main-int .listado h5 p { margin: 0; padding: 0; font: inherit; color: inherit; }
.co-main-int .block .blockInner div.listado { padding: 0; margin: 0; }

/* Casillas "acepto" (div.terms): el sitio viejo escondía la casilla y dibujaba una imagen verde; vuelve la casilla real */
.co-main-int div.terms { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; margin: 18px 0 0 !important; float: none; clear: both; }
.co-main-int div.terms .clearfix { display: none; }
.co-main-int div.terms input[type=checkbox]:not(old), .co-main-int div.terms input[type=radio]:not(old) { opacity: 1 !important; width: 20px !important; height: 20px !important; min-height: 0; margin: 1px 0 0 !important; padding: 0 !important; flex: none; float: none; appearance: auto !important; -webkit-appearance: checkbox !important; accent-color: var(--tinta); box-shadow: none; cursor: pointer; }
.co-main-int div.terms input:not(old) + label, .co-main-int div.terms .formLabelInv, .co-main-int #uploadDocs div.terms label.formLabel.formLabelInv.clicked { flex: 1 1 0; margin: 0 !important; padding: 0 !important; background: none !important; float: none !important; width: auto !important; min-height: 0; font-size: 14px !important; line-height: 1.45 !important; color: #3d3a35 !important; cursor: pointer; }
.co-main-int #uploadDocs div.terms label.error { order: 3; flex: 0 0 100%; }

/* ── Paquetes recibidos (/es/Boxes/received) ─────────────────────────────────── */
/* Al pasar el mouse: amarillo suave. Elegida (main.js pone .highlight en las celdas): amarillo fuerte + marca a la izquierda. */
.co-main-int .boxesReceived table.co-tabla tr:not(.boxesHead):not(.trafficgroup):hover > td { background: #fff6d6; }
.co-main-int .boxesReceived table.co-tabla td.highlight, .co-main-int .boxesReceived table.co-tabla tr:hover > td.highlight { background: #ffdf7a !important; }
.co-main-int .boxesReceived table.co-tabla td.cartTblImg.highlight { box-shadow: inset 4px 0 0 #d39b00; }
.co-main-int .boxesReceived td.pickCell input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--tinta); cursor: pointer; }
.co-main-int .boxesReceived a.boxDestChange { color: var(--tinta) !important; font-weight: 600; font-size: 14px !important; }
.co-main-int .boxesReceived a.btUploadDoc { display: inline-flex; align-items: center; padding: 10px 18px; margin: 0; border-radius: 999px; background: #f3b544; color: var(--tinta) !important; font: 500 14px/1.2 'Inter Tight', system-ui, sans-serif; text-decoration: none !important; transition: background .2s; }
.co-main-int .boxesReceived a.btUploadDoc:hover { background: #e8a325; }
/* Botones en una fila, a la derecha (bajo la columna de las casillas): primero "Cambiar destino" (secundario), después "Enviar" */
@media (min-width: 851px) {
  .co-main-int .boxesReceived > form { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; margin-bottom: 34px; }
  .co-main-int .boxesReceived > form > :not(.cartBt):not(.cartBtSecondary) { flex: 0 0 100%; }
  .co-main-int .boxesReceived > form::after { display: none; }
  .co-main-int .boxesReceived .cartBt { order: 2; margin: 0; }
  .co-main-int .boxesReceived .cartBtSecondary { order: 1; padding: 0; clear: none; }
}
.co-main-int .boxesReceived .cartBt .formBtWrap { margin: 0; }
.co-main-int .boxesReceived input.btChangeDest { min-height: 46px; padding: 12px 22px !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; color: var(--tinta) !important; box-shadow: inset 0 0 0 1px var(--linea) !important; font: 500 14.5px/1.2 'Inter Tight', system-ui, sans-serif !important; cursor: pointer; transition: background .2s; }
.co-main-int .boxesReceived input.btChangeDest:hover { background: var(--arena2) !important; color: var(--tinta) !important; }
@media (max-width: 850px) {
  .co-main-int .boxesReceived table.co-tabla { background: none; box-shadow: none; overflow: visible; }
  .co-main-int .boxesReceived table.co-tabla tr { border: 1px solid var(--linea) !important; border-radius: 16px !important; background: #fff; }
  .co-main-int .boxesReceived table.co-tabla td.pickCell { background: var(--arena2); color: var(--tinta); }
  .co-main-int .boxesReceived .cartBt { display: block; margin: 0 0 10px; }
  .co-main-int .boxesReceived .cartBt :is(.formBtWrap, input) { width: 100% !important; }
}

/* ── Subir documentación (/es/Boxes/addDocumentation/<id>) ───────────────────── */
/* Las tres fichas de arriba (Producto, Datos compra, Datos paquete): grilla de tarjetas iguales, sin filas que cambien de color */
.co-main-int div.userDocs { padding: 0 0 10px; }
.co-main-int div.userDocs > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; }
.co-main-int div.userDocs > ul > li { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; list-style: none; }
.co-main-int div.userDocs > .clearfix { display: none; }
.co-main-int div.docInformation, .co-main-int div.userDocs ul li:first-child div.docInformation { min-height: 0; padding: 0 !important; border: 0 !important; }
.co-main-int div.docInformation h5 { margin: 0 0 8px; font: 600 12px/1.2 'Inter Tight', system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--gris); }
.co-main-int div.docInformation table.co-tabla :is(th, td) { background: #fff !important; font-size: 14.5px; text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--tinta); }
.co-main-int div.docInformation td.cartTblImg img { max-width: 120px; border-radius: 10px; }
.co-main-int div.docInformation .social-share { display: none; }
/* El formulario: una tarjeta blanca; izquierda los datos, derecha el comprobante */
.co-main-int .blockInner #uploadDocs { padding: 0; margin-top: 34px; }
.co-main-int #uploadDocs > form { box-sizing: border-box; padding: clamp(22px, 3vw, 40px); border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(80,60,20,.08); }
.co-main-int #uploadDocs > form > h3 { font: 400 clamp(24px, 2.4vw, 32px)/1.15 'Inter Tight', system-ui, sans-serif; letter-spacing: -.02em; margin: 0 0 12px; }
.co-main-int .blockInner #uploadDocs p { font-size: 15px !important; line-height: 1.6; padding: 0 0 8px; color: #3d3a35; }
.co-main-int #uploadDocs ul.normal { margin: 6px 0 24px; padding: 16px 20px 16px 36px; border-radius: 14px; background: var(--arena2); }
.co-main-int #uploadDocs ul.normal li { list-style: disc; padding: 3px 0; font-size: 14.5px; line-height: 1.5; color: #3d3a35; background: none; }
@media (min-width: 900px) {
  .co-main-int .blockInner #uploadDocs .formFSLeft { float: left; width: calc(60% - 40px); margin: 0 40px 0 0; }
  .co-main-int .blockInner #uploadDocs .formFSRight { float: left; width: 40%; margin: 0; }
}
@media (max-width: 899px) { .co-main-int .blockInner #uploadDocs :is(.formFSLeft, .formFSRight) { float: none; width: auto; margin: 0 0 20px; } }
.co-main-int .blockInner #uploadDocs label, .co-main-int .blockInner #uploadDocs .formFSLeft label.formLabel { float: none; width: auto; }
.co-main-int .blockInner #uploadDocs .formFSLeft :is(input:not([type=checkbox]):not([type=radio]), textarea, select) { width: 100%; }
/* Campo + "?" (ayuda) o "+" (agregar tarjeta) en la misma línea; el aviso de error, debajo del campo */
.co-main-int #uploadDocs .formBK .formFieldWrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.co-main-int #uploadDocs .formBK .formFieldWrap > :is(input, textarea, select) { order: 1; flex: 1 1 0; min-width: 0; }
.co-main-int #uploadDocs .formBK .formFieldWrap > :is(div.minibox-question, a) { order: 2; flex: none; }
.co-main-int div.minibox-question { float: none; flex: none; margin: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--arena2) !important; box-shadow: inset 0 0 0 1px var(--linea); color: var(--tinta); display: grid; place-items: center; cursor: help; }
.co-main-int div.minibox-question::before { content: "?"; font: 600 13px/1 'Inter Tight', system-ui, sans-serif; }
.co-main-int div.minibox-question.addbutton { cursor: pointer; }
.co-main-int div.minibox-question.addbutton::before { content: "+"; font-size: 17px; }
.co-main-int div.minibox-question:hover { background: var(--tinta) !important; color: #fff; }
.co-main-int div.tooltip { right: -8px; min-width: 260px; padding: 10px 12px; border-radius: 10px; background: var(--tinta); font: 13px/1.45 'Inter Tight', system-ui, sans-serif; text-align: left; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.co-main-int div.tooltip::after { content: ""; position: absolute; right: 15px; bottom: -6px; width: 12px; height: 12px; background: var(--tinta); transform: rotate(45deg); }
.co-main-int .blockInner #uploadDocs .formFieldWrap label.error, .co-main-int .blockInner #uploadDocs label.error { order: 3; flex: 0 0 100%; float: none !important; position: static; width: auto !important; margin: 2px 0 0 !important; padding: 9px 12px !important; border-radius: 10px !important; background: rgba(229,72,77,.09) !important; color: var(--mal) !important; font: 13.5px/1.4 'Inter Tight', system-ui, sans-serif !important; }
.co-main-int .blockInner #uploadDocs :is(input, textarea, select).error { box-shadow: inset 0 0 0 1.5px var(--mal) !important; border: 0 !important; }
.co-main-int .formBK div.terms { margin-top: 18px !important; }
/* Comprobante (derecha) */
.co-main-int #uploadDocs div.formBlue { padding: 22px !important; border-radius: 18px; background: var(--arena2) !important; }
.co-main-int #uploadDocs .formLine.formReq.formBlue p { font-weight: 500 !important; margin-bottom: 14px !important; }
.co-main-int .upControl { display: flex; flex-wrap: wrap; gap: 10px; }
.co-main-int .upControl .btWrap { margin: 0 !important; }
.co-main-int .upControl .btWrap a.button-takephoto { background: #fff !important; color: var(--tinta) !important; box-shadow: inset 0 0 0 1px var(--linea) !important; }
.co-main-int .upControl .btWrap a.button-takephoto:hover { background: var(--arena) !important; }
.co-main-int .upControl > p, .co-main-int .upControl > ol { flex: 0 0 100%; }
.co-main-int #uploadDocs .upList { padding-top: 6px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.co-main-int #uploadDocs .upList::after { display: none; }
.co-main-int #uploadDocs .upList li { float: none !important; width: auto !important; margin: 0 !important; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.co-main-int .upList li .thumbLnks { position: static; height: auto; }
.co-main-int #uploadDocs .upList li { height: auto !important; }
.co-main-int #uploadDocs .upList li .linkpreview img { height: 110px; object-fit: cover; }
.co-main-int .upList li .thumbLnkView { display: block; height: auto; line-height: 1.3; padding: 7px 6px; background: var(--tinta) !important; color: #fff !important; text-decoration: none !important; font-size: 13px; }
/* Botones de abajo */
.co-main-int #uploadDocs hr { clear: both; margin: 28px 0 22px; }
.co-main-int #uploadDocs .cartBt { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.co-main-int #uploadDocs .cartBt > span { margin: 0; }
@media (max-width: 899px) { .co-main-int div.userDocs > ul { grid-template-columns: 1fr; } }


/* ── Mi cuenta: fichas de información (resumen /es/boxes/resume y Subir documentación) ── */
.co-main-int div.top-content { text-align: left; margin: 0 0 22px; }
.co-main-int div.top-content h3 { font: 400 clamp(30px, 3.6vw, 48px)/1.08 'Inter Tight', system-ui, sans-serif; letter-spacing: -.03em; color: var(--tinta); text-align: left; margin: 0 0 8px; }
.co-main-int div.top-content p { text-align: left; margin: 0; font-size: 17px; color: var(--gris); }
.co-main-int .userInformation { margin: 0; }
.co-main-int .userInformation > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; }
.co-main-int .userInformation > ul > li { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; list-style: none; }
.co-main-int .userInformation > .clearfix { display: none; }
.co-main-int .userInformationLocal { display: flex; flex-direction: column; min-height: 0; padding: 0 !important; border: 0 !important; font-size: 14.5px; }
.co-main-int .userInformationLocal h4 { margin: 0 0 12px; font: 500 19px/1.2 'Inter Tight', system-ui, sans-serif; letter-spacing: -.01em; color: var(--tinta); }
.co-main-int .userInformationLocal table { padding-bottom: 0; }
.co-main-int .userInformationLocal table.co-tabla td:first-child { color: var(--gris); }
.co-main-int .link-bottom { position: static; display: flex; flex-direction: column; gap: 8px; padding: 14px 2px 0; line-height: 1.3; }
.co-main-int .userInformationLocal a { padding-right: 0; background: none; font-size: 15px; font-weight: 500; color: var(--tinta); }
.co-main-int .link-bottom a::after { content: ' →'; }
/* Iconos de compartir (Facebook, Google+, Twitter) junto a las fotos de los paquetes: no aportan y Google+ ya no existe */
.co-main-int ul.social-share { display: none !important; }
/* Progreso del envío (Etapa 1..5) */
.co-main-int .steps :is(.step-current, .step-description, a) { color: var(--tinta); }
@media (max-width: 899px) { .co-main-int .userInformation > ul { grid-template-columns: 1fr; } }


/* ── eShopper: pedir presupuesto (/es/Budgets/quotation) ─────────────────────── */
.co-main-int .contentClean > .block > h2 { font: 400 clamp(34px, 4.6vw, 60px)/1.04 'Inter Tight', system-ui, sans-serif; letter-spacing: -.035em; color: var(--tinta); text-align: left; margin: 0 0 18px; }
.co-main-int .formCot { margin-top: 10px; padding: clamp(22px, 3vw, 40px); border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(80,60,20,.08); }
.co-main-int .formCot .formCotFS { margin: 0; padding: 0; border: 0; }
.co-main-int .formCot .formCotRow { display: grid; grid-template-columns: 150px minmax(0, 1.2fr) minmax(0, 1fr); gap: 8px 24px; align-items: start; padding: 16px 0; border-bottom: 1px solid #efe9df; overflow: visible; }
.co-main-int .formCot .formCotRow[style*='none'] { display: none !important; }
.co-main-int .formCot .formCotRow > label { float: none; width: auto; padding-top: 14px; font: 500 14px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--gris); }
.co-main-int .formCot .formCotRow .formCotField { float: none; width: auto !important; }
.co-main-int .formCot .formCotRow :is(input[type=text], input[type=password], textarea, select) { width: 100%; padding: 12px 16px; font-size: 16px; }
.co-main-int .formCot .formCotRow .req { background-image: none; }
.co-main-int .formCot .formCotRow p { float: none; width: auto; margin: 0; padding: 12px 0 0; font-size: 13.5px !important; line-height: 1.5; color: var(--gris); text-align: left; }
@media (max-width: 760px) { .co-main-int .formCot .formCotRow { grid-template-columns: 1fr; } .co-main-int .formCot .formCotRow > label, .co-main-int .formCot .formCotRow p { padding-top: 0; } }


/* ═════ Mi cuenta (2026-10-15, segunda vuelta) ═════════════════════════════════ */
/* Un solo color de borde para todas las tablas y tarjetas interiores, con más contraste que antes */
.co { --borde: #d6ccbb; }
.co-main-int table.co-tabla { border: 1px solid var(--borde) !important; box-shadow: none !important; }
.co-main-int table.co-tabla :is(th, td) { border-bottom: 1px solid var(--borde) !important; }
.co-main-int table.co-tabla tr:last-child > :is(th, td) { border-bottom: 0 !important; }
.co-main-int .cartTableWrapper table { border-left: 0; border-right: 0; }
.co-main-int :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]) { box-shadow: inset 0 0 0 1px var(--borde); }

/* Acordeón nativo (Ayuda en Subir documentación) */
.co-main-int .co-ayuda { margin-top: 40px; }
.co-main-int .co-ayuda h4 { margin: 0 0 14px; font: 400 clamp(26px, 2.6vw, 34px)/1.1 'Inter Tight', system-ui, sans-serif; letter-spacing: -.025em; color: var(--tinta); }
.co-acord { border-top: 1px solid var(--borde); }
.co-acord:last-child { border-bottom: 1px solid var(--borde); }
.co-acord summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 2px; font: 500 17px/1.35 'Inter Tight', system-ui, sans-serif; color: var(--tinta); cursor: pointer; list-style: none; }
.co-acord summary::-webkit-details-marker { display: none; }
.co-acord summary:hover { color: #000; }
.co-acord summary .ico { width: 20px; height: 20px; flex: none; transition: transform .3s var(--ease); }
.co-acord[open] summary .ico { transform: rotate(180deg); }
.co-acord > :not(summary) { margin: 0 0 20px; max-width: 860px; }
.co-acord ol { padding-left: 22px; }
.co-acord ol li { padding: 4px 0; list-style: decimal; font-size: 15.5px; line-height: 1.55; color: #3d3a35; }
.co-acord p { font-size: 15.5px; line-height: 1.6; color: #3d3a35; }

/* Resumen: secciones y encabezados */
.co-resumen { max-width: 1180px; margin: 0 auto; }
.co-res-sec + .co-res-sec { margin-top: clamp(56px, 7vw, 96px); }
.co-res-cab { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.co-res-cab p:not(.co-eyebrow) { margin: 0; max-width: 640px; font-size: 17px; color: var(--gris); }
.co-main-int .co-res-cab h1 { margin: 0; }
.co-main-int h2.co-res-sub { margin: 44px 0 6px; font-size: clamp(22px, 2.2vw, 28px); }

/* Direcciones con "copiar" */
.co-res-dirs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.co-dir { display: flex; flex-direction: column; border: 1px solid var(--borde); border-radius: 18px; background: #fff; overflow: hidden; }
.co-dir header { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 18px 18px 12px; }
.co-main-int .co-dir h2 { margin: 0; font-size: 19px; font-weight: 500; letter-spacing: -.01em; }
.co-dir-band { font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gris); white-space: nowrap; }
.co-dir dl { margin: 0; }
.co-dir dl > div { display: grid; grid-template-columns: minmax(96px, 38%) minmax(0, 1fr) 30px; align-items: center; gap: 8px; min-height: 44px; padding: 6px 12px 6px 18px; border-top: 1px solid var(--borde); }
.co-dir-dest dl > div { grid-template-columns: minmax(96px, 38%) minmax(0, 1fr); }
.co-dir dt { font-size: 13px; color: var(--gris); }
.co-dir dd { margin: 0; font-size: 14.5px; color: var(--tinta); overflow-wrap: anywhere; }
.co-dir dl > div:hover { background: #fcfaf6; }
.co-copiar { width: 30px; height: 30px; border-radius: 8px; border: 0; padding: 0; cursor: pointer; background: transparent no-repeat center / 17px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f6a62' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.5' y='8.5' width='11' height='11' rx='2.5'/%3E%3Cpath d='M15.5 8.5V6.5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h2'/%3E%3C/svg%3E"); transition: background-color .2s; }
.co-copiar:hover { background-color: var(--arena2); }
.co-copiar.copiado { background-color: rgba(28,138,74,.12); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c8a4a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.co-copiar-todo { margin: 0; padding: 14px 18px; border: 0; border-top: 1px solid var(--borde); background: var(--arena2); color: var(--tinta); font: 500 14.5px/1.2 'Inter Tight', system-ui, sans-serif; text-align: center; cursor: pointer; transition: background .2s, color .2s; }
.co-copiar-todo:hover { background: var(--tinta); color: #fff; }
.co-copiar-todo.copiado { background: var(--ok); color: #fff; }
.co-dir-links { display: flex; flex-direction: column; gap: 2px; padding: 10px 10px 12px; border-top: 1px solid var(--borde); background: var(--arena2); }
.co-main-int .co-dir-links a { display: flex; justify-content: space-between; align-items: center; padding: 9px 10px; border-radius: 10px; font-size: 14.5px; font-weight: 500; text-decoration: none; }
.co-main-int .co-dir-links a::first-letter { text-transform: uppercase; }
.co-main-int .co-dir-links a::after { content: '→'; transition: transform .25s; }
.co-main-int .co-dir-links a:hover { background: #fff; }
.co-main-int .co-dir-links a:hover::after { transform: translateX(3px); }

/* Tarjetas de resumen (antes los bloques rojo/azul con íconos .png) */
.co-res-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.co-main-int a.co-res-card, .co-res-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid var(--borde); border-radius: 18px; background: #fff; color: var(--tinta); text-decoration: none; transition: border-color .25s, transform .35s var(--ease), box-shadow .35s; }
.co-main-int a.co-res-card:hover { border-color: var(--tinta); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(40,30,10,.08); }
.co-res-num { font: 300 52px/1 'Inter Tight', system-ui, sans-serif; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.co-res-txt { display: flex; flex-direction: column; gap: 4px; }
.co-res-txt b { font-size: 18px; font-weight: 600; }
.co-res-txt small { font-size: 14px; line-height: 1.45; color: var(--gris); }
.co-res-ir { margin-top: auto; padding-top: 6px; font-size: 14.5px; font-weight: 500; }
.co-res-ir::after { content: ' →'; }
/* Con pendientes (el controlador manda box-red): número y borde en rojo, para que se vea que hay algo para hacer */
.co-res-card.box-red { border-color: #e9b4b4; background: #fff9f8; }
.co-res-card.box-red .co-res-num { color: var(--mal); }
.co-res-card.box-red .co-res-ir { color: var(--mal); }
.co-res-card.box-blue, .co-res-card.box-red { background-image: none !important; }
.co-res-herr nav { display: flex; flex-direction: column; gap: 2px; margin: 4px -10px 0; }
.co-main-int .co-res-herr nav a { display: flex; justify-content: space-between; padding: 9px 10px; border-radius: 10px; font-size: 14.5px; text-decoration: none; }
.co-main-int .co-res-herr nav a::after { content: '→'; color: var(--gris); }
.co-main-int .co-res-herr nav a:hover { background: var(--arena2); }

/* Envíos en curso ({history}): sin su título propio, cada orden separada */
.co-res-hist .block > h1, .co-res-hist .blockInner > p:first-child, .co-res-hist .blFooter { display: none; }
.co-res-hist .content, .co-res-hist .block, .co-res-hist .blockInner { margin: 0; padding: 0; }
.co-main-int .cartTableWrapper > div > hr, .co-main-int .cartTableWrapper > div > br:first-child, .co-main-int .cartTableWrapper > div > hr + br { display: none; }
.co-main-int .cartTableWrapper > div:has(> strong) { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--borde); font-size: 15px; line-height: 1.7; }
.co-main-int .cartTableWrapper > div:has(> strong):first-child { margin-top: 10px; }
.co-main-int .cartTableWrapper > div > p { margin: 0; padding: 0; }

/* Etapas del envío (las arma BoxesController::_show): sin la barra vieja, línea y círculos del diseño */
.co-main-int .steps { position: relative; margin: 22px 0 18px; padding: 0; }
.co-main-int .steps .step-bar { display: none !important; }
.co-main-int ul.steps-container { display: flex; margin: 0; padding: 0; background: none; border: 0; }
.co-main-int ul.steps-container > li { position: relative; flex: 1 1 0; width: auto !important; float: none; margin: 0; padding: 0 6px; list-style: none; text-align: center; background: none; border: 0; }
.co-main-int ul.steps-container > li::before { content: ''; position: absolute; top: 15px; left: calc(-50% + 18px); width: calc(100% - 36px); height: 2px; border-radius: 2px; background: var(--borde); }
.co-main-int ul.steps-container > li:first-child::before { display: none; }
.co-main-int ul.steps-container > li.activated::before { background: var(--tinta); }
.co-main-int .steps .step { position: static; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0; background: none; }
.co-main-int .steps .step-image { position: relative; z-index: 1; width: 32px; height: 32px; margin: 0 0 8px; border-radius: 50%; background: #fff !important; box-shadow: inset 0 0 0 2px var(--borde); display: grid; place-items: center; }
.co-main-int .steps .step-image span { display: none; }
.co-main-int .steps li.activated .step-image { background: var(--tinta) !important; box-shadow: none; }
.co-main-int .steps li.activated .step-image::after { content: ''; width: 14px; height: 14px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
/* La etapa actual: la última activada, con un halo */
.co-main-int .steps li.activated:not(:has(+ li.activated)) .step-image { box-shadow: 0 0 0 6px rgba(22,21,19,.12); }
.co-main-int .steps .step-current { font: 600 11px/1.2 'Inter Tight', system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--gris); font-style: normal; }
.co-main-int .steps .step-description { font: 400 14.5px/1.35 'Inter Tight', system-ui, sans-serif; color: var(--gris); }
.co-main-int .steps li.activated .step-description { color: var(--tinta); }
.co-main-int .steps .step-description strong { font-weight: 600; color: var(--tinta); }
@media (max-width: 640px) {
  .co-main-int ul.steps-container { flex-direction: column; gap: 0; }
  .co-main-int ul.steps-container > li { text-align: left; padding: 0 0 18px; }
  /* En vertical cada tramo baja desde el círculo hasta el siguiente; se pinta si la etapa siguiente ya está activada */
  .co-main-int ul.steps-container > li::before { display: block !important; top: 32px; left: 15px; width: 2px; height: calc(100% - 32px); background: var(--borde) !important; }
  .co-main-int ul.steps-container > li:last-child::before { display: none !important; }
  .co-main-int ul.steps-container > li:has(+ li.activated)::before { background: var(--tinta) !important; }
  .co-main-int .steps .step { display: grid; grid-template-columns: 32px 1fr; column-gap: 14px; align-items: center; justify-items: start; }
  .co-main-int .steps .step-image { grid-row: span 2; margin: 0; }
  .co-main-int ul.steps-container > li:last-child { padding-bottom: 0; }
}

/* Video de ayuda */
.co-res-video-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 56px); align-items: center; padding: clamp(18px, 3vw, 36px); border-radius: 22px; background: var(--tinta); color: #e9e2d4; }
.co-res-video-marco { aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; }
.co-res-video-marco iframe { width: 100%; height: 100%; border: 0; display: block; }
.co-res-video-txt { display: flex; flex-direction: column; gap: 12px; }
.co-main-int .co-res-video-txt h2 { margin: 0; color: #fff; font-size: clamp(26px, 2.8vw, 38px); }
.co-main-int .co-res-video-txt p { margin: 0; color: #cfc6b6; font-size: 16px; }
.co-main-int .co-res-video-txt .co-eyebrow { color: #e9e2d4; }

@media (max-width: 999px) {
  .co-res-dirs, .co-res-cards { grid-template-columns: 1fr 1fr; }
  .co-dir-dest, .co-res-herr { grid-column: 1 / -1; }
  .co-res-video-in { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .co-res-dirs, .co-res-cards { grid-template-columns: 1fr; }
}

/* Etapas: styles.css (step-progress) dibuja el círculo con el span y le gana en especificidad; acá se pisa */
body.co .steps .steps-container li .step .step-image span { display: none !important; }
body.co .steps .steps-container li .step .step-image { width: 32px !important; height: 32px !important; margin: 0 0 8px !important; border-radius: 50% !important; background: #fff !important; box-shadow: inset 0 0 0 2px var(--borde) !important; }
body.co .steps .steps-container li.activated .step .step-image { background: var(--tinta) !important; box-shadow: none !important; }
body.co .steps .steps-container li.activated:not(:has(+ li.activated)) .step .step-image { box-shadow: 0 0 0 6px rgba(22,21,19,.12) !important; }
body.co .steps .steps-container li .step .step-current { font: 600 11px/1.2 'Inter Tight', system-ui, sans-serif !important; font-style: normal !important; letter-spacing: .1em; text-transform: uppercase; color: var(--gris) !important; }
body.co .steps .steps-container li .step .step-description { font: 400 14.5px/1.35 'Inter Tight', system-ui, sans-serif !important; color: var(--gris) !important; }
body.co .steps .steps-container li.activated .step .step-description, body.co .steps .steps-container li .step .step-description strong { color: var(--tinta) !important; }
body.co .steps .steps-container li .step .step-description strong { font-weight: 600 !important; }
@media (max-width: 640px) { body.co .steps .steps-container li .step .step-image { margin: 0 !important; } }
body.co .steps { min-height: 0; padding: 0; font-family: 'Inter Tight', system-ui, sans-serif; }
body.co .steps .steps-container { height: auto !important; background: none !important; border-radius: 0; }
body.co .steps .steps-container li { float: none !important; }
body.co .steps .steps-container li .step { padding: 0 !important; }
.co-main-int #uploadDocs .formFieldWrap > a { text-decoration: none !important; }

/* Links de acción dentro de las tablas del panel (Editar, Eliminar, editar…): antes cuadraditos naranjas; ahora píldoras chicas */
.co-main-int .cartTableWrapper td:not(.cartTblImg) a:not(.btUploadDoc):not(.boxDestChange):not(.standardLink) { display: inline-flex; align-items: center; margin: 2px 4px 2px 0; padding: 6px 13px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--borde); color: var(--tinta) !important; font: 500 13.5px/1.2 'Inter Tight', system-ui, sans-serif; font-size: 13.5px !important; text-decoration: none !important; white-space: nowrap; transition: background .2s, box-shadow .2s; }
.co-main-int .cartTableWrapper td:not(.cartTblImg) a:not(.btUploadDoc):not(.boxDestChange):not(.standardLink):hover { background: var(--arena2); box-shadow: inset 0 0 0 1px var(--tinta); }
.co-main-int .cartTableWrapper td a.deleteLink { color: var(--mal) !important; }
.co-main-int .cartTableWrapper td a.deleteLink:hover { background: rgba(229,72,77,.08) !important; box-shadow: inset 0 0 0 1px var(--mal) !important; }
.co-main-int .cartTableWrapper td.cartTblImg a { background: none; padding: 0; line-height: 0; }
.co-main-int .cartTableWrapper a.standardLink { color: var(--tinta) !important; font-size: inherit !important; }
.co-main-int .cartTableWrapper td.cartTblImg img { border-radius: 8px; }
/* En el resumen, la vista del historial trae su título de página: no va (ya está "Envíos en curso") */
.co-res-hist .co-res-cab { display: none; }
/* Fichas de Subir documentación en el celular: filas apiladas y números largos (tracking) que cortan en vez de desbordar */
@media (max-width: 760px) {
  .co-main-int div.docInformation table.co-tabla, .co-main-int div.docInformation table.co-tabla :is(tbody, tr) { display: block; width: 100%; }
  .co-main-int div.docInformation table.co-tabla td { display: block; width: auto !important; height: auto; }
}
.co-main-int div.docInformation table.co-tabla td { overflow-wrap: anywhere; word-break: break-word; }
@media (max-width: 560px) {
  .co-main-int #uploadDocs .cartBt { flex-direction: column-reverse; align-items: stretch; }
  .co-main-int #uploadDocs .cartBt > span, .co-main-int #uploadDocs .cartBt :is(a, input) { width: 100% !important; }
  .co-main-int #uploadDocs > form { padding: 20px 16px; }
}

/* Tablas con encabezado en el celular: cada fila es una tarjeta y cada dato lleva su etiqueta (costa.js pone data-label).
   Paquetes recibidos tiene su propio diseño de tarjeta (boxes-received.css) y queda afuera. */
@media (max-width: 760px) {
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) { display: block; border: 0 !important; background: none; overflow: visible; white-space: normal; }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) :is(tbody, thead) { display: block; }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) tr:first-child:has(> th) { display: none; }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) tr { display: block; margin: 0 0 12px; border: 1px solid var(--borde); border-radius: 14px; background: #fff; overflow: hidden; }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) td { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--borde) !important; white-space: normal; }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) td:last-child { border-bottom: 0 !important; }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) td[data-label]::before { content: attr(data-label); flex: 0 0 100px; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gris); }
  .co-main-int table.co-tabla.co-tabla-etq:not(.orderTable):not(.tableForm) td:not([data-label]) { grid-template-columns: 1fr; }
}
.co-main-int div.docInformation table.co-tabla td { white-space: normal !important; }

/* Avisos fijos de las páginas (div.errorContentVis): antes una franja roja; ahora una nota cálida con borde a la izquierda */
.co-main-int .errorContentVis { display: block; margin: 0 0 24px; padding: 14px 18px; border: 0; border-left: 4px solid #e0a32e; border-radius: 12px; background: #fff6e2; color: #4a3b18; font-size: 14.5px; line-height: 1.5; box-shadow: none; }
/* Etiquetas vacías (campos que el JS muestra u oculta) no llevan el asterisco suelto */
.co-main-int .formLabel:empty::after { content: none; }
.co-main-int .boxesReceived form p { text-align: left !important; }
/* Las tablas que son formularios (login) no llevan bordes */
.co-main-int table.co-tabla.tableForm, .co-main-int table.co-tabla.tableForm :is(th, td) { border: 0 !important; box-shadow: none !important; }
.co-main-int .half :is(.signup, .signup-container, p) { margin-left: 0 !important; padding-left: 0 !important; }


/* ═════ Tercera vuelta (2026-10-15) ═════════════════════════════════════════════ */
/* Formularios en dos columnas: había reglas viejas con #id que dejaban las columnas pegadas (Destinatario, Perfil, Tarjetas) */
@media (min-width: 761px) {
  .co-main-int form fieldset.formFS.formFSLeft { float: left !important; width: calc(50% - 20px) !important; margin: 0 40px 0 0 !important; }
  .co-main-int form fieldset.formFS.formFSRight { float: left !important; width: calc(50% - 20px) !important; margin: 0 !important; }
  /* Subir documentación conserva su reparto 60/40 (gana por el #id) */
  .co-main-int .blockInner #uploadDocs fieldset.formFS.formFSLeft { width: calc(60% - 40px) !important; }
  .co-main-int .blockInner #uploadDocs fieldset.formFS.formFSRight { width: 40% !important; }
}
.co-main-int form .formLine .formFieldWrap > :is(input, select, textarea):not([type=checkbox]):not([type=radio]) { width: 100% !important; max-width: 100% !important; }
.co-main-int form .formFieldWrap:has(> select + select) > select { width: auto !important; }

/* Combos: siempre con flecha (había reglas viejas que pisaban el fondo) */
.co-main-int select:not([multiple]) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161513' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px !important; padding-right: 40px !important; -webkit-appearance: none !important; appearance: none !important; }
.co-main-int select:not([multiple]):hover { box-shadow: inset 0 0 0 1px var(--tinta); }

/* Botón "Salvar" arriba de la línea (vistas Costa de Destinatario y Tarjetas) */
.co-main-int .cartBt.co-guardar { clear: both; display: flex; padding: 22px 0 0; }
.co-main-int .cartBt.co-guardar + hr { margin: 34px 0 30px; }

/* Listados con acciones (destinatarios, tarjetas, notificaciones): la fila se marca al pasar el mouse */
.co-main-int .cartTableWrapper table.co-tabla:not(.orderTable) tr:has(> td a):hover > td { background: #fbf6ec; }
.co-main-int .cartTableWrapper h3 { margin: 0 0 6px; font: 500 clamp(22px, 2.2vw, 28px)/1.2 'Inter Tight', system-ui, sans-serif; letter-spacing: -.02em; color: var(--tinta); }
.co-main-int .cartTableWrapper .sidecontent p { margin: 0 0 16px; color: var(--gris); font-size: 15px; }

/* Resumen: Paquetes recibidos + Herramientas (la notificación de compra pasó a la lista) */
.co-res-cards { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.co-res-herr nav a { align-items: center; gap: 10px; }
.co-main-int .co-res-herr nav a::after { margin-left: auto; }
.co-fq-estado { padding: 3px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--arena2); color: var(--gris); }
.co-fq-estado:empty { display: none; }
.co-fq-estado.co-fq-con { background: rgba(28,138,74,.1); color: var(--ok); }
.co-fq-estado.co-fq-sin { background: rgba(229,72,77,.09); color: var(--mal); }
.co-res-cuenta { min-width: 22px; padding: 2px 7px; border-radius: 999px; background: var(--arena2); color: var(--gris); font-size: 12.5px; font-weight: 600; text-align: center; }
.co-res-herr nav a.box-red .co-res-cuenta { background: #e5484d; color: #fff; }
.co-res-herr nav a.box-red, .co-res-herr nav a.box-blue { background-color: transparent !important; background-image: none !important; color: var(--tinta) !important; }
.co-res-herr nav a.box-red:hover, .co-res-herr nav a.box-blue:hover { background-color: var(--arena2) !important; }
@media (max-width: 640px) { .co-res-cards { grid-template-columns: 1fr; } }

/* Calculadora como página: es la sección de la home, a todo el ancho y sin los estilos de formulario del panel */
.co-main-int:has(.co-calc-pagina) { padding: 0; }
.co-int-wrap:has(.co-calc-pagina) { max-width: none; }
.co-main-int .co-calc-pagina .co-calc-txt h2 { font: 400 clamp(34px, 4.4vw, 62px)/1.02 'Inter Tight', system-ui, sans-serif; letter-spacing: -.035em; color: var(--tinta); margin: 0; }
.co-main-int .co-calc-pagina .co-calc-txt > p:not(.co-eyebrow) { font-size: 18px; color: #5a554d; }
.co-main-int .co-calc-pagina .co-calc-pts li { list-style: none; padding: 0; font-size: 16.5px; }
.co-main-int .co-calc-pagina .calc-in :is(input, select), .co-main-int .co-calc-pagina .cz-in select { min-height: 0 !important; height: auto; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background-color: transparent !important; box-shadow: none !important; font-size: 17px; }
.co-main-int .co-calc-pagina .calc-sel select { padding-right: 34px !important; background-image: none !important; }
.co-main-int .co-calc-pagina .calc-in:focus-within { box-shadow: inset 0 0 0 1.5px var(--tinta); }
.co-main-int .co-calc-pagina .calc-uni button { min-height: 0; padding: 5px 9px; border-radius: 999px; background: none !important; color: inherit !important; box-shadow: none !important; font: 600 12.5px/1.2 'Inter Tight', system-ui, sans-serif !important; }
.co-main-int .co-calc-pagina .calc-uni button.on { background: var(--tinta) !important; color: #fff !important; }
.co-main-int .co-calc-pagina button.calc-btn { height: 56px; min-height: 56px; padding: 0 26px !important; font: 500 16px/1 'Inter Tight', system-ui, sans-serif !important; }
.co-main-int .co-calc-pagina .calc-lista li { list-style: none; }
.co-main-int .co-calc-pagina .calc-total-v { font-size: clamp(48px, 5.6vw, 76px); }
.co-main-int .formLabel.co-vacia { display: none; }


/* ═════ Finalizar compra (/es/Orders/checkOut) — 2026-10-15 ════════════════════════════════════════════════════════
   Vista miamiglobal/orders/checkout.mate (compartida con .com.uy): acá sólo presentación. costa.js agrega
   .co-opcion (tarjetas clickeables), .co-dest-fila, el estado de franquicia del destinatario y "Ver otras direcciones". */
#contentCheckout { max-width: 980px; margin: 0 auto; }
#contentCheckout .blockInner { overflow: visible; }
/* Cada bloque, una tarjeta */
#contentCheckout .checkoutBlock { box-sizing: border-box; margin: 0 0 18px; padding: clamp(18px, 2.6vw, 28px); border: 1px solid var(--borde); border-radius: 20px; background: #fff; float: none; width: auto; }
#contentCheckout .checkoutBlock h2 { margin: 0 0 4px; font: 500 clamp(22px, 2.2vw, 28px)/1.2 'Inter Tight', system-ui, sans-serif; letter-spacing: -.02em; color: var(--tinta); }
#contentCheckout .titleDesc { margin: 0 0 16px; padding: 0 !important; font-size: 14.5px; color: var(--gris); }
#contentCheckout .checkoutBlInner { box-sizing: border-box; margin: 0; padding: 0; float: none; width: auto; background: none; border: 0; }
#contentCheckout :is(.checkoutInfo, .checkoutBlInner1, .checkoutBlInner2) { float: none; width: auto; margin: 0; padding: 0; background: none; border: 0; }
#contentCheckout br { display: none; }
#contentCheckout p br, #contentCheckout .checkoutDetail br, #contentCheckout .formCardsInner br, #contentCheckout li.co-opcion .checkoutBlInner1 br { display: inline; }

/* Opciones como tarjetas: método de pago y direcciones (toda el área se puede tocar) */
#contentCheckout ul.formRadios { display: grid; gap: 10px; margin: 0; padding: 0; }
#contentCheckout ul.formRadios > li { position: relative; box-sizing: border-box; display: block; margin: 0; padding: 16px 18px 16px 50px; border: 1px solid var(--borde); border-radius: 14px; background: #fff; list-style: none; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; float: none; width: auto; }
#contentCheckout ul.formRadios > li:hover { border-color: #b9ad98; background: #fdfbf7; }
#contentCheckout ul.formRadios > li:has(input[type=radio]:checked) { border-color: var(--tinta); box-shadow: inset 0 0 0 1px var(--tinta); background: #fdfbf7; }
#contentCheckout ul.formRadios > li input[type=radio] { position: absolute; left: 18px; top: 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--tinta); cursor: pointer; }
#contentCheckout ul.formRadios > li > label { display: block; float: none; width: auto; margin: 0 0 4px; padding: 0; font: 600 15.5px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--tinta); text-transform: none; cursor: pointer; }
#contentCheckout ul.formRadios > li p { margin: 0; padding: 0; font-size: 14px; line-height: 1.5; color: var(--gris); }
#contentCheckout ul.formRadios > li p img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; margin: 8px 6px 0 0; }
#contentCheckout ul.formRadios > li .formLine { margin-top: 12px; cursor: default; }

/* Destinatario: combo + estado de franquicia + Modificar / Agregar chicos al costado */
#contentCheckout #destinatario .checkoutBlInner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
#contentCheckout #destinatario .checkoutBlInner1 { flex: 1 1 320px; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
#contentCheckout #destinatario select#receiver { flex: 1 1 240px; width: auto !important; min-width: 0; }
#contentCheckout #destinatario .checkoutBlInner2 { flex: none; }
#contentCheckout #destinatario .checkoutBlInner2 > .checkoutDetail:empty { display: none; }
#contentCheckout #destinatario #destInfo { flex: 1 0 100%; font-size: 14px; color: var(--gris); }
#contentCheckout #destinatario #destInfo:empty { display: none; }
.co-dest-fq:empty { display: none; }
.co-dest-fq { padding: 5px 11px; border-radius: 999px; font-size: 13px; font-weight: 600; background: var(--arena2); color: var(--gris); white-space: nowrap; }
#contentCheckout .checkoutBt { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; background: none; border: 0; float: none; width: auto; }
#contentCheckout .checkoutBt a { display: inline-flex; align-items: center; height: auto; min-height: 0; padding: 8px 14px !important; margin: 0; border: 0 !important; border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--borde); color: var(--tinta) !important; font: 500 13.5px/1.2 'Inter Tight', system-ui, sans-serif !important; text-decoration: none !important; text-transform: none; white-space: nowrap; float: none; width: auto; line-height: 1.2 !important; }
#contentCheckout .checkoutBt a:hover { background: var(--arena2) !important; box-shadow: inset 0 0 0 1px var(--tinta); }

/* Método de entrega y dirección */
#contentCheckout .formAddress { padding: 0; margin: 0; background: none; border: 0; }
#contentCheckout .formAddress select { width: 100% !important; }
#contentCheckout #deliverdMethodDetails:not(:empty) { margin-top: 14px; }
#contentCheckout #addressBlock { margin-top: 18px; }
#contentCheckout #addressBlock .formAddress h2 { font-size: 18px; }
#contentCheckout #addressBlock ul.formRadios > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; font-size: 14.5px; line-height: 1.55; color: var(--tinta); }
#contentCheckout #addressBlock ul.formRadios > li .checkoutBlInner1 { flex: 1 1 260px; min-width: 0; }
#contentCheckout #addressBlock ul.formRadios > li .checkoutBlInner2 { flex: none; }
#contentCheckout #addressBlock ul.formRadios > li[hidden] { display: none; }
.co-dir-mas { margin-top: 10px; padding: 9px 16px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1px var(--borde); color: var(--tinta); font: 500 13.5px/1.2 'Inter Tight', system-ui, sans-serif; cursor: pointer; }
.co-dir-mas:hover { background: var(--arena2); }

/* Barras de totales (antes amarillas) */
#contentCheckout .cartTotal { box-sizing: border-box; margin: 14px 0 0; padding: 14px 18px; border: 0; border-radius: 14px; background: var(--arena2); float: none; width: auto; }
#contentCheckout .cartTotal dl { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; margin: 0; padding: 0; background: none; }
#contentCheckout .cartTotal :is(dt, dd) { float: none; width: auto; margin: 0; padding: 0; background: none; font: 600 15px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--tinta); text-align: left; }
#contentCheckout .cartTotal.big-total { margin-top: 18px; padding: 18px 22px; background: var(--tinta); }
#contentCheckout .cartTotal.big-total :is(dt, dd) { color: #fff; font-size: 18px; }
#contentCheckout .cartTotal.big-total dd#cartTotal { font-size: 24px; font-weight: 600; }

/* Tabla de paquetes */
#contentCheckout .cartTableWrapper { margin: 0; }
#contentCheckout .cartTableWrapper table { width: 100%; }
#contentCheckout .cartTableWrapper td.cartTblBt input[type=button], #contentCheckout .cartTableWrapper td.cartTblBt input[name=btnRemove] { min-height: 0; width: 32px !important; height: 32px !important; padding: 0 !important; border-radius: 50% !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--borde) !important; color: var(--mal) !important; font: 600 14px/1 'Inter Tight', system-ui, sans-serif !important; }
#contentCheckout .cartTableWrapper td.cartTblBt input[name=btnRemove]:hover { background: rgba(229,72,77,.08) !important; box-shadow: inset 0 0 0 1px var(--mal) !important; }
#contentCheckout .cartTblDesc ul, #contentCheckout .cartTblCant ul { margin: 0; padding: 0; list-style: none; }
#contentCheckout .cartTblDesc li, #contentCheckout .cartTblCant li { padding: 1px 0; font-size: 13.5px; }
#contentCheckout .cartTblDesc li label, #contentCheckout .cartTblCant li label { float: none; width: auto; margin: 0 4px 0 0; font-weight: 400; color: var(--gris); }
#contentCheckout td.cartTblST { white-space: nowrap; font-weight: 600; text-align: right; }

/* Tarjeta de compra y casillas */
#contentCheckout .formCards { box-sizing: border-box; margin: 14px 0 0; padding: 18px; border: 1px solid var(--borde); border-radius: 16px; background: #fff; float: none; width: auto; }
#contentCheckout .formCardsInner { float: none; width: auto; margin: 0; padding: 0; background: none; border: 0; }
#contentCheckout .formCardsInner h4 { margin: 0 0 10px; font: 600 15px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--tinta); }
#contentCheckout .formCardsform { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 24px; align-items: start; }
#contentCheckout .formCardsform :is(.third, .third-little) { float: none; width: auto !important; margin: 0; padding: 0; }
#contentCheckout .formCardsform .formFieldWrap { display: flex; align-items: center; gap: 10px; }
#contentCheckout .formCardsform .formFieldWrap > div.minibox-question { order: 2; }
#contentCheckout .formCardsform select { flex: 1 1 0; width: auto !important; min-width: 0; }
#contentCheckout .formCardsform .third-little p { margin: 0; font-size: 13.5px; color: var(--gris); }
#contentCheckout .formCardsCheckbox { display: flex; align-items: flex-start; gap: 12px; }
#contentCheckout .formCardsCheckbox input[type=checkbox] { flex: none; width: 20px !important; height: 20px; margin: 2px 0 0; accent-color: var(--tinta); opacity: 1 !important; position: static; -webkit-appearance: checkbox !important; appearance: auto !important; cursor: pointer; }
#contentCheckout .formCardsCheckbox p, #contentCheckout .formCardsCheckbox label { margin: 0; padding: 0 !important; background: none !important; float: none; width: auto; font-size: 14px; line-height: 1.5; color: #3d3a35; cursor: pointer; }
#contentCheckout .formCardsCheckbox label span, #contentCheckout #fromInsurance .container label strong { color: var(--mal); font-weight: 600; }
#contentCheckout .formCardsRequired { box-shadow: inset 0 0 0 1.5px var(--mal); border-radius: 12px; padding: 10px; }
#contentCheckout #fromInsurance .container { display: flex; gap: 12px; align-items: flex-start; padding: 0; margin: 0; max-width: none; }
#contentCheckout #fromInsurance .checkbox { flex: none; }
#contentCheckout #fromInsurance :is(p, span, div) { font-size: 14px; }

/* Código de descuento + total */
#contentCheckout .cont-cupon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; flex: 1 0 100%; }
#contentCheckout #ingresar-cupon, #contentCheckout .cont-cupon a { padding: 8px 14px; border: 0; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff !important; font: 500 13.5px/1.2 'Inter Tight', system-ui, sans-serif; text-decoration: none; cursor: pointer; }
#contentCheckout .cont-cupon input { max-width: 220px; min-height: 40px; }

/* Errores y botón final */
#contentCheckout .errorBottom { margin: 16px 0 0; }
#contentCheckout .cartBt { display: flex; justify-content: flex-end; margin: 22px 0 0; }
#contentCheckout #btnEnviarSolicitud input, #contentCheckout input#btnCheckout { min-height: 54px; padding: 14px 40px !important; font-size: 16.5px !important; }

@media (max-width: 760px) {
  #contentCheckout .checkoutBlock { padding: 16px; border-radius: 16px; }
  #contentCheckout .formCardsform { grid-template-columns: 1fr; }
  #contentCheckout .cartBt { justify-content: stretch; }
  #contentCheckout .cartBt > span, #contentCheckout #btnCheckout { width: 100% !important; }
  #contentCheckout #destinatario .checkoutBlInner2 { flex: 1 0 100%; }
}


/* ═════ Carrito (/es/Orders/cart) — 2026-10-15 ═══════════════════════════════════════════════════════════════════════ */
/* Totales: mismas barras que en Finalizar compra (antes amarilla y gris) */
.co-main-int .cartTotal { box-sizing: border-box; margin: 14px 0 0; padding: 14px 18px; border: 0; border-radius: 14px; background: var(--arena2); float: none; width: auto; }
.co-main-int .cartTotal dl { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; margin: 0; padding: 0; background: none; }
.co-main-int .cartTotal :is(dt, dd) { float: none; width: auto; margin: 0; padding: 0; background: none; font: 600 15px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--tinta); text-align: left; }
.co-main-int .cartTotal.big-total { margin-top: 18px; padding: 18px 22px; background: var(--tinta); }
.co-main-int .cartTotal.big-total :is(dt, dd) { color: #fff; font-size: 18px; }
.co-main-int .cartTotal.big-total dd { font-size: 22px; }
/* "Ir a paquetes almacenados" a la izquierda, "Continuar" a la derecha */
.co-main-int form.formCart .cartBt { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 22px 0 0; }
.co-main-int form.formCart .cartBt > span { margin: 0; }
.co-main-int form.formCart .cartBt > span.bt_back { order: 1; }
.co-main-int form.formCart .cartBt > span#btnEnviarSolicitud { order: 2; margin-left: auto; }
.co-main-int form.formCart .cartBt input.btnCheckout { min-height: 54px; padding: 14px 40px !important; font-size: 16.5px !important; }
/* Botón de la tabla: "Volver a recibidos" (antes una X) */
.co-main-int .cartTableWrapper td.cartTblBt input.co-quitar { width: auto !important; height: auto !important; min-height: 0; padding: 8px 14px !important; border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--borde) !important; color: var(--tinta) !important; font: 500 13px/1.2 'Inter Tight', system-ui, sans-serif !important; white-space: nowrap; cursor: pointer; }
.co-main-int .cartTableWrapper td.cartTblBt input.co-quitar:hover { background: rgba(229,72,77,.08) !important; box-shadow: inset 0 0 0 1px var(--mal) !important; color: var(--mal) !important; }
.co-main-int table#orderTable th.co-th-precio { text-align: right; }
.co-main-int table#orderTable td.cartTblST { text-align: right; white-space: nowrap; font-weight: 600; }
@media (max-width: 560px) {
  .co-main-int form.formCart .cartBt { flex-direction: column-reverse; align-items: stretch; }
  .co-main-int form.formCart .cartBt > span, .co-main-int form.formCart .cartBt :is(a, input) { box-sizing: border-box; width: 100% !important; margin: 0 !important; }
}
/* Finalizar compra, ajustes vistos con datos reales (2026-10-15) */
#contentCheckout .cartTableWrapper td.cartTblBt input.co-quitar { width: auto !important; height: auto !important; padding: 8px 14px !important; border-radius: 999px !important; color: var(--tinta) !important; font: 500 13px/1.2 'Inter Tight', system-ui, sans-serif !important; white-space: nowrap; }
#contentCheckout .formCardsform .third-little, #contentCheckout .formCardsform .third-little p { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left !important; }
#contentCheckout #fromInsurance .container, #contentCheckout #fromInsurance .checkbox { box-sizing: border-box; width: auto !important; max-width: 100% !important; }
#contentCheckout #fromInsurance .checkbox { display: flex; align-items: flex-start; gap: 12px; }
#contentCheckout #fromInsurance .checkbox input { flex: none; width: 20px !important; height: 20px; margin: 2px 0 0 !important; opacity: 1 !important; position: static !important; -webkit-appearance: checkbox !important; appearance: auto !important; accent-color: var(--tinta); }
#contentCheckout #fromInsurance .checkbox p { flex: 1 1 0; min-width: 0; width: auto !important; margin: 0; padding: 0 !important; }
#contentCheckout #fromInsurance .checkbox label { display: block; padding: 0 !important; margin: 0 !important; background: none !important; white-space: normal; }
#contentCheckout .cartTotal.big-total .cont-cupon { float: none !important; width: auto !important; }
#contentCheckout .cartTotal.big-total dd { margin-left: auto !important; text-align: right !important; }

/* Finalizar compra, segunda vuelta con el dueño (2026-10-15) */
/* Destinatario: una fila (combo + Modificar/Agregar); debajo "Franquicias: con cupo" y los datos (costa.js mueve #destInfo) */
#contentCheckout #destinatario .co-dest-fila { flex-wrap: nowrap; }
#contentCheckout #destinatario .co-dest-fila .checkoutBlInner1 { flex: 1 1 auto; }
#contentCheckout #destinatario .co-dest-fila .checkoutBlInner2 { display: flex; align-items: center; }
#contentCheckout #destinatario .co-dest-fila .checkoutBlInner2 > .checkoutDetail { display: none; }
.co-dest-fq-linea { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 14px; color: var(--gris); }
.co-dest-fq-linea:has(.co-dest-fq:empty) { display: none; }
.co-dest-fq-et { font-weight: 500; color: var(--tinta); }
#contentCheckout #destinatario > #destInfo { margin-top: 10px; font-size: 14px; line-height: 1.6; color: var(--gris); }
#contentCheckout #destinatario > #destInfo:not(:has(*)) { display: none; }
#contentCheckout #destinatario .co-dest-fila > :is(.checkoutBlInner1, .checkoutBlInner2) { padding: 0 !important; margin: 0 !important; height: auto !important; min-height: 0 !important; }
/* Costo de entrega: la vista le pone .cartTotalinternal (padding 15px 0) y el texto quedaba pegado al borde */
#contentCheckout .cartTotal.cartTotalinternal { padding: 14px 18px !important; }
/* Barra del total: el <div class="clearfix"> vacío ocupaba un hueco del flex y corría el importe a la izquierda */
#contentCheckout .cartTotal dl > .clearfix, #contentCheckout .cartTotal dl > div:empty { display: none !important; }
/* Tarjeta de compra: combo y, debajo, la ayuda (antes en una columna pegada a la derecha) */
#contentCheckout .formCards { padding: 18px 20px; }
#contentCheckout .formCardsform { grid-template-columns: minmax(0, 1fr); gap: 8px; }
#contentCheckout .formCardsform > .clearfix { display: none; }
#contentCheckout .formCardsform .formLine { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
#contentCheckout .formCardsform .third .formFieldWrap { max-width: 520px; }
#contentCheckout .formCardsform .third-little p { font-size: 13.5px !important; line-height: 1.5; color: var(--gris); }
/* (sin tarjetas cargadas: formulario de tarjeta nueva en 3 columnas) */
#contentCheckout .formCardsform:has(> .third + .third) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 18px; }
#contentCheckout .formCardsform:has(> .third + .third) .formLine { margin-bottom: 10px !important; }
#contentCheckout .formCardsform .formLabel { display: block; float: none; width: auto; margin: 0 0 4px; padding: 0; font-size: 13px; color: var(--gris); text-align: left; }
/* Código de descuento: caja propia arriba del total (costa.js la saca de la barra negra) */
#contentCheckout .co-cupon { box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 18px 0 0; padding: 16px 20px; border: 1.5px dashed #c9bda8; border-radius: 16px; background: var(--arena2); }
#contentCheckout .co-cupon-tit { margin: 0; padding: 0 !important;font: 600 15.5px/1.3 'Inter Tight', system-ui, sans-serif; color: var(--tinta); }
#contentCheckout .co-cupon .cont-cupon { flex: 1 1 auto; justify-content: flex-end; margin: 0; padding: 0 !important; }
#contentCheckout .co-cupon :is(#ingresar-cupon, #searchcodeBtn) { padding: 10px 18px !important; border: 0 !important; border-radius: 999px !important; background: var(--tinta) !important; color: #fff !important; font: 500 14px/1.2 'Inter Tight', system-ui, sans-serif !important; text-transform: none; text-decoration: none; cursor: pointer; }
#contentCheckout .co-cupon :is(#ingresar-cupon, #searchcodeBtn):hover { opacity: .85; }
#contentCheckout .co-cupon :is(#searchcodeDelete, #volverCode, #removeCode) { padding: 9px 16px !important; border: 0 !important; border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--borde); color: var(--tinta) !important; font: 500 14px/1.2 'Inter Tight', system-ui, sans-serif !important; text-decoration: none; }
#contentCheckout .co-cupon #verificar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
#contentCheckout .co-cupon input#searchcode { box-sizing: border-box; width: 220px !important; max-width: 100%; min-height: 42px; margin: 0; padding: 8px 14px; border: 1px solid var(--borde); border-radius: 999px; background: #fff; color: var(--tinta); font: 400 14.5px/1.2 'Inter Tight', system-ui, sans-serif; }
#contentCheckout .co-cupon #searchcodeMsg[style*="block"] { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
#contentCheckout .co-cupon .titleDesc { margin: 0 !important; padding: 0 !important; font-size: 13.5px; line-height: 1.5; color: var(--gris); text-align: left; }
#contentCheckout .co-cupon .titleDesc .clearfix { display: none; }
#contentCheckout .co-cupon:has(#searchcodeMsg[style*="block"]) .cont-cupon { flex-basis: 100%; justify-content: flex-start; }
#contentCheckout .co-cupon #searchcodeMsg #volverCode { order: 2; }
#contentCheckout .co-cupon #searchcodeMsg .titleDesc { flex: 1 1 300px; }
#contentCheckout .co-cupon #searchcodeMsg .titleDesc span { color: var(--mal); font-weight: 600; }
#contentCheckout .cartTotal.big-total { margin-top: 12px; }
#contentCheckout .cartTotal.big-total dl { flex-wrap: nowrap; }
#contentCheckout .cartTotal dd, .co-main-int .cartTotal dd { margin-left: auto !important; text-align: right !important; }
#contentCheckout .cartTotal.big-total dd#cartTotal { white-space: nowrap; }
@media (max-width: 760px) {
  #contentCheckout #destinatario .co-dest-fila { flex-wrap: wrap; }
  #contentCheckout #destinatario .co-dest-fila .checkoutBlInner2 { flex: 1 0 100%; }
  #contentCheckout .formCardsform:has(> .third + .third) { grid-template-columns: minmax(0, 1fr); }
  #contentCheckout .co-cupon .cont-cupon, #contentCheckout .co-cupon #verificar { justify-content: flex-start; }
}

/* ── Cómo lo uso: los 3 pasos y, debajo, la franja de registro (2026-10-15, pedido del dueño) ── */
.co-paso h4 { color: var(--tinta); }
.co-como-cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 30px; margin-top: 28px; padding: clamp(24px, 3vw, 36px) clamp(24px, 3.4vw, 44px); border-radius: 6px; background: var(--tinta); color: #fff; }
.co-como-cta h4 { margin: 0 0 6px; font-size: clamp(24px, 2.4vw, 32px); font-weight: 400; line-height: 1.1; letter-spacing: -.02em; color: #fff; }
.co-como-cta p { margin: 0; font-size: 16px; color: #bdb6aa; }
.co .co-como-cta .co-pill { background: #fff; color: var(--tinta); }
.co .co-como-cta .co-pill:hover { background: var(--arena); }
.co-como-cta .co-pill .ico { width: 18px; height: 18px; }
@media (min-width: 761px) {
  .co-como .co-pista { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; margin: 0; padding: 0; }
  .co-como .co-car-btn, .co-como .co-prog { display: none; }
}

/* ── Reseñas de Google (estáticas, elegidas por el dueño) ── */
.co-test .co-pasos-cab { align-items: flex-end; }
.co-test .co-pista { grid-auto-columns: clamp(290px, 30vw, 420px); }
.co-t { scroll-snap-align: start; margin: 0; padding: 30px 28px; background: var(--arena2); border-radius: 6px; display: flex; flex-direction: column; gap: 18px; min-height: 330px; }
.co-t-top { display: flex; justify-content: space-between; align-items: center; }
.co-t blockquote { margin: 0; flex: 1; font-size: clamp(17px, 1.35vw, 19.5px); line-height: 1.45; letter-spacing: -.01em; color: var(--tinta); }
.co-t figcaption { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
.co-av { grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--tinta); color: var(--arena); font-weight: 600; font-size: 14px; }
.co-t figcaption b { font-weight: 600; }
.co-t small { color: var(--gris); font-size: 13.5px; }
.co .estrellas { color: #e8a317; font-size: 16px; letter-spacing: 2px; }
.co-g { width: 20px; height: 20px; flex: none; }
.co-g-nota { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding: 10px 18px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--linea); font-size: 14.5px; color: var(--tinta); text-decoration: none; transition: box-shadow .25s; }
.co-g-nota:hover { box-shadow: inset 0 0 0 1px var(--tinta); }
.co-g-nota b { font-size: 17px; font-weight: 600; }
.co-g-nota span:not(.estrellas) { color: var(--gris); }
.co-g-nota > .ico { width: 16px; height: 16px; }
.co-g-nota { align-self: flex-start; width: max-content; max-width: 100%; box-sizing: border-box; }
@media (min-width: 761px) { .co-como .co-paso-img { aspect-ratio: 4 / 3.2; } }
.co-test .co-pasos-cab { flex-wrap: wrap; }
.co-test .co-pasos-cab > .co-cab-sec { flex: 1 1 280px; min-width: 0; }
@media (max-width: 560px) { .co-g-nota { width: auto; font-size: 13.5px; padding: 9px 14px; } .co-t { padding: 26px 22px; min-height: 0; } }
