:root{
  --bg:#0b0b0c;
  --card:#121214;
  --text:#f4f4f5;
  --muted:#b7b7be;
  --line:#232328;
  --accent:#d8b35a;
  --accent2:#d14b4b;
  --radius:18px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 700px at 20% 0%, #1a1a1f 0%, var(--bg) 55%);
  color:var(--text);
}

.container{max-width:1100px;margin:0 auto;padding:24px}
.topbar{
  position:sticky;top:0;z-index:5;
  backdrop-filter: blur(10px);
  background: rgba(11,11,12,.65);
  border-bottom:1px solid var(--line);
  padding:14px 24px;
  display:flex;gap:18px;align-items:center;justify-content:space-between;
}
.site-header{
  display: grid;
  grid-template-columns: auto 1fr auto auto; /* logo | tagline | chips */
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
}
.logo{
  height: 52px;   /* ajusta a 40–52 según tu gusto */
  width: auto;
  display: block;
}
.brand { display: flex; align-items: center; }
.brand-link { display: inline-flex; align-items: center; }
.brand{color:var(--muted);font-size:13px;margin-top:2px}
.tagline{
  text-align: center;
  font-weight: 600;
  opacity: 0.95;
  line-height: 1.2;
  white-space: nowrap;         /* evita que se parta raro */
  overflow: hidden;
  text-overflow: ellipsis;     /* si no cabe, "..." */
  padding: 0 8px;
}
.nav{
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: nowrap;
}

.chip{
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  font-size:13px;
}
.chip.is-active{border-color:var(--accent);color:var(--accent)}
.hero{padding:36px 0 18px}
.hero h1{font-size:42px;line-height:1.05;margin:0 0 10px}
.hero p{color:var(--muted);margin:0 0 18px;font-size:16px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;
  background:var(--accent);color:#111;font-weight:800;
  text-decoration:none;border:0;
}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.catalog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}
.search input{
  width:min(380px, 70vw);
  padding:12px 14px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width: 720px){
  .site-header{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .brand{ justify-content: center; }
  .tagline{ text-align: center; white-space: normal; }
  .nav{ justify-content: center; flex-wrap: wrap; }
  .logo{ height: 52px; }
}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid{grid-template-columns:1fr}.hero h1{font-size:34px}}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  cursor:pointer;
  transition: transform .15s ease, border-color .15s ease;
}
.card:hover{transform:translateY(-2px);border-color:rgba(216,179,90,.55)}
.card img{width:100%;height:260px;object-fit:cover;display:block;background:#0f0f12}
.card .pad{padding:14px}
.kicker{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.card h3{margin:8px 0 6px;font-size:16px}
.phrase{color:var(--text);font-weight:900}
.price{margin-top:10px;color:var(--accent);font-weight:900}

.footer{
  border-top:1px solid var(--line);
  padding:22px 0;
  background: rgba(0,0,0,.25);
}
.footer-inner{
  max-width:1100px;margin:0 auto;padding:0 24px;
  display:flex;justify-content:space-between;align-items:center;gap:14px
}
.footer-title{font-weight:900;color:var(--accent)}
.footer-text{color:var(--muted);font-size:13px;margin-top:4px}

/* Modal */
.modal{
  position:fixed;inset:0;
  background:rgba(0,0,0,.65);
  display:none;align-items:center;justify-content:center;
  padding:18px;
}
.modal[aria-hidden="false"]{display:flex}
.modal-card{
  width:min(980px, 100%);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  position:relative;
}
.modal-close{
  position:absolute;top:12px;right:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  width:36px;height:36px;border-radius:999px;
  cursor:pointer;
}
.modal-body{display:grid;grid-template-columns:1.2fr 1fr}
.modal-body img{width:100%;height:520px;object-fit:cover;display:block}
.modal-info{padding:18px}
.modal-info h3{margin:8px 0 8px;font-size:24px}
.modal-info p{color:var(--muted);line-height:1.5}

@media (max-width: 820px){
  .modal-card{width:min(720px,94vw)}
  .modal-body{grid-template-columns:1fr}
  .modal-body img{height:340px}
}

:focus-visible{outline:2px solid var(--accent); outline-offset:3px}


/* Footer */


.site-footer{
  margin-top: 56px;
  border-top: 1px solid rgba(255,255,255,0.10);
  padding: 28px 18px 18px;
}

.footer-container{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
}

.footer-logo{
  font-weight: 800;
  letter-spacing: 0.4px;
  font-size: 18px;
  margin-bottom: 8px;
}

.footer-manifesto{
  margin: 0;
  opacity: 0.85;
  line-height: 1.5;
  max-width: 64ch;
  font-size: 14px;
}

.footer-links{
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.footer-links-title{
  font-weight: 700;
  margin-bottom: 4px;
  opacity: 0.9;
}

.site-footer a{
  text-decoration: none;
  opacity: 0.9;
}

.site-footer a:hover{
  opacity: 1;
  text-decoration: underline;
}

.footer-bottom{
  max-width: 1100px;
  margin: 18px auto 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
  opacity: 0.7;
  font-size: 12px;
}

@media (max-width: 720px){
  .footer-container{
    grid-template-columns: 1fr;
  }
}


/* Footer socials */
.footer-socials{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-social-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.92);
  text-decoration: none;
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, opacity 140ms ease;
}

.footer-social-link:hover{
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.22);
  transform: translateY(-1px);
  text-decoration: none;
  opacity: 1;
}

.footer-social-link:active{
  transform: translateY(0px);
}

.footer-social-icon{
  display: inline-flex;
  width: 18px;
  height: 18px;
  opacity: 0.95;
}

.footer-social-text{
  font-size: 14px;
  line-height: 1;
}

.site-footer a{
  color: inherit;
}



/* Header CTA */
.header-cta{
  padding: 10px 14px;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width: 820px){
  .site-header{
    grid-template-columns: auto 1fr;
    grid-auto-rows: auto;
  }
  .nav{
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .header-cta{
    grid-column: 1 / -1;
    width: fit-content;
  }
}

