/* ================================
   Mapa Inicial de Orientación — UX/UI
   ================================ */
:root {
  --map-bg: #f5efe6;
  --map-paper: rgba(255, 252, 247, 0.78);
  --map-paper-strong: rgba(255, 252, 247, 0.92);
  --map-ink: #142321;
  --map-gold: #a98035;
  --map-line: rgba(169, 128, 53, 0.22);
  --map-line-dark: rgba(31, 43, 56, 0.16);
  --map-shadow: 0 20px 60px rgba(31, 43, 56, 0.08);
}

body.mapa-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.72), transparent 34rem),
    linear-gradient(180deg, #f7f1e8 0%, #f3eee7 52%, #efe7da 100%);
}

body.mapa-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .54;
  background-image: url("data:image/svg+xml,%3Csvg width='1200' height='900' viewBox='0 0 1200 900' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23a98035' stroke-opacity='.20' stroke-width='1.15'%3E%3Cpath d='M-70 122 C90 54 173 91 262 42 C372 -18 475 25 557 0'/%3E%3Cpath d='M-55 176 C93 114 188 143 292 90 C397 37 482 70 599 31'/%3E%3Cpath d='M-35 234 C103 178 204 199 315 145 C437 85 524 122 647 76'/%3E%3Cpath d='M805 -40 C865 80 994 72 1044 172 C1094 274 1170 303 1270 262'/%3E%3Cpath d='M820 22 C890 136 995 137 1012 236 C1036 365 1160 376 1264 340'/%3E%3Cpath d='M-92 742 C50 660 181 710 275 626 C372 539 463 590 536 510'/%3E%3Cpath d='M-80 812 C62 733 178 777 302 686 C410 607 517 652 594 574'/%3E%3Cpath d='M736 970 C793 842 895 832 947 736 C1016 607 1112 642 1270 552'/%3E%3Cpath d='M790 980 C848 876 942 857 1004 758 C1086 626 1164 696 1284 602'/%3E%3C/g%3E%3Cg fill='none' stroke='%23a98035' stroke-opacity='.35' stroke-width='2' stroke-dasharray='10 12'%3E%3Cpath d='M70 205 C22 272 58 350 20 412 C-9 458 8 528 55 582'/%3E%3Cpath d='M1108 334 C1078 420 1129 494 1096 568 C1055 660 1110 730 1070 820'/%3E%3C/g%3E%3Cg fill='%23a98035' fill-opacity='.65'%3E%3Ccircle cx='82' cy='190' r='8'/%3E%3Ccircle cx='1100' cy='592' r='7'/%3E%3Cpath d='M58 332 l12 12 m0-12 l-12 12' stroke='%23a98035' stroke-width='4' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 1180px 900px;
  background-position: center top;
  background-repeat: repeat-y;
}

body.mapa-page .site-header,
body.mapa-page main,
body.mapa-page .site-footer { position: relative; z-index: 1; }

.mapa-hero,
.mapa-test-shell,
.mapa-result-shell {
  position: relative;
  overflow: hidden;
}

.mapa-hero::before,
.mapa-test-shell::before,
.mapa-result-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background:
    radial-gradient(circle at 18% 22%, rgba(169,128,53,.18), transparent 16rem),
    radial-gradient(circle at 86% 76%, rgba(169,128,53,.13), transparent 18rem);
}

.mapa-hero {
  min-height: calc(100svh - var(--header-height));
  display: flex;
  align-items: center;
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.mapa-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.mapa-hero-copy { max-width: 760px; }
.mapa-hero-copy h1 { font-size: clamp(2.4rem, 6vw, 5.2rem); }
.mapa-hero-lead {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  max-width: 58ch;
  text-align: left;
}
.mapa-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 1.35rem 0 1.5rem;
  padding: 0;
  list-style: none;
}
.mapa-meta li {
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.46);
  border-radius: 999px;
  padding: 0.46rem 0.72rem;
  color: var(--text-soft);
  font-size: 0.92rem;
}

.mapa-hero-card {
  background: var(--map-paper-strong);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: clamp(1.4rem, 3vw, 2rem);
  box-shadow: var(--map-shadow);
}
.mapa-hero-card h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.mapa-check-list {
  display: grid;
  gap: 0.72rem;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
}
.mapa-check-list li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  color: var(--text-soft);
}
.mapa-check-list li::before {
  content: "✦";
  color: var(--map-gold);
  line-height: 1.4;
}

.mapa-intro-grid,
.dimension-grid {
  display: grid;
  gap: 1rem;
}
.dimension-card,
.mapa-step-card,
.mapa-result-card,
.mapa-share-card,
.mapa-form-panel,
.mapa-feedback-panel {
  background: rgba(255,255,255,0.58);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 12px 36px rgba(31,43,56,0.045);
}
.dimension-card {
  padding: 1.15rem;
}
.dimension-card span {
  color: var(--map-gold);
  font-size: 0.74rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 700;
}
.dimension-card h3 {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 1.04rem;
  letter-spacing: 0;
  margin: 0.45rem 0 0.4rem;
}
.dimension-card p { margin: 0; text-align: left; }

.mapa-care {
  background: rgba(255,255,255,0.48);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(1.2rem, 2.5vw, 1.7rem);
  margin-top: 1.4rem;
}
.mapa-care p { text-align: left; }
.mapa-care a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }

.mapa-hidden { display: none !important; }

