/* Capa de producto: aplica la dirección visual de carreto UI sin alterar el motor. */
.listing-photo { overflow: hidden; }
.listing-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 58%; }
.listing-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(28,28,26,.38)); pointer-events: none; }
.listing-photo span,.listing-photo b { z-index: 1; color: #fff; }
.listing-photo b { background: rgba(28,28,26,.72); }

.inspection-story { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 520px; background: #fff; }
.inspection-story > img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.inspection-story > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 7vw 6vw; }
.inspection-story h2 { margin: 7px 0 16px; font-size: clamp(2.5rem,4vw,4.3rem); line-height: 1.02; }
.inspection-story p:not(.eyebrow) { color: var(--muted); line-height: 1.75; }
.inspection-story .button { margin-top: 22px; }
.section-heading > div .eyebrow { margin-bottom: 7px; }
.operation-photo { position: relative; overflow: hidden; }
.operation-photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .4s ease; }
.operation-card:hover .operation-photo img { transform: scale(1.025); }
.operation-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(28,28,26,.28)); }
.operation-photo b { z-index: 1; }
.operation-total b { font-size: .92rem; }

body[data-route="app"] .site-header,body[data-route="calculator"] .site-header { position: sticky; background: #1a1a18; color: var(--paper); border-color: rgba(239,235,228,.12); }
body[data-route="app"] .site-header .nav-link,body[data-route="calculator"] .site-header .nav-link { color: rgba(239,235,228,.58); }
body[data-route="app"] .site-header .nav-link:hover,body[data-route="app"] .site-header .nav-link[aria-current="page"],body[data-route="calculator"] .site-header .nav-link:hover,body[data-route="calculator"] .site-header .nav-link[aria-current="page"] { color: var(--paper); }
body[data-route="app"] .site-header .nav-link[aria-current="page"],body[data-route="calculator"] .site-header .nav-link[aria-current="page"] { box-shadow: inset 0 -2px var(--accent); }

.dashboard-view { min-height: calc(100vh - 64px); background: var(--paper); }
.dashboard-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding: 38px 4vw 32px; background: #1a1a18; color: var(--paper); }
.dashboard-hero .eyebrow { margin-bottom: 9px; }
.dashboard-hero h1 { margin: 0; font-size: clamp(2.5rem,4vw,4.2rem); line-height: 1; overflow-wrap: anywhere; }
.dashboard-hero p:last-child { max-width: 620px; margin: 10px 0 0; color: rgba(239,235,228,.57); }
.dashboard-actions { display: flex; gap: 9px; flex: none; }
.dashboard-actions .button { text-decoration: none; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(4,1fr); background: #1a1a18; color: var(--paper); border-top: 1px solid rgba(239,235,228,.12); padding: 0 4vw 32px; }
.dashboard-metrics article { min-width: 0; padding: 23px 26px 3px 0; }
.dashboard-metrics article + article { padding-left: 26px; border-left: 1px solid rgba(239,235,228,.12); }
.dashboard-metrics span,.dashboard-metrics small { display: block; color: rgba(239,235,228,.45); font-size: .64rem; }
.dashboard-metrics span { text-transform: uppercase; letter-spacing: .15em; }
.dashboard-metrics strong { display: block; overflow: hidden; margin: 6px 0 3px; color: var(--paper); font: 400 clamp(1.8rem,2.8vw,2.8rem)/1 "Instrument Serif",serif; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-metrics article:nth-child(2) strong { color: #f0a97f; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,.72fr); gap: 28px; align-items: start; padding: 32px 4vw 70px; }
.dashboard-card { padding: 24px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow); }
.dashboard-recent-card { padding-bottom: 4px; }
.dashboard-side { display: grid; gap: 18px; }
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.card-heading .eyebrow { margin-bottom: 5px; }
.card-heading h2 { margin: 0; font-size: 1.55rem; }
.card-heading > a { color: #9a4a20; font-size: .75rem; }
.dashboard-vehicle { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.dashboard-vehicle:last-child { border-bottom: 0; }
.vehicle-thumb,.history-index { display: grid; place-items: center; width: 64px; height: 48px; border-radius: 4px; background: linear-gradient(135deg,#ded8cd,#f2eee7); color: rgba(28,28,26,.42); font: 400 1.6rem "Instrument Serif",serif; }
.dashboard-vehicle > div:nth-child(2) { min-width: 0; }
.dashboard-vehicle > div:nth-child(2) > strong { display: block; overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-vehicle small { color: var(--muted); font-size: .68rem; }
.vehicle-tags { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 7px; color: var(--muted); font-size: .64rem; }
.status-tag { padding: 3px 7px; border-radius: 3px; font-weight: 600; }
.status-tag.success { background: #e3ede5; color: var(--green); }
.status-tag.warning { background: #fae7dc; color: #9a4a20; }
.vehicle-total { text-align: right; }
.vehicle-total > strong { display: block; font: 400 1.25rem "Instrument Serif",serif; }
.text-link { padding: 5px 0; border: 0; background: transparent; color: #9a4a20; cursor: pointer; font-size: .68rem; }
.step-chip { padding: 5px 8px; border-radius: 3px; background: #fae7dc; color: #9a4a20; font-size: .62rem; }
.draft-name { display: block; margin-top: 18px; font: 400 1.35rem "Instrument Serif",serif; }
.dashboard-card > p { color: var(--muted); font-size: .76rem; line-height: 1.55; }
.dashboard-card > .button { display: block; margin-top: 15px; text-align: center; text-decoration: none; }
.preference-summary { margin: 14px 0 0; }
.preference-summary div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .72rem; }
.preference-summary div:last-child { border-bottom: 0; }
.preference-summary dt { color: var(--muted); }
.preference-summary dd { margin: 0; font-weight: 600; text-align: right; }
.dashboard-photo-card { position: relative; overflow: hidden; min-height: 300px; border-radius: 6px; color: #fff; }
.dashboard-photo-card img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.dashboard-photo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(28,28,26,.08),rgba(28,28,26,.84)); }
.dashboard-photo-card > div { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; padding: 24px; }
.dashboard-photo-card .eyebrow { margin-bottom: 7px; }
.dashboard-photo-card strong,.dashboard-photo-card span { display: block; }
.dashboard-photo-card strong { font: 400 1.45rem "Instrument Serif",serif; }
.dashboard-photo-card span { margin-top: 7px; color: rgba(255,255,255,.7); font-size: .72rem; line-height: 1.5; }
.empty-state { padding: 42px 20px; text-align: center; }
.empty-state > span { color: var(--accent); font: 400 1rem "Instrument Serif",serif; }
.empty-state h3 { margin: 8px 0; font-size: 1.7rem; }
.empty-state p { max-width: 430px; margin: 0 auto 18px; color: var(--muted); }
.empty-state .button { display: inline-block; text-decoration: none; }

.history-view { max-width: none; padding: 5vw 4vw; }
.content-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.content-heading h1 { font-size: clamp(3rem,5vw,5.2rem); }
.content-heading p:not(.eyebrow) { margin-bottom: 0; color: var(--muted); }
.content-heading .button { flex: none; text-decoration: none; }
.history-toolbar { display: flex; justify-content: space-between; gap: 20px; margin-top: 38px; padding: 12px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .7rem; }
.history-list { gap: 0; margin-top: 0; }
.history-item { grid-template-columns: minmax(0,1.3fr) minmax(190px,.55fr) auto; align-items: center; gap: 25px; padding: 20px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.history-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.history-index { width: 68px; height: 54px; flex: none; }
.history-main h3 { margin: 0; font-size: 1.35rem; }
.history-main small { color: var(--muted); }
.history-cost { display: grid; gap: 2px; text-align: right; }
.history-cost span,.history-cost small { color: var(--muted); font-size: .63rem; }
.history-cost strong { font: 400 1.55rem "Instrument Serif",serif; }
.history-actions { display: flex; gap: 7px; }
.history-actions .button { padding: 9px 12px; font-size: .68rem; }

.result-hero { padding: 28px; border: 0; border-radius: 6px; background: var(--ink); color: var(--paper); }
.result-hero p { color: rgba(239,235,228,.58); }
.result-hero .result-total { font-size: clamp(3rem,5.5vw,5.4rem); }
.result-metrics { border-radius: 6px; overflow: hidden; }
.metric { min-height: 110px; }
.cost-table { background: #fff; border: 1px solid var(--line); }
.cost-table th { background: #f5f1ea; }
.comparables { padding: 30px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }

.account-view { max-width: none; padding: 5vw 4vw 80px; }
.account-view .content-heading > div > p:last-child { color: var(--muted); }
.account-layout { display: grid; grid-template-columns: 220px minmax(0,850px); gap: 38px; align-items: start; margin-top: 42px; }
.settings-nav { position: sticky; top: 92px; display: grid; gap: 4px; }
.settings-nav > strong { padding: 0 10px 11px; border-bottom: 1px solid var(--ink); font: 400 1.25rem "Instrument Serif",serif; }
.settings-nav > a { padding: 10px; border-radius: 4px; color: var(--muted); text-decoration: none; font-size: .75rem; }
.settings-nav > a:hover { background: #fff; color: var(--ink); }
.account-assurance { margin-top: 18px; padding: 16px; border-radius: 5px; background: var(--ink); color: var(--paper); }
.account-assurance span { color: #f0a97f; font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.account-assurance p { margin-bottom: 0; color: rgba(239,235,228,.58); font-size: .7rem; line-height: 1.5; }
.settings-content { display: grid; gap: 20px; }
.settings-card { padding: 28px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow); scroll-margin-top: 88px; }
.settings-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 22px; padding-bottom: 15px; border-bottom: 1px solid var(--ink); }
.settings-heading .eyebrow { margin-bottom: 5px; }
.settings-heading h2 { margin: 0; font-size: 1.65rem; }
.settings-heading > span { color: var(--muted); font-size: .65rem; }
.settings-card > p { color: var(--muted); line-height: 1.6; }
.settings-card > .button { margin-top: 8px; }
.settings-submit { display: flex; align-items: end; }
.privacy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.privacy-grid > div { padding: 18px; background: #f8f5ef; }
.privacy-grid strong { font: 400 1.15rem "Instrument Serif",serif; }
.privacy-grid p { margin-bottom: 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.settings-card .danger-zone { margin-top: 24px; padding: 20px; border-radius: 5px; }
.settings-card .danger-zone h3,.settings-card .danger-zone p { margin: 0; }
.settings-card .danger-zone p { margin-top: 4px; color: var(--muted); font-size: .7rem; }

@media (max-width: 1000px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-side { grid-template-columns: repeat(2,1fr); }
  .dashboard-photo-card { grid-column: 1/-1; }
  .history-item { grid-template-columns: 1fr auto; }
  .history-cost { grid-column: 2; grid-row: 1; }
  .history-actions { grid-column: 1/-1; }
  .account-layout { grid-template-columns: 1fr; }
  .settings-nav { position: static; grid-template-columns: repeat(3,1fr); }
  .settings-nav > strong,.account-assurance { grid-column: 1/-1; }
}
@media (max-width: 760px) {
  .inspection-story { grid-template-columns: 1fr; min-height: 0; }
  .inspection-story > img { min-height: 280px; max-height: 430px; }
  .inspection-story > div { padding: 48px 20px; }
  .dashboard-hero { align-items: flex-start; flex-direction: column; padding: 34px 20px 26px; }
  .dashboard-actions { width: 100%; }
  .dashboard-actions .button { flex: 1; text-align: center; }
  .dashboard-metrics { grid-template-columns: repeat(2,1fr); padding: 0 20px 25px; }
  .dashboard-metrics article,.dashboard-metrics article + article { padding: 18px 12px 5px 0; border-left: 0; }
  .dashboard-metrics article:nth-child(even) { padding-left: 15px; border-left: 1px solid rgba(239,235,228,.12); }
  .dashboard-grid { padding: 24px 20px 55px; }
  .dashboard-side { grid-template-columns: 1fr; }
  .dashboard-photo-card { grid-column: auto; }
  .dashboard-vehicle { grid-template-columns: 48px minmax(0,1fr); }
  .vehicle-thumb { width: 48px; }
  .vehicle-total { grid-column: 2; display: flex; justify-content: space-between; align-items: center; text-align: left; }
  .history-view { padding: 42px 20px; }
  .content-heading { align-items: flex-start; flex-direction: column; }
  .history-toolbar { align-items: flex-start; flex-direction: column; }
  .history-item { display: grid; grid-template-columns: 1fr; gap: 14px; }
  .history-cost,.history-actions { grid-column: 1; grid-row: auto; text-align: left; }
  .history-actions .button { flex: 1; }
  .operation-photo { height: 210px; }
  .account-view { padding: 42px 20px; }
  .settings-nav { grid-template-columns: 1fr; }
  .settings-nav > strong,.account-assurance { grid-column: auto; }
  .settings-card { padding: 20px; }
  .settings-heading { flex-direction: column; }
  .privacy-grid { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
  #nav-calculator,#nav-history { display: none; }
  .dashboard-card { padding: 19px; }
  .dashboard-actions { flex-direction: column; }
  .dashboard-metrics strong { font-size: 1.75rem; }
  .dashboard-metrics small { font-size: .56rem; }
}
.product-view,.service-view{max-width:1240px;margin:0 auto;padding:5vw 4vw 80px}.product-view .content-heading,.service-view .content-heading{margin-bottom:38px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-grid .button{display:inline-block;margin-top:12px;text-decoration:none}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}.plan-card{display:flex;flex-direction:column;min-height:350px;padding:28px;border:1px solid var(--line);border-radius:6px;background:#fff}.plan-card.featured{border-color:var(--accent);box-shadow:0 12px 35px rgba(28,28,26,.09)}.plan-card h2{margin:8px 0;font-size:1.8rem}.plan-card>strong{font:400 2.3rem "Instrument Serif",serif}.plan-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.plan-card .button{margin-top:auto;text-align:center;text-decoration:none}.pipeline-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pipeline-card{padding:22px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:5px;background:#fff}.pipeline-card>div{display:flex;justify-content:space-between;align-items:center}.pipeline-card small,.pipeline-card p{color:var(--muted)}.pipeline-card h2{margin:16px 0 5px;font-size:1.35rem}.lead-ganado{background:#e3ede5;color:var(--green)}.lead-perdido{background:#f8e3e0;color:#b3261e}.lead-en_gestion,.lead-contactado,.lead-calificado{background:#fae7dc;color:#9a4a20}.service-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}.service-summary{position:sticky;top:88px;padding:30px;border-radius:6px;background:var(--ink);color:var(--paper)}.service-summary h2{font-size:2rem}.service-summary>p:not(.eyebrow),.service-summary li{color:rgba(239,235,228,.65);line-height:1.6}.service-summary>strong{display:block;margin:20px 0;font:400 2rem "Instrument Serif",serif;color:#f0a97f}.service-summary li{margin:8px 0}.service-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff;font:inherit;resize:vertical}.service-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin:20px 0;padding:24px 28px;border:1px solid #e2703a;border-radius:6px;background:#fff7ec}.service-cta h2{margin:5px 0;font-size:1.8rem}.service-cta p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.55}.wide{grid-column:1/-1}
.privacy-notice{padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:#f8f6f1}.privacy-notice summary{cursor:pointer;font-weight:600}.privacy-notice p{margin:12px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}.privacy-acceptance{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.45}.privacy-acceptance input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
@media(max-width:900px){.plans-grid,.pipeline-board{grid-template-columns:1fr}.service-layout,.feature-grid{grid-template-columns:1fr}.service-summary{position:static}.service-cta{grid-template-columns:1fr}.site-header nav{gap:8px}.site-header .nav-link{font-size:.65rem}}
@media(max-width:620px){.product-view,.service-view{padding:40px 20px 65px}.service-form.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}
