/* 21 Garage. Concepto: showroom de noche. Fondo carbón cálido, los vehículos
   iluminados como en vidriera y el dorado del logo como única luz de acento. */

@font-face{font-family:"Barlow Condensed";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-600-normal.woff2) format("woff2")}

:root{
  color-scheme:dark;
  --ink:#0C0B09;
  --carbon:#15140F;
  --carbon-2:#1D1B16;
  --line:#2C2923;
  --smoke:#A39D8F;
  --bone:#EEEAE1;
  --brass:#C9A24A;
  --amber:#EDC867;
  --brass-ink:#17120A;
  --brass-tint:rgba(201,162,74,.13);
  --glow:rgba(237,200,103,.17);
  --veil:rgba(12,11,9,.88);
  --shadow:0 12px 32px -10px rgba(0,0,0,.75);
  --reserved:#E2A53C;
  --sold:#7A756C;
  --danger:#E58A72;
  --ok:#8BC48A;
  --font-display:"Barlow Condensed","Arial Narrow","Roboto Condensed",system-ui,sans-serif;
  --font-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --step--2:.75rem;
  --step--1:.875rem;
  --step-0:1rem;
  --step-1:1.1875rem;
  --step-2:1.5rem;
  --step-3:clamp(1.95rem,5.4vw,2.7rem);
  --step-4:clamp(2.6rem,9vw,4.5rem);
  --radius:4px;
  --header-h:60px;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px)}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--font-body);font-size:var(--step-0);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.02;margin:0;text-wrap:balance}
p{margin:0}
button,input,select,textarea{font:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:var(--radius);background:var(--brass);color:var(--brass-ink);font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.num{font-variant-numeric:tabular-nums}
.ico{width:20px;height:20px;flex:none}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:768px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}

