/*
Theme Name: Tikitopro
Theme URI: https://www.tikitopro.app/
Author: Juan Bosco Mayorga Granizo
Author URI: https://www.tikitopro.app/
Description: Tema de ecommerce profesional
Version: 1.1.6
Text Domain: tikitopro
*/

/* ==========================================================================
   ESTILOS BASE - TIPOGRAFÍA Y LAYOUT
   ========================================================================== */

:root {
    /* Tipografía principal */
    --font-primary: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-secondary: 'Plus Jakarta Sans', var(--font-primary);

    /* 
     * NOTA: Los colores y estilos de botones se inyectan dinámicamente desde header.php
     * basados en la configuración de cada tienda (configuracion_store.php).
     * Las variables disponibles son:
     * --primary-color, --body-bg, --header-bg, --footer-bg, --footer-text,
     * --footer-link, --footer-link-hover, --btn-bg, --btn-text, --btn-hover,
     * --btn-radius, --btn-border-w, --btn-border-c, --btn-padding, 
     * --btn-font, --woo-icon-color
     */
}

body {
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    color: #333;
    background: #f8f9fa;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Modo oscuro - fondo */
body.dark-mode {
    background: #1a1a1a;
    color: #f5f5f5;
}

/* Tipografía mejorada */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-secondary);
    font-weight: 600;
    line-height: 1.3;
    margin-top: 0;
}

body a {
    color: var(--primary-color);
}

.container {
    max-width: 90%;
    margin: auto;
    overflow: hidden;
}


.site-branding {
    padding: 1rem 0;
}

.custom-logo-link img {
    max-height: 60px;
    width: auto;
}

/* Navigation Styles */
.main-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-navigation ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.main-navigation li {
    margin-left: 20px;
}

.main-navigation a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
}

/* Main Content Styles
main {
    padding: 2rem 0;
}
 */
/* Footer Styles */
footer {
    background: #333;
    color: #fff;
    padding: 2rem 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .main-navigation {
        flex-direction: column;
    }

    .main-navigation ul {
        flex-direction: column;
        width: 100%;
    }

    .main-navigation li {
        margin: 10px 0;
    }

    .woocommerce-view-order .woocommerce .woocommerce-order-details .woocommerce-table__product-name .wc-item-meta {
        margin-top: 0px;
        padding: 5px 5px;
    }
}

/* Gutenberg Compatibility */
.wp-block {
    max-width: 1200px;
}

.entry-content>* {
    margin-left: auto;
    margin-right: auto;
}

.entry-content>.alignwide {
    max-width: 1200px;
}

.entry-content>.alignfull {
    max-width: 100%;
    width: 100%;
}



.shop_table td.product-price,
.shop_table td.product-subtotal {
    text-align: center;
}


.woocommerce ul.order_details {
    display: flex;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    padding: 30px;
    margin-top: 30px;
    text-align: left;
    border-top: 4px solid var(--primary-color);
}

.woocommerce ul.order_details li {
    float: left;
    padding: 10px 15px;
    border-right: 1px solid #000000;
    flex: 1;
    text-align: center;
    margin: 0;
    box-sizing: border-box;
    list-style-type: none;
}

.woocommerce ul.order_details li:last-child {
    border: 0;
}

.woocommerce ul.order_details li {
    font-size: 13px;
    letter-spacing: 1px;
    font-weight: 700;
    text-transform: uppercase;
    color: #000000;
}

.woocommerce ul.order_details li strong {
    display: block;
    font-size: 16px;
    letter-spacing: 0;
    font-weight: bold;
    margin-top: 10px;
    color: #000000;
}



@media only screen and (max-width: 767px) {

    .woocommerce ul.order_details {
        display: block;
        height: 400px;
    }

    .woocommerce ul.order_details li {
        width: 100%;
        padding: 20px 10px;
        border-right: 0;
        border-right: 0;
        border-bottom: 1px solid #000000;
    }

}


/*
 * Estilos para la tabla de tickets de Tickera
 * Basado en el diseño de la página de confirmación de pedido.
*/

/* Contenedor principal de la tabla */
.order-details.widefat.shadow-table {
    border-radius: 8px;
    /* Bordes redondeados */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    /* Sombra sutil como en las otras cajas */
    border-collapse: separate;
    /* Permite bordes redondeados en tablas */
    border-spacing: 0;
    overflow: hidden;
    /* Asegura que el contenido respete los bordes redondeados */
    width: 100%;
    margin-top: 30px;
    /* Espacio superior */
    border: 1px solid #eee;
    /* Borde sutil */
}

/* Encabezado de la tabla */
.order-details.widefat.shadow-table th {
    background-color: #212121;
    /* Color oscuro del header */
    color: #E8B860;
    /* Color dorado del texto */
    padding: 15px 20px;
    text-align: left;
    font-weight: bold;
    border-bottom: 2px solid #E8B860;
    /* Línea dorada inferior */
}

/* Celdas de la tabla (td) */
.order-details.widefat.shadow-table td {
    padding: 15px 20px;
    border: none;
    vertical-align: middle;
    /* Alineación vertical */
}

/* Filas de la tabla */
.order-details.widefat.shadow-table tr {
    background-color: #ffffff;
    /* Fondo blanco para las filas */
}

/* Filas alternas para mejor legibilidad */
.order-details.widefat.shadow-table tr.alternate {
    background-color: #f9f9f9;
    /* Un gris muy claro para la alternancia */
}