.mapa-test-shell,
.mapa-result-shell {
  padding: clamp(3rem, 7vw, 6rem) 0;
}
.mapa-step-card {
  position: relative;
  z-index: 1;
  padding: clamp(1.2rem, 3vw, 2.2rem);
}
.mapa-progress-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.3rem;
}
.mapa-step-label {
  color: var(--map-gold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 0.76rem;
  font-weight: 700;
}
.mapa-progress-track {
  flex: 1;
  height: 7px;
  background: rgba(31,43,56,0.08);
  border-radius: 999px;
  overflow: hidden;
}
.mapa-progress-bar {
  display: block;
  height: 100%;
  width: 16.66%;
  background: linear-gradient(90deg, var(--map-gold), rgba(169,128,53,0.42));
  border-radius: inherit;
  transition: width 260ms ease;
}
.mapa-step-title h2 { margin-bottom: 0.65rem; }
.mapa-step-title p { text-align: left; max-width: 70ch; }
.question-list { display: grid; gap: 1rem; margin-top: 1.6rem; }
.question-card {
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.48);
  border-radius: 20px;
  padding: 1rem;
}
.question-card legend {
  padding: 0;
  margin-bottom: 0.8rem;
  color: var(--text);
  font-weight: 600;
  line-height: 1.45;
}
.likert-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  align-items: stretch;
}
.likert-option { position: relative; }
.likert-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.likert-option > span {
  display: grid;
  min-height: 74px;
  height: 100%;
  align-items: center;
  justify-items: center;
  align-content: center;
  gap: .22rem;
  text-align: center;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  padding: 0.62rem 0.52rem;
  font-size: 0.76rem;
  line-height: 1.18;
  color: var(--text-soft);
  background: rgba(255,255,255,0.72);
  cursor: pointer;
  transition: all 160ms ease;
}
.likert-option input:checked + .likert-card {
  background: var(--text);
  color: #fff;
  border-color: var(--text);
  box-shadow: 0 10px 24px rgba(31,43,56,0.10);
}
.likert-option > .likert-card:hover { border-color: var(--map-gold); color: var(--text); transform: translateY(-1px); }
.likert-number { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; line-height: 1; color: var(--map-ink); }
.likert-label { display:block; max-width: 10ch; }
.likert-option input:checked + .__legacy_unused .likert-number,
.likert-option input:checked + .__legacy_unused .likert-label { color:#fff; }
.mapa-nav-actions {
  display: flex;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: 1.4rem;
}
.mapa-error {
  color: #8a3d2f;
  background: rgba(138,61,47,0.08);
  border: 1px solid rgba(138,61,47,0.18);
  border-radius: 16px;
  padding: 0.85rem 1rem;
  margin-top: 1rem;
}
.mapa-transition {
  text-align: center;
  padding: 3rem 1rem;
}
.mapa-transition h2 { margin-bottom: 0.5rem; }

.result-hero-card {
  text-align: center;
  padding: clamp(1.6rem, 4vw, 3rem);
  background: var(--map-paper-strong);
}
.result-position {
  color: var(--map-ink);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.5rem, 8vw, 5.2rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0.45rem 0 1rem;
}
.result-phrase {
  color: var(--text);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  max-width: 52ch;
  margin: 0 auto;
  text-align: center;
}
.result-reading {
  max-width: 78ch;
  margin: 1.2rem auto 0;
  text-align: left;
}
.result-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.dimension-bars {
  display: grid;
  gap: 0.75rem;
}
.dimension-bar-row {
  display: grid;
  gap: 0.35rem;
}
.dimension-bar-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--text);
  font-weight: 600;
}
.dimension-bar-label {
  color: var(--text-soft);
  font-size: 0.9rem;
  font-weight: 500;
}
.dimension-bar-track {
  height: 13px;
  border-radius: 999px;
  background: rgba(31,43,56,0.075);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(31,43,56,0.04);
}
.dimension-bar-fill {
  display:block;
  height: 100%;
  min-width: 8%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(169,128,53,0.52), var(--map-gold));
  transition: width 420ms ease;
}
.dimension-bar-row.is-low .dimension-bar-fill { background: linear-gradient(90deg, rgba(165,91,62,.46), #a55b3e); }
.dimension-bar-row.is-medium .dimension-bar-fill { background: linear-gradient(90deg, rgba(169,128,53,.46), var(--map-gold)); }
.dimension-bar-row.is-high .dimension-bar-fill { background: linear-gradient(90deg, rgba(64,105,98,.42), #406962); }
.dimension-bar-row.is-low .dimension-bar-label { color:#8a3d2f; }
.dimension-bar-row.is-medium .dimension-bar-label { color:#8b6b2e; }
.dimension-bar-row.is-high .dimension-bar-label { color:#2f5953; }
.mapa-result-card,
.mapa-share-card,
.mapa-form-panel,
.mapa-feedback-panel {
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
}
.mapa-result-card h3,
.mapa-share-card h3,
.mapa-form-panel h3,
.mapa-feedback-panel h3 {
  font-family: 'Inter', system-ui, sans-serif;
  letter-spacing: 0;
  font-size: 1.15rem;
}
.mapa-result-card p { text-align: left; }
.mapa-prompt,
.mapa-microaction {
  border-left: 3px solid var(--map-gold);
  padding-left: 1rem;
  color: var(--text);
}
.share-layout {
  display: grid;
  gap: 1.2rem;
  align-items: start;
}
.share-preview {
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 14px 36px rgba(31,43,56,0.08);
  background: #fff;
}
.share-preview img { width: 100%; }
.share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}
.button--soft {
  background: rgba(255,255,255,0.56);
  color: var(--text);
  border-color: var(--line-strong);
}
.button--soft:hover { border-color: var(--map-gold); background: rgba(255,255,255,0.78); }
.mapa-form-panel { margin-top: 1rem; }
.mapa-form-grid {
  display: grid;
  gap: 0.9rem;
}
.mapa-form-field label,
.mapa-form-label {
  display: block;
  color: var(--text-soft);
  font-size: 0.92rem;
  margin-bottom: 0.35rem;
}
.mapa-form-field input,
.mapa-form-field select,
.mapa-form-field textarea {
  width: 100%;
  min-height: 52px;
  padding: 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,0.84);
  color: var(--text);
}
.consent-section {
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.42);
  border-radius: 18px;
  padding: 1rem;
}
.consent-section h4 {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  color: var(--text);
}
.required-mark { color: #8a3d2f; font-weight: 700; }
.mapa-message {
  border-radius: 16px;
  padding: 0.85rem 1rem;
  margin-top: 0.85rem;
  display: none;
}
.mapa-message.is-visible { display: block; }
.mapa-message.is-success { background: rgba(64,105,98,0.10); border: 1px solid rgba(64,105,98,0.2); color: #25423d; }
.mapa-message.is-error { background: rgba(138,61,47,0.08); border: 1px solid rgba(138,61,47,0.18); color: #7a382c; }
.feedback-scale { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 0.7rem 0 1rem; }
.feedback-scale label { position: relative; }
.feedback-scale input { position: absolute; opacity: 0; }
.feedback-scale span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,0.62);
  cursor: pointer;
}
.feedback-scale input:checked + span { background: var(--text); color: #fff; }


.mapa-page p,
.mapa-page li { text-align: left; }
.mapa-page .center p,
.mapa-page .section-heading.center p { text-align: center; }
.mapa-card-lead { margin: .35rem 0 1rem; color: var(--text); text-align:left; }
.mapa-scan-list {
  display:grid;
  gap:.65rem;
  padding:0;
  margin:.75rem 0 0;
  list-style:none;
}
.mapa-scan-list li {
  position:relative;
  padding-left:1.15rem;
  color:var(--text-soft);
}
.mapa-scan-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:.38rem;
  height:.38rem;
  border-radius:999px;
  background:var(--map-gold);
}
.result-help {
  font-size:.94rem;
  color:var(--text-soft);
  margin-bottom:.9rem;
}
.result-reading strong,
.mapa-result-card strong { color: var(--text); }
.dimension-bar-label { white-space: nowrap; }
.dimension-bar-score { color: var(--text); font-weight: 700; margin-left:.3rem; }
.mapa-result-card, .mapa-share-card, .mapa-form-panel, .mapa-feedback-panel, .dimension-card, .mapa-care, .question-card {
  backdrop-filter: blur(8px);
}

@media (min-width: 820px) {
  .mapa-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(320px, 430px); }
  .mapa-intro-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dimension-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-grid .mapa-result-card:first-child { grid-column: 1 / -1; }
  .share-layout { grid-template-columns: minmax(260px, 380px) minmax(0, 1fr); }
  .mapa-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mapa-form-grid .full { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .mapa-hero { min-height: auto; }
  .likert-row { grid-template-columns: 1fr; }
  .likert-option > span { min-height: 58px; grid-template-columns: 2.4rem 1fr; justify-items: start; text-align:left; border-radius: 18px; padding-left: 1rem; }
  .likert-label { max-width: none; }
  .mapa-nav-actions { flex-direction: column-reverse; }
  .mapa-nav-actions .button { width: 100%; }
  .result-position { font-size: clamp(2.25rem, 14vw, 4rem); }
  .share-actions .button { width: 100%; }
}


/* ================================
   V3.5 — Mapa Inicial premium UX
   ================================ */
:root {
  --map-paper: rgba(255, 250, 244, .82);
  --map-paper-solid: #fffaf4;
  --map-gold: #a98035;
  --map-gold-soft: rgba(169,128,53,.14);
  --map-ink: #10211f;
}
body.mapa-page {
  background:
    radial-gradient(circle at 8% 16%, rgba(169,128,53,.10), transparent 22%),
    radial-gradient(circle at 86% 4%, rgba(255,255,255,.72), transparent 30%),
    #f3eee7;
  overflow-x: hidden;
}
body.mapa-page::before {
  content:"";
  position: fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.72;
  background-image: url("data:image/svg+xml,%3Csvg width='1400' height='900' viewBox='0 0 1400 900' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23b58b43' stroke-opacity='.18' stroke-width='1.2'%3E%3Cpath d='M-30 88C120 24 217 32 322 102s216 92 350 18 231-54 350 12 226 76 410 10'/%3E%3Cpath d='M-60 182C90 118 200 126 310 194s232 88 358 28 238-60 364-2 228 82 438 8'/%3E%3Cpath d='M-40 690C110 610 238 648 350 720s238 102 362 38 238-78 374-16 212 90 382 22'/%3E%3Cpath d='M-20 780C130 704 254 734 370 808s246 98 380 44 238-90 372-30 240 96 380 42'/%3E%3Cpath d='M1120 -70C1060 60 1058 162 1128 272s72 218 8 330-74 206 0 318'/%3E%3Cpath d='M1220 -50C1160 82 1164 182 1234 294s76 230 14 344-82 218-8 330'/%3E%3C/g%3E%3Cg fill='none' stroke='%23a98035' stroke-opacity='.42' stroke-width='1.4' stroke-dasharray='7 11'%3E%3Cpath d='M80 180C40 242 50 320 100 370s38 128-22 182'/%3E%3Cpath d='M1240 270C1290 342 1298 420 1252 482s-26 134 38 194'/%3E%3C/g%3E%3Cg fill='%23a98035' fill-opacity='.55'%3E%3Ccircle cx='88' cy='168' r='7'/%3E%3Ccircle cx='1270' cy='686' r='7'/%3E%3Cpath d='M122 412l10 10-10 10-10-10z'/%3E%3Cpath d='M1182 368l8 22 22 8-22 8-8 22-8-22-22-8 22-8z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 1400px 900px;
}
.mapa-page .site-header,
.mapa-page main,
.mapa-page .site-footer { position: relative; z-index: 1; }
.mapa-hero-card,
.dimension-card,
.mapa-care,
.mapa-step-card,
.mapa-result-card,
.mapa-share-card,
.mapa-form-panel,
.mapa-feedback-panel {
  background: rgba(255,250,244,.74);
  border-color: rgba(31,43,56,.10);
  box-shadow: 0 22px 70px rgba(31,43,56,.07);
}
.mapa-step-card {
  overflow: hidden;
  border-radius: 34px;
  padding: clamp(1.25rem, 3.8vw, 3.2rem);
}
.mapa-step-card::before,
.mapa-step-card::after {
  content:"✦";
  position:absolute;
  color: var(--map-gold);
  opacity:.75;
  font-size:1.2rem;
  pointer-events:none;
}
.mapa-step-card::before { left: clamp(1rem,2vw,2rem); top: clamp(1rem,2vw,2rem); }
.mapa-step-card::after { right: clamp(1rem,2vw,2rem); top: clamp(1rem,2vw,2rem); }
.mapa-step-title h2 { font-size: clamp(2rem, 4.6vw, 3.65rem); color: var(--map-ink); }
.mapa-step-title p { max-width: 72ch; color: var(--text-soft); }
.question-list { gap: 1.4rem; margin-top: 2rem; }
.question-card {
  border: 0;
  background: transparent;
  padding: 0;
}
.question-card legend {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 1.45rem;
  text-align: center;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.35rem, 2.75vw, 2.35rem);
  font-weight: 500;
  color: var(--map-ink);
  line-height: 1.28;
}
.question-card legend::after {
  content:"";
  display:block;
  width: 140px;
  height: 1px;
  margin: 1.15rem auto 0;
  background: linear-gradient(90deg, transparent, rgba(169,128,53,.72), transparent);
}
.likert-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(.75rem, 1.4vw, 1.15rem);
  align-items: stretch;
}
.likert-option { min-width:0; }
.likert-option input { position:absolute; opacity:0; pointer-events:none; }
.likert-card {
  position: relative;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height: 186px;
  height: 100%;
  gap: .75rem;
  padding: 1.2rem .85rem 1rem;
  border-radius: 20px;
  border: 1px solid rgba(31,43,56,.14);
  background: rgba(255,255,255,.64);
  box-shadow: 0 12px 30px rgba(31,43,56,.05);
  color: var(--text);
  text-align:center;
  cursor:pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.likert-card:hover {
  transform: translateY(-2px);
  border-color: rgba(169,128,53,.55);
  box-shadow: 0 18px 40px rgba(31,43,56,.08);
}
.likert-number {
  display:flex !important;
  align-items:center;
  justify-content:center;
  width: 56px;
  height: 56px;
  border-radius:999px;
  border: 1px solid rgba(31,43,56,.13);
  background: rgba(255,255,255,.68);
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.72rem;
  line-height:1;
  color: var(--map-ink);
  transition: all .18s ease;
}
.likert-label {
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height: 3.2em;
  max-width: 12.5ch;
  color: var(--text);
  font-size: clamp(.92rem, 1vw, 1.02rem);
  line-height:1.28;
  font-weight:500;
}
.likert-star { color: var(--map-gold); font-size: 1rem; line-height:1; opacity:.85; }
.likert-option input:checked + .likert-card {
  background: linear-gradient(180deg, rgba(255,251,244,.96), rgba(252,245,235,.92));
  border-color: rgba(169,128,53,.84);
  box-shadow: 0 20px 48px rgba(169,128,53,.15);
}
.likert-option input:checked + .likert-card .likert-number {
  background: linear-gradient(135deg, #cda954, #a98035);
  border-color: transparent;
  color: #fff;
}
.mapa-progress-track { background: rgba(31,43,56,.075); height: 8px; }
.mapa-nav-actions { margin-top: 2rem; }
.result-grid { gap: 1.15rem; }
.dimension-bar-label { font-weight: 700; }
.dimension-bar-score { font-variant-numeric: tabular-nums; }
.result-help { padding: .8rem .9rem; background: rgba(169,128,53,.08); border-radius: 14px; border: 1px solid rgba(169,128,53,.16); }
@media (max-width: 940px) {
  .likert-row { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x:auto; padding-bottom:.4rem; scroll-snap-type:x proximity; }
  .likert-option { scroll-snap-align:center; }
  .likert-card { min-height: 170px; }
}
@media (max-width: 640px) {
  .question-card legend { text-align:left; font-size:1.3rem; }
  .question-card legend::after { margin-left:0; }
  .likert-row { grid-template-columns: 1fr; overflow: visible; }
  .likert-card { min-height: 70px; flex-direction: row; justify-content:flex-start; text-align:left; padding: .85rem 1rem; }
  .likert-number { width: 42px; height:42px; font-size:1.28rem; flex:0 0 42px; }
  .likert-label { max-width:none; min-height:0; justify-content:flex-start; text-align:left; }
  .likert-star { margin-left:auto; }
}
.likert-option input:checked + .likert-card .likert-label { color: var(--text); }


/* ================================
   V3.6 — refinamiento visual mapa
   ================================ */
body.mapa-page {
  background:
    radial-gradient(circle at 12% 10%, rgba(169,128,53,.09), transparent 24%),
    radial-gradient(circle at 86% 6%, rgba(255,255,255,.82), transparent 28%),
    linear-gradient(180deg, #f6f1ea 0%, #f2ece4 100%);
}
body.mapa-page::before {
  opacity: .78;
  background-image: url("data:image/svg+xml,%3Csvg width='1600' height='1000' viewBox='0 0 1600 1000' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23b69252' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M-80 110c84-34 168-48 256-18s168 86 272 76 176-94 286-104 202 72 306 86 194-14 318-84'/%3E%3Cpath d='M-50 168c78-28 160-36 248-2s176 94 286 88 172-92 282-102 190 64 300 80 194-10 314-78'/%3E%3Cpath d='M-110 748c82-30 166-42 254-12s170 88 278 80 172-90 282-98 196 58 306 78 190-8 314-74'/%3E%3Cpath d='M-70 818c80-28 164-34 252 0s174 90 282 86 170-88 280-96 194 54 304 74 190-4 312-68'/%3E%3Cpath d='M1110-90c-64 140-68 248-8 350s74 198 22 302-62 186-6 290'/%3E%3Cpath d='M1218-70c-60 136-62 244-2 348s74 206 22 308-64 190-10 294'/%3E%3Cpath d='M1328-56c-56 132-58 238 0 340s72 206 22 306-66 194-16 298'/%3E%3C/g%3E%3Cg fill='none' stroke='%23c19d58' stroke-opacity='.42' stroke-width='1.4' stroke-dasharray='5 10'%3E%3Cpath d='M58 820c84-44 152-46 226-8s154 46 236 6 140-122 230-132 160 32 236 76'/%3E%3Cpath d='M1454 186c-54 72-64 146-24 214s40 124-14 192-60 142 4 212'/%3E%3C/g%3E%3Cg fill='%23c5a05d' fill-opacity='.82'%3E%3Cpath d='M90 128l10 28 28 10-28 10-10 28-10-28-28-10 28-10z'/%3E%3Cpath d='M1414 284l8 22 22 8-22 8-8 22-8-22-22-8 22-8z'/%3E%3Cpath d='M151 898l8 22 22 8-22 8-8 22-8-22-22-8 22-8z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 1600px 1000px;
}
.question-focus-card {
  max-width: 1340px;
  margin: 0 auto;
  background: rgba(255,251,246,.88);
  border: 1px solid rgba(31,43,56,.08);
  border-radius: 34px;
  box-shadow: 0 26px 80px rgba(31,43,56,.08);
}
.mapa-progress-top.is-question-view {
  display: grid;
  gap: .9rem;
  align-items: center;
}
.mapa-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.mapa-step-context {
  color: var(--text-soft);
  font-size: .92rem;
}
.mapa-block-progress {
  display: flex;
  justify-content: center;
  gap: .55rem;
}
.mapa-block-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(31,43,56,.10);
  border: 1px solid rgba(31,43,56,.08);
}
.mapa-block-dot.is-complete,
.mapa-block-dot.is-active {
  background: rgba(169,128,53,.22);
  border-color: rgba(169,128,53,.36);
}
.mapa-block-dot.is-active { background: var(--map-gold); }
.mapa-step-title--compact {
  text-align: center;
  max-width: 920px;
  margin: 1rem auto 0;
}
.mapa-step-title--compact .eyebrow {
  margin-bottom: .4rem;
}
.mapa-step-copy {
  margin: 0;
  color: var(--text-soft);
  font-size: .98rem;
  line-height: 1.6;
}
.question-list--single { margin-top: 1.8rem; }
.question-card--panel {
  max-width: 1220px;
  margin: 0 auto;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(31,43,56,.06);
  border-radius: 30px;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.question-card--panel legend {
  max-width: 28ch;
  margin: 0 auto;
  text-align: center;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.7rem, 2.55vw, 2.8rem);
  line-height: 1.25;
  color: var(--map-ink);
}
.question-card--panel legend::after { display:none; }
.question-divider {
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 1rem;
  color: var(--map-gold);
  margin: 1.25rem 0 1.7rem;
}
.question-divider span {
  width: 100px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(169,128,53,.7), transparent);
}
.likert-row {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}
.likert-option { display:block; }
.likert-card {
  position: relative;
  min-height: 290px;
  padding: 1.4rem 1rem 1.1rem;
  border-radius: 22px;
  border: 1px solid rgba(31,43,56,.12);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 30px rgba(31,43,56,.04);
}
.likert-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  pointer-events:none;
}
.likert-card:hover {
  transform: translateY(-2px);
  border-color: rgba(169,128,53,.55);
}
.likert-number,
.likert-label,
.likert-star {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.likert-number {
  width: 72px;
  height: 72px;
  font-size: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(31,43,56,.12) !important;
  background: rgba(255,255,255,.88) !important;
}
.likert-label {
  max-width: 10ch;
  min-height: 4.4em;
  font-size: 1.02rem;
  line-height: 1.28;
  font-weight: 500;
}
.likert-star {
  margin-top: auto;
  font-size: 1.05rem;
  color: var(--map-gold);
  opacity: .92;
}
.likert-option input:checked + .likert-card {
  background: linear-gradient(180deg, rgba(255,251,245,.98), rgba(250,242,230,.96));
  border-color: rgba(169,128,53,.9);
  box-shadow: 0 16px 44px rgba(169,128,53,.18);
}
.likert-option input:checked + .likert-card .likert-number {
  background: linear-gradient(135deg, #d5b164, #b78f40) !important;
  border-color: transparent !important;
  color: #fff;
}
.likert-option input:checked + .likert-card .likert-label { color: var(--text); }
.mapa-nav-actions {
  margin-top: 1.8rem;
  align-items: center;
}
@media (max-width: 1100px) {
  .likert-card { min-height: 250px; }
  .question-card--panel legend { font-size: clamp(1.55rem, 2.2vw, 2.25rem); }
}
@media (max-width: 860px) {
  .mapa-progress-meta { flex-direction: column; align-items: flex-start; }
  .likert-row {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    overflow-x: auto;
    padding-bottom: .4rem;
    scroll-snap-type: x proximity;
  }
  .likert-option { scroll-snap-align: center; }
  .question-card--panel legend { max-width: 100%; }
}
@media (max-width: 640px) {
  .question-focus-card { border-radius: 26px; }
  .question-card--panel { padding: 1.2rem; border-radius: 24px; }
  .question-card--panel legend {
    text-align: left;
    font-size: 1.42rem;
    line-height: 1.32;
  }
  .question-divider { justify-content: flex-start; }
  .question-divider span { width: 64px; }
  .likert-row { grid-template-columns: 1fr; overflow: visible; }
  .likert-card {
    min-height: 92px;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    gap: .9rem;
    padding: .95rem 1rem;
  }
  .likert-number {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    font-size: 1.35rem;
  }
  .likert-label {
    min-height: 0;
    max-width: none;
    text-align: left;
    justify-content: flex-start;
    font-size: .98rem;
  }
  .likert-star { margin-left: auto; }
}

/* ================================
   V3.7 — bloques de 4 + cartografía más clara
   ================================ */
body.mapa-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.7), transparent 32rem),
    linear-gradient(180deg, #f7f1e8 0%, #f2ece3 54%, #ede4d6 100%);
}

body.mapa-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .42;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='1200' viewBox='0 0 1600 1200'%3E%3Cg fill='none' stroke='%23b48a42' stroke-opacity='.22' stroke-width='1.35'%3E%3Cpath d='M80 190c126-84 294-102 442-44 115 45 250 52 364 11 106-38 221-34 342 13 104 40 202 51 292 31'/%3E%3Cpath d='M52 238c150-88 314-112 462-63 112 37 233 45 342 15 118-32 240-20 365 24 112 40 214 45 327 16'/%3E%3Cpath d='M32 292c174-92 338-110 493-64 96 28 211 31 324 9 124-24 246-6 373 41 112 41 220 45 346 12'/%3E%3Cpath d='M18 344c174-77 335-91 485-52 119 31 236 27 351-4 122-33 250-18 384 31 114 42 228 55 344 39'/%3E%3Cpath d='M38 744c123-85 270-119 430-97 141 19 267 2 381-52 118-56 243-76 386-63 120 11 232-10 333-62'/%3E%3Cpath d='M22 802c135-78 282-109 441-92 139 15 264-4 374-56 122-57 248-74 388-55 123 16 239-4 343-58'/%3E%3Cpath d='M44 862c141-78 289-103 447-79 142 21 264 7 370-43 119-56 246-73 390-58 123 13 231-9 317-63'/%3E%3Cpath d='M160 528c31-55 96-95 176-103 64-6 127 8 185 40 54 30 119 48 192 45 93-5 148-54 237-74 89-20 178 1 263 49 84 48 188 67 306 48'/%3E%3Cpath d='M184 560c34-43 96-72 171-77 71-5 130 13 181 39 58 29 122 43 192 39 85-5 145-44 229-63 98-22 188-4 272 43 83 47 179 65 291 47'/%3E%3Cpath d='M210 594c37-35 97-58 169-62 72-4 131 14 182 38 60 28 126 39 194 33 76-7 137-35 221-53 102-23 191-8 273 35 82 43 173 59 279 44'/%3E%3C/g%3E%3Cg fill='none' stroke='%231f2b38' stroke-opacity='.08' stroke-width='1'%3E%3Cpath d='M1328 168c44 0 82 35 82 79s-38 80-82 80-80-36-80-80 36-79 80-79z'/%3E%3Cpath d='M1328 132v230M1213 247h230M1251 170l154 154M1405 170l-154 154'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 1400px 1050px;
  background-position: center top;
}

body.mapa-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .12;
  background-image:
    linear-gradient(rgba(169,128,53,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169,128,53,.16) 1px, transparent 1px);
  background-size: 140px 140px;
  background-position: center center;
  mask-image: radial-gradient(circle at center, black 28%, transparent 78%);
}

.mapa-step-card::before,
.mapa-step-card::after,
.likert-star { display: none !important; }

.mapa-progress-top.is-question-view {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .9rem 1rem;
  align-items: center;
}

.mapa-progress-meta {
  display: grid;
  gap: .25rem;
}

.mapa-step-context,
.mapa-block-count {
  color: var(--text-soft);
  font-size: .92rem;
}

.mapa-block-progress {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.mapa-block-dot {
  width: .62rem;
  height: .62rem;
  border-radius: 999px;
  background: rgba(31,43,56,.16);
  border: 1px solid rgba(31,43,56,.14);
}

.mapa-block-dot.is-active {
  background: var(--map-gold);
  border-color: var(--map-gold);
  transform: scale(1.15);
}

.mapa-block-dot.is-complete {
  background: rgba(169,128,53,.35);
  border-color: rgba(169,128,53,.5);
}

.mapa-step-title--compact h2 {
  font-size: clamp(1.9rem, 3.8vw, 2.8rem);
  margin-bottom: .45rem;
}

.mapa-step-copy {
  max-width: 68ch;
  text-align: left;
}

.question-list--block {
  display: grid;
  gap: .95rem;
  margin-top: 1.35rem;
}

.question-card--compact {
  padding: 1rem 1rem 1.05rem;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(31,43,56,.10);
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(31,43,56,.04);
}

.question-card--compact legend {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0 0 .9rem;
  font-size: clamp(1.02rem, 1.45vw, 1.18rem);
  line-height: 1.28;
  font-weight: 600;
  color: var(--map-ink);
  text-align: left;
}

.question-card--compact legend::after { display: none; }

.question-index {
  color: var(--map-gold);
  font-weight: 700;
  margin-right: .12rem;
}

.likert-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .55rem;
  align-items: stretch;
}

.likert-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 104px;
  height: 100%;
  gap: .42rem;
  padding: .72rem .52rem;
  border: 1px solid rgba(31,43,56,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  color: var(--text-soft);
  text-align: center;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.likert-card:hover {
  border-color: rgba(169,128,53,.72);
  transform: translateY(-1px);
}

.likert-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.1rem;
  height: 2.1rem;
  padding: 0 .55rem;
  border-radius: 999px;
  border: 1px solid rgba(31,43,56,.14);
  background: #fff;
  color: var(--map-ink);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1rem;
  line-height: 1;
}

.likert-label {
  display: block;
  max-width: 10.8ch;
  min-height: auto;
  color: var(--text);
  font-size: .76rem;
  line-height: 1.16;
  font-weight: 500;
}

.likert-option input:checked + .likert-card {
  background: rgba(169,128,53,.10);
  border-color: rgba(169,128,53,.78);
  color: var(--text);
  box-shadow: 0 10px 24px rgba(31,43,56,.06);
}

.likert-option input:checked + .likert-card .likert-number {
  background: var(--map-gold);
  border-color: var(--map-gold);
  color: #fff;
}

.likert-option input:checked + .likert-card .likert-label { color: var(--text); }

@media (max-width: 960px) {
  .mapa-progress-top.is-question-view {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 860px) {
  .likert-row {
    grid-template-columns: repeat(5, minmax(96px, 1fr));
    overflow-x: auto;
    padding-bottom: .2rem;
    scroll-snap-type: x proximity;
  }
  .likert-option { scroll-snap-align: center; }
  .likert-card { min-height: 96px; }
}

@media (max-width: 640px) {
  .question-card--compact { padding: .95rem; border-radius: 20px; }
  .question-card--compact legend { font-size: 1rem; line-height: 1.3; }
  .likert-row {
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .likert-card {
    min-height: auto;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    padding: .72rem .85rem;
  }
  .likert-number {
    min-width: 1.95rem;
    height: 1.95rem;
    flex: 0 0 auto;
  }
  .likert-label {
    max-width: none;
    text-align: left;
    font-size: .82rem;
  }
}


/* ================================
   V3.8 — UI final: preguntas bloque + opciones limpias + fondo mapa
   ================================ */
body.mapa-page {
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.74), transparent 36rem),
    linear-gradient(180deg, #f8f2e9 0%, #f1e9dc 58%, #eadfce 100%);
}

/* Fondo más editorial: contornos suaves en esquinas, ruta y pocas estrellas */
body.mapa-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .50;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1800' height='1400' viewBox='0 0 1800 1400'%3E%3Cg fill='none' stroke='%23b88d45' stroke-opacity='.18' stroke-width='1.4'%3E%3Cpath d='M-100 242c154-98 331-126 509-70 139 44 280 43 421-3 119-39 246-36 377 9 146 51 286 49 430-4'/%3E%3Cpath d='M-90 296c171-92 347-113 518-59 133 42 274 40 410-2 128-40 253-35 387 13 141 50 279 46 418-7'/%3E%3Cpath d='M-72 350c188-88 362-104 529-51 132 42 269 35 399-2 132-38 258-29 390 18 133 47 274 42 415-11'/%3E%3Cpath d='M-50 404c195-78 367-88 528-40 139 42 272 28 399-9 131-38 258-22 389 24 132 46 273 40 423-15'/%3E%3Cpath d='M-86 1038c150-88 315-110 474-66 142 39 281 31 414-19 134-50 267-65 407-41 141 24 278 3 410-65'/%3E%3Cpath d='M-62 1094c163-82 328-99 489-53 139 40 275 25 404-23 139-52 271-62 411-35 138 27 277 6 416-67'/%3E%3Cpath d='M-30 1150c168-75 331-89 487-42 143 43 277 30 405-16 138-50 273-56 411-28 137 28 277 11 426-65'/%3E%3C/g%3E%3Cg fill='none' stroke='%23b88d45' stroke-opacity='.32' stroke-width='1.25' stroke-dasharray='3 10'%3E%3Cpath d='M82 678c80-39 155-35 226 12 79 53 149 54 236 4 91-52 160-48 242 12 77 56 155 61 242 12 88-50 168-42 240 18'/%3E%3Cpath d='M1530 210c-54 74-57 144-9 212 48 69 41 137-20 205-58 65-60 135-6 210 54 75 48 145-18 211'/%3E%3C/g%3E%3Cg fill='%23b88d45' fill-opacity='.70'%3E%3Cpath d='M142 825l9 26 26 9-26 9-9 26-9-26-26-9 26-9z'/%3E%3Cpath d='M1572 335l7 20 20 7-20 7-7 20-7-20-20-7 20-7z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23142321' stroke-opacity='.055' stroke-width='1'%3E%3Cpath d='M1370 1060c54 0 98 43 98 97s-44 98-98 98-97-44-97-98 43-97 97-97z'/%3E%3Cpath d='M1370 1014v286M1227 1157h286M1268 1055l204 204M1472 1055l-204 204'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 1600px 1244px;
  background-position: center top;
}

/* Eliminamos la rejilla: ensuciaba y no parecía cartografía */
body.mapa-page::after {
  display: none !important;
}

.question-focus-card {
  max-width: 1180px;
  background: rgba(255, 252, 247, .88);
  border: 1px solid rgba(31,43,56,.10);
  box-shadow: 0 24px 72px rgba(31,43,56,.075);
}

/* 4 preguntas juntas, limpias */
.question-list--block {
  gap: .85rem;
  margin-top: 1.2rem;
}

.question-card--compact {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(440px, 1.55fr);
  gap: 1rem;
  align-items: center;
  padding: .9rem;
  border-radius: 20px;
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(31,43,56,.105);
  box-shadow: 0 8px 24px rgba(31,43,56,.035);
}

.question-card--compact .question-title {
  margin: 0;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: clamp(.93rem, 1.08vw, 1.04rem);
  font-weight: 600;
  line-height: 1.36;
  letter-spacing: 0;
  color: var(--map-ink);
  text-align: left;
}

.question-card--compact .question-title::after {
  content: "";
  display: block;
  width: 42px;
  height: 1px;
  margin-top: .6rem;
  background: rgba(169,128,53,.38);
}

.question-index {
  color: var(--map-gold);
  font-weight: 700;
}

/* Un solo botón visual por respuesta: sin círculos ni cajitas internas */
.likert-row {
  gap: .45rem;
}

.likert-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: .46rem;
  min-height: 58px;
  height: 100%;
  padding: .55rem .62rem;
  border-radius: 14px;
  border: 1px solid rgba(31,43,56,.13);
  background: rgba(255,255,255,.88);
  box-shadow: none;
  text-align: left;
}

.likert-card::before,
.likert-card::after {
  display: none !important;
}

.likert-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  width: auto;
  height: auto;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--map-gold);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
}

