/* Ajustes de la tienda en linea sobre la plantilla MGR */

.store-alert {
    padding: 14px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 24px;
    border: 1px solid transparent;
}
.store-alert ul { margin: 8px 0 0 18px; list-style: disc; }
.store-alert--success { background: #e9f7ef; border-color: #b7e4c7; color: #1e6b3a; }
.store-alert--warning { background: #fff7e6; border-color: #ffd591; color: #8a5a00; }
.store-alert--error { background: #fdecea; border-color: #f5c2bf; color: #a12a22; }
.store-alert--info { background: #eaf2fb; border-color: #bcd6f2; color: var(--secondary-color); }

.store-maintenance-flag {
    background: var(--theme-color);
    color: #fff;
    font-size: 13px;
    padding: 2px 10px;
    border-radius: 4px;
}

.main-header .option-list li a span[hidden] { display: none; }

/* Buscador: el formulario envuelve categoria + texto */
.main-header .search-area .store-search { display: flex; width: 100%; }
.main-header .search-area .store-search .search-box { flex: 1; }

/* Banner del inicio: sin columna de imagen, la altura sale de la proporcion del banner (1920x600) */
.banner-carousel .slide-item { min-height: 31.25vw; }
.banner-carousel .slide-item .bg-layer { background-size: cover; background-position: center; }

/* Titulos de seccion con enlace a la derecha */
.store-sec-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.store-sec-title a { text-decoration: underline; color: var(--title-color); }

/* Tarjetas de producto: imagenes reales de distinto tamano */
.shop-block-one .inner-box .image-box .image { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; background: #fff; }
.shop-block-one .inner-box .image-box .image img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.shop-block-one .inner-box .lower-content h4 { min-height: 52px; }
.shop-block-one .inner-box .lower-content h4 a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.shop-block-one .store-code { display: block; font-size: 13px; color: var(--text-color); margin-bottom: 4px; }
.shop-block-one .cart-btn .theme-btn[disabled] { opacity: .55; cursor: not-allowed; }
.store-price-note { font-size: 13px; color: var(--text-color); margin: 0; }
/* Disponibilidad: Agotado en rojo, En transito en ambar (tarjeta, ficha y carrito) */
.shop-block-one .inner-box .lower-content .product-stock.red,
.product-details-content .content-box .discription-box li.product-stock.red,
.product-details-content .content-box .discription-box li.product-stock.red i,
.store-text-soldout { color: #D2382F; }
.shop-block-one .inner-box .lower-content .product-stock.transit,
.product-details-content .content-box .discription-box li.product-stock.transit,
.product-details-content .content-box .discription-box li.product-stock.transit i,
.store-text-transit { color: #C77700; }
.store-badge-transit { background: #C77700 !important; }
.store-price-hidden { color: var(--secondary-color) !important; font-size: 16px !important; }

/* La plantilla agrega 183px al pie de la tarjeta en hover para un panel de
   caracteristicas (.overlay-content) que la tienda no usa: sin el, solo
   quedaba un espacio en blanco. Se mantiene la sombra del hover. */
.shop-style-two .shop-block-one .inner-box:hover { margin-bottom: 0; }
.shop-style-two .shop-block-one .inner-box:hover .lower-content { padding-bottom: 0; }

/* Ficha de producto */
.shop-details .image-box .image img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
.shop-details .content-box h3 small { font-size: 15px; font-weight: 400; color: var(--text-color); }

/* Carrito y checkout */
.cart-section .cart-table .product-box .image-box img { width: 70px; height: 70px; object-fit: contain; }
.cart-section .store-cart-qty { display: flex; gap: 8px; align-items: center; }
.cart-section .store-cart-qty input { width: 80px; height: 44px; border: 1px solid #e5e5e5; border-radius: 4px; text-align: center; }
.cart-section .store-cart-qty button,
.cart-section .store-link-btn { background: none; border: none; color: var(--secondary-color); text-decoration: underline; cursor: pointer; padding: 0; }
.store-empty { text-align: center; padding: 60px 0; }
.store-empty h3 { margin-bottom: 15px; }

/* Formularios (registro, contacto, checkout) */
.store-form .form-group label { display: block; font-weight: 500; color: var(--title-color); margin-bottom: 6px; }
.store-form .form-group input,
.store-form .form-group textarea {
    width: 100%;
    height: 52px;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    padding: 10px 18px;
    font-size: 15px;
    transition: border-color .2s;
}
.store-form .form-group textarea { height: 110px; resize: vertical; }
.store-form .form-group input:focus,
.store-form .form-group textarea:focus { border-color: var(--secondary-color); outline: none; }
.store-form .form-group .field-error { display: block; color: #a12a22; font-size: 13px; margin-top: 4px; }
.store-form .form-group .is-invalid { border-color: #e2756e; }
.store-form .help { font-size: 13px; color: var(--text-color); }

/* Mi cuenta */
.store-account .data-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 40px; }
.store-account .data-list div { border: 1px solid #e5e5e5; border-radius: 6px; padding: 14px 18px; }
.store-account .data-list span { display: block; font-size: 13px; color: var(--text-color); }
.store-account .data-list strong { color: var(--title-color); }
.store-table { width: 100%; border-collapse: collapse; }
.store-table th, .store-table td { padding: 12px 10px; border-bottom: 1px solid #eee; text-align: left; vertical-align: middle; }
.store-table th { font-weight: 600; color: var(--title-color); background: #f7f8fa; }
.store-table td.num, .store-table th.num { text-align: right; white-space: nowrap; }
.store-status { display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 13px; background: #eaf2fb; color: var(--secondary-color); }
.store-table-wrap { overflow-x: auto; }

/* Aviso flotante del carrito */
.store-toast {
    position: fixed;
    right: 20px;
    bottom: 90px;
    z-index: 9999;
    max-width: 340px;
    padding: 14px 18px;
    border-radius: 6px;
    background: var(--title-color);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
    font-size: 15px;
}
.store-toast.is-error { background: #a12a22; }
.store-toast a { color: #fff; text-decoration: underline; }

/* Pagina de mantenimiento */
.store-maintenance { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 40px 16px; background: var(--secondary-color); color: #fff; }
.store-maintenance h1 { color: #fff; font-size: 36px; margin: 30px 0 15px; }
.store-maintenance p { color: rgba(255, 255, 255, .85); max-width: 520px; margin: 0 auto 10px; }
.store-maintenance a { color: #fff; text-decoration: underline; }

/* Paginacion de Laravel con estilos de la plantilla */
.pagination-wrapper .pagination li span { display: inline-block; }

@media only screen and (max-width: 767px) {
    .main-header .search-area .store-search .category-box { display: none; }
    .main-header .header-lower .category-box .text { white-space: nowrap; }
    .cart-section .cart-table thead { display: none; }
    .cart-section .cart-table tr { display: block; border-bottom: 1px solid #eee; padding: 10px 0; }
    .cart-section .cart-table td { display: block; border: none; padding: 6px 0; }
    .store-account .data-list { grid-template-columns: 1fr; }
    /* Dos tarjetas de producto por fila (inicio y catalogo): tarjeta compacta */
    .shop-block.col-6 { padding-left: 6px; padding-right: 6px; }
    .shop-block .shop-block-one .inner-box { padding: 10px 10px 12px; }
    .shop-block .shop-block-one .inner-box .lower-content { padding-top: 8px; }
    .shop-block .shop-block-one .inner-box .lower-content .text { font-size: 12px; line-height: 16px; margin-bottom: 4px; }
    .shop-block .shop-block-one .inner-box .lower-content h4 { font-size: 15px; line-height: 19px; min-height: 38px; margin-bottom: 6px; }
    .shop-block .shop-block-one .store-code { font-size: 11px; word-break: break-all; }
    .shop-block .shop-block-one .inner-box .lower-content h5 { font-size: 17px; line-height: 22px; }
    .shop-block .shop-block-one .inner-box .lower-content .product-stock { font-size: 12px; padding-left: 20px; }
    .shop-block .shop-block-one .inner-box .lower-content .product-stock i { font-size: 15px; }
    .shop-block .shop-block-one .inner-box .image-box .option-list-two { transform: scale(.8); transform-origin: top right; }
    .shop-block .shop-block-one .inner-box .image-box .hot-product { font-size: 11px; padding: 2px 8px; }
    .shop-block .shop-block-one .cart-btn .theme-btn { font-size: 13px; line-height: 17px; padding: 9px 6px; }
}
