/* ================= PRODUCT PAGE ================= */

.product-page {
    padding: 50px 0;
    background: #f6f8fb;
}

/* ================= GALERIA ================= */

.product-gallery {
    background: white;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.product-main-image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 350px;
    margin-bottom: 15px;
}

.product-main-image img {
    max-height: 320px;
    max-width: 100%;
    object-fit: contain;
}

.product-thumbs {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.product-thumbs img {
    width: 65px;
    height: 65px;
    object-fit: contain;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 5px;
    cursor: pointer;
    transition: .2s;
}

.product-thumbs img:hover {
    border-color: var(--toolx-blue);
}


/* ================= INFO PRODUCTO ================= */

.product-info {
    padding: 10px 20px;
}

.product-brand {
    font-size: 13px;
    color: #6b7280;
    font-weight: 600;
}

.product-title {
    font-size: 24px;
    font-weight: 700;
    margin: 10px 0 15px 0;
    color: #1f2937;
}

.product-rating {
    font-size: 14px;
    color: #f59e0b;
    margin-bottom: 15px;
}

.product-rating span {
    color: #6b7280;
    margin-left: 6px;
}

.product-features {
    padding-left: 18px;
    font-size: 14px;
    color: #374151;
}

.product-features li {
    margin-bottom: 8px;
}


/* ================= CAJA COMPRA ================= */

.product-buy-box {

    background: white;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);

}

.product-stock {
    color: #16a34a;
    font-weight: 700;
    margin-bottom: 20px;
}


/* BOTONES */

.btn-add-cart {

    width: 100%;
    background: var(--toolx-blue);
    color: white;
    border: none;
    padding: 11px;
    font-weight: 600;
    border-radius: 6px;
    margin-bottom: 10px;
    transition: .2s;

}

.btn-add-cart:hover {
    background: #0b5ed7;
}

.btn-buy-now {

    width: 100%;
    background: #facc15;
    color: #1f2937;
    border: none;
    padding: 11px;
    font-weight: 700;
    border-radius: 6px;
    transition: .2s;

}

.btn-buy-now:hover {
    background: #eab308;
}

.product-shipping {

    font-size: 13px;
    color: #6b7280;
    margin-top: 15px;
    text-align: center;

}


/* ================= DESCRIPCION ================= */

.product-description {

    margin-top: 50px;
    background: white;
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;

}

.product-description h3 {

    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    color: var(--toolx-blue);

}

.product-description p {

    font-size: 14px;
    color: #374151;
    line-height: 1.6;

}


/* ================= RECOMENDADOS ================= */

.recommended-products{
margin-top:60px;
}

.recommended-header{

display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;

}

.recommended-header h3{
font-size:20px;
font-weight:700;
color:var(--toolx-blue);
}

.recommended-header a{
font-size:14px;
text-decoration:none;
color:var(--toolx-blue);
font-weight:600;
}


/* GRID */

.recommended-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;

}


/* CARD */

.recommended-card{

background:white;
border:1px solid #e5e7eb;
border-radius:8px;
padding:18px;
position:relative;
transition:.25s;
text-align:center;

}

.recommended-card:hover{

transform:translateY(-6px);
box-shadow:0 12px 25px rgba(0,0,0,0.12);

}


/* IMAGEN */

.recommended-card img{

height:130px;
object-fit:contain;
margin-bottom:12px;

}


/* FAVORITO */

.recommended-card .wishlist{

position:absolute;
top:10px;
right:10px;
border:none;
background:white;
width:32px;
height:32px;
border-radius:50%;
box-shadow:0 3px 8px rgba(0,0,0,.15);

}

.recommended-card .wishlist i{
color:#9ca3af;
}

.recommended-card .wishlist:hover i{
color:#ef4444;
}


/* INFO */

.recommended-info{

display:flex;
flex-direction:column;
gap:5px;

}

.recommended-info .brand{

font-size:11px;
color:#6b7280;
font-weight:700;
text-transform:uppercase;

}

.recommended-info h4{

font-size:14px;
font-weight:600;
color:#1f2937;
min-height:35px;

}


/* MINI CART */

.btn-mini-cart{

margin-top:8px;
background:var(--toolx-blue);
border:none;
color:white;
padding:6px 10px;
border-radius:5px;
font-size:13px;

}

.btn-mini-cart:hover{

background:#0b5ed7;

}

.product-link{
text-decoration:none;
color:inherit;
display:block;
}


/* ================= RESPONSIVE ================= */

@media(max-width:1000px) {

    .recommended-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media(max-width:600px) {

    .recommended-grid {
        grid-template-columns: 1fr;
    }

    .product-main-image {
        height: 250px;
    }

}

/* ================= Menu Movil ============ */

/* ================= BOTÓN HAMBURGUESA FLOAT ================= */

.fab-menu {
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--toolx-blue), #0a58ca);
    color: #fff;
    border: none;
    font-size: 1.5rem;

    display: none;
    align-items: center;
    justify-content: center;

    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    z-index: 9999;

    transition: all .3s ease;
}

.fab-menu:hover{
    transform: scale(1.08);
}

/* SOLO MOBILE */
@media(max-width:991px){
    .fab-menu{
        display:flex;
    }

    .categories-bar{
        display:none; /* ocultamos barra horizontal */
    }
}

/* ================= MENÚ FULLSCREEN ================= */

.mobile-menu {
    position: fixed;
    inset: 0;

    background: linear-gradient(180deg,#081726 0%,#0b1e33 100%);

    z-index: 9998;

    transform: translateY(100%);
    transition: transform .4s ease;

    overflow-y: auto;
    padding: 80px 25px;
}

/* ACTIVO */
.mobile-menu.active{
    transform: translateY(0);
}

/* LISTA */
.mobile-menu ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* ITEM PRINCIPAL */
.mobile-menu > ul > li{
    color:#e2e8f0;
    font-size:1.1rem;
    font-weight:600;
    padding:14px 0;

    border-bottom:1px solid rgba(255,255,255,.05);

    display:flex;
    align-items:center;
    justify-content:space-between;

    cursor:pointer;
}

/* ICONO */
.mobile-menu li i{
    margin-right:10px;
    color:var(--toolx-blue-light);
}

/* SUBMENU */
.mobile-menu .submenu{
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

/* ABIERTO */
.mobile-menu li.open > .submenu{
    max-height: 500px; /* suficiente para que se vea todo */
}

/* SUBITEM */
.mobile-menu .submenu li{
    padding:10px 15px;
    font-size:.95rem;
    color:#cbd5e1;
}

/* HOVER */
.mobile-menu .submenu li:hover{
    color:#fff;
    padding-left:20px;
}

/* BOTÓN CERRAR */
.mobile-close{
    position:absolute;
    top:20px;
    right:20px;
    font-size:1.8rem;
    color:#fff;
    cursor:pointer;
}

.menu-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    cursor:pointer;
}

.menu-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    cursor:pointer;
}

.mobile-menu li i.bi-chevron-down{
    transition: transform .3s ease;
}

.mobile-menu li.open i.bi-chevron-down{
    transform: rotate(180deg);
}

.btn-ficha{
    display: inline-block;
    margin-top: 15px;
    background: var(--toolx-blue);
    color: #fff;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: .25s;
}

.btn-ficha:hover{
    background: #0b5ed7;
    transform: translateY(-2px);
}