:root {
  --v5-navy: #071d2b;
  --v5-navy-2: #0d3040;
  --v5-teal: #0fb89c;
  --v5-teal-dark: #087f6e;
  --v5-mint: #e8f7f3;
  --v5-paper: #f5f7f5;
  --v5-white: #ffffff;
  --v5-ink: #122938;
  --v5-muted: #687b87;
  --v5-line: #dce5e2;
  --v5-warning: #b66e1b;
  --v5-warning-bg: #fff6e9;
  --v5-danger: #a43e3e;
  --v5-shadow: 0 22px 65px rgba(7, 29, 43, .08);
}

* { box-sizing: border-box; }
body.land-v5-page { margin: 0; color: var(--v5-ink); background: var(--v5-paper); }
.land-v5-page .container { width: min(100% - 42px, 1320px); }
.land-v5-header { border-bottom: 1px solid rgba(220, 229, 226, .82); background: rgba(255,255,255,.95); backdrop-filter: blur(16px); }
.land-v5-header .header-inner { min-height: 78px; }

.land-v5-hero { position: relative; overflow: hidden; padding: 64px 0 52px; background: #fff; }
.land-v5-hero::after {
  content: ""; position: absolute; right: -180px; top: -310px; width: 700px; height: 700px; border: 1px solid #dceae6; border-radius: 45% 55% 48% 52%; transform: rotate(18deg); opacity: .7;
  box-shadow: 0 0 0 72px rgba(232,247,243,.55), 0 0 0 144px rgba(232,247,243,.24);
}
.land-v5-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 74px; align-items: end; }
.land-v5-hero .back-link { display: inline-flex; margin-bottom: 22px; color: #617784; font-size: .76rem; text-decoration: none; }
.land-v5-eyebrow { display: flex; align-items: center; gap: 9px; color: var(--v5-teal-dark); font-size: .66rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.land-v5-eyebrow i { width: 28px; height: 2px; background: var(--v5-teal); }
.land-v5-hero h1 { max-width: 850px; margin: 18px 0 18px; color: var(--v5-navy); font-size: clamp(3.2rem, 6vw, 6.25rem); font-weight: 700; line-height: .96; letter-spacing: -.055em; }
.land-v5-hero h1 span { color: #69808b; font-weight: 500; }
.land-v5-hero > .container > div:first-child > p, .land-v5-hero-grid > div:first-child > p { max-width: 800px; margin: 0; color: #5c707c; font-size: 1rem; line-height: 1.75; }
.land-v5-trust { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--v5-line); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 18px 48px rgba(7,29,43,.07); }
.land-v5-trust > span { padding: 15px 19px 12px; color: #7c8e98; font-size: .59rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.land-v5-trust > div { display: grid; grid-template-columns: 108px 1fr; gap: 12px; padding: 14px 19px; border-top: 1px solid #edf1ef; }
.land-v5-trust b { color: var(--v5-navy); font-size: .76rem; }
.land-v5-trust small { color: #758792; font-size: .66rem; line-height: 1.4; }

.land-v5-workspace { padding: 28px 0 92px; }
.land-v5-form { display: grid; gap: 18px; }
.land-v5-alert { padding: 15px 18px; border: 1px solid #e6c3c3; border-radius: 12px; color: #8f3333; background: #fff5f5; font-size: .78rem; }
.land-v5-card { overflow: hidden; border: 1px solid var(--v5-line); border-radius: 22px; background: #fff; box-shadow: var(--v5-shadow); }
.land-v5-card-head { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 27px 30px 22px; border-bottom: 1px solid #edf1ef; }
.land-v5-card-head > div:first-child { display: flex; align-items: flex-start; gap: 15px; }
.land-v5-card-head.compact { padding-bottom: 24px; }
.land-v5-number { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: var(--v5-navy); font-size: .72rem; font-weight: 800; }
.land-v5-card-head small { display: block; margin: 1px 0 4px; color: var(--v5-teal-dark); font-size: .57rem; font-weight: 800; letter-spacing: .15em; }
.land-v5-card-head h2 { margin: 0 0 4px; color: var(--v5-navy); font-size: 1.45rem; letter-spacing: -.03em; }
.land-v5-card-head p { margin: 0; color: #758793; font-size: .74rem; }
.text-button { border: 0; padding: 8px 0; color: var(--v5-teal-dark); background: transparent; font-family: inherit; font-size: .72rem; font-weight: 750; cursor: pointer; }

.location-search-wrap { padding: 26px 30px 18px; }
.location-search { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; min-height: 62px; padding-left: 18px; border: 1px solid #cfdcd8; border-radius: 15px; background: #fbfcfb; transition: border-color .2s, box-shadow .2s, background .2s; }
.location-search:focus-within { border-color: var(--v5-teal); background: #fff; box-shadow: 0 0 0 4px rgba(15,184,156,.1); }
.location-search > svg { width: 20px; fill: none; stroke: #6d808b; stroke-width: 1.8; }
.location-search input { width: 100%; height: 60px; border: 0; outline: 0; padding: 0 14px; color: var(--v5-navy); background: transparent; font: 500 .92rem/1.2 inherit; }
.location-search input::placeholder { color: #9aa8af; }
.location-search > button { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 108px; height: 48px; margin-right: 7px; border: 0; border-radius: 11px; color: #fff; background: var(--v5-navy); font-family: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.location-search > button:disabled { opacity: .72; cursor: wait; }
.location-search i, .submit-v5 i { width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.location-quick-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 12px; }
.location-quick-actions button { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 11px; border: 1px solid #dbe4e1; border-radius: 9px; color: #516874; background: #fff; font-family: inherit; font-size: .66rem; font-weight: 700; cursor: pointer; }
.location-quick-actions button:hover { border-color: #9fd9cf; color: var(--v5-teal-dark); background: #f6fcfa; }
.location-quick-actions button span { color: var(--v5-teal-dark); font-size: .9rem; }
.location-search-wrap > p { margin: 10px 0 0; color: #8a99a1; font-size: .65rem; }

.location-feedback-v5 { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; margin: 0 30px 17px; padding: 13px 15px; border-radius: 11px; font-size: .72rem; }
.location-feedback-v5.success { border: 1px solid #cae9e2; color: #176c5e; background: #f0faf7; }
.location-feedback-v5.warning { border: 1px solid #f1d8b6; color: #83591f; background: #fff8ee; }
.location-feedback-v5.info { border: 1px solid #d5e2e8; color: #48616d; background: #f4f8fa; }
.location-feedback-v5 > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; background: currentColor; font-weight: 900; }
.location-feedback-v5 > span i { color: #fff; font-style: normal; }
.location-feedback-v5 strong { display: block; margin-bottom: 2px; color: inherit; }
.location-feedback-v5 p { margin: 0; color: inherit; opacity: .86; line-height: 1.55; }

.location-results-v5 { margin: 0 30px 18px; overflow: hidden; border: 1px solid var(--v5-line); border-radius: 13px; background: #fff; box-shadow: 0 16px 38px rgba(7,29,43,.08); }
.location-results-v5 button { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 12px; width: 100%; min-height: 62px; border: 0; border-bottom: 1px solid #edf1ef; padding: 10px 14px; text-align: left; color: inherit; background: #fff; cursor: pointer; }
.location-results-v5 button:last-child { border-bottom: 0; }
.location-results-v5 button:hover { background: #f6fbf9; }
.location-results-v5 button > span:first-child { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--v5-teal-dark); background: var(--v5-mint); }
.location-results-v5 strong { display: block; color: var(--v5-navy); font-size: .75rem; }
.location-results-v5 small { display: block; margin-top: 3px; color: #7b8d97; font-size: .63rem; line-height: 1.4; }
.location-results-v5 em { color: var(--v5-teal-dark); font-size: .62rem; font-style: normal; font-weight: 800; }
/* V49 (Fase 1): resultado cuyo estado no coincide con el que el usuario escribió
   -- mismo tratamiento de color que market-study.css ya usa para este caso en
   mercado.js, adaptado a las variables --v5-*. */
.location-results-v5 button.mismatch { background: var(--v5-warning-bg); }
.location-results-v5 button.mismatch:hover { background: #fdece0; }
.location-results-v5 button.mismatch em { color: var(--v5-danger); }

.location-confirmed-v5 { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 13px; margin: 0 30px 20px; padding: 14px 15px; border: 1px solid #cbe8e1; border-radius: 13px; background: #f3fbf8; }
.confirm-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #fff; background: var(--v5-teal-dark); font-weight: 900; }
.location-confirmed-v5 small { display: block; color: var(--v5-teal-dark); font-size: .55rem; font-weight: 800; letter-spacing: .12em; }
.location-confirmed-v5 strong { display: block; overflow: hidden; margin: 2px 0; color: var(--v5-navy); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.location-confirmed-v5 p { margin: 0; color: #6f828d; font-size: .64rem; }
.location-confirmed-v5 button { border: 0; color: #627681; background: transparent; font-family: inherit; font-size: .65rem; font-weight: 750; cursor: pointer; }

/* V49 (Fase 1): candado de confirmación explícita cuando el estado del resultado
   no coincide con el que el usuario escribió -- bloquea el envío del formulario
   (ver submit() en predio-v5.js) hasta que se marque la casilla. */
.state-mismatch-gate-v5 { margin: 0 30px 20px; padding: 14px 15px; border: 1px solid #f0c9a8; border-radius: 13px; background: var(--v5-warning-bg); }
.state-mismatch-gate-v5 strong { display: block; margin-bottom: 4px; color: var(--v5-danger); font-size: .74rem; }
.state-mismatch-gate-v5 p { margin: 0 0 8px; color: var(--v5-warning); font-size: .68rem; line-height: 1.45; }
.state-mismatch-gate-v5 label { display: flex; align-items: flex-start; gap: 8px; color: var(--v5-ink); font-size: .68rem; cursor: pointer; }
.state-mismatch-gate-v5 input[type="checkbox"] { margin-top: 2px; }

.land-v5-map-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(320px, .72fr); min-height: 540px; border-top: 1px solid #edf1ef; }
.map-stage { position: relative; min-height: 540px; background: #e9efed; }
.land-map { position: absolute; inset: 0; z-index: 2; min-height: 540px; }
.map-fallback { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; align-content: center; padding: 40px; text-align: center; color: #617681; background: radial-gradient(circle at 70% 30%, rgba(15,184,156,.11), transparent 28%), linear-gradient(135deg, #edf2f0, #e7ecea); }
.map-fallback.hidden-map { display: none; }
.map-fallback strong { margin-top: 12px; color: var(--v5-navy); font-size: .9rem; }
.map-fallback p { max-width: 430px; margin: 7px 0 0; font-size: .68rem; line-height: 1.55; }
.fallback-map-art { position: relative; width: 220px; height: 150px; opacity: .9; }
.fallback-map-art i { position: absolute; height: 16px; border-radius: 10px; background: rgba(255,255,255,.95); transform: rotate(-18deg); box-shadow: 0 0 0 1px rgba(192,205,201,.55); }
.fallback-map-art i:nth-child(1) { left: -20px; top: 32px; width: 270px; }
.fallback-map-art i:nth-child(2) { left: 64px; top: 15px; width: 190px; transform: rotate(62deg); }
.fallback-map-art i:nth-child(3) { left: -5px; top: 104px; width: 245px; transform: rotate(8deg); }
.fallback-map-art span { position: absolute; left: 76px; top: 43px; width: 90px; height: 68px; border: 2px solid var(--v5-teal-dark); background: rgba(104,218,196,.5); transform: skew(-12deg) rotate(-7deg); }
.map-help-strip { position: absolute; z-index: 500; left: 18px; right: 18px; bottom: 18px; display: flex; flex-wrap: wrap; gap: 8px; pointer-events: none; }
.map-help-strip > div { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.7); border-radius: 10px; color: #435b66; background: rgba(255,255,255,.92); box-shadow: 0 8px 20px rgba(7,29,43,.08); font-size: .59rem; font-weight: 700; backdrop-filter: blur(8px); }
.map-help-strip span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 6px; color: #fff; background: var(--v5-teal-dark); font-size: .55rem; }
.leaflet-container { font-family: inherit; }
.leaflet-control-layers, .leaflet-bar { border: 0 !important; box-shadow: 0 8px 24px rgba(7,29,43,.14) !important; }
.leaflet-bar a { color: var(--v5-navy) !important; }

.source-panel { position: relative; z-index: 3; padding: 28px 25px; border-left: 1px solid #dbe4e1; background: #fbfcfb; }
.source-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.source-panel-head small { display: block; color: var(--v5-teal-dark); font-size: .55rem; font-weight: 800; letter-spacing: .14em; }
.source-panel-head h3 { margin: 4px 0 0; color: var(--v5-navy); font-size: 1.12rem; letter-spacing: -.025em; }
.official-badge { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; font-size: .56rem; font-weight: 800; }
.official-badge.waiting { color: #758791; background: #e9eeec; }
.official-badge.loading { color: #6b5b28; background: #fff3cf; }
.official-badge.guided { color: #3c6474; background: #e5f0f4; }
.official-badge.structured { color: #0a7764; background: #dbf4ed; }
.source-panel > p { margin: 13px 0 19px; color: #70828d; font-size: .67rem; line-height: 1.55; }
.official-source-rows { display: grid; gap: 8px; }
.source-row { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 58px; padding: 10px 11px; border: 1px solid #e0e7e5; border-radius: 11px; background: #fff; }
.source-row > i { width: 8px; height: 8px; border-radius: 50%; background: #aebbb8; box-shadow: 0 0 0 4px #eef2f1; }
.source-row.ok > i { background: var(--v5-teal); box-shadow: 0 0 0 4px #e2f7f2; }
.source-row.warn > i { background: #d69339; box-shadow: 0 0 0 4px #fff2df; }
.source-row b { display: block; color: var(--v5-navy); font-size: .68rem; }
.source-row small { display: block; margin-top: 2px; color: #7c8d96; font-size: .57rem; line-height: 1.35; }
.source-row > span, .source-row > a { color: #71828b; font-size: .55rem; font-weight: 800; text-decoration: none; }
.source-row > a:hover { color: var(--v5-teal-dark); }
.official-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.official-facts > div { padding: 10px 11px; border: 1px solid #dce6e3; border-radius: 10px; background: #fff; }
.official-facts span { display: block; color: #87959d; font-size: .53rem; text-transform: uppercase; letter-spacing: .08em; }
.official-facts strong { display: block; margin-top: 4px; color: var(--v5-navy); font-size: .7rem; line-height: 1.35; }
.program-list { margin-top: 14px; padding-top: 14px; border-top: 1px solid #dfe7e4; }
.program-list > span { display: block; margin-bottom: 8px; color: #73858f; font-size: .54rem; font-weight: 800; letter-spacing: .1em; }
.program-list a { display: block; margin-top: 7px; color: var(--v5-navy); font-size: .62rem; font-weight: 700; line-height: 1.45; text-decoration: none; }
.program-list a:hover { color: var(--v5-teal-dark); }
.program-list small { display: block; margin-top: 2px; color: #87959c; font-size: .55rem; }
.source-legal-note { margin-top: 16px !important; padding: 12px; border-radius: 10px; color: #657984 !important; background: #f0f4f2; font-size: .58rem !important; }

.essentials-card { padding-bottom: 0; }
.essentials-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 16px; padding: 27px 30px 24px; }
.v5-field { display: grid; gap: 7px; }
.v5-field > span { color: #314b59; font-size: .68rem; font-weight: 750; }
.v5-field > span b { color: var(--v5-teal-dark); }
.v5-field > span em { color: #8b9aa2; font-size: .57rem; font-style: normal; font-weight: 600; }
.v5-field input, .v5-field select { width: 100%; height: 49px; border: 1px solid #d5dfdc; border-radius: 11px; outline: 0; padding: 0 13px; color: var(--v5-navy); background: #fbfcfb; font: 600 .78rem/1 inherit; transition: .2s; }
.v5-field input:focus, .v5-field select:focus { border-color: var(--v5-teal); background: #fff; box-shadow: 0 0 0 4px rgba(15,184,156,.08); }
.v5-field small { color: #89979e; font-size: .58rem; line-height: 1.45; }
.input-suffix, .input-prefix { position: relative; }
.input-suffix input { padding-right: 54px; }
.input-prefix input { padding-left: 33px; }
.input-suffix em, .input-prefix em { position: absolute; top: 50%; transform: translateY(-50%); color: #71848e; font-size: .68rem; font-style: normal; font-weight: 750; }
.input-suffix em { right: 15px; }
.input-prefix em { left: 14px; }
.area-field input { font-size: .9rem; }
.draft-status-v5 { color: #81919a; font-size: .6rem; }
.v5-advanced { margin: 0 30px 25px; border: 1px solid #dce5e2; border-radius: 13px; background: #f8faf8; }
.v5-advanced summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; color: #435c68; font-size: .68rem; font-weight: 750; cursor: pointer; list-style: none; }
.v5-advanced summary::-webkit-details-marker { display: none; }
.v5-advanced summary i { font-size: 1rem; font-style: normal; transition: transform .2s; }
.v5-advanced[open] summary i { transform: rotate(45deg); }
.advanced-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 0 17px 18px; }
.field-wide { grid-column: span 2; }

.analysis-preview-strip { display: grid; grid-template-columns: 150px 150px 170px minmax(0,1fr); gap: 0; margin: 0 30px 22px; overflow: hidden; border: 1px solid #dbe5e2; border-radius: 13px; background: #fafcfb; }
.analysis-preview-strip > div { display: flex; align-items: center; gap: 9px; min-height: 66px; padding: 12px 14px; border-right: 1px solid #e3e9e7; }
.analysis-preview-strip > div:last-child { border-right: 0; }
.analysis-preview-strip > div > span { display: grid; place-items: center; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 9px; color: #809098; background: #e9eeec; font-size: .72rem; font-weight: 900; }
.analysis-preview-strip > div.ready > span { color: #fff; background: var(--v5-teal-dark); }
.analysis-preview-strip p { margin: 0; }
.analysis-preview-strip b { display: block; color: var(--v5-navy); font-size: .65rem; }
.analysis-preview-strip small { display: block; margin-top: 2px; color: #81919a; font-size: .54rem; }
.analysis-preview-strip .preview-outcome { display: block; padding-left: 18px; background: #f0f8f5; }
.preview-outcome > small { display: block; color: var(--v5-teal-dark); font-size: .52rem; font-weight: 800; letter-spacing: .1em; }
.preview-outcome > strong { display: block; margin-top: 4px; color: #31505e; font-size: .65rem; line-height: 1.4; }
.consent-v5 { display: flex; align-items: flex-start; gap: 10px; margin: 0 30px 24px; color: #748791; font-size: .61rem; line-height: 1.55; }
.consent-v5 input { width: 16px; height: 16px; margin-top: 1px; accent-color: var(--v5-teal-dark); }
.submit-row-v5 { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 23px 30px; border-top: 1px solid #e8eeec; background: #f8faf8; }
.submit-row-v5 > div > span { display: block; color: var(--v5-teal-dark); font-size: .52rem; font-weight: 800; letter-spacing: .12em; }
.submit-row-v5 > div > strong { display: block; margin: 3px 0; color: var(--v5-navy); font-size: .78rem; }
.submit-row-v5 > div > small { display: block; color: #87969d; font-size: .58rem; }
.submit-v5 { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 240px; border-radius: 12px; }
.submit-v5 b { font-size: 1rem; }
.submit-v5:disabled { opacity: .72; cursor: wait; }

.hidden { display: none !important; }

/* Clean map popup */
.civiq-map-popup strong { display: block; color: var(--v5-navy); font-size: .72rem; }
.civiq-map-popup span { display: block; margin-top: 3px; color: #6d808b; font-size: .62rem; }
.civiq-pin { display: grid !important; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 12%; background: var(--v5-navy); box-shadow: 0 6px 18px rgba(7,29,43,.28); transform: rotate(-45deg); }
.civiq-pin::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--v5-teal); }

@media (max-width: 1080px) {
  .land-v5-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .land-v5-trust { grid-template-columns: auto repeat(3, 1fr); align-items: stretch; }
  .land-v5-trust > span { display: grid; place-items: center; }
  .land-v5-trust > div { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid #edf1ef; }
  .land-v5-map-grid { grid-template-columns: 1fr; }
  .source-panel { border-top: 1px solid #dbe4e1; border-left: 0; }
  .essentials-grid { grid-template-columns: 1fr 1fr; }
  .area-field { grid-column: span 2; }
  .advanced-grid { grid-template-columns: 1fr 1fr; }
  .analysis-preview-strip { grid-template-columns: repeat(3, 1fr); }
  .analysis-preview-strip .preview-outcome { grid-column: 1 / -1; border-top: 1px solid #e3e9e7; }
}

@media (max-width: 720px) {
  .land-v5-page .container { width: calc(100% - 22px); }
  .land-v5-hero { padding: 42px 0 32px; }
  .land-v5-hero::after { display: none; }
  .land-v5-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .land-v5-hero-grid { gap: 26px; }
  .land-v5-trust { grid-template-columns: 1fr; }
  .land-v5-trust > span { justify-content: start; }
  .land-v5-trust > div { grid-template-columns: 105px 1fr; border-top: 1px solid #edf1ef; border-left: 0; }
  .land-v5-workspace { padding-top: 14px; }
  .land-v5-card { border-radius: 17px; }
  .land-v5-card-head { align-items: flex-start; padding: 22px 18px 18px; }
  .land-v5-card-head .text-button { display: none; }
  .land-v5-card-head h2 { font-size: 1.2rem; }
  .location-search-wrap { padding: 19px 18px 14px; }
  .location-search { grid-template-columns: 20px minmax(0,1fr); padding-left: 13px; }
  .location-search input { height: 54px; padding: 0 10px; font-size: .78rem; }
  .location-search > button { grid-column: 1 / -1; width: calc(100% + 14px); height: 44px; margin: 0 0 -1px -14px; border-radius: 0 0 12px 12px; }
  .location-quick-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .location-quick-actions button { justify-content: center; }
  .location-quick-actions button:last-child { grid-column: 1 / -1; }
  .location-feedback-v5, .location-results-v5, .location-confirmed-v5 { margin-right: 18px; margin-left: 18px; }
  .location-confirmed-v5 { grid-template-columns: 36px minmax(0,1fr); }
  .location-confirmed-v5 > button { grid-column: 1 / -1; padding-top: 8px; border-top: 1px solid #dce9e5; }
  .map-stage, .land-map { min-height: 430px; }
  .map-help-strip { left: 10px; right: 10px; bottom: 10px; display: grid; grid-template-columns: 1fr; }
  .map-help-strip > div:nth-child(2), .map-help-strip > div:nth-child(3) { display: none; }
  .source-panel { padding: 23px 18px; }
  .essentials-grid { grid-template-columns: 1fr; padding: 22px 18px; }
  .area-field { grid-column: auto; }
  .v5-advanced { margin: 0 18px 21px; }
  .advanced-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .analysis-preview-strip { grid-template-columns: 1fr; margin: 0 18px 20px; }
  .analysis-preview-strip > div { border-right: 0; border-bottom: 1px solid #e3e9e7; }
  .analysis-preview-strip > div:last-child { border-bottom: 0; }
  .analysis-preview-strip .preview-outcome { grid-column: auto; border-top: 0; }
  .consent-v5 { margin: 0 18px 20px; }
  .submit-row-v5 { align-items: stretch; flex-direction: column; padding: 21px 18px; }
  .submit-v5 { width: 100%; min-width: 0; }
  .official-facts { grid-template-columns: 1fr; }
}
.risk-declare-grid { border-top: 1px dashed #d7e0dd; margin-top: 4px; padding-top: 16px; }
.risk-declare-note { grid-column: 1 / -1; margin: 0 0 2px; color: #7c8d96; font-size: .68rem; line-height: 1.4; }

/* V47.14 -- expectativa de tiempo antes de la espera del análisis de predio. */
.market-wait-note { margin: 10px 2px 0; font-size: .82rem; line-height: 1.5; color: #5a6b7b; }