.likert-label {
  display: block;
  max-width: none;
  min-height: auto;
  padding: 0 !important;
  color: var(--text);
  font-size: .70rem;
  line-height: 1.16;
  font-weight: 600;
  text-align: left;
}

.likert-card:hover {
  transform: translateY(-1px);
  border-color: rgba(169,128,53,.65);
  background: rgba(255,252,247,.96);
}

.likert-option input:checked + .likert-card {
  background: linear-gradient(180deg, rgba(184,141,69,.18), rgba(255,252,247,.95));
  border-color: rgba(169,128,53,.90);
  box-shadow: 0 10px 22px rgba(169,128,53,.12);
}

.likert-option input:checked + .likert-card .likert-number {
  color: var(--map-ink);
  background: transparent !important;
  border: 0 !important;
}

.likert-option input:checked + .likert-card .likert-label {
  color: var(--map-ink);
}

.mapa-step-title--compact {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  max-width: 760px;
}

.mapa-step-title--compact h2 {
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.mapa-step-title--compact .eyebrow,
.mapa-step-title--compact .mapa-step-copy,
.mapa-step-title--compact .mapa-block-count {
  text-align: left;
}

.mapa-block-count {
  margin-top: .65rem;
  font-size: .86rem;
}

@media (max-width: 1080px) {
  .question-card--compact {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .likert-row {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .question-focus-card { border-radius: 26px; }
  .question-card--compact { padding: .82rem; border-radius: 18px; }
  .likert-row {
    grid-template-columns: 1fr;
    overflow: visible;
    gap: .4rem;
  }
  .likert-card {
    min-height: 48px;
    padding: .52rem .65rem;
  }
  .likert-label {
    font-size: .82rem;
  }
}


/* ======================================================
   V3.9 — Corrección fuerte de layout preguntas + fondo
   ====================================================== */

/* Fondo inspirado en mapa antiguo: curvas finas, centro limpio, rosas pequeñas */
body.mapa-page {
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.70), transparent 26rem),
    linear-gradient(180deg, #f6efe4 0%, #f2eadf 45%, #efe6d8 100%);
}

body.mapa-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .82;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1800' height='1400' viewBox='0 0 1800 1400'%3E%3Crect width='1800' height='1400' fill='none'/%3E%3Cg fill='none' stroke='%23c8aa73' stroke-linecap='round'%3E%3Cg stroke-opacity='.18' stroke-width='1.1'%3E%3Cpath d='M-40 80c64 40 137 34 223-11 89-47 175-48 260-3 96 51 184 53 279 8 86-41 172-46 260-12 106 41 199 39 287-7 95-49 180-48 259 2'/%3E%3Cpath d='M-22 116c64 39 135 32 219-11 89-46 174-46 258-3 97 49 185 49 280 8 87-38 171-42 258-10 105 39 197 37 283-7 94-48 179-46 257 3'/%3E%3Cpath d='M-6 152c63 38 132 31 214-10 88-44 172-44 254-3 96 48 184 46 278 8 87-36 169-39 254-9 103 37 194 35 279-7 93-45 176-43 253 3'/%3E%3Cpath d='M1490 70c58 40 126 46 206 17 81-29 154-26 222 10'/%3E%3Cpath d='M1450 110c56 38 122 43 199 16 78-28 149-25 215 9'/%3E%3Cpath d='M1408 150c56 36 119 41 194 16 76-26 145-22 210 8'/%3E%3Cpath d='M-30 1088c68-37 143-39 227-2 88 39 174 39 260 0 87-39 173-40 258-5 95 38 185 36 272-6 85-41 171-47 258-18 96 31 190 27 283-14'/%3E%3Cpath d='M-10 1126c67-36 141-36 223-2 87 37 172 36 257 0 86-37 171-37 255-4 95 37 183 34 269-6 84-39 169-44 255-17 94 30 187 27 278-12'/%3E%3Cpath d='M10 1164c66-33 138-34 218-1 86 35 169 34 253 0 84-35 168-35 251-4 93 35 181 32 266-5 83-37 166-42 251-16 92 29 183 25 274-11'/%3E%3Cpath d='M-26 820c42-68 103-104 184-108 82-4 138-38 171-103 35-68 92-104 171-110 74-6 133 17 178 69 47 54 103 78 171 73 78-5 138 22 181 81'/%3E%3Cpath d='M18 852c40-66 99-101 177-105 79-4 133-36 165-99 33-66 88-101 165-107 71-5 128 17 171 67 45 52 99 75 165 70 75-5 132 21 173 78'/%3E%3Cpath d='M1340 690c41-62 96-95 165-99 74-4 128-33 163-89 35-57 87-87 156-92 62-4 115 16 158 60 43 45 95 65 157 60'/%3E%3Cpath d='M1380 724c39-60 92-91 158-95 70-4 121-32 154-85 34-54 83-83 149-87 59-4 109 15 150 57 41 43 91 62 149 57'/%3E%3C/g%3E%3Cg stroke-opacity='.24' stroke-width='1' stroke-dasharray='4 9'%3E%3Cpath d='M184 367c84 14 155 46 212 96 58 51 119 75 184 74 70-1 137 25 200 78'/%3E%3Cpath d='M1242 202c-44 74-43 147 3 219 47 72 49 144 6 215-42 70-40 143 7 217'/%3E%3Cpath d='M330 1175c64-32 120-76 169-130 50-56 113-89 191-98 76-8 143-39 203-91'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23d4b177' fill-opacity='.52'%3E%3Cpath d='M129 141l5 15 15 5-15 5-5 15-5-15-15-5 15-5z'/%3E%3Cpath d='M1500 565l4 12 12 4-12 4-4 12-4-12-12-4 12-4z'/%3E%3Cpath d='M1610 1148l5 15 15 5-15 5-5 15-5-15-15-5 15-5z'/%3E%3Cpath d='M598 1212l4 12 12 4-12 4-4 12-4-12-12-4 12-4z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23cfab70' stroke-opacity='.52'%3E%3Cg transform='translate(1480 250)'%3E%3Ccircle r='52' stroke-width='1'/%3E%3Cpath d='M0-68v136M-68 0h136M-48-48l96 96M48-48l-96 96' stroke-width='.7' stroke-opacity='.35'/%3E%3Cpath d='M0-45l8 29 29 8-29 8-8 29-8-29-29-8 29-8z' fill='%23cfab70' fill-opacity='.56' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(110 1058)'%3E%3Ccircle r='56' stroke-width='1'/%3E%3Cpath d='M0-73v146M-73 0h146M-52-52l104 104M52-52l-104 104' stroke-width='.7' stroke-opacity='.35'/%3E%3Cpath d='M0-49l9 32 32 9-32 9-9 32-9-32-32-9 32-9z' fill='%23cfab70' fill-opacity='.58' stroke='none'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-position: center top;
  background-size: 1600px auto;
}
body.mapa-page::after { display: none !important; }

/* Contenedor general un poco más limpio */
.question-focus-card {
  max-width: 1140px;
  background: rgba(255, 252, 248, .92);
  border: 1px solid rgba(31,43,56,.09);
  box-shadow: 0 24px 56px rgba(31,43,56,.07);
}

.mapa-step-title--compact {
  max-width: 760px;
}

.mapa-step-title--compact h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: .98;
}

