
:root{
  --pc-blue:#1b4ddb;
  --pc-blue-dark:#153eb2;
  --pc-ink:#10204a;
  --pc-ink-2:#172b59;
  --pc-soft:#f4f7fc;
  --pc-soft-blue:#eaf1ff;
  --pc-line:#d7e2f5;
  --pc-muted:#62708f;
  --pc-white:#fff;
  --pc-green:#25d366;
  --pc-shadow:0 18px 48px rgba(16,32,74,.09);
}

.public-cotizador{
  min-height:100vh;
  background:
    radial-gradient(circle at 0 0,rgba(27,77,219,.08),transparent 32rem),
    linear-gradient(180deg,#f8faff 0,#f3f6fb 52%,#eef3fb 100%);
  color:var(--pc-ink);
}
.public-cotizador *{scrollbar-color:#b5c6e8 #eef3fb}
.public-cotizador h1,.public-cotizador h2,.public-cotizador h3,.public-cotizador .topbar-title{
  font-family:'Santander Headline','Santander Text',Arial,sans-serif;
}
.public-cotizador .public-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96);
  color:var(--pc-ink);
  border-bottom:1px solid var(--pc-line);
  box-shadow:0 4px 22px rgba(16,32,74,.04);
  backdrop-filter:blur(14px);
}
.public-cotizador .public-nav{
  max-width:1180px;
  min-height:78px;
  padding:12px 24px;
  justify-content:space-between;
}
.public-cotizador .brand-link{display:inline-flex;align-items:center;text-decoration:none}
.public-cotizador .topbar .brand-logo{width:138px;max-width:34vw;max-height:48px;object-fit:contain}
.public-nav-links{display:flex;align-items:center;gap:26px;font-size:.9rem;font-weight:700}
.public-nav-links a{color:var(--pc-ink);text-decoration:none;white-space:nowrap}
.public-nav-links a:not(.nav-quote){position:relative;padding:12px 0}
.public-nav-links a:not(.nav-quote):after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:3px;background:var(--pc-blue);transition:.2s ease}
.public-nav-links a:not(.nav-quote):hover:after{right:0}
.public-nav-links .nav-quote{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:10px;
  color:#fff;
  background:var(--pc-blue);
  box-shadow:0 10px 24px rgba(27,77,219,.22);
}
.public-nav-links .nav-quote:hover{background:var(--pc-blue-dark)}