/* Encabezado */
.site-header{position:sticky;top:0;z-index:20;background:var(--veil);-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:16px;min-height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:12px;margin-right:auto;padding-block:8px;color:var(--brass);text-decoration:none}
.wordmark{display:block;height:20px;width:auto}
.header-actions{display:flex;align-items:center;gap:8px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--bone);font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.icon-btn:hover{border-color:var(--brass);color:var(--amber)}
.icon-btn.is-brass{background:var(--brass);border-color:var(--brass);color:var(--brass-ink)}
.icon-btn.is-brass:hover{background:var(--amber);border-color:var(--amber);color:var(--brass-ink)}
.icon-btn .label{display:none}
.site-nav{display:none}
@media (min-width:480px){.icon-btn .label{display:inline}}
@media (max-width:899px){
  .site-header.menu-open .site-nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--carbon);border-bottom:1px solid var(--line);padding-block:4px 12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));box-shadow:var(--shadow)}
  .site-nav a{padding-block:14px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none}
  .site-nav a:last-child{border-bottom:0}
}
@media (min-width:900px){
  .wordmark{height:24px}
  .site-nav{display:flex;gap:26px;margin-right:12px}
  .site-nav a{padding-block:8px;color:var(--smoke);font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
  .site-nav a:hover{color:var(--bone)}
  .menu-btn{display:none}
}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:1.0625rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.btn-primary{background:var(--brass);color:var(--brass-ink)}
.btn-primary:hover{background:var(--amber)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--bone)}
.btn-ghost:hover{border-color:var(--brass);color:var(--amber)}
.btn-block{width:100%}
.btn[aria-disabled="true"],.btn:disabled{opacity:.45;pointer-events:none}
.text-link{display:inline-flex;align-items:center;gap:8px;padding-block:6px;color:var(--brass);font-family:var(--font-display);font-weight:600;font-size:1.0625rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.text-link:hover{color:var(--amber)}
.text-link .ico{transition:transform .2s}
.text-link:hover .ico{transform:translateX(3px)}
.link-btn{min-height:44px;padding:0 4px;border:0;background:none;color:var(--brass);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.link-btn:hover{color:var(--amber)}

/* Portada */
.hero{position:relative;padding-bottom:48px;border-bottom:1px solid var(--line)}
.hero-inner{display:flex;flex-direction:column}
.hero-media{position:relative;isolation:isolate;aspect-ratio:16/10;max-width:100%}
.hero-media::before{content:"";position:absolute;inset:8% 4% 12%;z-index:-1;background:radial-gradient(closest-side,var(--glow),transparent 72%)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;-webkit-mask-image:radial-gradient(ellipse 74% 80% at 50% 52%,#000 56%,transparent 100%);mask-image:radial-gradient(ellipse 74% 80% at 50% 52%,#000 56%,transparent 100%)}
.hero-copy{display:flex;flex-direction:column;gap:18px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.hero-copy .eyebrow{margin:0}
.hero-title{max-width:13ch;font-size:var(--step-4);line-height:.96;letter-spacing:-.005em}
.hero-lede{max-width:40ch;color:var(--smoke);font-size:var(--step-1);line-height:1.5}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-actions .btn{flex:1 1 200px}
@media (min-width:900px){
  .hero{padding-block:32px 64px}
  .hero-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:40px;max-width:var(--wrap);margin-inline:auto;padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}
  .hero-copy{order:1;padding-left:0;padding-right:0}
  .hero-media{order:2;aspect-ratio:1/1}
  .hero-actions .btn{flex:0 0 auto}
}

/* Secciones */
.section{padding-block:56px}
.section + .section{border-top:1px solid var(--line)}
.band{background:var(--carbon)}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.section-head h2{font-size:var(--step-3)}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--brass);font-family:var(--font-display);font-weight:600;font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase}
.lights{flex:none;width:24px;height:6px;background:radial-gradient(circle,var(--amber) 0 2px,transparent 2.7px) 0 50%/8px 6px repeat-x;filter:drop-shadow(0 0 4px var(--amber))}
@media (min-width:900px){.section{padding-block:88px}}
.mensaje{display:grid;gap:14px;justify-items:start;max-width:640px}
.mensaje h1{font-size:var(--step-3)}
.mensaje p{color:var(--smoke)}

/* Stock */
.stock-count{color:var(--smoke);font-size:var(--step--1)}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.chips{display:flex;gap:8px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip,.btn-filter{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--smoke);font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.chip .num{font-weight:500;opacity:.75}
.chip:hover,.btn-filter:hover{border-color:var(--smoke);color:var(--bone)}
.chip[aria-pressed="true"],.btn-filter[aria-expanded="true"]{border-color:var(--brass);background:var(--brass-tint);color:var(--amber)}
.toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sort{display:flex;align-items:center}
.sort .ctl{min-height:42px;width:auto;font-size:15px}
.filter-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brass);color:var(--brass-ink);font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:0}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--carbon)}
.filters .reset{grid-column:1/-1;justify-self:start}
@media (min-width:900px){.filters{grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:end}.filters .reset{grid-column:auto;align-self:center}}
.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:620px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1180px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--carbon);transition:border-color .25s}
.card:hover{border-color:var(--brass)}
.card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.card-media{position:relative;overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--carbon-2)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media img{transform:scale(1.035)}
.card-sin-foto{display:grid;place-items:center;width:100%;height:100%;min-height:120px;color:var(--smoke);font-size:var(--step--1)}
.card-body{display:grid;gap:4px;padding:14px 16px 18px}
.card-kicker{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--smoke);font-size:var(--step--2);letter-spacing:.14em;text-transform:uppercase}
.card-kicker .dest{color:var(--brass)}
.card-title{font-size:1.5rem;line-height:1.05}
.card-meta{color:var(--smoke);font-size:var(--step--1)}
.card-price{margin-top:8px;color:var(--brass);font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:.01em}
.badge{position:absolute;top:12px;left:12px;z-index:1;padding:5px 10px;border-radius:2px;font-family:var(--font-display);font-weight:700;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase}
.badge-reservado{background:var(--reserved);color:var(--brass-ink)}
.badge-vendido{background:var(--bone);color:var(--ink)}
.card[data-estado="vendido"] .card-media img{filter:grayscale(1) brightness(.55)}
.card[data-estado="vendido"] .card-price{color:var(--sold);text-decoration:line-through}
.empty{display:grid;gap:10px;justify-items:start;padding:28px 20px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--smoke)}
.grid > .empty{grid-column:1/-1}
.empty-title{color:var(--bone);font-family:var(--font-display);font-weight:600;font-size:var(--step-2)}
.empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}