.question-list--block {
  display: grid;
  gap: .95rem;
  margin-top: 1.15rem;
}

/* La pregunta va dentro arriba y los botones debajo, en la misma tarjeta */
.question-card--compact {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: .9rem;
  padding: 1.1rem 1.1rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(31,43,56,.10);
  box-shadow: 0 6px 20px rgba(31,43,56,.035);
}

.question-card--compact .question-title {
  margin: 0;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: clamp(1.02rem, 1.25vw, 1.18rem);
  line-height: 1.32;
  font-weight: 700;
  color: var(--map-ink);
  text-align: left;
}

.question-card--compact .question-title::after {
  content: "";
  display: block;
  width: 46px;
  height: 1px;
  margin-top: .72rem;
  background: rgba(191,151,84,.42);
}

.question-index {
  color: var(--map-gold);
  font-weight: 800;
}

.likert-row {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: .6rem !important;
  align-items: stretch;
  overflow: visible !important;
}

.likert-option {
  display: block;
  min-width: 0;
}

.likert-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .45rem;
  min-height: 92px !important;
  height: 100%;
  padding: .82rem .55rem !important;
  border-radius: 16px;
  border: 1px solid rgba(31,43,56,.14);
  background: rgba(255,255,255,.94);
  box-shadow: none;
  text-align: center !important;
}

