:root {

  --black: #0d0d0d;

  --espresso: #17120e;

  --espresso-light: #211a14;

  --cream: #f4f0e8;

  --paper: #faf8f3;

  --white: #ffffff;

  --gold: #b29152;

  --gold-light: #cbb276;

  --text: #141414;

  --muted: #77716a;

  --line: #ded8ce;

}


* {
  box-sizing: border-box;
}


html {
  scroll-behavior: smooth;
}


body {

  margin: 0;

  background: var(--paper);

  color: var(--text);

  font-family: "DM Sans", Arial, sans-serif;

}


a {
  text-decoration: none;
  color: inherit;
}


img {

  display: block;

  max-width: 100%;

}


button,
input,
textarea {

  font-family: inherit;

}


/* =========================================================
   NAVEGACIÓN
========================================================= */

.nav {

  position: absolute;

  top: 0;

  left: 0;

  z-index: 50;

  width: 100%;

  height: 94px;

  padding: 0 5.5vw;

  display: grid;

  grid-template-columns: 1fr auto 1fr;

  align-items: center;

  border-bottom: 1px solid rgba(255,255,255,.12);

}


.brand {

  justify-self: start;

}


.brand img {

  height: 53px;

  width: auto;

  max-width: 260px;

  object-fit: contain;

}


.nav-links {

  display: flex;

  align-items: center;

  gap: 34px;

}


.nav-links a {

  color: rgba(255,255,255,.67);

  font-size: 11px;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: .2s ease;

}


.nav-links a:hover {

  color: var(--gold-light);

}


.nav-cta {

  justify-self: end;

  color: #ffffff;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: .1em;

  text-transform: uppercase;

  border: 1px solid rgba(255,255,255,.35);

  padding: 13px 18px;

  transition: .2s ease;

}


.nav-cta:hover {

  color: var(--black);

  background: var(--gold-light);

  border-color: var(--gold-light);

}


/* =========================================================
   HERO
========================================================= */

.hero {

  position: relative;

  min-height: 100vh;

  background: #10100f;

  overflow: hidden;

  display: flex;

  align-items: center;

}


.hero-image {

  position: absolute;

  inset: 0;

}


.hero-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: 70% center;

}


.hero-overlay {

  position: absolute;

  inset: 0;

  z-index: 1;

  background:

    linear-gradient(
      90deg,
      rgba(15,12,10,1) 0%,
      rgba(15,12,10,.98) 20%,
      rgba(15,12,10,.90) 39%,
      rgba(15,12,10,.55) 56%,
      rgba(15,12,10,.10) 77%,
      rgba(15,12,10,.10) 100%
    ),

    linear-gradient(
      0deg,
      rgba(0,0,0,.45) 0%,
      transparent 38%
    );

}


.hero-content {

  position: relative;

  z-index: 5;

  width: 100%;

  max-width: 1560px;

  margin: 0 auto;

  padding: 150px 6vw 80px;

}


.hero-copy {

  max-width: 760px;

}


.hero-kicker {

  display: flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 30px;

  color: var(--gold-light);

  font-size: 10px;

  font-weight: 600;

  letter-spacing: .22em;

}


.hero-kicker span {

  width: 42px;

  height: 1px;

  background: var(--gold);

}


.hero h1 {

  margin: 0;

  color: var(--cream);

  font-family: "Playfair Display", Georgia, serif;

  font-size: clamp(58px, 5.8vw, 96px);

  line-height: .88;

  font-weight: 400;

  letter-spacing: -.045em;

}


.hero h1 em {

  color: var(--gold-light);

  font-weight: 400;

}


.hero-lead {

  max-width: 580px;

  margin: 37px 0 0;

  color: rgba(244,240,232,.68);

  font-size: 17px;

  line-height: 1.72;

}


.hero-actions {

  display: flex;

  align-items: center;

  gap: 28px;

  margin-top: 40px;

}