/* Servicios */
.services{display:grid;border-top:1px solid var(--line)}
.service{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-block:24px;border-bottom:1px solid var(--line)}
.service h3{font-size:var(--step-2)}
.service p{max-width:38ch;color:var(--smoke)}
.service .text-link{margin-top:auto}
@media (min-width:900px){.services{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:0}.service{padding-block:24px 0;border-top:1px solid var(--brass);border-bottom:0}}

/* Formularios */
.split{display:grid;gap:28px}
.split-copy{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.split-copy .eyebrow{margin:0}
.split-copy h2{font-size:var(--step-3)}
.split-copy p{max-width:46ch;color:var(--smoke)}
@media (min-width:900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:64px}}
.form-card{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink)}
#infracciones .form-card{background:var(--carbon)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field > span:first-child,.field-label,legend{color:var(--smoke);font-size:var(--step--2);font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.field em{font-style:normal;text-transform:none;letter-spacing:0;opacity:.8}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
fieldset{min-width:0;margin:0;padding:0;border:0}
legend{margin-bottom:8px;padding:0}
.radios{display:grid;gap:8px}
@media (min-width:520px){.radios{grid-template-columns:repeat(2,minmax(0,1fr))}}
.radios.estados{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.radio,.check{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer}
.radio{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--carbon-2)}
.radio:has(input:checked){border-color:var(--brass);background:var(--brass-tint)}
.radio input,.check input{width:18px;height:18px;margin:0;accent-color:var(--brass)}
.ctl{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--carbon-2);color:var(--bone);font-size:16px;line-height:1.3}
.ctl::placeholder{color:var(--smoke);opacity:.7}
.ctl:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-tint)}
.ctl[aria-invalid="true"]{border-color:var(--danger)}
.ctl:disabled{opacity:.5}
select.ctl{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--smoke) 50%),linear-gradient(135deg,var(--smoke) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
textarea.ctl{min-height:96px;resize:vertical}
.hint,.fine{color:var(--smoke);font-size:var(--step--1)}

/* Patente estilo Mercosur */
.plate{display:block;max-width:300px;overflow:hidden;border:2px solid var(--bone);border-radius:6px;background:var(--bone)}
.plate::before{content:"REPÚBLICA ARGENTINA";display:block;padding:4px 0;background:var(--ink);color:var(--bone);font:600 .625rem/1 var(--font-body);letter-spacing:.24em;text-align:center}
.plate input{width:100%;min-height:58px;padding:6px 10px 8px;border:0;background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:2.1rem;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.plate input::placeholder{color:var(--sold)}
.plate input:focus{outline:none}
.plate:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-tint)}

/* Contacto */
.contact-grid{display:grid;border-top:1px solid var(--line)}
.contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-block:22px;border-bottom:1px solid var(--line);min-width:0}
.contact-item .label{color:var(--smoke);font-size:var(--step--2);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.contact-item .value{font-family:var(--font-display);font-weight:600;font-size:1.625rem;line-height:1.1;text-decoration:none;overflow-wrap:anywhere}
.contact-item .value-sm{font-size:1.25rem}
a.value:hover{color:var(--amber)}
.contact-wa .value{color:var(--brass);font-size:clamp(2rem,7vw,3rem);user-select:all}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px}
.horarios{display:grid;gap:10px;margin:0}
.horarios dt{color:var(--smoke);font-size:var(--step--1)}
.horarios dd{margin:2px 0 0;font-family:var(--font-display);font-weight:600;font-size:1.5rem;line-height:1.1}
@media (min-width:640px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.contact-wa{grid-column:1/-1}}
@media (min-width:1000px){.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Pie */
.site-footer{padding-block:40px 112px;border-top:1px solid var(--line);background:var(--carbon);color:var(--smoke);font-size:var(--step--1)}
.footer-inner{display:grid;gap:18px}
.footer-brand{display:inline-block;justify-self:start}
.footer-brand .wordmark{height:28px}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.footer-nav a{color:var(--bone);text-decoration:none}
.footer-nav a:hover{color:var(--amber)}
@media (min-width:900px){.site-footer{padding-block:48px}}

/* Botón flotante, barra fija del detalle y avisos */
.fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:56px;height:56px;border-radius:28px;background:var(--brass);color:var(--brass-ink);box-shadow:var(--shadow);font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.fab:hover{background:var(--amber)}
.fab .ico{width:24px;height:24px}
.fab-label{display:none}
@media (min-width:900px){.fab{width:auto;padding:0 22px 0 18px}.fab-label{display:inline}}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:25;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-top:1px solid var(--line);background:var(--veil);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.sticky-inner{display:flex;align-items:center;gap:12px;max-width:var(--wrap);margin-inline:auto}
.sticky-info{flex:1;min-width:0}
.sticky-title{overflow:hidden;color:var(--smoke);font-size:var(--step--1);white-space:nowrap;text-overflow:ellipsis}
.sticky-price{color:var(--brass);font-family:var(--font-display);font-weight:600;font-size:1.375rem;line-height:1.1}
.sticky-cta .btn{min-height:46px;padding:0 18px}
@media (min-width:900px){.sticky-cta{display:none}}
.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:40;width:max-content;max-width:min(92vw,440px);padding:12px 16px;border-radius:var(--radius);background:var(--bone);color:var(--ink);box-shadow:var(--shadow);font-weight:500;transform:translateX(-50%)}
.toast.is-error{background:var(--danger)}

