* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --kia-red:#C4122F; --nissan-red:#C3002F;
  --dark:#0a0a0a; --dark2:#111; --dark3:#1a1a1a;
  --silver:#b0b8c1; --light:#f0f0f0; --white:#fff;
  --accent:#e8192c;
}
html { scroll-behavior:smooth; }
body { font-family:'Segoe UI',Arial,sans-serif; background:var(--dark); color:var(--light); overflow-x:hidden; }

/* ── CUSTOM CURSOR ── */
body, a, button, [role="button"], .service-card, .contact-card, .brand-card, .quick-card { cursor:none; }
@media (pointer:coarse) {
  body, a, button, [role="button"], .service-card, .contact-card, .brand-card, .quick-card { cursor:auto; }
  #cursor-dot, #cursor-ring { display:none; }
}
#cursor-dot {
  position:fixed; top:0; left:0; width:6px; height:6px;
  background:var(--accent); border-radius:50%; pointer-events:none;
  transform:translate(-50%,-50%); z-index:99999;
  transition:opacity .3s;
}
#cursor-ring {
  position:fixed; top:0; left:0; width:36px; height:36px;
  border:2px solid rgba(232,25,44,.5); border-radius:50%; pointer-events:none;
  transform:translate(-50%,-50%); z-index:99998;
  transition:width .25s ease, height .25s ease, border-color .25s ease, background .25s ease, opacity .3s;
}
#cursor-ring.hovered {
  width:52px; height:52px;
  border-color:var(--accent);
  background:rgba(232,25,44,.08);
}
#cursor-ring.clicked {
  width:18px; height:18px;
  background:rgba(232,25,44,.3);
  border-color:var(--accent);
  transition:width .1s ease, height .1s ease, background .1s ease;
}
#cursor-dot.clicked {
  transform:translate(-50%,-50%) scale(2.5);
  transition:transform .1s ease;
}
.cursor-ripple {
  position:fixed; border-radius:50%; pointer-events:none; z-index:99997;
  width:8px; height:8px;
  background:rgba(232,25,44,.6);
  transform:translate(-50%,-50%) scale(1);
  animation:cursor-ripple-anim .5s ease-out forwards;
}
@keyframes cursor-ripple-anim {
  to { transform:translate(-50%,-50%) scale(8); opacity:0; }
}