.hero-primary {

  min-width: 255px;

  height: 57px;

  padding: 0 21px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  background: var(--gold);

  color: #16120e;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: .2s ease;

}


.hero-primary:hover {

  background: var(--gold-light);

  transform: translateY(-2px);

}


.hero-primary strong {

  font-size: 20px;

  font-weight: 400;

}


.hero-secondary {

  color: #cec6ba;

  font-size: 11px;

  letter-spacing: .08em;

  text-transform: uppercase;

  padding-bottom: 4px;

  border-bottom: 1px solid #776c60;

}


.hero-secondary:hover {

  color: var(--gold-light);

  border-color: var(--gold-light);

}


.hero-data {

  display: flex;

  gap: 42px;

  margin-top: 70px;

}


.hero-data > div {

  min-width: 125px;

  padding-top: 13px;

  border-top: 1px solid rgba(255,255,255,.17);

  display: flex;

  flex-direction: column;

  gap: 5px;

}


.hero-data strong {

  color: var(--gold-light);

  font-size: 13px;

  letter-spacing: .08em;

}


.hero-data span {

  color: rgba(255,255,255,.40);

  font-size: 8px;

  line-height: 1.4;

  letter-spacing: .07em;

  text-transform: uppercase;

}


.hero-caption {

  position: absolute;

  z-index: 5;

  right: 5.5vw;

  bottom: 39px;

  border-left: 1px solid var(--gold);

  padding-left: 14px;

  display: flex;

  flex-direction: column;

  gap: 5px;

}


.hero-caption span {

  color: var(--gold-light);

  font-size: 9px;

  letter-spacing: .18em;

}


.hero-caption strong {

  color: rgba(255,255,255,.65);

  font-size: 9px;

  font-weight: 500;

  letter-spacing: .09em;

}


/* =========================================================
   GENÉRICOS
========================================================= */

.eyebrow {

  margin: 0 0 24px;

  color: var(--gold);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: .22em;

}


.section-heading h2,
.advisor h2,
.results h2,
.editorial h2 {

  margin: 0;

  font-family: "Playfair Display", Georgia, serif;

  font-weight: 400;

  line-height: 1.02;

}


.section-heading h2 em,
.advisor h2 em,
.results h2 em,
.editorial h2 em {

  color: var(--gold);

  font-weight: 400;

}


/* =========================================================
   CÓMO FUNCIONA
========================================================= */

.trust {

  padding: 115px 7vw 125px;

  background: var(--paper);

}


.section-heading {

  max-width: 790px;

}


.section-heading h2 {

  font-size: clamp(48px, 5vw, 72px);

}


.trust-grid {

  margin-top: 80px;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 0;

  border-top: 1px solid var(--line);

}


.trust-grid article {

  padding: 32px 45px 10px 0;

}


.trust-grid article + article {

  border-left: 1px solid var(--line);

  padding-left: 45px;

}


.step {

  display: block;

  color: var(--gold);

  font-size: 11px;

  letter-spacing: .14em;

  margin-bottom: 34px;

}


.trust-grid h3 {

  margin: 0 0 16px;

  font-family: "Playfair Display", Georgia, serif;

  font-size: 28px;

  font-weight: 400;

}


.trust-grid p {

  max-width: 330px;

  margin: 0;

  color: var(--muted);

  font-size: 14px;

  line-height: 1.75;

}


/* =========================================================
   EDITORIAL
========================================================= */

.editorial {

  display: grid;

  grid-template-columns: 1.1fr .9fr;

  min-height: 650px;

  background: var(--espresso);

}


.editorial-image {

  overflow: hidden;

}


.editorial-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}


.editorial-copy {

  padding: 100px 7vw;

  display: flex;

  flex-direction: column;

  justify-content: center;

}


.editorial h2 {

  color: var(--cream);

  font-size: clamp(45px, 4.5vw, 66px);

  margin-bottom: 35px;

}


.editorial-copy > p:not(.eyebrow) {

  max-width: 500px;

  margin: 0 0 18px;

  color: rgba(255,255,255,.56);

  font-size: 14px;

  line-height: 1.78;

}