.likert-card::before,
.likert-card::after { display: none !important; }

.likert-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1;
  color: var(--map-gold);
  padding: 0;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: auto;
  height: auto;
  min-width: auto;
}

.likert-label {
  display: block;
  padding: 0 !important;
  margin: 0;
  min-height: auto;
  max-width: 7.8ch;
  font-size: .67rem;
  line-height: 1.18;
  font-weight: 700;
  color: var(--text);
  text-align: center !important;
  text-wrap: balance;
}

.likert-card:hover {
  transform: translateY(-1px);
  border-color: rgba(191,151,84,.62);
  background: rgba(255,252,247,.98);
}

.likert-option input:checked + .likert-card {
  border-color: rgba(184,141,69,.88);
  background: linear-gradient(180deg, rgba(216,183,116,.16), rgba(255,252,247,.98));
  box-shadow: 0 10px 18px rgba(184,141,69,.11);
}

.likert-option input:checked + .likert-card .likert-number,
.likert-option input:checked + .likert-card .likert-label {
  color: var(--map-ink);
}

@media (max-width: 900px) {
  .question-card--compact { padding: 1rem; }
  .question-card--compact .question-title { font-size: 1rem; }
  .likert-row { gap: .48rem !important; }
  .likert-card { min-height: 88px !important; padding: .72rem .45rem !important; }
  .likert-label { font-size: .64rem; max-width: 7.4ch; }
}