/* ── NAV ── */
nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(10,10,10,.92); backdrop-filter:blur(10px); border-bottom:2px solid var(--accent); display:flex; align-items:center; justify-content:space-between; padding:0 40px; height:70px; }
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.brand-kia    { font-size:1.1rem; font-weight:900; letter-spacing:3px; color:var(--kia-red); }
.brand-nissan { font-size:1.1rem; font-weight:900; letter-spacing:3px; color:var(--silver); }
.brand-sep    { color:rgba(176,184,193,.25); margin:0 10px; font-weight:300; font-size:1rem; }
.nav-tagline { font-size:.7rem; color:var(--silver); letter-spacing:1px; margin-left:6px; }
.nav-links { display:flex; gap:30px; }
.nav-links a { color:var(--silver); text-decoration:none; font-size:.88rem; letter-spacing:1px; text-transform:uppercase; transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--accent); }
.nav-cta { background:var(--accent); color:white; padding:9px 22px; border-radius:4px; text-decoration:none; font-weight:700; font-size:.85rem; letter-spacing:1px; transition:background .2s, transform .1s; }
.nav-cta:hover { background:#a8001f; transform:scale(1.03); }

/* ── HERO ── */
.hero { min-height:100vh; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background: radial-gradient(ellipse 80% 60% at 20% 50%, rgba(196,18,47,.18) 0%, transparent 60%), radial-gradient(ellipse 80% 60% at 80% 50%, rgba(195,0,47,.14) 0%, transparent 60%), radial-gradient(ellipse 50% 80% at 50% 100%, rgba(180,0,40,.10) 0%, transparent 60%); }
.hero-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(196,18,47,.07) 1px,transparent 1px), linear-gradient(90deg,rgba(196,18,47,.07) 1px,transparent 1px); background-size:50px 50px; transform:perspective(600px) rotateX(20deg) scale(1.3); transform-origin:bottom; }
.brand-oval { position:absolute; border-radius:50%; border:1px solid; opacity:.06; animation:pulse 4s ease-in-out infinite alternate; }
.oval1 { width:600px; height:300px; top:10%; left:-5%;   border-color:var(--kia-red);   animation-delay:0s; }
.oval2 { width:700px; height:350px; top:30%; right:-8%;  border-color:var(--nissan-red); animation-delay:1s; }
.oval3 { width:400px; height:200px; bottom:5%; left:30%; border-color:var(--accent);     animation-delay:2s; }
@keyframes pulse { from{opacity:.04;transform:scale(1)} to{opacity:.12;transform:scale(1.04)} }
.hero-content { position:relative; z-index:2; text-align:center; padding:20px; max-width:800px; }
.hero-brands { display:flex; justify-content:center; align-items:center; gap:20px; margin-bottom:30px; }
.hero-brand-badge { display:flex; align-items:center; justify-content:center; width:110px; height:50px; border-radius:6px; font-weight:900; letter-spacing:4px; }
.kia-badge    { background:var(--kia-red); color:white; font-size:1.4rem; }
.nissan-badge { background:transparent; color:white; border:2px solid #ccc; letter-spacing:2px; font-size:1rem; }
.hero-divider { width:2px; height:50px; background:linear-gradient(to bottom,transparent,var(--silver),transparent); }
.hero-title { font-size:clamp(2rem,5vw,3.6rem); font-weight:900; line-height:1.15; color:var(--white); text-transform:uppercase; letter-spacing:2px; }
.hero-title span { color:var(--accent); }
.hero-subtitle { margin:20px auto 36px; max-width:580px; font-size:1.1rem; color:var(--silver); line-height:1.7; }
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-primary { background:var(--accent); color:white; padding:14px 34px; border-radius:4px; text-decoration:none; font-weight:700; font-size:.95rem; letter-spacing:1px; text-transform:uppercase; transition:all .2s; border:2px solid var(--accent); }
.btn-primary:hover { background:transparent; color:var(--accent); }
.btn-outline { background:transparent; color:var(--silver); padding:14px 34px; border-radius:4px; text-decoration:none; font-weight:600; font-size:.95rem; letter-spacing:1px; text-transform:uppercase; border:2px solid var(--silver); transition:all .2s; }
.btn-outline:hover { border-color:white; color:white; }

/* ── STRIP ── */
.brand-strip { background:var(--accent); padding:14px 0; overflow:hidden; }
.strip-track { display:flex; gap:60px; white-space:nowrap; animation:marquee 22s linear infinite; }
.strip-track span { font-size:.8rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.85); }
.strip-track span::before { content:'— '; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── QUICK NAV (home) ── */
.quick-nav { padding:80px 40px; background:var(--dark); }
.quick-nav-label { font-size:.72rem; letter-spacing:4px; text-transform:uppercase; color:var(--accent); margin-bottom:10px; text-align:center; }
.quick-nav-title { font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:var(--white); text-align:center; margin-bottom:10px; }
.quick-nav-sub { font-size:.95rem; color:var(--silver); text-align:center; margin-bottom:50px; }
.quick-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:20px; max-width:1000px; margin:0 auto; }
.quick-card { background:var(--dark3); border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:30px 24px; text-decoration:none; color:inherit; transition:border-color .2s,transform .2s; display:block; position:relative; overflow:hidden; }
.quick-card::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--accent); transform:scaleX(0); transition:transform .3s; transform-origin:left; }
.quick-card:hover { border-color:rgba(196,18,47,.4); transform:translateY(-4px); }
.quick-card:hover::before { transform:scaleX(1); }
.quick-card-icon { font-size:1.8rem; margin-bottom:14px; }
.quick-card h3 { font-size:.95rem; font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; }
.quick-card p { font-size:.83rem; color:var(--silver); line-height:1.6; }
.quick-card-arrow { display:block; margin-top:18px; color:var(--accent); font-size:.8rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; transition:transform .2s; }
.quick-card:hover .quick-card-arrow { transform:translateX(5px); }

/* ── SCROLL ANIMATIONS ── */
[data-anim] { opacity:0; transform:translateY(32px); transition:opacity .6s ease, transform .6s ease; }
[data-anim].in-view { opacity:1; transform:translateY(0); }
[data-anim="left"]  { transform:translateX(-32px); }
[data-anim="left"].in-view  { transform:translateX(0); }
[data-anim="right"] { transform:translateX(32px); }
[data-anim="right"].in-view { transform:translateX(0); }
[data-anim-delay="1"] { transition-delay:.1s; }
[data-anim-delay="2"] { transition-delay:.2s; }
[data-anim-delay="3"] { transition-delay:.3s; }
[data-anim-delay="4"] { transition-delay:.4s; }
[data-anim-delay="5"] { transition-delay:.5s; }
[data-anim-delay="6"] { transition-delay:.6s; }