.editorial-link {

  margin-top: 24px;

  width: fit-content;

  color: var(--gold-light);

  display: flex;

  gap: 25px;

  align-items: center;

  padding-bottom: 6px;

  border-bottom: 1px solid #65583f;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: .08em;

  text-transform: uppercase;

}


/* =========================================================
   ASESOR
========================================================= */

.advisor {

  padding: 125px 7vw;

  background: var(--cream);

  display: grid;

  grid-template-columns: .72fr 1.28fr;

  gap: 8vw;

}


.advisor-intro {

  align-self: start;

  position: sticky;

  top: 45px;

}


.advisor h2 {

  font-size: clamp(48px, 5vw, 72px);

}


.advisor-intro > p:not(.eyebrow) {

  max-width: 420px;

  margin: 30px 0 0;

  color: var(--muted);

  font-size: 14px;

  line-height: 1.8;

}


.advisor-note {

  margin-top: 60px;

  padding-top: 20px;

  border-top: 1px solid #cbc4b7;

  display: flex;

  flex-direction: column;

  gap: 6px;

}


.advisor-note strong {

  color: var(--gold);

  font-size: 10px;

  letter-spacing: .14em;

}


.advisor-note span {

  max-width: 280px;

  color: #938a7c;

  font-size: 10px;

  line-height: 1.5;

}


/* =========================================================
   FORMULARIO
========================================================= */

.form-card {

  background: #ffffff;

  border: 1px solid #dfd9ce;

  padding: 46px;

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 34px 28px;

  box-shadow: 0 20px 50px rgba(30,20,10,.05);

}


.field {

  display: flex;

  flex-direction: column;

  gap: 11px;

}


.field.wide {

  grid-column: 1 / -1;

}


.field label {

  color: #524d46;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: .09em;

}


.field label small {

  margin-left: 7px;

  color: #aaa197;

  font-weight: 400;

  letter-spacing: 0;

}


.field input[type="number"] {

  width: 100%;

  border: 0;

  border-bottom: 1px solid #cfc9bf;

  background: transparent;

  outline: 0;

  padding: 12px 1px;

  color: var(--text);

  font-size: 16px;

}


.input-unit {

  border-bottom: 1px solid #cfc9bf;

  display: flex;

  align-items: center;

}


.input-unit input {

  border: 0 !important;

}


.input-unit span {

  color: #9a938a;

  font-size: 12px;

}


.chips {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

}


.chips button {

  padding: 11px 16px;

  background: #f9f7f2;

  border: 1px solid #ded8ce;

  color: #5b554d;

  cursor: pointer;

  font-size: 11px;

  transition: .2s ease;

}


.chips button:hover {

  border-color: var(--gold);

}


.chips button.active {

  background: var(--espresso);

  border-color: var(--espresso);

  color: #ffffff;

}


.budget-line {

  display: flex;

  align-items: center;

  gap: 25px;

}


.budget-line input {

  flex: 1;

  accent-color: var(--gold);

}


.budget-line output {

  min-width: 100px;

  color: var(--gold);

  font-family: "Playfair Display", Georgia, serif;

  font-size: 23px;

  text-align: right;

}


.range-labels {

  display: flex;

  justify-content: space-between;

  color: #aaa297;

  font-size: 9px;

}


#comments {

  width: 100%;

  min-height: 135px;

  padding: 15px;

  resize: vertical;

  background: #faf8f4;

  border: 1px solid #ded8ce;

  outline: none;

  color: var(--text);

  font-size: 13px;

  line-height: 1.65;

}


#comments:focus {

  border-color: var(--gold);

}


.upload {

  min-height: 82px;

  border: 1px dashed #c3bbaf;

  padding: 20px;

  display: flex;

  align-items: center;

  gap: 16px;

  cursor: pointer;

  transition: .2s ease;

}


.upload:hover {

  border-color: var(--gold);

  background: #faf8f4;

}