.public-cotizador .page-form{max-width:1100px;padding:34px 24px 54px}
.public-cotizador .quote-form{display:block}
.public-cotizador .quote-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);
  gap:34px;
  align-items:center;
  margin:0 0 18px;
  padding:46px 48px;
  border:0;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(84,141,255,.36),transparent 24rem),
    linear-gradient(120deg,#0c1835 0%,#132d63 58%,#1b4ddb 100%);
  box-shadow:0 24px 60px rgba(16,32,74,.18);
}
.public-cotizador .quote-hero:after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  right:-155px;
  bottom:-220px;
}
.public-cotizador .quote-hero-copy,.public-cotizador .quote-hero-panel{position:relative;z-index:1}
.public-cotizador .pill{
  min-height:28px;
  padding:0 12px;
  color:#dbe8ff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.7rem;
}
.public-cotizador .quote-hero h1{
  max-width:690px;
  margin:16px 0 16px;
  font-size:clamp(2.45rem,5vw,4.8rem);
  line-height:.94;
  letter-spacing:-.052em;
  color:#fff;
}
.public-cotizador .quote-hero p{
  max-width:700px;
  margin:0;
  color:#e4edff;
  font-size:1.06rem;
  line-height:1.65;
}
.hero-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.hero-trust span{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.10);font-size:.75rem;font-weight:700;color:#fff}
.hero-trust span:before{content:"✓";color:#9cc2ff;font-weight:900}
.quote-hero-panel{padding:24px;border-radius:18px;background:rgba(7,19,44,.38);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.quote-hero-panel strong{display:block;font-family:'Santander Headline','Santander Text',Arial,sans-serif;font-size:1.15rem;margin-bottom:7px}
.quote-hero-panel span{display:block;color:#dbe6fa;font-size:.86rem;line-height:1.55}
.quote-hero-panel a{display:inline-flex;margin-top:17px;color:#fff;font-size:.79rem;font-weight:800}

.quote-progress{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin:0 0 18px;
  padding:10px;
  border:1px solid var(--pc-line);
  border-radius:16px;
  background:rgba(255,255,255,.80);
  box-shadow:0 10px 30px rgba(16,32,74,.05);
  overflow:auto;
}
.quote-progress span{min-width:108px;display:flex;align-items:center;gap:8px;padding:8px 9px;color:var(--pc-muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.quote-progress b{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:var(--pc-soft-blue);color:var(--pc-blue);font-size:.72rem}

.public-cotizador .section-card{
  position:relative;
  margin-bottom:16px;
  padding:25px 28px 28px;
  border:1px solid var(--pc-line);
  border-radius:19px;
  background:#fff;
  box-shadow:0 12px 36px rgba(16,32,74,.055);
}
.public-cotizador .active-card{border-color:var(--pc-line);box-shadow:0 12px 36px rgba(16,32,74,.055)}
.public-cotizador .section-card:before{content:"";position:absolute;left:0;top:25px;bottom:25px;width:4px;border-radius:0 5px 5px 0;background:var(--pc-blue)}
.public-cotizador .section-head{gap:14px;margin-bottom:20px}
.public-cotizador .section-number{width:34px;height:34px;margin-top:0;background:var(--pc-blue);font-size:.8rem;box-shadow:0 8px 18px rgba(27,77,219,.22)}
.public-cotizador .section-head h2{font-size:1.38rem;color:var(--pc-ink);letter-spacing:-.015em}
.public-cotizador .section-head p{margin-top:5px;color:var(--pc-muted);font-size:.82rem;line-height:1.5}
.public-cotizador .field{color:var(--pc-ink);font-size:.72rem;letter-spacing:.015em}
.public-cotizador input,.public-cotizador select,.public-cotizador textarea{
  min-height:46px;
  margin-top:7px;
  padding:12px 14px;
  border:1px solid #cfdaf0;
  border-radius:10px;
  background:#fbfcff;
  color:var(--pc-ink);
  font-size:.9rem;
}
.public-cotizador textarea{min-height:106px}
.public-cotizador input::placeholder,.public-cotizador textarea::placeholder{color:#8b98b4}
.public-cotizador input:focus,.public-cotizador select:focus,.public-cotizador textarea:focus{border-color:var(--pc-blue);background:#fff;box-shadow:0 0 0 4px rgba(27,77,219,.10)}
.public-cotizador .choice-card{min-height:52px;padding:10px 14px;border-color:#cfdaf0;border-radius:11px;color:var(--pc-ink);background:#fbfcff;font-size:.82rem}
.public-cotizador .choice-card:has(input:checked){border-color:#8caaf0;background:#eef3ff;box-shadow:inset 0 0 0 1px rgba(27,77,219,.10)}
.public-cotizador input[type=radio],.public-cotizador input[type=checkbox]{accent-color:var(--pc-blue)}
.public-cotizador .simple-upload{min-height:168px;border:1.5px dashed #9fb5df;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f3f7ff)}
.public-cotizador .simple-upload.is-dragover{border-color:var(--pc-blue);background:#edf3ff}
.public-cotizador .upload-title{font-family:'Santander Headline','Santander Text',Arial,sans-serif;color:var(--pc-ink);font-size:1.02rem}
.public-cotizador .upload-note{font-size:.8rem;color:var(--pc-muted)}
.public-cotizador .upload-button-fake{min-height:38px;height:auto;padding:0 18px;border-radius:9px;background:var(--pc-blue);box-shadow:0 8px 18px rgba(27,77,219,.18)}
.public-cotizador .selected-file{color:var(--pc-blue)}
.public-cotizador .multifile-help{color:var(--pc-muted);font-size:.74rem}
.public-cotizador .selected-file-card{border-color:var(--pc-line);border-radius:14px;background:#fbfcff}
.public-cotizador .selected-file-info strong{color:var(--pc-ink)}
.public-cotizador .remove-selected-file{background:#fff0f2;color:#a92b39}
.public-cotizador .form-actions{margin-top:24px;padding:24px 4px 6px;border-top:1px solid var(--pc-line)}
.public-cotizador .footer-note{max-width:650px;color:var(--pc-muted);font-size:.77rem;text-align:left}
.public-cotizador .btn-primary,.public-cotizador .primary{
  min-width:220px;
  min-height:50px;
  border-radius:10px;
  background:var(--pc-blue);
  box-shadow:0 12px 25px rgba(27,77,219,.24);
  font-size:.9rem;
}
.public-cotizador .btn-primary:hover,.public-cotizador .primary:hover{background:var(--pc-blue-dark)}
.public-cotizador .alert{border-radius:12px}

.public-footer{background:#0d1832;color:#fff}
.public-footer-inner{max-width:1180px;margin:0 auto;padding:32px 24px;display:flex;justify-content:space-between;gap:28px;align-items:center}
.public-footer-inner>div:first-child{display:flex;flex-direction:column;gap:4px}
.public-footer strong{font-family:'Santander Headline','Santander Text',Arial,sans-serif;font-size:1.05rem}
.public-footer span{color:#bfcbea;font-size:.78rem}
.footer-links{display:flex;flex-wrap:wrap;gap:22px}
.footer-links a{color:#dfe7fb;font-size:.78rem;font-weight:700}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:999;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--pc-green);box-shadow:0 12px 30px rgba(37,211,102,.30);transition:.18s ease}
.floating-whatsapp:hover{transform:translateY(-2px) scale(1.03)}
.floating-whatsapp img{width:28px;height:28px;filter:brightness(0) invert(1)}

.success-page .page.narrow{max-width:820px;padding:58px 24px 80px}
.success-page .success-card{padding:48px 34px;border-color:var(--pc-line);border-radius:22px;box-shadow:var(--pc-shadow)}
.success-page .check{width:76px;height:76px;background:#e7f8ee;color:#13884c}
.success-page .success-card h1{color:var(--pc-ink);font-size:clamp(2rem,4vw,3rem)}
.success-page .success-card p{color:var(--pc-muted)}
.success-page .folio-box{border-color:var(--pc-line);background:#f5f8ff}
.success-page .folio-box strong{color:var(--pc-blue)}

@media(max-width:900px){
  .public-cotizador .quote-hero{grid-template-columns:1fr;padding:38px 34px}
  .quote-hero-panel{max-width:520px}
  .quote-progress{grid-template-columns:repeat(7,130px)}
  .public-cotizador .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .public-cotizador .public-nav{min-height:70px;padding:10px 16px}
  .public-cotizador .topbar .brand-logo{width:112px}
  .public-nav-links{gap:10px;font-size:.75rem}
  .public-nav-links a:first-child{display:none}
  .public-nav-links .nav-quote{min-height:38px;padding:0 12px}
  .public-cotizador .page-form{padding:20px 14px 42px}
  .public-cotizador .quote-hero{padding:32px 24px;border-radius:19px}
  .public-cotizador .quote-hero h1{font-size:2.7rem}
  .public-cotizador .section-card{padding:22px 18px 24px}
  .public-cotizador .grid.two,.public-cotizador .grid.three{grid-template-columns:1fr}
  .public-cotizador .grid.three>label.field,.public-cotizador .grid.two>label.field{grid-column:auto}
  .public-cotizador .form-actions{flex-direction:column;align-items:stretch}
  .public-cotizador .footer-note{text-align:center}
  .public-cotizador .btn-primary{width:100%}
  .public-footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:460px){
  .public-nav-links a:nth-child(2){font-size:0}
  .public-nav-links a:nth-child(2):after{content:"Pedidos";font-size:.75rem;position:static;background:none;height:auto}
  .public-cotizador .quote-hero h1{font-size:2.3rem}
  .hero-trust{display:grid}
  .floating-whatsapp{right:14px;bottom:14px;width:50px;height:50px}
}