@media (max-width: 760px) {
  body.mapa-page::before {
    background-size: 1350px auto;
    background-position: center top;
  }
  .question-focus-card { border-radius: 24px; }
  .question-card--compact { border-radius: 16px; gap: .78rem; }
  .likert-row {
    grid-template-columns: repeat(5, minmax(58px, 1fr)) !important;
    gap: .42rem !important;
  }
  .likert-card { min-height: 84px !important; border-radius: 14px; }
  .likert-number { font-size: .82rem; }
  .likert-label { font-size: .61rem; max-width: 6.8ch; }
}

@media (max-width: 520px) {
  .question-card--compact .question-title {
    font-size: .97rem;
    line-height: 1.28;
  }
  .likert-row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  .likert-card {
    min-height: 78px !important;
    padding: .65rem .35rem !important;
  }
  .likert-label {
    font-size: .58rem;
    max-width: 6.4ch;
  }
}


/* ======================================================
   V3.10 — decisión de diseño: fondo limpio, sin pseudo-mapa
   ====================================================== */

/*
  Eliminamos el fondo cartográfico generado por CSS.
  Mejor un fondo limpio y elegante que una imitación de mapa que ensucie la experiencia.
*/
body.mapa-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.72), transparent 34rem),
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.34), transparent 24rem),
    linear-gradient(180deg, #f7f1e8 0%, #f2eadf 52%, #ede4d7 100%) !important;
}

