/* ════════════════════ NUMISMA · tema obsidiana + oro ════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#0a0c11;
  --bg2:#0e1118;
  --panel:rgba(255,255,255,.035);
  --panel2:rgba(255,255,255,.055);
  --line:rgba(228,200,130,.14);
  --line2:rgba(255,255,255,.08);
  --gold:#e3c879;
  --gold2:#caa44e;
  --gold-deep:#8a6d2c;
  --bronze:#b8895a;
  --silver:#c9d2dc;
  --ivory:#f2ead8;
  --txt:#ece6d7;
  --dim:#a7a292;
  --dim2:#736f63;
  --green:#5ddb9b;
  --red:#ff7a86;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,monospace;
  --r:16px;
  --shadow:0 24px 60px -20px rgba(0,0,0,.7);
  --spring:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  color:var(--txt);
  background:var(--bg);
  line-height:1.55;
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1100px 600px at 78% -8%, rgba(227,200,121,.10), transparent 60%),
    radial-gradient(900px 700px at 8% 105%, rgba(120,90,40,.10), transparent 60%),
    linear-gradient(180deg,#0a0c11,#0c0e15 60%,#090a0f);
}
body::after{ /* grano sutil */
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:15px}
::selection{background:rgba(227,200,121,.28)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:rgba(227,200,121,.18);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:rgba(227,200,121,.3)}

.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.gold-text{
  background:linear-gradient(95deg,#f4e3a8,#e3c879 35%,#caa44e 70%,#e9d390);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.serif{font-family:var(--serif)}

/* ─────────────── HEADER ─────────────── */
header.site{
  position:sticky;top:0;z-index:40;
  backdrop-filter:blur(16px) saturate(140%);
  background:linear-gradient(180deg,rgba(10,12,17,.86),rgba(10,12,17,.55));
  border-bottom:1px solid var(--line);
}
header.site .wrap{display:flex;align-items:center;gap:18px;height:68px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand .coin-mark{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:
    radial-gradient(circle at 35% 30%, #f7e9b6, #d9b863 40%, #9c7c34 75%, #6f561f);
  box-shadow:0 0 0 1px rgba(227,200,121,.5), inset 0 2px 5px rgba(255,255,255,.5), inset 0 -4px 8px rgba(0,0,0,.45), 0 6px 18px -6px rgba(227,200,121,.5);
  display:grid;place-items:center;font-family:var(--serif);font-weight:700;color:#5a4515;font-size:19px;
}
.brand .bn{display:flex;flex-direction:column;min-width:0}
.brand .bn b{font-family:var(--serif);font-weight:700;font-size:21px;line-height:1;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand .bn span{font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--dim2);margin-top:3px}
header.site nav{margin-left:auto;display:flex;align-items:center;gap:6px}
header.site nav a{
  padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--dim);
  transition:.2s var(--spring);
}
header.site nav a:hover{color:var(--ivory);background:var(--panel)}
.btn-admin{
  padding:8px 15px!important;border:1px solid var(--line);border-radius:999px;
  color:var(--gold)!important;font-weight:600;
}
.btn-admin:hover{background:rgba(227,200,121,.1)!important;border-color:var(--gold2)}

/* ─────────────── HERO ─────────────── */
.hero{position:relative;padding:72px 0 30px;text-align:center}
.hero .eyebrow{font-size:11.5px;letter-spacing:5px;text-transform:uppercase;color:var(--gold2);margin-bottom:20px;font-weight:600}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(40px,8vw,82px);line-height:1.02;letter-spacing:.5px}
.hero .tagline{max-width:620px;margin:22px auto 0;color:var(--dim);font-size:clamp(15px,2.4vw,18px);font-family:var(--serif);font-style:italic;font-size:21px}
.stats{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:42px auto 0;max-width:760px}
.stat{
  flex:1 1 130px;min-width:120px;padding:18px 14px;border-radius:var(--r);
  background:var(--panel);border:1px solid var(--line2);
  transition:.25s var(--spring);
}
.stat:hover{border-color:var(--line);transform:translateY(-2px)}
.stat .v{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1}
.stat .l{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim2);margin-top:8px}

/* ─────────────── FILTROS ─────────────── */
.toolbar{position:sticky;top:68px;z-index:30;padding:18px 0 14px;background:linear-gradient(180deg,rgba(10,12,17,.92),rgba(10,12,17,.0))}
.toolbar .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.search{position:relative;flex:1 1 260px;min-width:200px}
.search input{
  width:100%;padding:11px 14px 11px 40px;border-radius:999px;
  background:var(--panel2);border:1px solid var(--line2);color:var(--txt);outline:none;
  transition:.2s;
}
.search input:focus{border-color:var(--gold2);background:rgba(227,200,121,.06)}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.5}
.selectwrap{position:relative}
.selectwrap select{
  appearance:none;padding:11px 36px 11px 16px;border-radius:999px;
  background:var(--panel2);border:1px solid var(--line2);color:var(--txt);outline:none;cursor:pointer;
}
.selectwrap::after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--dim);font-size:12px}
.chip-toggle{
  padding:11px 18px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);
  font-size:13.5px;font-weight:600;color:var(--dim);transition:.2s var(--spring);white-space:nowrap;
}
.chip-toggle.on{background:linear-gradient(95deg,rgba(227,200,121,.2),rgba(202,164,78,.16));border-color:var(--gold2);color:var(--gold)}
.count-line{padding:6px 0 0;color:var(--dim2);font-size:12.5px;letter-spacing:.5px}

