/* RC Soluciones Digitales — estilos del catálogo de producto
   Depende de /assets/rc.css (variables, glass, btn-main, gold-text…) */

/* --- Rejilla de categorías / productos --- */
.cat-grid { display:grid; gap:1.25rem; }
@media (min-width:768px)  { .cat-grid.cols-2 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:768px)  { .cat-grid.cols-3 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .cat-grid.cols-3 { grid-template-columns:repeat(3,1fr); } }
@media (min-width:640px)  { .cat-grid.cols-5 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .cat-grid.cols-5 { grid-template-columns:repeat(5,1fr); } }

/* --- Ficha de producto grande --- */
.prod { display:grid; gap:2rem; align-items:center; padding:1.75rem; border-radius:2px; }
@media (min-width:900px) { .prod { grid-template-columns:0.95fr 1.05fr; padding:2.5rem; } }
@media (min-width:900px) { .prod.flip .prod-shot { order:2; } }

/* Panel claro: los equipos son oscuros y necesitan fondo claro para leerse */
.prod-shot {
  background:linear-gradient(160deg,#ffffff,#eceae4);
  border:1px solid rgba(212,175,106,.25);
  border-radius:3px;
  padding:1.5rem;
  display:flex; align-items:center; justify-content:center;
  min-height:280px;
  box-shadow:0 18px 44px rgba(0,0,0,.45);
}
.prod-shot img { max-width:100%; max-height:340px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }

.prod-kicker { font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); }
.prod h3 { font-family:'Playfair Display',serif; font-size:2.25rem; line-height:1.1; margin:.4rem 0 .2rem; color:#f3f1eb; }
.prod .tagline { color:var(--gold-soft); font-style:italic; font-size:1.02rem; margin-bottom:.9rem; }
.prod .desc { color:#c8ccd4; line-height:1.75; margin-bottom:1.25rem; }

/* --- Tabla de especificaciones --- */
.specs { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.09);
         border:1px solid rgba(255,255,255,.09); border-radius:2px; overflow:hidden; }
.specs .spec { background:#0c0c12; padding:.7rem .9rem; }
.specs .k { font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:#8b8f98; }
.specs .v { font-size:.95rem; color:#f3f1eb; margin-top:2px; }

/* --- Lista de ventajas --- */
.plus { list-style:none; margin:1.25rem 0 0; padding:0; display:grid; gap:.5rem; }
.plus li { position:relative; padding-left:1.4rem; color:#c8ccd4; font-size:.93rem; line-height:1.6; }
.plus li::before { content:'✦'; position:absolute; left:0; color:var(--gold); }

/* --- Precio --- */
.price { display:flex; align-items:baseline; gap:.6rem; margin-top:1.5rem; flex-wrap:wrap; }
.price .amount { font-family:'Playfair Display',serif; font-size:2.1rem; line-height:1.25; padding-bottom:.1em;
  background:linear-gradient(90deg,#c79a51,#f2ddb2,#c79a51); -webkit-background-clip:text; background-clip:text; color:transparent; }
.price .unit { font-size:.8rem; color:#8b8f98; letter-spacing:.1em; text-transform:uppercase; }
.price .note { font-size:.78rem; color:#8b8f98; }
.price .ask { font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-soft);
  border:1px solid rgba(212,175,106,.35); border-radius:2px; padding:.5rem .9rem; }

/* --- Tarjeta de accesorio --- */
.acc { display:flex; flex-direction:column; padding:1rem; border-radius:2px; text-align:center; height:100%; }
.acc .shot { background:linear-gradient(160deg,#ffffff,#eceae4); border-radius:2px; padding:.75rem;
             height:150px; display:flex; align-items:center; justify-content:center; margin-bottom:.9rem; }
.acc .shot img { max-height:126px; max-width:100%; object-fit:contain; mix-blend-mode:multiply; }
.acc .nm { font-size:.88rem; color:#f3f1eb; line-height:1.4; flex:1; }
.acc .sub { font-size:.75rem; color:#8b8f98; margin-top:.25rem; }
.acc .pr { font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-soft); margin-top:.75rem; }

/* --- Tarjeta de categoría (hub) --- */
.cat-card { display:flex; flex-direction:column; padding:1.75rem; border-radius:2px; transition:border-color .25s, transform .25s; height:100%; }
.cat-card:hover { border-color:rgba(212,175,106,.45); transform:translateY(-3px); }
.cat-card .shot { background:linear-gradient(160deg,#ffffff,#eceae4); border-radius:2px; padding:1rem;
                  height:210px; display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; }
.cat-card .shot img { max-height:180px; max-width:100%; object-fit:contain; mix-blend-mode:multiply; }
.cat-card h3 { font-family:'Playfair Display',serif; font-size:1.75rem; color:#f3f1eb; margin-bottom:.5rem; }
.cat-card p { color:#9ca3af; font-size:.92rem; line-height:1.7; }
.cat-card .go { margin-top:auto; padding-top:1.1rem; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }

/* --- Tabla comparativa --- */
.cmp { width:100%; border-collapse:collapse; font-size:.92rem; margin-top:.5rem; }
.cmp th, .cmp td { padding:.85rem 1rem; border-bottom:1px solid rgba(255,255,255,.08); text-align:left; }
.cmp thead th { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--gold-soft); }
.cmp thead th:first-child { font-family:'Inter',sans-serif; font-size:9.5px; letter-spacing:.2em;
                            text-transform:uppercase; color:#8b8f98; font-weight:400; }
.cmp tbody td { color:#c8ccd4; }
.cmp tbody td:first-child { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#8b8f98; }
.cmp .pick { color:var(--gold-soft); }
.cmp-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* --- Aviso de precios --- */
.pricenote { font-size:.8rem; color:#8b8f98; line-height:1.7; border-left:2px solid rgba(212,175,106,.4);
             padding:.4rem 0 .4rem 1rem; margin-top:1.5rem; }