/* Enlaces dentro de la tabla */
.order-details.widefat.shadow-table td a {
    color: #212121;
    text-decoration: none;
    font-weight: 500;
}

.order-details.widefat.shadow-table td a:hover {
    color: #E8B860;
    /* Color dorado al pasar el mouse */
}

/* Botón de descarga del ticket */
.order-details.widefat.shadow-table .button-descargar-ticket {
    background-color: #E8B860;
    /* Color dorado de fondo */
    color: #212121;
    /* Texto oscuro para contraste */
    border-radius: 5px;
    /* Bordes redondeados para el botón */
    padding: 8px 15px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    display: inline-block;
    /* Para que el padding funcione correctamente */
    transition: background-color 0.3s ease;
}

.order-details.widefat.shadow-table .button-descargar-ticket:hover {
    background-color: #d4a34a;
    /* Un tono más oscuro para el hover */
    color: #000000;
}




/* --- ESTILOS GENERALES PARA TODOS LOS AVISOS --- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    padding: 1em 2em 1em 3.5em !important;
    /* Aumenta el padding para un mejor espaciado */
    margin-bottom: 2em !important;
    /* Espacio debajo de cada aviso */
    border-radius: 8px;
    /* Bordes redondeados */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* Sombra sutil */
    position: relative;
    list-style: none !important;
    border-top-width: 0px;
    /* Remueve el borde superior si lo tuviera */
}

/* --- ICONOS ANTES DEL TEXTO (usando ::before) --- */
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
    font-family: 'WooCommerce';
    /* Utiliza la fuente de iconos de WooCommerce */
    font-size: 1.5em;
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
}

/* --- ESTILO PARA AVISOS DE ÉXITO (VERDE) --- */
.woocommerce-notices-wrapper .woocommerce-message {
    background-color: #f0f9f0;
    /* Fondo verde claro */
    border-left: 5px solid #4CAF50;
    /* Borde izquierdo verde */
    color: #333;
    /* Color de texto oscuro para legibilidad */
}

.woocommerce-notices-wrapper .woocommerce-message::before {
    content: '\f00c';
    /* Código del Check en Font Awesome */
    font-family: 'Font Awesome 5 Free';
    color: #4CAF50;
    /* Color del icono */
}

/* --- ESTILO PARA AVISOS DE INFORMACIÓN (AZUL) --- */
.woocommerce-notices-wrapper .woocommerce-info {
    background-color: #eef7fa;
    /* Fondo azul claro */
    border-left: 5px solid #2196F3;
    /* Borde izquierdo azul */
    color: #333;
}

.woocommerce-notices-wrapper .woocommerce-info::before {
    content: '\e019';
    font-family: 'Font Awesome 5 Free';
    color: #2196F3;
}

/* --- ESTILO PARA AVISOS DE ERROR (ROJO) --- */
.woocommerce-notices-wrapper .woocommerce-error {
    background-color: #fdeaea;
    /* Fondo rojo claro */
    border-left: 5px solid #f44336;
    /* Borde izquierdo rojo */
    color: #333;
}

.woocommerce-notices-wrapper .woocommerce-error::before {
    content: '\e016';
    font-family: 'Font Awesome 5 Free';
    color: #f44336;
}

/* --- ESTILO PARA EL BOTÓN DE "DESHACER" --- */
.woocommerce-notices-wrapper .woocommerce-message .restore-item,
.woocommerce-notices-wrapper .woocommerce-message a.button {
    background-color: #4CAF50 !important;
    color: #ffffff !important;
    border-radius: 5px;
    padding: 5px 10px !important;
    text-transform: uppercase;
    font-weight: bold;
    margin-left: 15px;
    /* Espacio a la izquierda del botón */
    transition: background-color 0.3s ease;
}

.woocommerce-notices-wrapper .woocommerce-message .restore-item:hover,
.woocommerce-notices-wrapper .woocommerce-message a.button:hover {
    background-color: #45a049 !important;
    /* Color más oscuro al pasar el ratón */
}


#customer_details .woocommerce-checkout-review-order .woocommerce-checkout-review-order-table .fee {
    text-align: right !important;
}

div.woocommerce-checkout-payment div.place-order #place_order {
    width: 100% !important;
}

.shop-container .shop-content .shop-filters {
    display: flex;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 15px 1%;
    box-sizing: border-box;
    overflow: hidden;
}

.woocommerce .shop-filters>* {
    margin-right: 25px;
    margin-bottom: 0;
}

.shop-filters .woocommerce-notices-wrapper {
    flex-basis: 100%;
}

.woocommerce-notices-wrapper {
    width: 100%;
}

.shop-filters:not(.mfn-additional-shop-options-active) .woocommerce-ordering {
    margin-left: auto;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    float: right;
}

.woocommerce-order-received .woocommerce .woocommerce-order .order-items-table .product-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.woocommerce-order-received .woocommerce .woocommerce-order .order-items-table .product-info .product-name {
    font-weight: bold;
}

.woocommerce-view-order .woocommerce .woocommerce-order-details .woocommerce-table__product-name .wc-item-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}


.woocommerce-view-order .woocommerce .woocommerce-order-details .woocommerce-table__product-name .wc-item-meta li::marker {
    content: "";
}

.woocommerce-view-order .woocommerce .woocommerce-order-details .woocommerce-table__product-name .wc-item-meta p {
    margin: 0;
}

.woocommerce-view-order .woocommerce .woocommerce-order-details .woocommerce-table__product-total .amount {
    font-weight: bold;
}