.upload-icon {

  width: 37px;

  height: 37px;

  display: flex;

  align-items: center;

  justify-content: center;

  border: 1px solid var(--gold);

  color: var(--gold);

  font-size: 21px;

}


.upload span:last-child {

  display: flex;

  flex-direction: column;

  gap: 4px;

}


.upload strong {

  font-size: 12px;

}


.upload small {

  margin: 0 !important;

  color: #9b948a !important;

  font-size: 9px;

}


.photo-name {

  color: var(--gold);

  font-size: 10px;

}


.submit {

  width: 100%;

  min-height: 58px;

  padding: 0 21px;

  border: 0;

  background: var(--espresso);

  color: #ffffff;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: space-between;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition: .2s ease;

}


.submit:hover {

  background: #2c2119;

  transform: translateY(-2px);

}


.privacy {

  margin: 12px 0 0;

  color: #a39c92;

  font-size: 9px;

  line-height: 1.5;

  text-align: center;

}


/* =========================================================
   RESULTADOS
========================================================= */

.results {

  padding: 120px 7vw;

  background: #111110;

  color: #ffffff;

}


.results.hidden {

  display: none;

}


.results h2 {

  max-width: 850px;

  color: var(--cream);

  font-size: clamp(48px, 5vw, 72px);

}


.result-grid {

  margin-top: 65px;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 18px;

}


.result-card {

  min-height: 440px;

  padding: 27px;

  background: #191918;

  border: 1px solid #302e2a;

}


.result-card img {

  width: 100%;

  height: 240px;

  object-fit: contain;

  margin-bottom: 22px;

  background: #121211;

}


.rank {

  color: var(--gold-light);

  font-size: 9px;

  letter-spacing: .15em;

}


.result-card h3 {

  margin: 14px 0 3px;

  font-family: "Playfair Display", Georgia, serif;

  font-size: 27px;

  font-weight: 400;

}


.model {

  color: #aaa49d;

  font-size: 12px;

}


.facts {

  margin: 23px 0;

  padding: 15px 0;

  border-top: 1px solid #33312e;

  border-bottom: 1px solid #33312e;

  color: #c4bfba;

  font-size: 11px;

  line-height: 1.9;

}


.reason {

  color: #aaa59e;

  font-size: 12px;

  line-height: 1.7;

}


.result-note {

  margin-top: 24px;

  color: #86817b;

  font-size: 10px;

}


/* =========================================================
   FOOTER
========================================================= */

footer {

  padding: 55px 7vw;

  background: #090909;

  color: #8c8882;

  display: grid;

  grid-template-columns: 1fr 1fr;

  align-items: center;

  gap: 25px;

}


.footer-brand img {

  height: 43px;

  width: auto;

  max-width: 230px;

}


footer p {

  margin: 0;

  color: #79756f;

  font-size: 11px;

  line-height: 1.6;

  text-align: right;

}