/* Ficha del vehículo */
.detail{padding-block:16px 120px}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:12px;color:var(--smoke);font-family:var(--font-display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.back:hover{color:var(--bone)}
.detail-grid{display:grid;gap:24px}
.gallery{display:grid;gap:10px;min-width:0}
.gallery-wrap{position:relative}
.gallery-track{display:flex;overflow-x:auto;aspect-ratio:4/3;max-width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--carbon-2);scroll-snap-type:x mandatory;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.dots span{width:6px;height:6px;border-radius:3px;background:var(--bone);opacity:.45;transition:width .2s,opacity .2s}
.dots span.on{width:18px;opacity:1}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.thumb{overflow:hidden;aspect-ratio:4/3;max-width:100%;padding:0;border:1px solid var(--line);border-radius:2px;background:none;cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb[aria-current="true"]{border-color:var(--brass)}
.detail-info{display:flex;flex-direction:column;gap:20px;min-width:0}
.detail-title{font-size:var(--step-3)}
.detail-meta{margin-top:6px;color:var(--smoke);font-size:var(--step-1)}
.detail-price{color:var(--brass);font-family:var(--font-display);font-weight:600;font-size:clamp(2.25rem,7vw,3rem);line-height:1}
.detail-price.is-sold{color:var(--sold);text-decoration:line-through}
.detail-cta{display:grid;gap:8px}
.ops{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ops li{display:flex;align-items:center;gap:10px}
.ops .ico{width:18px;height:18px;color:var(--brass)}
.block-title{margin-bottom:10px;color:var(--smoke);font-family:var(--font-body);font-size:var(--step--1);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.spec{min-width:0;padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec dt{color:var(--smoke);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase}
.spec dd{margin:4px 0 0;font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.15;overflow-wrap:anywhere}
.desc{display:grid;gap:10px;max-width:62ch}
.equip{margin:0;padding-left:18px}
.more{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.more h2{margin-bottom:20px;font-size:var(--step-2)}
@media (min-width:900px){
  .detail{padding-block:28px 88px}
  .detail-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:48px}
  .detail-info{position:sticky;top:calc(var(--header-h) + 24px)}
}

/* Panel */
.panel-header .wordmark{height:18px}
.panel-tag{padding:3px 8px;border:1px solid var(--brass);border-radius:2px;color:var(--brass);font-family:var(--font-display);font-weight:600;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase}
.panel{max-width:960px;padding-block:28px 96px}
.panel-loading{padding-block:40px;color:var(--smoke)}
.panel-head,.editor-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.panel-head h1,.editor-head h1{font-size:var(--step-3)}
.panel-head .eyebrow,.editor-head .eyebrow{margin-bottom:8px}
.panel-stats{margin-bottom:12px;color:var(--smoke);font-size:var(--step--1)}
.panel-search{margin-bottom:12px}
.panel-user{color:var(--smoke);font-size:var(--step--1);overflow-wrap:anywhere}
.rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px 14px;padding-block:14px;border-bottom:1px solid var(--line)}
.row-thumb{width:72px;aspect-ratio:4/3;object-fit:cover;border-radius:2px;background:var(--carbon-2)}
.row-info{display:grid;gap:2px;min-width:0}
.row-info strong{font-family:var(--font-display);font-weight:600;font-size:1.2rem;line-height:1.1}
.row-info span{color:var(--smoke);font-size:var(--step--1)}
.row-controls{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.row-empty{padding-block:20px;color:var(--smoke)}
@media (min-width:820px){.row{grid-template-columns:88px minmax(0,1fr) auto}.row-thumb{width:88px}.row-controls{grid-column:auto;justify-content:flex-end}}
.seg{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}
.seg button,.mini-btn{min-height:40px;padding:0 12px;font-family:var(--font-display);font-weight:600;font-size:.9375rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.seg button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--smoke)}
.seg button:last-child{border-right:0}
.seg button:hover{color:var(--bone)}
.seg button[aria-pressed="true"][data-estado="disponible"]{background:var(--brass-tint);color:var(--amber)}
.seg button[aria-pressed="true"][data-estado="reservado"]{background:var(--reserved);color:var(--brass-ink)}
.seg button[aria-pressed="true"][data-estado="vendido"]{background:var(--bone);color:var(--ink)}
.mini-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--bone);text-decoration:none}
.mini-btn:hover{border-color:var(--brass);color:var(--amber)}
.mini-btn[aria-pressed="true"]{border-color:var(--brass);color:var(--amber)}
.mini-btn.danger:hover{border-color:var(--danger);color:var(--danger)}
.mini-btn:disabled{opacity:.45;pointer-events:none}
.confirm{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid var(--danger);border-radius:var(--radius)}
.confirm span{margin-right:auto}
.editor{display:grid;gap:28px}
.form-error{padding:12px 14px;border:1px solid var(--danger);border-radius:var(--radius)}
.ed-block{display:grid;gap:14px;padding-top:20px;border-top:1px solid var(--line)}
.ed-block h2{color:var(--smoke);font-family:var(--font-body);font-size:var(--step--1);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.ed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ed-grid .wide,.ed-grid .half{grid-column:1/-1}
@media (min-width:760px){.ed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ed-grid .half{grid-column:span 2}}
.price-field{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.photo{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--carbon-2)}
.photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo .tag{position:absolute;top:6px;left:6px;padding:3px 7px;border-radius:2px;background:var(--brass);color:var(--brass-ink);font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.photo .estado-foto{position:absolute;inset:0;display:grid;place-items:center;padding:8px;background:rgba(12,11,9,.72);color:var(--bone);font-size:var(--step--1);text-align:center}
.photo .estado-foto.is-error{color:var(--danger)}
.photo-actions{display:flex;gap:6px;padding:6px}
.photo-actions button{flex:1;min-height:36px;padding:0 4px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--bone);font-size:var(--step--2);cursor:pointer}
.photo-actions button:hover{border-color:var(--brass);color:var(--amber)}
.photo-actions button:disabled{opacity:.35;pointer-events:none}
.dropzone{display:grid;justify-items:center;gap:6px;padding:22px 16px;border:1px dashed var(--smoke);border-radius:var(--radius);color:var(--bone);text-align:center;cursor:pointer}
.dropzone:hover,.dropzone.is-over{border-color:var(--brass);color:var(--amber)}
.dropzone .ico{width:28px;height:28px}
.dropzone small{max-width:46ch;color:var(--smoke);font-size:var(--step--1)}
.sr-only:focus-visible + .dropzone{outline:2px solid var(--amber);outline-offset:3px}
.dropzone.is-invalid{border-color:var(--danger)}
.editor-actions{display:flex;flex-wrap:wrap;gap:12px}
.panel-foot{margin-top:20px}

@media (prefers-reduced-motion:no-preference){
  .hero-media::before{animation:encendido 2.2s cubic-bezier(.2,.7,.2,1) both}
  @keyframes encendido{from{opacity:.3;transform:scale(.92)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .card-media img,.text-link .ico{transition:none}
  .card:hover .card-media img,.text-link:hover .ico{transform:none}
}
