:root{
  --fzac-yellow:#F2C94C;
  --fzac-onyx:#111111;
  --fzac-gray:#6B7280;
  --fzac-steel:#374151;
  --fzac-concrete:#E5E7EB;
  --white:#fff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#0f0f10;color:#e9eaec;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* Header */
.site-header{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
  padding:12px 16px;background:#0d0d0e;border-bottom:1px solid #1a1b1e;
  backdrop-filter:saturate(1.2) blur(6px)
}
.brand{display:flex;gap:10px;align-items:center;font-weight:600;min-width:0}
.brand img{width:36px;height:36px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.brand span{font-family:Montserrat, sans-serif;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.main-nav a{padding:8px 12px;border-radius:10px;color:#d7d8db;opacity:.9;transition:.2s;white-space:nowrap}
.main-nav a:hover{background:#1a1b1e;opacity:1}
.main-nav a.active{background:#1f2024}
.admin-login{font-size:.9rem;border:1px solid #2a2b31;background:#141416;border-radius:8px}

/* Cart link + badge (separado, sin superponer) */
.cart-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:10px;
}
.cart-link:hover{background:#1a1b1e;opacity:1}
.cart-link #cartCount{
  position:static;
  min-width:22px;
  padding:2px 8px;
  background:var(--fzac-yellow);
  color:#111;
  border-radius:999px;
  font-weight:700;
  text-align:center;
  line-height:1.2;
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 16px;border-radius:12px;font-weight:700;font-family:Montserrat;transition:.2s;border:none;cursor:pointer;position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.1);transform:translateX(-100%);transition:transform .4s ease}
.btn:hover::after{transform:translateX(0)}
.btn-primary{background:var(--fzac-yellow);color:#111}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:#1a1b1e;color:#d7d8db;border:1px solid #2b2c31}
.btn-ghost:hover{opacity:.9}

/* Hero */
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center;padding:40px 16px 24px;max-width:1200px;margin:0 auto}
.hero-copy h1{font-family:Montserrat;font-size:40px;margin:.2em 0}
.hero-copy p{color:#c6c8cc;max-width:640px}
.hero-media img{border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.5)}

/* Features */
.features{max-width:1200px;margin:20px auto 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 16px}
.feature-card{background:#141416;border:1px solid #26272d;border-radius:16px;padding:18px;transition:transform .22s ease, box-shadow .22s ease}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.feature-card h3{font-family:Montserrat;margin:0 0 6px}
.feature-card p{color:#b5b8bd}

/* Catalogo layout */
.catalogo{max-width:1200px;margin:20px auto;display:grid;grid-template-columns:280px 1fr;gap:16px;padding:0 16px}
.filters{background:#141416;border:1px solid #26272d;border-radius:16px;padding:12px;height:max-content;position:sticky;top:88px}
.filters h2{font-family:Montserrat;margin:0 0 10px}
.filter{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.filter input,.filter select{background:#0f1013;border:1px solid #282a31;border-radius:10px;color:#e9eaec;padding:10px}
.grid .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card-prod{background:#141416;border:1px solid #26272d;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease, box-shadow .22s ease}
.card-prod:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.card-prod .thumb{aspect-ratio:4/3;background:#0e0f11}
.card-prod .body{padding:12px}
.card-prod h4{font-family:Montserrat;margin:0 0 4px}
.card-prod .cat{color:#9aa0a6;font-size:.9rem}
.card-prod .price{margin-top:8px;font-weight:700}
.card-prod .actions{display:flex;gap:8px;padding:12px;border-top:1px solid #24262c}
.card-prod .actions a,.card-prod .actions button{flex:1}

.empty{background:#191b20;border:1px dashed #2a2c33;border-radius:16px;padding:26px;text-align:center}
.hidden{display:none}

/* Detalle */
.producto-detalle{max-width:1100px;margin:20px auto;padding:0 16px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.prod-gallery{background:#141416;border:1px solid #26272d;border-radius:16px;padding:12px}
.prod-info{background:#141416;border:1px solid #26272d;border-radius:16px;padding:16px}
.prod-info h1{font-family:Montserrat;margin:0 0 6px}
.prod-info .cat{color:#a7abb2}
.prod-info .price{font-size:22px;margin:8px 0 14px;font-weight:800}
.prod-info .desc{color:#c5c7cc;line-height:1.5}

/* Carrito */
.carrito{max-width:1100px;margin:20px auto;padding:0 16px}
.cart-items{display:grid;gap:12px}
.cart-row{display:grid;grid-template-columns:72px 1fr 110px 110px 90px;gap:12px;align-items:center;background:#141416;border:1px solid #26272d;border-radius:14px;padding:10px;transition:transform .22s ease, box-shadow .22s ease}
.cart-row:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.cart-row img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.cart-row .name{font-weight:600}
.cart-row .cat{font-size:.9rem;color:#9aa0a6}
.cart-summary{margin-top:18px;background:#141416;border:1px solid #26272d;border-radius:16px;padding:16px}
.cart-summary .row{display:flex;justify-content:space-between;margin:6px 0}
.cart-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}

/* Admin */
.admin{max-width:1100px;margin:20px auto;padding:0 16px;display:grid;gap:16px}
.card{background:#141416;border:1px solid #26272d;border-radius:16px;padding:16px;transition:transform .22s ease, box-shadow .22s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.msg{margin-top:8px;color:#f66}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form-grid label{display:flex;flex-direction:column;gap:6px}
.form-grid input,.form-grid textarea,.form-grid select{background:#0f1013;border:1px solid #282a31;border-radius:10px;color:#e9eaec;padding:10px}
.form-grid .full{grid-column:1/-1}
.form-actions{display:flex;gap:10px;flex-wrap:wrap}
.data{width:100%;border-collapse:collapse;margin-top:10px}
.data th,.data td{border-bottom:1px solid #2c2e35;padding:10px;text-align:left}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}

/* Footer */
.site-footer{border-top:1px solid #1a1b1e;margin-top:40px;padding:16px;text-align:center;color:#b4b7bc}

/* ======================
   RESPONSIVE BREAKPOINTS
   ====================== */

/* <= 980px: más compacto */
@media (max-width: 980px){
  .hero{grid-template-columns:1fr;gap:16px}
  .features{grid-template-columns:1fr}
  .catalogo{grid-template-columns:240px 1fr}
  .grid .cards{grid-template-columns:1fr 1fr}
  .producto-detalle{grid-template-columns:1fr}
  .cart-row{grid-template-columns:72px 1fr 1fr 90px}
}

/* <= 760px: móvil */
@media (max-width: 760px){
  .brand img{width:32px;height:32px}
  .brand span{max-width:160px}
  .main-nav{gap:8px}
  .hero-copy h1{font-size:28px}
  .catalogo{grid-template-columns:1fr}               /* filtros arriba */
  .filters{position:static; top:auto; margin-bottom:10px; padding:10px}
  .filters .filter{margin:6px 0}
  .filters .filter select, .filters .filter input{height:40px}
  .filters .btn{width:100%}
  .grid .cards{grid-template-columns:1fr}
  .producto-detalle{grid-template-columns:1fr}
  .cart-row{grid-template-columns:60px 1fr 1fr 80px}
}

/* <= 420px: ultra compacto */
@media (max-width: 420px){
  .site-header{padding:10px 12px}
  .brand span{display:none}
  .hero-copy h1{font-size:24px}
  .btn{padding:10px 12px;border-radius:10px}
  .cart-row{grid-template-columns:56px 1fr 1fr 74px}
}

/* ===== Modal ===== */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.modal.hidden{display:none}
.modal-card{width:min(720px,100%);background:#141416;border:1px solid #26272d;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.6);padding:16px;transform:scale(.92);opacity:0;transition:all .35s ease}
.modal:not(.hidden) .modal-card{transform:scale(1);opacity:1}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.btn.sm{padding:8px 10px;border-radius:10px}
.fieldset{border:1px solid #2b2c31;border-radius:12px;padding:10px}
.fieldset legend{padding:0 6px;color:#c7c9ce}
.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.pay-opt{display:flex;align-items:center;gap:8px;background:#0f1013;border:1px solid #282a31;border-radius:10px;padding:10px}
@media (max-width: 560px){
  .modal-card{padding:12px}
  .pay-grid{grid-template-columns:1fr}
}

/* ===== Transiciones de página (seguras + flipbook) ===== */
body{opacity:1; transform:none}
body.page-enter{opacity:0; transform: translateY(14px)}
body.page-enter.page-loaded{opacity:1; transform:none; transition: opacity .38s ease, transform .38s ease}
body.page-exit{opacity:0 !important; transform: translateY(-10px) !important; transition: opacity .32s ease, transform .32s ease}
/* Flipbook 3D */
body.flip-exit{
  opacity:.92;
  transform: perspective(1200px) rotateY(-8deg) translateZ(-40px);
  transition: transform .45s ease, opacity .45s ease;
}

/* ===== Scroll reveal ===== */
.reveal{opacity:0; transform: translateY(38px); transition: all .7s cubic-bezier(.2,.8,.2,1)}
.reveal-visible{opacity:1; transform:none}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  body, body.page-enter.page-loaded, body.page-exit, body.flip-exit{
    transition:none !important; transform:none !important; opacity:1 !important;
  }
  .reveal{ opacity:1 !important; transform:none !important; }
}
.pedido-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(250px,1fr));
  gap: 1rem;
}
.pedido-card {
  background: #1f1f1f;
  border: 1px solid #2d2d2d;
  border-radius: 10px;
  padding: 1rem;
  color: #eee;
}
.pedido-card h4 { margin-top: 0; }
.view-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:1rem;
}
.modal-card h4 { margin-top:1rem; }

/*Cliente login */
.card input[type="email"], .card input[type="password"], .card input[type="text"] {
  width: 100%; padding: 10px; border-radius: 8px; border: 1px solid #2b2c31;
  background: #121214; color: #e9eaec; margin-top: 4px;
}
.msg { margin-top: 8px; font-size: .9rem; }
.muted a { color: #F2C94C; text-decoration: none; }