/* ── VENDEDOR ── */
.vendedor-layout { display:flex; align-items:center; gap:40px; max-width:860px; margin:0 auto; }
.vendedor-avatar { width:100px; height:100px; min-width:100px; border-radius:50%; background:linear-gradient(135deg,var(--kia-red),#6b0014); display:flex; align-items:center; justify-content:center; font-size:2rem; font-weight:900; color:white; letter-spacing:2px; border:3px solid rgba(196,18,47,.4); box-shadow:0 0 40px rgba(196,18,47,.2); }
.vendedor-label { font-size:.7rem; letter-spacing:4px; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.vendedor-name { font-size:clamp(1.8rem,3vw,2.6rem); font-weight:900; color:var(--white); letter-spacing:1px; margin-bottom:14px; }
.vendedor-desc { font-size:.92rem; color:var(--silver); line-height:1.75; max-width:560px; margin-bottom:22px; }
.vendedor-wa { display:inline-flex; align-items:center; gap:9px; background:#25D366; color:white; padding:12px 26px; border-radius:8px; text-decoration:none; font-weight:700; font-size:.9rem; transition:all .2s; }
.vendedor-wa:hover { background:#1da851; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,.25); }
@media (max-width:768px) { .vendedor-layout { flex-direction:column; text-align:center; } .vendedor-desc { max-width:100%; } }

/* ── PAGE BANNER (interior pages) ── */
/* Para usar foto real: agrega class "page-banner--photo" y pon la imagen en --banner-img */
.page-banner {
  padding:140px 40px 80px;
  background:var(--dark);
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative; overflow:hidden;
  min-height:300px;
}
/* Capa 1: imagen opcional + gradiente de profundidad */
.page-banner::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 65% 90% at 8% 50%,  rgba(196,18,47,.22) 0%, transparent 55%),
    radial-gradient(ellipse 35% 55% at 92% 15%,  rgba(195,0,47,.10) 0%, transparent 50%),
    linear-gradient(160deg, #0f0003 0%, #0a0a0a 45%, #111827 100%);
  pointer-events:none;
}
/* Capa 2: grid diagonal */
.page-banner::after {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(196,18,47,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,18,47,.05) 1px, transparent 1px);
  background-size:44px 44px;
  transform:perspective(500px) rotateX(10deg) scale(1.15);
  transform-origin:bottom;
  pointer-events:none; opacity:.7;
}
.page-banner-inner { position:relative; z-index:1; max-width:800px; }
.page-banner-label { font-size:.72rem; letter-spacing:4px; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.page-banner h1 { font-size:clamp(2rem,4.5vw,3.2rem); font-weight:900; color:var(--white); letter-spacing:1px; margin-bottom:14px; }
.page-banner p { font-size:1rem; color:var(--silver); line-height:1.7; max-width:520px; }

/* ── SECTION CONTENT ── */
.section-content { padding:80px 40px; }
.section-content.dark2 { background:var(--dark2); }
.section-content.dark  { background:var(--dark); }

/* ── SERVICIOS ── */
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px; max-width:1100px; margin:0 auto; }
.service-card { background:var(--dark3); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:30px 24px; transition:border-color .2s,transform .2s; position:relative; overflow:hidden; }
.service-card::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--accent); transform:scaleX(0); transition:transform .3s; transform-origin:left; }
.service-card:hover { border-color:rgba(196,18,47,.4); transform:translateY(-4px); }
.service-card:hover::before { transform:scaleX(1); }
.service-icon { width:50px; height:50px; background:rgba(196,18,47,.12); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:1.5rem; }
.service-card h3 { font-size:1rem; font-weight:700; color:var(--white); margin-bottom:10px; text-transform:uppercase; letter-spacing:1px; }
.service-card p  { font-size:.88rem; color:var(--silver); line-height:1.6; }

/* ── MARCAS ── */
.brands-layout { display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:900px; margin:0 auto; }
.brand-card { border-radius:12px; padding:40px 30px; }
.kia-card    { background:linear-gradient(135deg,#1a0006,#2d0010,#1a0006); border:1px solid rgba(196,18,47,.3); }
.nissan-card { background:linear-gradient(135deg,#0d0d0d,#1a1a1a,#0d0d0d); border:1px solid rgba(200,200,200,.15); }
.brand-card-name { font-size:2.8rem; font-weight:900; letter-spacing:6px; margin-bottom:20px; }
.kia-card .brand-card-name    { color:var(--kia-red); }
.nissan-card .brand-card-name { color:var(--silver); }
.brand-card ul { list-style:none; display:flex; flex-direction:column; gap:8px; }
.brand-card ul li { font-size:.9rem; color:var(--silver); padding-left:16px; position:relative; line-height:1.5; }
.brand-card ul li::before { content:'›'; position:absolute; left:0; color:var(--accent); font-weight:700; }

/* ── COTIZACION ── */
.quote-wrapper { max-width:760px; margin:0 auto; background:var(--dark3); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:50px; position:relative; overflow:hidden; }
.quote-wrapper::before { content:''; position:absolute; top:0;left:0;right:0; height:4px; background:linear-gradient(90deg,var(--kia-red),var(--nissan-red)); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.form-full { grid-column:1/-1; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:.78rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--silver); font-weight:600; }
.form-group input, .form-group select, .form-group textarea { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:6px; padding:12px 14px; color:var(--white); font-size:.95rem; font-family:inherit; transition:border-color .2s,background .2s; outline:none; width:100%; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--accent); background:rgba(196,18,47,.06); }
.form-group select option { background:#1a1a1a; }
.form-group textarea { resize:vertical; min-height:120px; }
.form-terms { margin-top:24px; }
.terms-check { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.terms-check input[type="checkbox"] { width:16px; height:16px; min-width:16px; margin-top:2px; accent-color:var(--accent); cursor:pointer; }
.terms-check span { font-size:.83rem; color:var(--silver); line-height:1.5; }
.terms-check a { color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(232,25,44,.4); transition:color .2s,border-color .2s; }
.terms-check a:hover { color:white; border-color:white; }
.form-submit { margin-top:30px; text-align:center; }
.form-submit button { background:var(--accent); color:white; padding:15px 50px; border:none; border-radius:6px; font-size:1rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; cursor:pointer; transition:all .2s; width:100%; max-width:320px; }
.form-submit button:hover { background:#a8001f; transform:translateY(-2px); }
.form-submit button:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.form-note { text-align:center; margin-top:16px; font-size:.8rem; color:rgba(176,184,193,.6); }
.success-msg { display:none; background:rgba(0,180,80,.1); border:1px solid rgba(0,180,80,.4); border-radius:8px; padding:24px; text-align:center; color:#4ade80; font-size:1rem; margin-top:20px; font-weight:600; }

/* ── CONTACTO ── */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:1100px; margin:0 auto; align-items:stretch; }

/* Info panel */
.contact-info-panel { background:var(--dark3); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:44px 40px; position:relative; overflow:hidden; }
.contact-info-panel::before { content:''; position:absolute; top:0;left:0;right:0; height:4px; background:linear-gradient(90deg,var(--kia-red),var(--nissan-red)); }
.contact-panel-label { font-size:.7rem; letter-spacing:4px; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.contact-panel-title { font-size:clamp(1.5rem,2.5vw,2.1rem); font-weight:900; color:var(--white); line-height:1.2; margin-bottom:40px; }
.contact-info-list { display:flex; flex-direction:column; gap:28px; }
.contact-info-item { display:flex; align-items:flex-start; gap:18px; }
.contact-info-icon { width:46px; height:46px; min-width:46px; background:rgba(196,18,47,.1); border:1px solid rgba(196,18,47,.2); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.contact-info-body { display:flex; flex-direction:column; gap:4px; }
.contact-info-label { font-size:.68rem; letter-spacing:2px; text-transform:uppercase; color:var(--accent); font-weight:600; }
.contact-info-value { font-size:.95rem; color:var(--silver); text-decoration:none; line-height:1.6; }
.contact-info-value:hover { color:white; }
a.contact-info-value { transition:color .2s; }

/* CTA panel */
.contact-cta-panel { background:linear-gradient(145deg,#1f0008,#2d000f,#1a0006); border:1px solid rgba(196,18,47,.3); border-radius:14px; padding:44px 40px; display:flex; align-items:center; position:relative; overflow:hidden; }
.contact-cta-panel::after { content:''; position:absolute; bottom:-80px; right:-80px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(196,18,47,.15) 0%,transparent 70%); pointer-events:none; }
.contact-cta-inner { position:relative; z-index:1; display:flex; flex-direction:column; gap:0; width:100%; }
.contact-cta-badge { display:inline-block; background:rgba(196,18,47,.2); border:1px solid rgba(196,18,47,.4); color:var(--accent); font-size:.68rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:20px; width:fit-content; }
.contact-cta-title { font-size:clamp(1.4rem,2.2vw,1.9rem); font-weight:900; color:var(--white); line-height:1.2; margin-bottom:16px; }
.contact-cta-desc { font-size:.9rem; color:rgba(176,184,193,.75); line-height:1.7; margin-bottom:32px; }
.contact-wa-btn { display:flex; align-items:center; justify-content:center; gap:10px; background:#25D366; color:white; padding:15px 28px; border-radius:8px; text-decoration:none; font-weight:700; font-size:.95rem; letter-spacing:.5px; transition:all .2s; margin-bottom:12px; }
.contact-wa-btn:hover { background:#1da851; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,.25); }
.contact-quote-btn { display:flex; align-items:center; justify-content:center; background:transparent; color:var(--silver); padding:13px 28px; border-radius:8px; text-decoration:none; font-weight:600; font-size:.88rem; letter-spacing:.5px; border:1px solid rgba(255,255,255,.15); transition:all .2s; text-transform:uppercase; }
.contact-quote-btn:hover { border-color:rgba(255,255,255,.4); color:white; }

/* Map btn (ubicacion) */
.map-btn { display:inline-flex; align-items:center; gap:8px; background:rgba(196,18,47,.1); border:1px solid rgba(196,18,47,.3); color:var(--accent); padding:8px 16px; border-radius:6px; font-size:.78rem; font-weight:700; letter-spacing:.5px; text-decoration:none; transition:all .2s; text-transform:uppercase; }
.map-btn:hover { background:var(--accent); color:white !important; border-color:var(--accent); }

@media (max-width:768px) {
  .contact-layout { grid-template-columns:1fr; }
  .contact-info-panel, .contact-cta-panel { padding:30px 24px; }
}

/* ── FOOTER ── */
footer { background:var(--dark2); border-top:1px solid rgba(255,255,255,.07); padding:40px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.footer-brand { display:flex; gap:10px; align-items:center; }
.footer-copy  { font-size:.8rem; color:rgba(176,184,193,.5); }

/* ── CHAT WIDGET ── */
#chat-widget { position:fixed; bottom:28px; right:28px; z-index:999; }
#chat-toggle { width:60px; height:60px; border-radius:50%; background:var(--accent); border:none; cursor:pointer; font-size:1.5rem; color:white; box-shadow:0 4px 24px rgba(232,25,44,.5); transition:transform .2s, background .2s; display:flex; align-items:center; justify-content:center; position:relative; }
#chat-toggle:hover { transform:scale(1.08); background:#a8001f; }
#chat-badge { position:absolute; top:-4px; right:-4px; width:20px; height:20px; background:#ff4757; border-radius:50%; font-size:.68rem; color:white; font-weight:700; display:none; align-items:center; justify-content:center; border:2px solid var(--dark); }
#chat-window { display:none; position:absolute; bottom:72px; right:0; width:320px; background:#1a1a1a; border:1px solid rgba(255,255,255,.1); border-radius:14px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.7); }
#chat-window.open { display:flex; flex-direction:column; animation:slideUp .25s ease; }
@keyframes slideUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
#chat-header { background:var(--accent); padding:14px 18px; display:flex; align-items:center; justify-content:space-between; }
.chat-header-info h4 { font-size:.9rem; font-weight:700; color:white; letter-spacing:.5px; }
.chat-header-info span { font-size:.72rem; color:rgba(255,255,255,.8); display:flex; align-items:center; gap:5px; }
.chat-header-info span::before { content:''; width:7px; height:7px; background:#4ade80; border-radius:50%; animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }
#chat-close { background:none; border:none; color:rgba(255,255,255,.7); font-size:1.1rem; cursor:pointer; padding:4px; line-height:1; transition:color .2s; }
#chat-close:hover { color:white; }
#chat-name-section { padding:12px 14px 0; }
#chat-name-section input { width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:6px; padding:9px 12px; color:white; font-size:.85rem; font-family:inherit; outline:none; transition:border-color .2s; }
#chat-name-section input:focus { border-color:var(--accent); }
#chat-msgs { flex:1; height:220px; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; }
#chat-msgs::-webkit-scrollbar { width:3px; }
#chat-msgs::-webkit-scrollbar-thumb { background:rgba(255,255,255,.12); border-radius:2px; }
.chat-bubble { max-width:85%; padding:9px 13px; border-radius:12px; font-size:.85rem; line-height:1.4; }
.bubble-cliente { background:rgba(255,255,255,.09); color:var(--light); align-self:flex-end; border-bottom-right-radius:3px; }
.bubble-admin   { background:rgba(232,25,44,.15); border:1px solid rgba(232,25,44,.22); color:var(--light); align-self:flex-start; border-bottom-left-radius:3px; }
.bubble-time    { font-size:.66rem; color:rgba(176,184,193,.45); margin-top:3px; }
.bubble-cliente .bubble-time { text-align:right; }
.chat-empty { color:rgba(176,184,193,.4); font-size:.82rem; text-align:center; margin:auto; }
#chat-input-row { padding:10px 14px 14px; display:flex; gap:8px; }
#chat-msg-input { flex:1; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:6px; padding:9px 12px; color:white; font-size:.85rem; font-family:inherit; outline:none; transition:border-color .2s; }
#chat-msg-input:focus { border-color:var(--accent); }
#chat-send-btn { background:var(--accent); border:none; border-radius:6px; padding:0 14px; color:white; font-size:.95rem; cursor:pointer; transition:background .2s; flex-shrink:0; }
#chat-send-btn:hover { background:#a8001f; }

/* ── HERO PROMO LINK ── */
.hero-promo-link { display:inline-flex; align-items:center; gap:10px; margin-top:28px; position:relative; background:rgba(232,25,44,.1); border:1px solid rgba(232,25,44,.4); color:var(--light); text-decoration:none; padding:10px 22px; border-radius:30px; font-size:.85rem; font-weight:600; letter-spacing:.5px; transition:background .25s, border-color .25s, transform .2s; }
.hero-promo-link:hover { background:rgba(232,25,44,.2); border-color:var(--accent); transform:scale(1.03); }
.hero-promo-pulse { display:inline-block; width:9px; height:9px; background:var(--accent); border-radius:50%; flex-shrink:0; animation:hero-pulse 1.5s ease-in-out infinite; }
@keyframes hero-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(232,25,44,.6)} 50%{box-shadow:0 0 0 7px rgba(232,25,44,0)} }

/* ── PROMO ACCESORIOS ── */
.promo-accesorios { background:var(--dark2); padding:80px 40px; }
.promo-header { text-align:center; margin-bottom:50px; }
.promo-badge { display:inline-block; background:var(--accent); color:white; font-size:.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:6px 18px; border-radius:20px; margin-bottom:18px; }
.promo-title { font-size:2rem; font-weight:900; letter-spacing:1px; margin-bottom:14px; }
.promo-sub { color:var(--silver); font-size:.95rem; max-width:600px; margin:0 auto 32px; line-height:1.6; }
.promo-brand-discounts { display:flex; align-items:center; justify-content:center; gap:0; margin-top:10px; }
.promo-discount-kia, .promo-discount-nissan { display:flex; flex-direction:column; align-items:center; padding:20px 48px; border-radius:12px; }
.promo-discount-kia { background:rgba(196,18,47,.15); border:2px solid var(--kia-red); }
.promo-discount-nissan { background:rgba(176,184,193,.08); border:2px solid var(--silver); }
.promo-discount-divider { width:2px; height:80px; background:rgba(255,255,255,.1); margin:0 24px; }
.discount-pct { font-size:3rem; font-weight:900; line-height:1; }
.promo-discount-kia .discount-pct { color:var(--kia-red); }
.promo-discount-nissan .discount-pct { color:var(--silver); }
.discount-label { font-size:.78rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-top:6px; }
.promo-discount-kia .discount-label { color:var(--kia-red); }
.promo-discount-nissan .discount-label { color:var(--silver); }
.promo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1100px; margin:0 auto; }
.promo-card { background:var(--dark3); border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.07); transition:transform .25s, box-shadow .25s; }
.promo-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(232,25,44,.18); }
.promo-card.featured { border:2px solid var(--accent); box-shadow:0 0 30px rgba(232,25,44,.15); }
.promo-img-wrap { position:relative; overflow:hidden; aspect-ratio:4/3; }
.promo-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.promo-card:hover .promo-img-wrap img { transform:scale(1.06); }
.promo-popular { position:absolute; top:14px; right:14px; background:#ffd700; color:#111; font-size:.65rem; font-weight:700; padding:4px 10px; border-radius:20px; letter-spacing:1px; text-transform:uppercase; }
.promo-info { padding:22px 24px 26px; }
.promo-info h3 { font-size:1.15rem; font-weight:700; margin-bottom:10px; }
.promo-info p { color:var(--silver); font-size:.85rem; line-height:1.55; margin-bottom:18px; }
.promo-btn { display:block; text-align:center; background:var(--accent); color:white; padding:11px 0; border-radius:6px; text-decoration:none; font-weight:700; font-size:.88rem; letter-spacing:1px; transition:background .2s, transform .1s; }
.promo-btn:hover { background:#a8001f; transform:scale(1.02); }
.promo-footer { text-align:center; margin-top:48px; }
.promo-footer p { color:var(--silver); font-size:.88rem; margin-bottom:20px; line-height:2; }
.promo-wa { display:inline-flex; align-items:center; gap:8px; background:#25D366; color:white; padding:12px 28px; border-radius:8px; text-decoration:none; font-weight:700; font-size:.9rem; transition:background .2s, transform .1s; }
.promo-wa:hover { background:#1aad54; transform:scale(1.03); }

/* ── PROMO CODE BANNER ── */
.promo-code-banner { background:linear-gradient(135deg, rgba(196,18,47,.12) 0%, rgba(10,10,10,0) 60%), var(--dark3); border-top:2px solid var(--accent); border-bottom:2px solid rgba(196,18,47,.2); padding:50px 40px; }
.promo-code-inner { max-width:1000px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:50px; }
.promo-code-left { flex:1; }
.promo-code-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:12px; }
.promo-code-left h3 { font-size:1.7rem; font-weight:900; margin-bottom:12px; }
.promo-code-left p { color:var(--silver); font-size:.9rem; line-height:1.6; }
.promo-code-right { display:flex; flex-direction:column; align-items:center; gap:14px; flex-shrink:0; }
.promo-code-label { font-size:.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--silver); }
.promo-code-box { display:flex; align-items:center; gap:14px; background:rgba(0,0,0,.4); border:2px dashed var(--accent); border-radius:10px; padding:16px 24px; }
.promo-code-text { font-size:2rem; font-weight:900; letter-spacing:8px; color:var(--accent); }
.promo-code-copy { background:var(--accent); border:none; color:white; padding:8px 16px; border-radius:6px; font-size:.78rem; font-weight:700; cursor:pointer; transition:background .2s; white-space:nowrap; }
.promo-code-copy:hover { background:#a8001f; }
.promo-code-hint { font-size:.75rem; color:rgba(176,184,193,.55); text-align:center; transition:color .3s; }
.promo-code-cta { display:inline-block; background:transparent; border:2px solid var(--accent); color:var(--accent); padding:10px 24px; border-radius:6px; text-decoration:none; font-weight:700; font-size:.85rem; letter-spacing:1px; transition:background .2s, color .2s; }
.promo-code-cta:hover { background:var(--accent); color:white; }

/* ── RESPONSIVE ── */
@media (max-width:768px) {
  nav { padding:0 20px; }
  .nav-links { display:none; }
  .page-banner { padding:95px 20px 45px; }
  .section-content, .quick-nav { padding:60px 20px; }
  .brands-layout { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .quote-wrapper { padding:30px 20px; }
  footer { flex-direction:column; align-items:center; text-align:center; }
  #chat-window { width:300px; right:-4px; }
  .promo-accesorios { padding:60px 20px; }
  .promo-grid { grid-template-columns:1fr; gap:20px; }
  .promo-title { font-size:1.5rem; }
  .promo-discount-kia, .promo-discount-nissan { padding:16px 28px; }
  .discount-pct { font-size:2.2rem; }
  .promo-code-inner { flex-direction:column; gap:30px; text-align:center; }
  .promo-code-text { font-size:1.5rem; letter-spacing:5px; }
  .promo-code-banner { padding:40px 20px; }
}