body.mapa-page::before,
body.mapa-page::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* Damos algo de profundidad a las tarjetas para compensar el fondo limpio */
body.mapa-page .mapa-step-card,
body.mapa-page .mapa-result-card,
body.mapa-page .mapa-share-card,
body.mapa-page .mapa-form-panel,
body.mapa-page .mapa-feedback-panel,
body.mapa-page .mapa-care,
body.mapa-page .dimension-card {
  background: rgba(255, 252, 247, .88);
  border-color: rgba(31,43,56,.10);
  box-shadow: 0 18px 48px rgba(31,43,56,.055);
}

/* Un pequeño detalle editorial, sin intentar simular cartografía */
body.mapa-page .mapa-step-card::before,
body.mapa-page .mapa-step-card::after {
  display: none !important;
  content: none !important;
}


/* ======================================================
   V3.11 — fondo real como asset, no generado por CSS
   ====================================================== */

/*
  Usamos un asset real para el fondo del Mapa Inicial.
  Se coloca con opacidad baja y detrás de todo el contenido para no interferir
  con la lectura del test.
*/
body.mapa-page {
  background:
    linear-gradient(180deg, rgba(247,241,232,.96) 0%, rgba(242,234,223,.96) 52%, rgba(237,228,215,.96) 100%) !important;
}