/* ─────────────── GRID DE MONEDAS ─────────────── */
.grid{
  display:grid;gap:20px;padding:18px 0 60px;
  grid-template-columns:repeat(auto-fill,minmax(238px,1fr));
}
.card{
  position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;
  background:var(--panel);border:1px solid var(--line2);
  transition:transform .35s var(--spring),border-color .25s,box-shadow .35s;
  animation:rise .5s var(--spring) backwards;
}
.card:hover{transform:translateY(-5px);border-color:var(--line);box-shadow:var(--shadow)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.card .ph{
  position:relative;aspect-ratio:1;overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%, #1a1d26, #0c0e14 78%);
  display:grid;place-items:center;
}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--spring)}
.card:hover .ph img{transform:scale(1.06)}
.card .ph .noimg{font-family:var(--serif);font-size:54px;color:rgba(227,200,121,.25)}
.card .badges{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.pill{
  font-size:10.5px;font-weight:700;letter-spacing:.4px;padding:4px 9px;border-radius:999px;
  backdrop-filter:blur(8px);background:rgba(10,12,17,.7);border:1px solid var(--line2);color:var(--ivory);
}
.pill.sale{background:linear-gradient(95deg,rgba(227,200,121,.95),rgba(202,164,78,.9));color:#3a2c08;border-color:transparent}
.pill.feat{background:rgba(10,12,17,.7);color:var(--gold);border-color:var(--line)}
.card .info{padding:14px 15px 16px}
.card .info h3{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.2;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .info .sub{font-size:12.5px;color:var(--dim);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.metal-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--silver);box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.metal-dot.oro,.metal-dot.gold{background:linear-gradient(135deg,#f4dd8e,#c99b3a)}
.metal-dot.plata,.metal-dot.silver{background:linear-gradient(135deg,#eef3f8,#aab6c4)}
.metal-dot.bronce,.metal-dot.bronze,.metal-dot.cobre,.metal-dot.copper{background:linear-gradient(135deg,#d99b63,#8a5429)}
.metal-dot.niquel,.metal-dot.nickel,.metal-dot.acero{background:linear-gradient(135deg,#d6dde4,#8c97a3)}

/* ─────────────── EMPTY / LOADING ─────────────── */
.empty{text-align:center;padding:80px 20px;color:var(--dim2)}
.empty .ico{font-size:60px;opacity:.4;margin-bottom:14px}
.empty h3{font-family:var(--serif);font-size:26px;color:var(--dim);font-weight:600}
.skel{background:linear-gradient(100deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}

/* ─────────────── DETALLE (overlay) ─────────────── */
.overlay{position:fixed;inset:0;z-index:60;display:none;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;background:rgba(5,6,9,.72);backdrop-filter:blur(8px)}
.overlay.open{display:flex;animation:fade .25s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.sheet{
  width:100%;max-width:920px;margin:auto;border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg,#13161f,#0d0f16);border:1px solid var(--line);box-shadow:var(--shadow);
  animation:pop .4s var(--spring);
}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
.sheet .closex{position:absolute;top:16px;right:16px;z-index:5;width:38px;height:38px;border-radius:50%;background:rgba(10,12,17,.7);border:1px solid var(--line2);color:var(--ivory);font-size:18px;backdrop-filter:blur(8px);transition:.2s}
.sheet .closex:hover{background:rgba(227,200,121,.16);border-color:var(--gold2)}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:0}
.detail .gallery{background:radial-gradient(circle at 50% 40%,#171a24,#0a0c11);padding:30px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center}
.coin-photo{position:relative;width:100%;max-width:300px;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(227,200,121,.3), 0 20px 50px -16px rgba(0,0,0,.8), inset 0 0 30px rgba(0,0,0,.4);background:#0c0e14}
.coin-photo img{width:100%;height:100%;object-fit:cover}
.coin-photo .face{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);background:rgba(10,12,17,.8);padding:3px 10px;border-radius:999px;border:1px solid var(--line)}
.coin-photo.square{border-radius:14px}
.detail .meta{padding:34px 30px 30px;max-height:84vh;overflow-y:auto}
.detail .meta .flag{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold2);font-weight:600}
.detail .meta h2{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1.08;margin:8px 0 4px}
.detail .meta .yr{color:var(--dim);font-family:var(--serif);font-size:20px;font-style:italic}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:22px 0;background:var(--line2);border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.spec{background:#0e1118;padding:11px 14px}
.spec .k{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim2)}
.spec .v{font-size:14.5px;color:var(--ivory);margin-top:3px;font-weight:500}
.spec .v.mono{font-family:var(--mono);font-size:13px}
.descr{color:var(--dim);font-size:14.5px;line-height:1.65;margin:6px 0 22px}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.tag{font-size:11.5px;padding:4px 11px;border-radius:999px;background:var(--panel);border:1px solid var(--line2);color:var(--dim)}
.sale-box{border:1px solid var(--line);border-radius:14px;padding:18px;background:linear-gradient(120deg,rgba(227,200,121,.08),rgba(202,164,78,.03))}
.sale-box .price{font-family:var(--serif);font-weight:700;font-size:32px}
.sale-box .pl{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold2)}
.value-line{display:flex;align-items:baseline;gap:8px;color:var(--dim);font-size:13.5px;margin-bottom:6px}
.value-line b{color:var(--ivory);font-family:var(--serif);font-size:18px;font-weight:600}

/* ─────────────── BOTONES ─────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:12px 22px;border-radius:12px;font-weight:600;font-size:14.5px;
  transition:.2s var(--spring);border:1px solid transparent;
}
.btn-gold{background:linear-gradient(95deg,#f0dd9d,#e3c879 40%,#caa44e);color:#3a2c08;box-shadow:0 10px 26px -10px rgba(227,200,121,.6)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(227,200,121,.7)}
.btn-ghost{background:var(--panel2);border-color:var(--line2);color:var(--ivory)}
.btn-ghost:hover{border-color:var(--gold2);background:rgba(227,200,121,.08)}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important}

/* ─────────────── FORM (inquiry / admin) ─────────────── */
.field{margin-bottom:14px}
.field label{display:block;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--dim2);margin-bottom:6px;font-weight:600}
.field input,.field textarea,.field select{
  width:100%;padding:11px 13px;border-radius:11px;background:#0c0e14;border:1px solid var(--line2);color:var(--txt);outline:none;transition:.2s;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold2);background:#0e1119}
.field textarea{resize:vertical;min-height:84px}
.form-msg{font-size:13.5px;margin-top:8px}
.form-msg.err{color:var(--red)}
.form-msg.ok{color:var(--green)}

/* ─────────────── FOOTER ─────────────── */
footer.site{border-top:1px solid var(--line);padding:50px 0;margin-top:30px;background:linear-gradient(180deg,transparent,rgba(227,200,121,.03))}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:flex-start}
footer.site .about{max-width:480px}
footer.site h4{font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:10px}
footer.site p{color:var(--dim);font-size:14.5px}
footer.site .contacts{display:flex;flex-direction:column;gap:10px}
footer.site .contacts a{display:inline-flex;align-items:center;gap:10px;color:var(--dim);font-size:14px;transition:.2s}
footer.site .contacts a:hover{color:var(--gold)}
.copy{margin-top:34px;color:var(--dim2);font-size:12px;letter-spacing:.5px}

/* ─────────────── TOAST ─────────────── */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);z-index:80;
  padding:13px 22px;border-radius:13px;background:#13161f;border:1px solid var(--line);box-shadow:var(--shadow);
  font-size:14px;font-weight:500;opacity:0;transition:.35s var(--spring);max-width:90vw}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.toast.ok{border-color:rgba(93,219,155,.4)}
.toast.err{border-color:rgba(255,122,134,.4)}

@media(max-width:760px){
  .detail{grid-template-columns:1fr}
  .detail .gallery{flex-direction:row;flex-wrap:wrap;padding:22px}
  .coin-photo{max-width:160px}
  .detail .meta{padding:24px 20px}
  .detail .meta h2{font-size:28px}
  .hero{padding:48px 0 20px}
  .stat .v{font-size:27px}
  header.site nav a:not(.btn-admin){display:none}
}
