/* ==========================================================================
   Davo Antiques - estilos de la web publica
   Paleta: azul mahon (navy) + dorado/crema
   ========================================================================== */
:root{
  --navy:#16273f; --navy-2:#1f3a5f; --navy-3:#2b4a72;
  --gold:#c9a44c; --gold-soft:#e0c983;
  --cream:#f5f0e6; --paper:#faf7f0; --ink:#22303f; --muted:#6b7683;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(22,39,63,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(201,164,76,.35)}
.nav-inner{max-width:1150px;margin:0 auto;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{color:var(--cream);font-size:1.35rem;letter-spacing:1px;display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .mark{width:34px;height:34px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:.95rem;font-weight:bold;flex:none}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-txt small{font-size:.6rem;letter-spacing:3px;color:var(--gold-soft);font-family:'Helvetica Neue',Arial,sans-serif}
.nav-links{display:flex;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--cream);text-decoration:none;margin-left:24px;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;font-family:'Helvetica Neue',Arial,sans-serif;opacity:.85;transition:.2s}
.nav-links a:hover{opacity:1;color:var(--gold-soft)}

/* HERO */
.hero{position:relative;min-height:78vh;display:grid;place-items:center;text-align:center;color:var(--cream);overflow:hidden;
  background:radial-gradient(ellipse at top,rgba(43,74,114,.55),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#0f1d31 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.10;background-image:radial-gradient(var(--gold) 1px,transparent 1.4px);background-size:26px 26px}
.hero-bg{position:absolute;inset:0;z-index:0;background-image:url('/assets/img/hero.webp');background-size:contain;background-position:center center;background-repeat:no-repeat;opacity:.5;filter:saturate(1.08)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(22,39,63,.5),rgba(15,29,49,.68))}
.hero-content{position:relative;z-index:2;padding:70px 24px;max-width:820px}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;font-weight:700;margin-bottom:18px}
.hero .lead{font-size:1.12rem;color:#d8dee7;max-width:600px;margin:0 auto 32px}

.eyebrow{font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:5px;text-transform:uppercase;font-size:.7rem;color:var(--gold-soft);margin-bottom:20px}
.eyebrow.gold{color:var(--gold)}
.gold-soft{color:var(--gold-soft)}
.rule{width:70px;height:2px;background:var(--gold);margin:0 auto 28px}
.rule.left{margin-left:0}

/* BOTONES */
.btn{display:inline-block;font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;font-size:.78rem;text-decoration:none;padding:14px 30px;border-radius:2px;transition:.25s;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:var(--navy);font-weight:bold}
.btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--gold-soft);color:var(--cream);margin-left:10px;background:transparent}
.btn-ghost:hover{background:rgba(201,164,76,.15)}
.btn-ghost-dark{border:1.5px solid var(--navy-3);color:var(--navy);background:transparent}
.btn-ghost-dark:hover{background:rgba(22,39,63,.06)}
.btn-plain{background:#fff;border:1px solid #d9d2c2;color:var(--navy)}
.btn-plain:hover{background:var(--cream)}

/* SECCIONES */
section{padding:80px 26px}
.wrap{max-width:1150px;margin:0 auto}
.sec-head{text-align:center;margin-bottom:44px}
.sec-head h2{font-size:clamp(1.9rem,4vw,2.7rem);color:var(--navy)}
.galeria{background:var(--cream)}

/* FILTROS */
.filtros{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.filtros input[type=search],.filtros select{padding:12px 14px;border:1px solid #d9d2c2;border-radius:2px;font-family:inherit;font-size:.95rem;background:#fff;color:var(--ink);min-width:180px}
.filtros input[type=search]{min-width:240px}
.filtros input:focus,.filtros select:focus{outline:none;border-color:var(--gold)}

/* GRID DE PIEZAS */
.grid-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.pieza{background:#fff;border:1px solid #eae3d4;border-radius:3px;overflow:hidden;text-decoration:none;color:inherit;transition:.25s;display:flex;flex-direction:column}
.pieza:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(22,39,63,.14)}
.pieza-img{position:relative;aspect-ratio:4/5;background:linear-gradient(145deg,var(--navy-2),var(--navy))}
.pieza-img img{width:100%;height:100%;object-fit:cover}
.ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold-soft);font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:2px;font-size:.72rem;text-align:center;padding:12px;opacity:.8}
.ph.big{font-size:1rem}
.badge{position:absolute;top:12px;left:12px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;padding:5px 10px;border-radius:2px;color:#fff}
.badge-disponible{background:#2f7d4f}
.badge-reservado{background:#c58a1e}
.badge-vendido{background:#9a3b3b}
.pieza-info{padding:18px 18px 22px}
.pieza-info h3{color:var(--navy);font-size:1.15rem;margin-bottom:6px}
.precio{color:var(--gold);font-weight:bold;font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:.5px}
.vacio{text-align:center;color:var(--muted);font-style:italic;padding:30px 0}

/* PAGINACION */
.paginacion{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:44px;font-family:'Helvetica Neue',Arial,sans-serif}
.paginacion a{color:var(--navy);text-decoration:none;font-size:.85rem;letter-spacing:1px;border-bottom:1px solid var(--gold)}
.pag-info{color:var(--muted);font-size:.82rem}

/* SOBRE / CONTACTO */
.sobre-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center}
.sobre h2{color:var(--navy);font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:6px}
.contacto-card{background:var(--navy);color:var(--cream);padding:36px 32px;border:1px solid rgba(201,164,76,.3)}
.contacto-card h3{color:var(--gold-soft);margin-bottom:18px;font-size:1.4rem}
.contacto-card p{margin-bottom:10px}
.contacto-card a{color:var(--cream)}
.contacto-card .btn{margin-top:16px}

/* FOOTER */
.site-footer{background:#0f1d31;color:#9aa7b6;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.85rem}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:44px 26px 24px}
.footer-brand{color:var(--cream);margin-bottom:10px;font-family:'Playfair Display',Georgia,serif;font-size:1.2rem}
.muted{color:#8593a4}
.footer-contact{display:flex;flex-direction:column;gap:8px}
.footer-contact a{color:var(--gold-soft);text-decoration:none}
.socials{display:flex;gap:10px;margin-top:8px}
.socials a{width:38px;height:38px;border:1px solid rgba(224,201,131,.5);border-radius:50%;display:grid;place-items:center;color:var(--gold-soft);text-decoration:none}
.socials a:hover{background:var(--gold);color:var(--navy)}
.footer-legal{border-top:1px solid rgba(255,255,255,.08);text-align:center;padding:18px;opacity:.6;letter-spacing:.5px}

/* FICHA */
.ficha{padding-top:50px}
.volver{display:inline-block;margin-bottom:24px;color:var(--muted);text-decoration:none;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.85rem;letter-spacing:1px}
.volver:hover{color:var(--navy)}
.ficha-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
.ficha-galeria .principal{background:linear-gradient(145deg,var(--navy-2),var(--navy));border:1px solid #eae3d4;border-radius:3px;overflow:hidden}
.ficha-galeria .principal img{width:100%;height:auto;object-fit:contain;max-height:640px;margin:0 auto}
.ficha-galeria .ph.big{position:relative;aspect-ratio:1/1}
.miniaturas{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.mini{border:2px solid transparent;padding:0;background:none;cursor:pointer;border-radius:2px;overflow:hidden;width:74px;height:92px}
.mini img{width:100%;height:100%;object-fit:cover}
.mini.activa{border-color:var(--gold)}
.ficha-info h1{color:var(--navy);font-size:clamp(1.8rem,3.5vw,2.6rem);margin:6px 0 16px}
.ficha-meta{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.precio-grande{font-family:'Helvetica Neue',Arial,sans-serif;font-size:1.6rem;font-weight:bold;color:var(--gold)}
.ficha-meta .badge{position:static}
.descripcion{white-space:pre-line;color:#3a4658;margin-bottom:30px}
.ficha-cta{display:flex;gap:12px;flex-wrap:wrap}

/* PAGINAS DE ESTADO (404, error, mantenimiento) */
.estado-page{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--cream)}
.estado-page.dark{background:linear-gradient(160deg,var(--navy),#0f1d31);color:var(--cream)}
.estado-page .center{padding:40px 24px;max-width:640px}
.estado-page h1{color:var(--navy);font-size:clamp(2rem,5vw,3rem);margin-bottom:4px}
.estado-page .rule{margin-top:20px}
.lead-dark{color:var(--muted);margin-bottom:28px}
.estado-page .lead{color:#d8dee7;margin-bottom:28px}

/* RESPONSIVE */
@media(max-width:820px){
  .sobre-grid,.ficha-grid{grid-template-columns:1fr;gap:30px}
  .nav-links a{margin-left:16px}
}

/* ---- FORMULARIO DE CONTACTO ------------------------------------------- */
.contacto-directo{margin-top:26px}
.contacto-directo p{margin-bottom:8px}
.contacto-directo a{color:var(--navy)}
.contacto-directo .btn{margin-top:12px}

.form-contacto{background:var(--navy);color:var(--cream);padding:34px 30px;border:1px solid rgba(201,164,76,.3);border-radius:3px}
.form-contacto h3{color:var(--gold-soft);font-size:1.45rem;margin-bottom:6px}
.form-contacto-pieza{font-size:.9rem;color:#c3ccd8;margin-bottom:14px}
.form-contacto label{display:block;margin-bottom:14px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft)}
.form-contacto input,.form-contacto textarea{width:100%;margin-top:6px;padding:12px 14px;background:rgba(255,255,255,.96);border:1px solid transparent;border-radius:2px;font-family:inherit;font-size:.98rem;color:var(--ink)}
.form-contacto input:focus,.form-contacto textarea:focus{outline:none;border-color:var(--gold)}
.form-contacto textarea{resize:vertical}
.form-contacto .btn{width:100%;margin-top:4px}
.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.dos-columnas{grid-template-columns:1fr}}
/* Campo trampa antispam: fuera de la vista pero no display:none */
.campo-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nota-privacidad{font-size:.72rem;color:#8fa0b3;margin-top:12px;text-align:center;font-family:'Helvetica Neue',Arial,sans-serif}
.aviso{padding:12px 14px;border-radius:3px;margin-bottom:16px;font-size:.92rem;font-family:'Helvetica Neue',Arial,sans-serif}
.aviso-ok{background:rgba(47,125,79,.22);border:1px solid #2f7d4f;color:#bfe6cd}
.aviso-error{background:rgba(154,59,59,.22);border:1px solid #9a3b3b;color:#f0c9c9}
.ficha-contacto{max-width:620px;margin:56px auto 0}
.aviso-vendido{background:var(--cream);border-left:3px solid var(--gold);padding:14px 16px;color:var(--muted);margin-bottom:22px}