body.mapa-page::before {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-image: url("assets/mapa-background-vintage.png") !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  opacity: .78 !important;
}

body.mapa-page::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(247,241,232,.54), rgba(247,241,232,.20) 32%, rgba(247,241,232,0) 62%),
    linear-gradient(180deg, rgba(247,241,232,.18), rgba(237,228,215,.20)) !important;
}

body.mapa-page .site-header,
body.mapa-page main,
body.mapa-page .site-footer {
  position: relative;
  z-index: 1;
}


/* ======================================================
   V3.12 — responsive móvil final
   ====================================================== */

/* Evita cualquier desbordamiento horizontal global */
html,
body.mapa-page {
  max-width: 100%;
  overflow-x: hidden !important;
}

/* El fondo real se mantiene, pero más suave en móvil para no ensuciar */
@media (max-width: 760px) {
  body.mapa-page::before {
    background-size: auto 100% !important;
    background-position: center top !important;
    opacity: .52 !important;
  }

  body.mapa-page::after {
    background:
      linear-gradient(180deg, rgba(247,241,232,.54), rgba(237,228,215,.56)) !important;
    opacity: 1 !important;
  }

  body.mapa-page .section,
  body.mapa-page .mapa-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.mapa-page .container {
    width: min(100% - 1.25rem, var(--container)) !important;
  }

  .mapa-hero {
    padding-top: 2rem !important;
  }

  .mapa-step-card,
  .question-focus-card,
  .mapa-result-shell,
  .result-hero-card,
  .mapa-result-card,
  .mapa-share-card,
  .mapa-form-panel,
  .mapa-feedback-panel {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 22px !important;
  }

  .mapa-step-card {
    padding: 1rem !important;
  }

  .mapa-progress-top.is-question-view {
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }

  .mapa-progress-meta {
    display: grid !important;
    gap: .35rem !important;
  }

  .mapa-step-label {
    font-size: .72rem !important;
    letter-spacing: .12em !important;
  }

  .mapa-step-context {
    font-size: .84rem !important;
    line-height: 1.35 !important;
  }

  .mapa-block-progress {
    justify-content: flex-start !important;
  }

  .mapa-step-title--compact {
    margin-top: 1.15rem !important;
  }

  .mapa-step-title--compact h2 {
    font-size: clamp(1.9rem, 11vw, 2.75rem) !important;
    line-height: 1.02 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .mapa-step-copy,
  .mapa-block-count {
    font-size: .94rem !important;
    line-height: 1.55 !important;
  }

  .question-list--block {
    gap: .85rem !important;
    margin-top: 1rem !important;
  }

  .question-card--compact {
    width: 100% !important;
    max-width: 100% !important;
    padding: .95rem !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .question-card--compact .question-title {
    font-size: .98rem !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  /* En móvil las respuestas son filas verticales: se leen y se pulsan bien */
  .likert-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .42rem !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .likert-option {
    width: 100% !important;
    min-width: 0 !important;
  }

  .likert-card {
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: 1.8rem 1fr !important;
    align-items: center !important;
    justify-items: start !important;
    gap: .65rem !important;
    padding: .58rem .72rem !important;
    border-radius: 14px !important;
    text-align: left !important;
  }

  .likert-number {
    width: 1.55rem !important;
    height: 1.55rem !important;
    min-width: 1.55rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(169,128,53,.10) !important;
    color: var(--map-gold) !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
  }

  .likert-label {
    max-width: none !important;
    min-height: 0 !important;
    font-size: .84rem !important;
    line-height: 1.2 !important;
    text-align: left !important;
    font-weight: 650 !important;
  }

  .likert-option input:checked + .likert-card .likert-number {
    background: var(--map-gold) !important;
    color: #fff !important;
  }

  .mapa-nav-actions {
    gap: .65rem !important;
    margin-top: 1rem !important;
  }

  .mapa-nav-actions .button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Resultado móvil: evita que títulos largos se salgan */
  .mapa-result-shell {
    padding: 0 !important;
  }

  .result-hero-card {
    padding: 1.2rem !important;
    overflow: hidden !important;
  }

  .result-position {
    font-size: clamp(2rem, 15vw, 3.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: .005em !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .result-phrase {
    font-size: 1.08rem !important;
    line-height: 1.42 !important;
    text-align: left !important;
  }

  .result-reading {
    font-size: .98rem !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .result-grid {
    grid-template-columns: 1fr !important;
  }

  .dimension-bar-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .2rem !important;
  }

  .mapa-share-preview img,
  .share-preview img,
  [data-share-image] {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Ajuste extra para móviles estrechos */
@media (max-width: 420px) {
  body.mapa-page .container {
    width: min(100% - .8rem, var(--container)) !important;
  }

  .mapa-step-card {
    padding: .82rem !important;
  }

  .question-card--compact {
    padding: .82rem !important;
  }

  .question-card--compact .question-title {
    font-size: .94rem !important;
  }

  .result-position {
    font-size: clamp(1.85rem, 14vw, 3rem) !important;
  }
}
