.tienda {
    --tinta: #20282f;
    --acento: #294453;
    --borde: #dce1e3;
    --fondo: #f4f5f4;
    background: var(--fondo);
    color: var(--tinta);
}

.tienda .navbar.bg-dark, .tienda footer.bg-dark {
    background-color: var(--tinta) !important;
}

.tienda .navbar-brand { letter-spacing: .04em; }
.tienda .nav-link { color: #e1e6e7; }
.tienda .nav-link:hover, .tienda .nav-link:focus-visible { color: #fff; }
.tienda #admin-access { height: auto !important; }

.tienda-portada {
    padding: clamp(1.6rem, 5vw, 3.5rem);
    margin-bottom: 2rem;
    border: 1px solid var(--borde);
    border-radius: .85rem;
    background: #e8edee;
}

.tienda-portada h1, .tienda-detalle h1 {
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.tienda-portada h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.tienda-portada p { margin: .65rem 0 0; color: #43545e; }
.tienda-seccion { margin: 0 0 1rem; font-size: 1.35rem; font-weight: 650; }

.tienda-catalogo {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
    gap: 1.25rem;
}

.tienda-tarjeta, .tienda-detalle {
    border: 1px solid var(--borde);
    border-radius: .85rem;
    overflow: hidden;
    background: white;
}

.tienda-tarjeta { display: flex; flex-direction: column; }
.tienda-foto {
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: #e9eded;
}

.tienda-foto:focus-visible { outline-offset: -4px; }
.tienda-tarjeta .tienda-foto { aspect-ratio: 4 / 3; }
.tienda-foto img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.tienda-tarjeta .tienda-foto img { max-height: 15rem; }
.tienda-info { padding: clamp(1.15rem, 3vw, 2rem); min-width: 0; }
.tienda-tarjeta .tienda-info { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.tienda-info h3 { font-size: 1.22rem; font-weight: 650; }
.tienda-info h3 a { color: inherit; text-decoration: none; }
.tienda-info h3 a:hover { text-decoration: underline; }
.tienda-categoria { margin: 0 0 .45rem; color: #4a5b64; font-size: .84rem; }
.tienda-condicion { margin: .15rem 0 .8rem; color: #354c44; }
.tienda-precio { margin: .35rem 0 1rem; color: var(--tinta); font-size: 1.65rem; font-weight: 700; }
.tienda-precio small { font-size: .78rem; font-weight: 600; color: #4a5b64; }
.tienda-acciones { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: auto; }
.tienda-boton { background: var(--acento); color: white; border-color: var(--acento); }
.tienda-boton:hover, .tienda-boton:focus-visible, .tienda-boton:active { background: #1e3541; color: white; border-color: #1e3541; }
.tienda-volver { display: inline-block; margin-bottom: 1rem; color: var(--acento); }
.tienda-detalle { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.tienda-detalle .tienda-foto img { max-height: 34rem; }
.tienda-entrega { border-top: 1px solid var(--borde); margin: 1.25rem 0; padding-top: 1rem; }
.tienda-entrega dt { font-size: .9rem; }
.tienda-entrega dd { color: #43545e; margin: .2rem 0 .75rem; }

@media (max-width: 720px) {
    .tienda-detalle { grid-template-columns: 1fr; }
    .tienda-detalle .tienda-foto img { max-height: 22rem; }
}
