/* Variables */
:root {
    --acc-primary: #0f172a;
    --acc-accent: #2563eb;
    --acc-bg: #f8fafc;
    --acc-card: #ffffff;
    --acc-radius: 20px;
}

/* Header & Search (Igual que antes) */


.acc-toolbar-section { display: flex; justify-content: center; margin-bottom: 50px; padding: 0 20px; }
.acc-search-bar { display: flex; background: #fff; padding: 6px; border-radius: 99px; box-shadow: 0 10px 25px rgba(0,0,0,0.06); border: 1px solid #e2e8f0; width: 100%; max-width: 500px; transition: transform 0.3s; }
.acc-search-bar:focus-within {transform: translateY(-2px);border-color: #e2e8f0; box-shadow: 0 15px 30px rgba(0,0,0,0.08);}
.acc-input:focus {outline: none;box-shadow: none;}
.acc-input { border: none; background: transparent; padding: 12px 20px; font-size: 14px; flex-grow: 1; outline: none; color: var(--acc-primary); }
.acc-search-btn { background: var(--acc-primary); color: #fff; border: none; border-radius: 99px; padding: 0 25px; font-weight: 700; font-size: 12px; display: flex; align-items: center; gap: 8px; cursor: pointer; transition: background 0.2s; }
.acc-search-btn:hover { background: var(--acc-accent); }

/* Grid */
.acc-grid-section { padding-bottom: 60px; }
.acc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 30px; align-items: start; }

/* TARJETA */
.acc-card {
    background: var(--acc-card);
    border-radius: var(--acc-radius);
    border: 1px solid #e2e8f0;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}
.acc-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px -5px rgba(0,0,0,0.08); }

/* IMAGEN */
.acc-media-box {
    position: relative;
    width: 100%;
    padding-top: 100%; /* Ratio 1:1 */
    background: #f8fafc;
    overflow: hidden;
    border-bottom: 1px solid #f1f5f9;
}
.acc-media-box img {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    object-fit: contain; padding: 15px;
    mix-blend-mode: multiply; /* Fusión mágica de fondo */
    transition: transform 0.3s;
    border-radius: 25px;
}
.acc-card:hover .acc-media-box img { transform: scale(1.04); }
.acc-badge { position: absolute; top: 15px; left: 15px; background: #fff; color: #059669; font-size: 10px; font-weight: 800; padding: 4px 10px; border-radius: 4px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }

/* CUERPO */
.acc-body { padding: 20px; display: flex; flex-direction: column; flex-grow: 1; }
.acc-info-top { margin-bottom: 10px; }
.acc-cat-label { font-size: 10px; text-transform: uppercase; color: #94a3b8; font-weight: 700; margin-bottom: 4px; display: block; }
.acc-title { margin: 0 0 6px; font-size: 16px; line-height: 1.3; }
.acc-title a { text-decoration: none; color: var(--acc-primary); font-weight: 700; transition: color 0.2s; }
.acc-title a:hover { color: var(--acc-accent); }
.acc-desc { font-size: 13px; color: #64748b; margin: 0; line-height: 1.5; }

/* TOGGLE SPECS */
.btn-acc-specs {
    background: none; border: none; color: var(--acc-accent);
    font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 4px;
    padding: 0; margin-top: 10px; margin-bottom: 5px;
    width: fit-content;
}
.btn-acc-specs:hover { text-decoration: underline; }
.icon-chevron { transition: transform 0.3s; }

.acc-specs-wrapper {
    max-height: 0; overflow: hidden;
    transition: max-height 0.3s ease-out;
    background: #f8fafc; border-radius: 8px;
    margin-bottom: 15px;
}
.acc-specs-wrapper.open { margin-top: 5px; border: 1px solid #e2e8f0; }

.acc-specs-list { list-style: none; padding: 12px; margin: 0; }
.acc-specs-list li {
    display: flex; justify-content: space-between;
    font-size: 11px; margin-bottom: 6px; color: var(--acc-primary);
    border-bottom: 1px dashed #cbd5e1; padding-bottom: 2px;
}
.acc-specs-list li:last-child { margin: 0; border: none; }
.s-key { color: #64748b; font-weight: 600; }
.s-val { font-weight: 700; }

/* FOOTER */
.acc-footer {
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 15px; border-top: 1px dashed #e2e8f0; margin-top: auto;
}
.acc-price-block { display: flex; flex-direction: column; }
.acc-label { font-size: 10px; text-transform: uppercase; color: #94a3b8; font-weight: 700; }
.acc-price { font-size: 18px; font-weight: 800; color: var(--acc-primary); }

.btn-acc-buy {
    background: var(--acc-primary); color: #fff;
    padding: 8px 16px; border-radius: 99px;
    font-size: 12px; font-weight: 700; text-decoration: none;
    display: flex; align-items: center; gap: 6px;
    transition: all 0.2s;
}
.btn-acc-buy:hover { background: var(--acc-accent); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2); }
@media (max-width: 600px) {
    
    .acc-toolbar-section {
        padding: 0 15px; /* Menos margen lateral */
    }

    .acc-search-bar {
        padding: 4px; /* Hacemos la barra más compacta */
        max-width: 100%; /* Asegurar que use el ancho disponible */
    }

    .acc-input {
        padding: 10px 15px; /* Ajuste de padding interno */
        font-size: 16px; /* 16px evita que el iPhone haga zoom al escribir */
    }

    .acc-search-btn {
        padding: 0;         /* Quitamos padding lateral */
        width: 42px;        /* Ancho fijo */
        height: 42px;       /* Alto fijo */
        border-radius: 50%; /* Lo convertimos en un círculo perfecto */
        justify-content: center; /* Centramos el icono */
    }

    /* Ocultamos la palabra "BUSCAR" en móvil */
    .acc-search-btn .btn-text {
        display: none;
    }

    /* Ajustamos el icono para que se vea centrado */
    .acc-search-btn svg {
        margin: 0; 
    }
}