footer small {

  grid-column: 1 / -1;

  padding-top: 22px;

  border-top: 1px solid #252422;

  color: #5e5a56;

  font-size: 9px;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {


  .nav {

    grid-template-columns: 1fr auto;

  }


  .nav-links {

    display: none;

  }


  .hero-image img {

    object-position: 65% center;

  }


  .hero-overlay {

    background:

      linear-gradient(
        90deg,
        rgba(15,12,10,1) 0%,
        rgba(15,12,10,.95) 45%,
        rgba(15,12,10,.5) 70%,
        rgba(15,12,10,.15) 100%
      );

  }


  .hero h1 {

    font-size: clamp(56px, 8vw, 82px);

  }


  .trust-grid {

    grid-template-columns: 1fr;

  }


  .trust-grid article {

    padding: 30px 0;

  }


  .trust-grid article + article {

    border-left: 0;

    border-top: 1px solid var(--line);

    padding-left: 0;

  }


  .editorial {

    grid-template-columns: 1fr;

  }


  .editorial-image {

    height: 500px;

  }


  .advisor {

    grid-template-columns: 1fr;

  }


  .advisor-intro {

    position: static;

  }


  .result-grid {

    grid-template-columns: 1fr;

  }


}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 620px) {


  .nav {

    height: 75px;

    padding: 0 20px;

  }


  .brand img {

    height: 40px;

    max-width: 180px;

  }


  .nav-cta {

    display: none;

  }


  .hero {

    min-height: 900px;

    align-items: flex-end;

  }


  .hero-image {

    height: 53%;

  }


  .hero-image img {

    object-position: 67% center;

  }


  .hero-overlay {

    background:

      linear-gradient(
        0deg,
        rgba(15,12,10,1) 0%,
        rgba(15,12,10,1) 43%,
        rgba(15,12,10,.73) 62%,
        rgba(15,12,10,.10) 100%
      );

  }


  .hero-content {

    padding: 290px 20px 70px;

  }


  .hero-kicker {

    font-size: 8px;

    line-height: 1.5;

  }


  .hero h1 {

    font-size: 48px;

    line-height: .92;

  }


  .hero-lead {

    margin-top: 27px;

    font-size: 15px;

  }


  .hero-actions {

    flex-direction: column;

    align-items: stretch;

  }


  .hero-primary {

    width: 100%;

  }


  .hero-secondary {

    align-self: flex-start;

  }


  .hero-data {

    gap: 10px;

    margin-top: 48px;

  }


  .hero-data > div {

    min-width: 0;

    flex: 1;

  }


  .hero-caption {

    display: none;

  }


  .trust {

    padding: 80px 20px;

  }


  .section-heading h2 {

    font-size: 45px;

  }


  .trust-grid {

    margin-top: 55px;

  }


  .editorial-image {

    height: 380px;

  }


  .editorial-copy {

    padding: 70px 20px;

  }


  .editorial h2 {

    font-size: 44px;

  }


  .advisor {

    padding: 80px 20px;

  }


  .advisor h2 {

    font-size: 45px;

  }


  .form-card {

    grid-template-columns: 1fr;

    padding: 25px 20px;

  }


  .field,
  .field.wide {

    grid-column: 1 / -1;

  }


  .budget-line {

    flex-direction: column;

    align-items: stretch;

    gap: 12px;

  }


  .budget-line output {

    text-align: left;

  }


  .chips button {

    flex-grow: 1;

  }


  .results {

    padding: 80px 20px;

  }


  .results h2 {

    font-size: 45px;

  }


  footer {

    padding: 45px 20px;

    grid-template-columns: 1fr;

  }


  footer p {

    text-align: left;

  }


}
/* =========================================================
   CALIBREAI24 · RESULTADOS VERIFICADOS V1
========================================================= */
.watch-product-image{height:240px;margin:-27px -27px 24px;background:#121211;display:flex;align-items:center;justify-content:center;overflow:hidden}
.watch-product-image img{width:100%;height:100%;margin:0;object-fit:contain;background:#121211}
.watch-product-placeholder{flex-direction:column;gap:14px;color:#77716a}
.placeholder-watch{width:92px;height:92px;border:1px solid #655a45;border-radius:50%;position:relative;opacity:.65}
.placeholder-watch:before,.placeholder-watch:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:28px;background:#b99a59;transform-origin:bottom center}
.placeholder-watch:before{transform:translate(-50%,-100%) rotate(35deg)}
.placeholder-watch:after{height:21px;transform:translate(-50%,-100%) rotate(125deg)}
.placeholder-crown{position:absolute;width:8px;height:18px;border:1px solid #655a45;right:-8px;top:36px}
.image-coming{font-size:8px;letter-spacing:.18em;text-transform:uppercase}
.fact-row{display:flex;justify-content:space-between;gap:20px;padding:3px 0}
.fact-row span{color:#77716a;font-size:8px;letter-spacing:.12em}
.fact-row strong{text-align:right;color:#d4cec6;font-weight:500}
.reason-label,.buy-label{display:block;color:#b99a59;font-size:8px;letter-spacing:.16em;margin-bottom:8px}
.calibre-reason{min-height:105px}
.buy-zone{margin-top:22px;padding-top:18px;border-top:1px solid #33312e;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.buy-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.buy-meta strong{font-size:11px;color:#eee8df;font-weight:500}
.buy-meta small{font-size:9px;color:#8f8981}
.buy-button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid #b99a59;color:#d7bd80;text-decoration:none;text-transform:uppercase;font-size:8px;letter-spacing:.1em;white-space:nowrap;transition:.2s ease}
.buy-button:hover{background:#b99a59;color:#111}
.buy-button-official{border-color:#5c5549;color:#c9c1b5}
.buy-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.buy-button-amazon{border-color:#8b7650;color:#d7bd80}
.affiliate-note{margin:8px 0 0;color:#77716a;font-size:8px;line-height:1.45;text-align:right}
.buy-zone-pending{opacity:.75}
@media(max-width:900px){.buy-zone{align-items:stretch;flex-direction:column}.buy-actions{width:100%;flex-direction:column}.buy-button{width:100%}.affiliate-note{text-align:left}.watch-product-image{height:210px}}

/* ASESOR VISUAL V2 — filtros de afinado */
.filter-help{margin:10px 0 0;color:rgba(31,27,23,.58);font:400 12px/1.55 "DM Sans",sans-serif}
.advisor-filter{padding-top:2px}
.filter-chips{gap:8px}
.filter-chips button{min-height:40px;padding:10px 15px}
@media(max-width:720px){.filter-chips button{flex:1 1 calc(50% - 8px)}}

/* Asesor Visual V2.1 — rango real de presupuesto */
.budget-range-values{display:flex;align-items:flex-end;justify-content:flex-end;gap:18px;margin:2px 0 12px}
.budget-range-values>div{display:flex;flex-direction:column;min-width:110px}
.budget-range-values small{font-size:9px;letter-spacing:.16em;color:#8d8478;margin-bottom:3px}
.budget-range-values strong{font-family:'Playfair Display',serif;font-size:20px;font-weight:500;color:var(--gold)}
.budget-range-values>span{padding-bottom:3px;color:#a49b90}
.dual-range{position:relative;height:28px;margin:0 3px}
.dual-range-track,.dual-range-fill{position:absolute;top:12px;left:0;right:0;height:5px;border-radius:5px}
.dual-range-track{background:#373735}
.dual-range-fill{background:var(--gold);z-index:1}
.dual-range input[type=range]{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:2}
.dual-range input[type=range]::-webkit-slider-runnable-track{height:5px;background:transparent}
.dual-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;border-radius:50%;background:var(--gold);border:0;margin-top:-6px;pointer-events:auto;cursor:pointer}
.dual-range input[type=range]::-moz-range-track{height:5px;background:transparent}
.dual-range input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:var(--gold);border:0;pointer-events:auto;cursor:pointer}
.filter-chips button{position:relative;z-index:1;pointer-events:auto}

/* Asesor V2.2 — presupuesto escrito */
.budget-inputs{display:flex;align-items:flex-end;gap:22px;max-width:520px;margin-top:8px}
.budget-box{display:flex!important;flex-direction:column;gap:7px;flex:1;margin:0!important}
.budget-box>span:first-child{font-size:9px;letter-spacing:.16em;color:#71695f;font-weight:700}
.budget-entry{display:flex;align-items:center;border-bottom:1px solid #bdb4a7;padding:0 0 8px}
.budget-entry input{width:100%;border:0!important;outline:0;background:transparent;font:500 25px/1 'Playfair Display',serif;color:#17120e;padding:0!important;box-shadow:none!important}
.budget-entry b{font:500 22px/1 'Playfair Display',serif;color:#b29152}
.budget-separator{padding-bottom:10px;color:#9c9285}
@media(max-width:620px){.budget-inputs{gap:12px}.budget-entry input{font-size:22px}.budget-separator{display:none}}

/* Progress feedback while the AI prepares the selection */
.submit.is-loading{position:relative;overflow:hidden;display:block!important;text-align:left!important;padding:0!important;cursor:wait;}
.submit.is-loading:hover{transform:none!important;background:var(--espresso)!important;}
.submit-progress-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(203,178,118,.34);transition:width .45s ease;z-index:0;}
.submit-progress-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:0 21px;box-sizing:border-box;color:#fff;}
.submit-progress-track{position:absolute;left:21px;right:21px;bottom:9px;height:2px;background:rgba(255,255,255,.18);z-index:1;}
.submit-progress-line{display:block;height:100%;width:0;background:#cbb276;transition:width .45s ease;}
.submit-progress-percent{color:#d8b968;font-variant-numeric:tabular-nums;}

/* V4: progreso de consulta claramente visible */
.submit.is-loading{min-height:64px!important;background:#11100f!important;border:1px solid #cbb276!important;color:#fff!important;}
.submit-progress-fill{background:rgba(203,178,118,.28)!important;}
.submit-progress-track{height:4px!important;bottom:7px!important;background:rgba(255,255,255,.22)!important;}
.submit-progress-line{background:#d8b968!important;}
.submit-progress-percent{font-weight:700!important;font-size:12px!important;color:#f1d58f!important;}
.filter-help{margin:6px 0 10px;color:#8a8177;font-size:12px;line-height:1.45;}

/* =========================================================
   CALIBREAI24 · NAVEGACIÓN EDITORIAL CONTEXTUAL
========================================================= */
.ca24-backbar{
  position:absolute;z-index:12;top:112px;left:max(24px,5.5vw);
  display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.76);
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:9px 0;border-bottom:1px solid rgba(203,178,118,.42);transition:.2s ease;
}
.ca24-backbar:hover{color:#cbb276;border-color:#cbb276}
.ca24-backbar .arrow{font-size:15px;line-height:1;font-weight:400}
@media(max-width:800px){
  .ca24-backbar{top:91px;left:20px;font-size:9px;padding:7px 0}
  main>.hero:first-child,main>.guide-hero:first-child{padding-top:42px!important}
}

/* CalibreAI24 · criterios explícitos del perfil en resultados */
.result-criteria{margin:22px 0 34px;padding:16px 18px;border:1px solid rgba(178,143,80,.42);display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap;background:rgba(178,143,80,.055)}
.result-criteria strong{font-size:9px;letter-spacing:.16em;color:#b28f50;white-space:nowrap}.result-criteria span{font-size:12px;line-height:1.5;color:inherit;text-transform:capitalize}
@media(max-width:700px){.result-criteria{align-items:flex-start;flex-direction:column}}

/* Feedback de afinado del asesor */
.watch-feedback{border-top:1px solid rgba(181,145,75,.18);margin-top:22px;padding-top:18px}
.watch-feedback-label{display:block;color:#b5914b;font-size:10px;letter-spacing:.16em;margin-bottom:11px}
.watch-feedback-actions{display:flex;gap:9px;flex-wrap:wrap}
.watch-feedback-btn,.refine-selection{appearance:none;border:1px solid rgba(181,145,75,.45);background:transparent;color:#e9e2d6;min-height:42px;padding:0 15px;font-size:10px;letter-spacing:.08em;cursor:pointer;transition:.18s ease}
.watch-feedback-btn:hover,.watch-feedback-btn.is-selected,.refine-selection:hover{background:#b5914b;color:#111;border-color:#b5914b}
.watch-feedback-status{display:block;min-height:18px;margin-top:10px;color:#bdb3a3;font-size:11px}
.refine-selection{display:block;margin:26px auto 14px;min-height:48px;padding:0 24px;color:#b5914b}
@media(max-width:600px){.watch-feedback-actions{display:grid;grid-template-columns:1fr}.watch-feedback-btn{width:100%}}
