/**
Theme Name: Starter Template
Author: Ivan Jiménez 
Author URI: http://wpastra.com/about/
Description: A starter theme to start a project based on Astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: basic-theme
Template: astra
*/

/* ========================================
   PÁGINA UNIFORMES TOGAR - ESTILOS ESPECÍFICOS
   ======================================== */

/* Variables CSS */
:root {
    --togar-primary: #125e1d;
    --togar-secondary: #1a7a28;
    --togar-accent: #2d5a27;
    --togar-gray: #6c757d;
    --togar-light: #f8f9fa;
    --togar-white: #ffffff;
    --togar-shadow: rgba(0, 0, 0, 0.1);
    --togar-shadow-hover: rgba(0, 0, 0, 0.15);
    --togar-border: #e9ecef;
    --togar-transition: all 0.3s ease;
    --togar-error: #dc3545;
    --togar-success: #28a745;
    --togar-warning: #ffc107;
}

/* ========================================
   PÁGINA DE CONTACTO - ESTILOS COMPLETOS
   ======================================== */

/* Hero Section */
.contacto-hero {
    background: linear-gradient(135deg, var(--togar-primary) 0%, var(--togar-secondary) 100%);
    color: var(--togar-white);
    padding: 80px 0;
    text-align: center;
}

.hero-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    letter-spacing: -1px;
}

.hero-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Contenido Principal */
.contacto-main {
    padding: 80px 0;
    background: var(--togar-light);
}

.contacto-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    align-items: start;
}

/* Información de Contacto */
.contacto-info h2 {
    color: var(--togar-primary);
    font-size: 2rem;
    margin-bottom: 2rem;
    font-weight: 600;
}

.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: var(--togar-white);
    border-radius: 12px;
    box-shadow: 0 2px 10px var(--togar-shadow);
    transition: var(--togar-transition);
}

.info-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px var(--togar-shadow-hover);
}

.info-icon {
    background: var(--togar-primary);
    color: var(--togar-white);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    flex-shrink: 0;
}

.info-content h3 {
    color: var(--togar-primary);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.info-content p {
    color: var(--togar-gray);
    line-height: 1.6;
    margin: 0;
}

.info-content a {
    color: var(--togar-primary);
    text-decoration: none;
    transition: var(--togar-transition);
}

.info-content a:hover {
    color: var(--togar-secondary);
    text-decoration: underline;
}

/* Redes Sociales */
.social-links {
    margin-top: 2rem;
}

.social-links h3 {
    color: var(--togar-primary);
    font-size: 1.3rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.social-icons {
    display: flex;
    gap: 1rem;
}

.social-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--togar-white);
    text-decoration: none;
    transition: var(--togar-transition);
}

.social-icon.facebook { background: #1877f2; }
.social-icon.instagram { background: #e4405f; }
.social-icon.whatsapp { background: #25d366; }

.social-icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Formulario de Contacto */
.contacto-form {
    background: var(--togar-white);
    padding: 2.5rem;
    border-radius: 16px;
    box-shadow: 0 4px 25px var(--togar-shadow);
}

.contacto-form h2 {
    color: var(--togar-primary);
    font-size: 2rem;
    margin-bottom: 2rem;
    font-weight: 600;
    text-align: center;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--togar-primary);
    font-weight: 500;
    font-size: 0.95rem;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--togar-border);
    font-size: 1rem;
    transition: var(--togar-transition);
    background: var(--togar-white);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--togar-primary);
    box-shadow: 0 0 0 3px rgba(18, 94, 29, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

/* Checkbox personalizado */
.checkbox-group {
    position: relative;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--togar-gray);
}

.checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
    opacity: 1;
    position: static;
    accent-color: #125e1d; /* Color verde TOGAR para checkbox */
}

.checkmark {
    display: none; /* Ocultar checkmark personalizado */
}

.checkbox-label input[type="checkbox"]:checked + .checkmark {
    background: var(--togar-primary);
    border-color: var(--togar-primary);
}

.checkbox-label input[type="checkbox"]:checked + .checkmark::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--togar-white);
    font-size: 12px;
    font-weight: bold;
}

.checkbox-label a {
    color: var(--togar-primary);
    text-decoration: none;
}

.checkbox-label a:hover {
    text-decoration: underline;
}

/* Botón de envío */
.btn-submit {
    width: 100%;
    background: linear-gradient(45deg, var(--togar-primary), var(--togar-secondary));
    color: var(--togar-white);
    border: none;
    padding: 15px 30px;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--togar-transition);
    position: relative;
    overflow: hidden;
}

.btn-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(18, 94, 29, 0.3);
}

.btn-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Spinner animado */
.spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.spinner .path {
    animation: dash 1.5s ease-in-out infinite;
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}

/* Mensajes de error */
.error-message {
    display: block;
    color: var(--togar-error);
    font-size: 0.85rem;
    margin-top: 0.25rem;
    min-height: 1rem;
}

.form-group.error input,
.form-group.error select,
.form-group.error textarea {
    border-color: var(--togar-error);
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

/* Mensajes de estado del formulario */
#form-messages {
    margin-top: 1rem;
    padding: 0;
}

.form-message {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 1rem;
    font-weight: 500;
}

.form-message.success {
    background: rgba(40, 167, 69, 0.1);
    color: var(--togar-success);
    border: 1px solid rgba(40, 167, 69, 0.3);
}

.form-message.error {
    background: rgba(220, 53, 69, 0.1);
    color: var(--togar-error);
    border: 1px solid rgba(220, 53, 69, 0.3);
}

/* Sección del Mapa */
.contacto-mapa {
    padding: 80px 0;
    background: var(--togar-white);
}

.contacto-mapa h2 {
    color: var(--togar-primary);
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 600;
}

.mapa-container {
    max-width: 1000px;
    margin: 0 auto;
    box-shadow: 0 8px 30px var(--togar-shadow);
    border-radius: 12px;
    overflow: hidden;
}

/* FAQ Section */
.contacto-faq {
    padding: 80px 0;
    background: var(--togar-light);
}

.contacto-faq h2 {
    color: var(--togar-primary);
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 600;
}

.faq-grid {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: var(--togar-white);
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 2px 10px var(--togar-shadow);
    overflow: hidden;
}

.faq-question {
    width: 100%;
    background: none;
    border: none;
    padding: 1.5rem;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--togar-primary);
    transition: var(--togar-transition);
}

.faq-question:hover {
    background: rgba(18, 94, 29, 0.05);
}

.faq-icon {
    transition: var(--togar-transition);
    flex-shrink: 0;
    margin-left: 1rem;
}

.faq-question[aria-expanded="true"] .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 1.5rem 1.5rem;
    color: var(--togar-gray);
    line-height: 1.6;
    display: none;
}

.faq-answer.show {
    display: block;
    animation: fadeInDown 0.3s ease;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    .contacto-hero {
        padding: 60px 0;
    }
    
    .contacto-main,
    .contacto-mapa,
    .contacto-faq {
        padding: 60px 0;
    }
    
    .contacto-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .contacto-form {
        padding: 2rem;
    }
    
    .info-item {
        padding: 1.25rem;
    }
    
    .info-icon {
        width: 45px;
        height: 45px;
    }
    
    .social-icon {
        width: 40px;
        height: 40px;
    }
    
    .faq-question {
        padding: 1.25rem;
        font-size: 1rem;
    }
    
    .faq-answer {
        padding: 0 1.25rem 1.25rem;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 1.8rem;
    }
    
    .contacto-form {
        padding: 1.5rem;
    }
    
    .contacto-hero {
        padding: 40px 0;
    }
    
    .contacto-main,
    .contacto-mapa,
    .contacto-faq {
        padding: 40px 0;
    }
}

/* Ajustes para página con breadcrumb */
.uniformes-togar-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Estilos específicos para breadcrumb en página uniformes-togar */
.page-template-page-uniformes-togar .breadcrumb-nav {
    position: relative !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    background: #fff !important;
    border-bottom: 1px solid #ddd !important;
    margin-bottom: 20px !important;
}

.page-template-page-uniformes-togar .breadcrumb-nav .container {
    overflow: visible !important;
    white-space: nowrap !important;
    scrollbar-width: auto !important;
}

.page-template-page-uniformes-togar .breadcrumb-nav a::before,
.page-template-page-uniformes-togar .breadcrumb-nav a::after {
    display: none !important;
}

/* Ocultar TODOS los breadcrumbs automáticos en página uniformes-togar */
.page-template-page-uniformes-togar .ast-breadcrumbs-wrapper,
.page-template-page-uniformes-togar .astra-breadcrumb,
.page-template-page-uniformes-togar .breadcrumb,
.page-template-page-uniformes-togar .ast-single-post-navigation,
.page-template-page-uniformes-togar .site-main > .ast-breadcrumbs-wrapper,
.page-template-page-uniformes-togar .woocommerce-breadcrumb,
.page-template-page-uniformes-togar nav.woocommerce-breadcrumb,
.page-template-page-uniformes-togar .ast-container > .woocommerce-breadcrumb,
.page-template-page-uniformes-togar .site-content .woocommerce-breadcrumb,
.page-template-page-uniformes-togar .entry-content .woocommerce-breadcrumb {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Mostrar SOLO nuestro breadcrumb personalizado */
.page-template-page-uniformes-togar .breadcrumb-nav {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* Estilos específicos del breadcrumb para uniformes-togar (igual que taxonomía) */
.page-template-page-uniformes-togar .breadcrumb-nav {
    position: sticky;
    top: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    z-index: 100;
    padding: 15px 0;
    margin-bottom: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.page-template-page-uniformes-togar .breadcrumb-nav:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.page-template-page-uniformes-togar .breadcrumb-nav .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.page-template-page-uniformes-togar .breadcrumb-nav a {
    color: #125e1d;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.3s ease;
    display: inline-block;
}

.page-template-page-uniformes-togar .breadcrumb-nav a:hover {
    background: rgba(18, 94, 29, 0.1);
    color: #1a7a28;
    transform: translateY(-1px);
}

/* Sin íconos - diseño limpio como el original */

.page-template-page-uniformes-togar .breadcrumb-nav .breadcrumb-separator {
    color: #125e1d;
    font-weight: 600;
    font-size: 16px;
}

/* Responsive breadcrumb */
@media (max-width: 768px) {
    .page-template-page-uniformes-togar .breadcrumb-nav {
        padding: 12px 0;
    }
    
    .page-template-page-uniformes-togar .breadcrumb-nav .container {
        font-size: 13px;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .page-template-page-uniformes-togar .breadcrumb-nav .container {
        font-size: 12px;
        gap: 6px;
        padding: 0 15px;
    }
}

/* NO ocultar el contenedor de Astra, solo ajustar para que funcione con nuestra estructura */
.page-template-page-uniformes-togar .site-content .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}

/* Asegurar que nuestra sección se muestre correctamente */
.page-template-page-uniformes-togar .colegio-page-section {
    display: block !important;
    width: 100%;
}

/* Container con ancho correcto para uniformes-togar */
.page-template-page-uniformes-togar .colegio-page-section .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    padding-bottom: 40px !important;
}

/* Sección principal con gradiente de fondo */
.page-template-page-uniformes-togar .colegio-page-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    min-height: 100vh;
    padding: 0;
}

/* Card de información del colegio para uniformes-togar */
.page-template-page-uniformes-togar .colegio-info-card {
    background: var(--togar-white);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px var(--togar-shadow);
    position: relative;
    overflow: hidden;
    margin-top: 40px;
}

.page-template-page-uniformes-togar .card-decoration {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: linear-gradient(45deg, rgba(18, 94, 29, 0.05), rgba(26, 122, 40, 0.08));
    border-radius: 0 20px 0 100px;
    z-index: 0;
}

.page-template-page-uniformes-togar .card-header {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
}

.page-template-page-uniformes-togar .colegio-logo {
    flex-shrink: 0;
}

.page-template-page-uniformes-togar .colegio-logo img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--togar-light);
    box-shadow: 0 4px 15px var(--togar-shadow);
}

.page-template-page-uniformes-togar .colegio-info {
    flex: 1;
}

.page-template-page-uniformes-togar .colegio-nombre {
    font-size: 24px;
    font-weight: 600;
    color: #222222;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}

.page-template-page-uniformes-togar .colegio-descripcion {
    color: var(--togar-gray);
    line-height: 150%;
    margin: 0;
}

.page-template-page-uniformes-togar .productos-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--togar-primary), var(--togar-secondary));
    color: var(--togar-white);
    padding: 15px 30px;
    border-radius: 50px;
    text-align: center;
    width: 450px;
    margin: 0 auto;
}

.page-template-page-uniformes-togar .productos-count {
    font-size: 24px;
    font-weight: 700;
}

.page-template-page-uniformes-togar .productos-label {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
}

/* Responsive para card de información */
@media (max-width: 768px) {
    .page-template-page-uniformes-togar .card-header {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
    
    .page-template-page-uniformes-togar .colegio-logo img {
        width: 100px;
        height: 100px;
    }
    
    .page-template-page-uniformes-togar .colegio-nombre {
        font-size: 20px;
    }
}

/* Sección de productos para uniformes-togar */
.page-template-page-uniformes-togar .productos-section {
    background: var(--togar-white);
    border-radius: 20px;
    padding: 40px 40px 10px 40px;
    box-shadow: 0 10px 30px var(--togar-shadow);
}

.page-template-page-uniformes-togar .productos-header {
    text-align: center;
    margin-bottom: 40px;
}

.page-template-page-uniformes-togar .productos-title {
    font-size: 20px;
    font-weight: 600;
    color: #222222;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    margin-bottom: 8px !important;
}

.page-template-page-uniformes-togar .productos-subtitle {
    font-size: 16px;
    color: var(--togar-gray);
    line-height: 150%;
    margin-bottom: 0;
}

/* Aplicar los estilos de productos a la nueva estructura de uniformes-togar */
.page-template-page-uniformes-togar .productos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 40px;
    margin-top: 0px;
}

/* Cards de productos para uniformes-togar */
.page-template-page-uniformes-togar .producto-item {
    background: var(--togar-white);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 12px var(--togar-shadow);
    transition: var(--togar-transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.page-template-page-uniformes-togar .producto-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px var(--togar-shadow-hover);
}

.page-template-page-uniformes-togar .producto-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.page-template-page-uniformes-togar .producto-imagen {
    position: relative;
    overflow: hidden;
    height: 250px;
    flex-shrink: 0;
}

.page-template-page-uniformes-togar .producto-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--togar-transition);
}

.page-template-page-uniformes-togar .producto-imagen:hover img {
    transform: scale(1.05);
}

.page-template-page-uniformes-togar .producto-info {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.page-template-page-uniformes-togar .producto-titulo {
    margin: 0 0 16px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    min-height: 38px;
}

.page-template-page-uniformes-togar .producto-titulo a {
    color: inherit;
    text-decoration: none;
}

.page-template-page-uniformes-togar .producto-titulo a:hover {
    color: var(--togar-primary);
}

.page-template-page-uniformes-togar .producto-precio {
    font-size: 14px;
    font-weight: 700;
    color: var(--togar-primary);
    margin-bottom: 12px;
}

/* SKU de productos - Estilo unificado */
.page-template-page-uniformes-togar .producto-sku,
.uniformes-togar-page .producto-sku {
    font-size: 0.85rem;
    color: var(--togar-gray);
    margin-bottom: 15px;
    font-family: 'Courier New', monospace;
    background: var(--togar-light);
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.page-template-page-uniformes-togar .producto-acciones {
    margin-top: auto;
    padding-top: 15px;
}

/* Botón Ver Detalles - Estilo unificado */
.btn-ver-producto {
    display: block;
    background: linear-gradient(45deg, var(--togar-primary), var(--togar-secondary));
    color: var(--togar-white);
    padding: 12px 24px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 500;
    text-align: center;
    transition: var(--togar-transition);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
}

.btn-ver-producto:hover {
    background: linear-gradient(135deg, var(--togar-secondary), var(--togar-accent));
    color: var(--togar-white);
    transform: translateY(-2px);
}

/* Responsive para uniformes-togar */
@media (max-width: 1024px) {
    .page-template-page-uniformes-togar .productos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .page-template-page-uniformes-togar .productos-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .page-template-page-uniformes-togar .producto-imagen {
        height: 220px;
    }
}

/* Paginación para uniformes-togar */
.page-template-page-uniformes-togar .pagination-nav {
    margin: 40px 0 20px 0;
    text-align: center;
}

.page-template-page-uniformes-togar .pagination {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}

.page-template-page-uniformes-togar .pagination .page-item {
    margin: 0;
}

.page-template-page-uniformes-togar .pagination .page-item a,
.page-template-page-uniformes-togar .pagination .page-item span {
    display: block;
    padding: 10px 15px;
    background: var(--togar-white);
    border: 1px solid var(--togar-border);
    border-radius: 8px;
    color: var(--togar-primary);
    text-decoration: none;
    font-weight: 500;
    transition: var(--togar-transition);
}

.page-template-page-uniformes-togar .pagination .page-item a:hover {
    background: var(--togar-primary);
    color: var(--togar-white);
    transform: translateY(-2px);
}

.page-template-page-uniformes-togar .pagination .page-item .current {
    background: var(--togar-primary);
    color: var(--togar-white);
    border-color: var(--togar-primary);
}

.page-template-page-uniformes-togar .pagination-info {
    text-align: center;
    color: var(--togar-gray);
    font-size: 14px;
    margin-top: 20px;
}


.uniformes-togar-page .productos-section {
    background: var(--togar-white);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 30px var(--togar-shadow);
}

.uniformes-togar-page .productos-header {
    text-align: center;
    margin-bottom: 40px;
}

.uniformes-togar-page .productos-title.tax {
    font-size: 20px;
    font-weight: 600;
    color: #222222;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    margin-bottom: 8px !important;
}

.uniformes-togar-page .productos-subtitle {
    font-size: 16px;
    color: var(--togar-gray);
    line-height: 150%;
    margin-bottom: 0;
}

.uniformes-togar-page .productos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 40px;
}

/* Cards de productos */
.uniformes-togar-page .producto-item {
    background: var(--togar-white);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 12px var(--togar-shadow);
    transition: var(--togar-transition);
    border: 1px solid var(--togar-border);
}

.uniformes-togar-page .producto-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 35px var(--togar-shadow-hover);
}

.uniformes-togar-page .producto-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.uniformes-togar-page .producto-imagen,
.page-template-page-uniformes-togar .producto-imagen {
    position: relative;
    height: 250px;
    overflow: hidden;
    background: var(--togar-light);
}

.uniformes-togar-page .producto-imagen a {
    display: block;
    height: 100%;
    text-decoration: none;
}

.uniformes-togar-page .producto-imagen img,
.uniformes-togar-page .producto-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.uniformes-togar-page .producto-item:hover .producto-thumb,
.uniformes-togar-page .producto-item:hover .producto-imagen img {
    transform: scale(1.08);
}

.uniformes-togar-page .producto-info {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.uniformes-togar-page .producto-titulo {
    margin: 0 0 16px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: -0.5px;
}

.uniformes-togar-page .producto-titulo a {
    color: #222222;
    text-decoration: none;
    transition: var(--togar-transition);
}

.uniformes-togar-page .producto-titulo a:hover {
    color: var(--togar-primary);
}

.uniformes-togar-page .producto-precio {
    font-size: 14px;
    font-weight: 700;
    color: var(--togar-primary);
    margin-bottom: 12px;
}

.uniformes-togar-page .producto-precio .woocommerce-Price-amount {
    font-weight: 700;
}

.uniformes-togar-page .producto-sku {
    font-size: 0.85rem;
    color: var(--togar-gray);
    margin-bottom: 15px;
    font-family: 'Courier New', monospace;
    background: var(--togar-light);
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.uniformes-togar-page .producto-acciones {
    margin-top: auto;
    padding-top: 15px;
}

/* Estilos duplicados removidos - Ver estilo unificado arriba */

/* Paginación - Estilos unificados */
.uniformes-togar-page .pagination-nav,
.page-template-page-uniformes-togar .pagination-nav {
    display: flex;
    justify-content: center;
    margin: 40px 0;
    padding: 0;
}

.uniformes-togar-page .pagination,
.page-template-page-uniformes-togar .pagination {
    display: flex;
    list-style: none;
    gap: 8px;
    margin: 0;
    padding: 15px 20px;
    background: var(--togar-white);
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(18, 94, 29, 0.1);
    border: 1px solid rgba(18, 94, 29, 0.1);
    justify-content: center;
}

.uniformes-togar-page .page-item,
.page-template-page-uniformes-togar .page-item {
    margin: 0;
}

.uniformes-togar-page .page-item a,
.uniformes-togar-page .page-item span,
.page-template-page-uniformes-togar .page-item a,
.page-template-page-uniformes-togar .page-item span {
    display: block;
    padding: 10px 14px;
    background: transparent;
    border: 1px solid rgba(18, 94, 29, 0.2);
    border-radius: 8px;
    color: var(--togar-primary);
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    min-width: 38px;
    text-align: center;
    transition: all 0.3s ease;
}

.uniformes-togar-page .page-item a:hover,
.page-template-page-uniformes-togar .page-item a:hover {
    background: rgba(18, 94, 29, 0.1);
    border-color: var(--togar-primary);
    transform: translateY(-1px);
}

.uniformes-togar-page .page-item .current,
.page-template-page-uniformes-togar .page-item .current {
    background: var(--togar-primary) !important;
    color: var(--togar-white) !important;
    border-color: var(--togar-primary) !important;
    font-weight: 600;
}

.uniformes-togar-page .pagination-info,
.page-template-page-uniformes-togar .pagination-info {
    text-align: center;
    margin-top: 20px;
    color: var(--togar-gray);
    font-size: 14px;
    opacity: 0.8;
}

/* Badge de oferta */
.uniformes-togar-page .producto-badge,
.page-template-page-uniformes-togar .producto-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.uniformes-togar-page .producto-badge.oferta,
.page-template-page-uniformes-togar .producto-badge.oferta {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: var(--togar-white);
    box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3);
    animation: pulseOffer 2s infinite;
}

@keyframes pulseOffer {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Placeholder para productos sin imagen */
.uniformes-togar-page .producto-sin-imagen,
.page-template-page-uniformes-togar .producto-sin-imagen {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    color: var(--togar-gray);
    text-align: center;
    border: 2px dashed rgba(108, 117, 125, 0.3);
}

.uniformes-togar-page .placeholder-icon,
.page-template-page-uniformes-togar .placeholder-icon {
    font-size: 2.5rem;
    margin-bottom: 8px;
    opacity: 0.6;
}

.uniformes-togar-page .placeholder-text,
.page-template-page-uniformes-togar .placeholder-text {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.7;
}

/* Sin productos */
.uniformes-togar-page .no-products-found {
    text-align: center;
    padding: 80px 40px;
    background: var(--togar-white);
    border-radius: 20px;
    box-shadow: 0 10px 30px var(--togar-shadow);
    color: var(--togar-gray);
}

/* Responsive Design */

@media (max-width: 1024px) {
    .uniformes-togar-page .productos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    
    .uniformes-togar-page {
        padding: 0 15px;
    }
    
    .uniformes-togar-page .productos-section {
        padding: 30px 20px;
    }
    
    .uniformes-togar-page .productos-title.tax {
        font-size: 18px;
    }
    
    .uniformes-togar-page .productos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .uniformes-togar-page .pagination,
    .page-template-page-uniformes-togar .pagination {
        flex-wrap: wrap;
        gap: 5px;
        padding: 10px 15px;
    }
    
    .uniformes-togar-page .page-item a,
    .uniformes-togar-page .page-item span,
    .page-template-page-uniformes-togar .page-item a,
    .page-template-page-uniformes-togar .page-item span {
        padding: 8px 12px;
        font-size: 13px;
        min-width: 34px;
    }
    
    .uniformes-togar-page .producto-badge,
    .page-template-page-uniformes-togar .producto-badge {
        top: 8px;
        right: 8px;
        padding: 4px 8px;
        font-size: 11px;
    }
    
    .uniformes-togar-page .placeholder-icon,
    .page-template-page-uniformes-togar .placeholder-icon {
        font-size: 2rem;
        margin-bottom: 6px;
    }
    
    .page-template-page-uniformes-togar .productos-info {
        width: auto;
    }
    
    .btn-ver-producto {
        padding: 10px 20px;
        font-size: 0.85rem;
        border-radius: 20px;
    }
}

@media (max-width: 480px) {
    
    .uniformes-togar-page .productos-section {
        padding: 25px 15px;
    }
    
    .uniformes-togar-page .productos-title.tax {
        font-size: 18px;
    }
    
    .uniformes-togar-page .productos-grid {
        grid-template-columns: 1fr;
    }
    
    .uniformes-togar-page .producto-imagen {
        height: 220px;
    }
    
    .uniformes-togar-page .no-products-found {
        padding: 60px 20px;
    }
}

.uniformes-togar-page .pagination-numbers {
    display: flex;
    list-style: none;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.uniformes-togar-page .pagination-btn,
.uniformes-togar-page .pagination-number {
    display: block;
    padding: 12px 16px;
    background: var(--togar-white);
    border: 1px solid var(--togar-border);
    border-radius: 8px;
    color: var(--togar-primary);
    text-decoration: none;
    font-weight: 500;
    transition: var(--togar-transition);
}

.uniformes-togar-page .pagination-btn:hover,
.uniformes-togar-page .pagination-number:hover,
.uniformes-togar-page .pagination-number.current {
    background: var(--togar-primary);
    color: var(--togar-white);
    border-color: var(--togar-primary);
    text-decoration: none;
}

.uniformes-togar-page .pagination-ellipsis {
    padding: 12px 8px;
    color: var(--togar-gray);
    font-size: 14px;
}

.uniformes-togar-page .pagination-info {
    text-align: center;
    margin-top: 20px;
}

.uniformes-togar-page .pagination-info p {
    margin: 0;
    color: #666666;
    font-size: 14px;
}

.uniformes-togar-page .no-products-found {
    text-align: center;
    padding: 60px 20px;
    grid-column: 1 / -1;
}

.uniformes-togar-page .no-products-found p {
    font-size: 18px;
    color: #666666;
    margin: 0;
}

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
    .uniformes-togar-page {
        padding: 0 15px;
    }
    
    .uniformes-togar-page .productos-section {
        padding: 30px 0;
    }
    
    .uniformes-togar-page .productos-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .uniformes-togar-page .productos-title.tax {
        font-size: 24px;
    }
    
    .uniformes-togar-page .productos-subtitle {
        font-size: 15px;
    }
    
    .uniformes-togar-page .pagination-btn,
    .uniformes-togar-page .pagination-number {
        padding: 8px 12px;
        font-size: 13px;
        min-width: 40px;
    }
    
    .uniformes-togar-page .productos-pagination {
        gap: 12px;
    }
    
    .uniformes-togar-page .pagination-numbers {
        gap: 6px;
    }
}

@media (max-width: 600px) {
    .uniformes-togar-page .productos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 480px) {
    .uniformes-togar-page .productos-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .uniformes-togar-page .productos-pagination {
        flex-direction: column;
        gap: 15px;
    }
    
    .uniformes-togar-page .pagination-numbers {
        order: 2;
    }
    
    .uniformes-togar-page .pagination-btn {
        order: 1;
        width: 120px;
    }
}

/* ========================================
   WOOCOMMERCE CUSTOM STYLES
   ======================================== */

.woocommerce-message {
    margin: 0 0 48px !important;
}

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
    padding: 10px 20px !important;
}

.woocommerce-js div.product div.images img {
    height: 590px;
    object-fit: cover;
    object-position: top;
}

#ast-quick-view-modal .ast-lightbox-content {
    background-color: #ffffff;
}

header.entry-header .entry-title {
    font-size: 24px;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    border-bottom: 1px solid hsla(0, 0%, 7%, .11);
    padding-bottom: 12px;
}

.woocommerce-checkout #primary, .woocommerce-cart #primary {
    margin: 4em 0!important;
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    line-height: 140% !important;
    padding-right: 24px;
}

.wc-block-checkout__sidebar .wc-block-components-product-name,
.wc-block-checkout__sidebar h3.wc-block-components-product-name {
    font-size: 12px!important;
    line-height: 140%!important;
    text-transform: uppercase!important;
    color: #125e1d!important;
    font-weight: 600!important;
}

@media (max-width: 544px) {
    .wc-block-checkout__sidebar .wc-block-components-product-name,
    .wc-block-checkout__sidebar h3.wc-block-components-product-name {
        font-size: 12px!important;
        line-height: 140%!important;
        text-transform: uppercase!important;
        color: #125e1d!important;
        font-weight: 600!important;
    }
}

/* -----------------BASIC STYLES----------------- */

.site-header {
    z-index: 1000;
}
.main-header-bar {
    z-index: 1000;
}
.site-header-section > * {
    padding: 0;
}
a:focus {
    outline: inherit!important;
}
.ast-button-wrap .menu-toggle.main-header-menu-toggle {
	padding: 0;
}
.ast-mobile-popup-drawer.active .menu-toggle-close:focus{
	border:none!important;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close:focus {
    outline: none;
}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus{
	border:none!important;
}

[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal {
    color: transparent;
    background: transparent;
}

.ast-logo-title-inline .ast-site-identity{
    padding: inherit;
}
.ast-mobile-popup-drawer.active .menu-toggle-close {
color: #fff;
}
button:focus, .menu-toggle:hover, button:hover, .ast-button:hover, .ast-custom-button:hover .button:hover, .ast-custom-button:hover, input[type=reset]:hover, input[type=reset]:focus, input#submit:hover, input#submit:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="submit"]:hover, input[type="submit"]:focus, form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:hover, form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:focus, body .wp-block-file .wp-block-file__button:hover, body .wp-block-file .wp-block-file__button:focus, .woocommerce-js a.button:hover, .woocommerce button.button:hover, .woocommerce .woocommerce-message a.button:hover, .woocommerce #respond input#submit:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce input.button.alt:hover, .woocommerce input.button:hover, .woocommerce button.button.alt.disabled:hover, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover, [CLASS*="wc-block"] button:hover, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping):hover, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons a.checkout:hover, .woocommerce button.button.alt.disabled.wc-variation-selection-needed:hover, [CLASS*="wc-block"] .wc-block-components-button:hover, [CLASS*="wc-block"] .wc-block-components-button:focus {
    color: #fff;

}

/* -----------------NAVIGATION MENU STYLES----------------- */

/* Menu item spacing on desktop */
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    margin: 0px 8px;
}

/* Search box z-index for full screen mode */
.ast-search-box.full-screen {
    z-index: 2000;
}

/* Main navigation menu hover and active states */
.main-header-menu .menu-link {
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}

.main-header-menu .menu-link:hover,
.main-header-menu .menu-link:active,
.main-header-menu .current-menu-item .menu-link,
.main-header-menu .current_page_item .menu-link {
    text-decoration: inherit;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
}

/* Alternative: Using border-bottom for better control */
.main-header-menu .menu-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.main-header-menu .menu-link:hover::after,
.main-header-menu .menu-link:active::after,
.main-header-menu .current-menu-item .menu-link::after,
.main-header-menu .current_page_item .menu-link::after {
    width: 100%;
}

/* Mobile menu styles */
@media (max-width: 921px) {
    .main-header-menu .menu-link:hover,
    .main-header-menu .menu-link:active,
    .main-header-menu .current-menu-item .menu-link,
    .main-header-menu .current_page_item .menu-link {
        text-decoration: underline;
    }
    
    .main-header-menu .menu-link::after {
        display: none;
    }
}

/* === FOOTER PERSONALIZADO TOGAR - STARTER TEMPLATE === */

/* Variables CSS */
:root {
    --togar-primary-green: #125E1D;
    --togar-light-green: #1a7525;
    --togar-white: #ffffff;
    --togar-light-gray: #f8f9fa;
    --togar-border-color: rgba(255, 255, 255, 0.2);
    --togar-transition: all 0.3s ease;
}

/* Footer personalizado */
.togar-footer-custom {
    background-color: var(--togar-primary-green);
    color: var(--togar-white);
    padding: 60px 0 0;
    margin-top: auto;
}

.togar-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}

.togar-footer-column {
    display: flex;
    flex-direction: column;
}

/* Branding Column */
.togar-footer-branding .togar-logo-image {
    max-width: 150px;
    height: auto;
    margin: 0 0 20px 0;
    filter: brightness(0) invert(1);
}

.togar-social-icons {
    display: flex;
    gap: 12px;
}

.togar-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background-color: transparent;
    color: var(--togar-white);
    border-radius: 50%;
    transition: var(--togar-transition);
    text-decoration: none;
}

.togar-social-link:hover {
    color: #ffffffbf;
}

/* Navigation & Legal Columns */
.togar-footer-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: var(--togar-white);
}

.togar-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.togar-footer-menu li {
    margin-bottom: 10px;
}

.togar-footer-menu a {
    color: var(--togar-white);
    text-decoration: none;
    opacity: 0.9;
    transition: var(--togar-transition);
    font-size: 0.95rem;
}

.togar-footer-menu a:hover {
    opacity: 1;
    color: var(--togar-light-gray);
    text-decoration: underline;
}

/* Contact Column */
.togar-contact-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.togar-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.95rem;
    line-height: 1.5;
}

.togar-contact-icon {
    margin-top: 2px;
    opacity: 0.9;
    flex-shrink: 0;
}

.togar-contact-item span {
    opacity: 0.9;
}

/* Footer Bottom */
.togar-footer-bottom {
    padding: 20px 0;
    text-align: center;
}

.togar-footer-copyright {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 0;
    border-top: 1px solid var(--togar-border-color);
}

.togar-footer-copyright p {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Responsive Design */

/* Tablet (768px - 1023px) */
@media (max-width: 1023px) {
    .togar-footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        margin-bottom: 30px;
    }
    
    .togar-footer-custom {
        padding: 50px 0 0;
    }
}

/* Mobile (hasta 767px) */
@media (max-width: 767px) {
    .togar-footer-container {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 25px;
        padding: 0 15px;
    }
    
    .togar-footer-custom {
        padding: 40px 0 0;
    }
    
    .togar-footer-branding {
        text-align: left;
        order: -1;
    }
    
    .togar-footer-branding .togar-logo-image {
        max-width: 140px;
        margin-bottom: 24px;
    }
    
    .togar-social-icons {
        justify-content: flex-start;
    }
    
    .togar-footer-title {
        font-size: 1.1rem;
        margin-bottom: 15px;
    }
    
    .togar-contact-item {
        justify-content: flex-start;
    }
    
    .togar-footer-copyright {
        padding: 20px 15px 0;
    }
}

/* Extra small mobile (hasta 480px) */
@media (max-width: 480px) {
    .togar-footer-container {
        padding: 0 10px;
    }
    
    .togar-footer-branding .togar-logo-image {
        max-width: 120px;
    }
    
    .togar-social-link {
        width: 18px;
        height: 18px;
    }
    
    .togar-social-icons {
        gap: 12px;
    }
    
    .togar-footer-copyright {
        padding: 20px 10px 0;
    }
    
    .togar-footer-copyright p {
        font-size: 0.85rem;
    }
}

/* Accessibility */
.togar-social-link:focus,
.togar-footer-menu a:focus {
    outline: 2px solid var(--togar-white);
    outline-offset: 2px;
    color: var(--togar-white);
}

/* Dark Mode Compatibility */
@media (prefers-color-scheme: dark) {
    .togar-footer-custom {
        border-top: 1px solid var(--togar-border-color);
    }
}

/* ========================================
   ESTILOS PARA GRID DE COLEGIOS SHORTCODE
   ======================================== */

/* Variables CSS para el grid de colegios */
:root {
    --colegios-primary: #1A7525;
    --colegios-primary-dark: #005a87;
    --colegios-light-gray: #f9f9f9;
    --colegios-border: #ddd;
    --colegios-text: #333;
    --colegios-text-light: #666;
    --colegios-text-muted: #999;
    --colegios-shadow: rgba(0,0,0,0.1);
    --colegios-shadow-hover: rgba(0,0,0,0.15);
    --colegios-shadow-search: rgba(0, 124, 186, 0.1);
    --colegios-transition: all 0.3s ease;
}

/* Contenedor principal */
.colegios-container {
    margin: 64px 0 !important;
    text-align: center !important;
}

/* Buscador de Colegios */
.colegios-search-wrapper {
    margin-bottom: 30px !important;
    text-align: center !important;
}

.colegios-search-box {
    position: relative !important;
    max-width: 400px !important;
    margin: 0 auto 15px !important;
}

#colegios-search {
    width: 100% !important;
    padding: 15px 20px 15px 50px !important;
    font-size: 16px !important;
    border: 2px solid var(--colegios-border) !important;
    border-radius: 25px !important;
    outline: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box !important;
}

#colegios-search:focus {
    border-color: var(--colegios-primary);
    box-shadow: 0 0 0 3px var(--colegios-shadow-search);
}

.search-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: var(--colegios-text-light);
    pointer-events: none;
}

.search-results-count {
    font-size: 14px;
    color: var(--colegios-text-light);
    font-style: italic;
}

.search .entry-title {
    line-height: 140%;
    letter-spacing: -0.5px;
    font-size: 16px !important;
    text-transform: uppercase;
    text-align: center;
}

/* Mensaje sin resultados */
.no-results-message {
    text-align: center;
    padding: 40px 20px;
    background: var(--colegios-light-gray);
    border-radius: 8px;
    margin-top: 20px;
}

.no-results-message p {
    font-size: 18px;
    color: var(--colegios-text-light);
    margin-bottom: 20px;
}

.btn-clear {
    background: var(--colegios-primary);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.btn-clear:hover {
    background: var(--colegios-primary-dark);
}

/* Grid de Colegios */
.colegios-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    justify-content: flex-start !important;
    transition: opacity 0.3s ease;
}

/* Animación de filtrado */
.colegios-grid.filtering {
    opacity: 0.7;
}

/* Item individual de colegio */
.colegio-item {
    flex: 0 0 calc(25% - 16px) !important; /* 4 columnas desktop */
    min-width: 200px !important;
    max-width: calc(25% - 16px) !important;
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 10px var(--colegios-shadow) !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

.colegio-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px var(--colegios-shadow-hover);
}

/* Estados de filtrado */
.colegio-item.hidden {
    display: none;
}

.colegio-item.highlighted {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 124, 186, 0.2);
    border: 2px solid var(--colegios-primary);
}

/* Link del colegio */
.colegio-link {
    display: block;
    text-decoration: none !important;
    color: inherit;
    height: 100%;
}

.colegio-link:hover {
    text-decoration: none !important;
}

.colegio-link:hover .colegio-nombre {
    text-decoration: none !important;
}

/* Logo del colegio - Ocupa la mayor parte del card */
.colegio-logo {
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    padding: 20px;
    position: relative;
    flex: 1;
}

.colegio-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
    transition: var(--colegios-transition);
}

/* Información del colegio - Más compacta */
.colegio-info {
    padding: 12px 15px;
    text-align: center;
    background: white;
    flex-shrink: 0;
}

.colegio-nombre {
    font-size: 16px !important;
    font-weight: 600;
    margin: 0 0 5px 0;
    color: #222222;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
}

/* Específico para h1 con clase tax en página de taxonomía */
.colegio-nombre.tax {
    font-size: 24px !important;
    letter-spacing: -0.5px;
    color: #222222;
}

.colegio-count {
    font-size: 10px;
    color: var(--colegios-text-light);
    font-weight: 400;
    text-transform: uppercase;
}

/* Responsive Design */

/* Tablet - 3 columnas */
@media (max-width: 1024px) {
    .colegio-item {
        flex: 0 0 calc(33.333% - 14px) !important;
        max-width: calc(33.333% - 14px) !important;
    }
}

/* Tablet pequeño - 2 columnas */
@media (max-width: 768px) {
    .colegio-item {
        flex: 0 0 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        min-width: 150px;
    }
    
    .colegios-grid {
        gap: 15px;
    }
    
    .colegio-logo {
        height: 160px;
        padding: 15px;
    }
    
    .colegio-info {
        padding: 12px;
    }
    
    .colegio-nombre {
        font-size: 16px !important;
    }
    
    .colegios-search-box {
        max-width: 100%;
        margin: 0 0 15px;
    }
    
    #colegios-search {
        padding: 12px 15px 12px 45px;
        font-size: 14px;
    }
}

/* Móvil - 1 columna */
@media (max-width: 480px) {
    .colegio-item {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: auto;
    }
    
    .colegios-grid {
        gap: 12px;
    }
    
    .colegio-logo {
        height: 140px;
        padding: 10px;
    }
    
    .colegio-nombre {
        font-size: 16px !important;
    }
    
    .colegios-search-wrapper {
        margin-bottom: 20px;
    }
}

/* Fallback para logos que no cargan */

.colegio-logo.logo-error::after {
    content: "Logo no disponible";
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--colegios-text-muted);
    font-size: 12px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--colegios-light-gray);
}

.colegio-logo.logo-error img {
    display: none;
}

/* Accessibility */
.colegio-link:focus {
    outline: 2px solid var(--colegios-primary);
    outline-offset: 2px;
}

#colegios-search:focus {
    outline: none; /* Ya tenemos box-shadow personalizado */
}

.btn-clear:focus {
    outline: 2px solid var(--colegios-primary);
    outline-offset: 2px;
}

/* Animaciones adicionales */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.colegio-item {
    animation: fadeIn 0.3s ease-out;
}

/* Hover effects para mejor UX */
.colegio-item:hover .colegio-logo img {
    transform: scale(1.05);
}

.colegio-item:hover .colegio-nombre {
    color: var(--colegios-primary);
}

/* ========================================
   SHORTCODE TOGAR HOME - AUTOCONTENIDO
   ======================================== */

/* Shortcode TOGAR Home - Hero Section */
.togar-home-shortcode .hero-home-section {
    height: auto;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 120px 20px;
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin: 0;
    margin-left: calc(-50vw + 50%);
    z-index: 1;
    box-sizing: border-box;
}

.togar-home-shortcode .hero-container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

.togar-home-shortcode .hero-content {
    max-width: 800px;
    margin: 0 auto;
    display: block;
    width: 100%;
    text-align: center;
}

.togar-home-shortcode .hero-title {
    font-size: 3rem;
    font-weight: 600;
    color: #222222;
    margin-bottom: 32px;
    line-height: 1.2;
    display: block;
    text-align: center;
    letter-spacing: -1.5px;
}

.togar-home-shortcode .hero-description {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 48px;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -0.2px;
}

/* Estadísticas del Hero */
.togar-home-shortcode .hero-stats {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-bottom: 50px;
}

.togar-home-shortcode .stat-item {
    text-align: center;
}

.togar-home-shortcode .stat-number {
    display: block;
    font-size: 5.2rem;
    font-weight: 800;
    color: var(--colegios-primary);
    line-height: 1;
    letter-spacing: -2px;
}

.togar-home-shortcode .stat-label {
    display: block;
    font-size: 1rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 8px;
}

/* Buscador del Hero */
.togar-home-shortcode .hero-search-wrapper {
    max-width: 700px;
    margin: 0 auto;
}

.togar-home-shortcode .hero-search-box {
    position: relative;
    margin-bottom: 15px;
}

.togar-home-shortcode #hero-search-input {
    width: 100%;
    padding: 30px 25px 30px 60px;
    font-size: 18px;
    border: 3px solid #dee2e6;
    border-radius: 50px;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
}

.togar-home-shortcode #hero-search-input:focus {
    border-color: var(--colegios-primary);
    box-shadow: 0 0 0 4px rgba(0, 124, 186, 0.1);
    background: rgba(255, 255, 255, 1);
}

.togar-home-shortcode .hero-search-icon {
    position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #6c757d;
    pointer-events: none;
}

.togar-home-shortcode .hero-search-results {
    font-size: 16px;
    color: #6c757d;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.5px;
}

/* Sección Colegios en Home */
.togar-home-shortcode .colegios-home-section {
    padding: 60px 20px;
    background: #fff;
    position: relative;
    margin: 0;
    box-sizing: border-box;
    display: block;
}

.togar-home-shortcode .colegios-container {
    margin: 0 auto;
    position: relative;
    width: 100%;
    display: block;
    text-align: center;
}

/* Loading Spinner */
.colegios-loading {
    display: none;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 15px;
    padding: 30px 40px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--colegios-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 15px;
}

.loading-text {
    color: #666;
    font-size: 16px;
    font-weight: 500;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Grid de colegios en home */
.colegios-grid-wrapper {
    transition: opacity 0.3s ease;
}

.colegios-grid-wrapper.loading {
    opacity: 0.5;
}

/* Sección Productos */
.togar-home-shortcode .productos-home-section {
    padding: 80px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    width: 100vw;
    margin: 0;
    margin-left: calc(-50vw + 50%);
    box-sizing: border-box;
    display: block;
}

.productos-container {
    max-width: 900px !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

.productos-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 20px;
}

.productos-container .productos-title {
    letter-spacing: -1.2px;
    font-weight: 600;
    font-size: 32px;
}

.productos-description {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 48px;
    line-height: 1.6;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -0.2px
}

.productos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.producto-placeholder {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 15px;
    padding: 40px 20px;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: transform 0.3s ease;
}

.producto-placeholder:hover {
    transform: translateY(-5px);
}

.placeholder-icon {
    font-size: 3rem;
    margin-bottom: 20px;
}

.producto-placeholder h3 {
    font-size: 1.2rem;
    color: #222222;
    margin-bottom: 15px;
}

.producto-placeholder p {
    color: #6c757d;
    font-size: 0.9rem;
    letter-spacing: -0.2px;
    line-height: 1.4;
}

/* Responsive Design para Home Page */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-description {
        font-size: 1.1rem;
    }
    
    .hero-stats {
        gap: 30px;
        flex-wrap: wrap;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
    
    #hero-search-input {
        padding: 15px 20px 15px 50px;
        font-size: 16px;
    }
    
    .hero-search-icon {
        left: 18px;
        font-size: 18px;
    }
    
    .colegios-loading {
        padding: 20px 30px;
    }
    
    .spinner {
        width: 30px;
        height: 30px;
        border-width: 3px;
    }
    
    .loading-text {
        font-size: 14px;
    }
    
    .productos-title {
        font-size: 2rem;
    }
    
    .productos-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .hero-home-section {
        padding: 40px 15px;
        min-height: 60vh;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-stats {
        gap: 20px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .stat-label {
        font-size: 0.9rem;
    }
    
    .colegios-home-section {
        padding: 40px 15px;
    }
    
    .productos-home-section {
        padding: 60px 15px;
    }
}

/* Responsive styles for TOGAR Home Shortcode */
@media (max-width: 768px) {
    .togar-home-shortcode .hero-title {
        font-size: 2.5rem;
        margin-bottom: 24px;
        letter-spacing: -1px;
    }
    
    .togar-home-shortcode .hero-description {
        font-size: 1rem;
        margin-bottom: 36px;
    }
}

@media (max-width: 480px) {
    .togar-home-shortcode .hero-home-section {
        padding: 80px 20px;
    }
    
    .togar-home-shortcode .hero-title {
        font-size: 1.6rem;
        margin-bottom: 32px;
        letter-spacing: -0.5px;
        line-height: 120%;
    }
    
    .togar-home-shortcode .hero-description {
        font-size: 0.95rem;
        margin-bottom: 48px;
        line-height: 140%;
    }
    
    .togar-home-shortcode .hero-stats {
        gap: 40px;
    }
    
    .togar-home-shortcode .stat-number {
        font-size: 4rem;
        letter-spacing: -1.5px;
    }
    
    .togar-home-shortcode .colegios-home-section {
        padding: 60px 0px;
    }
}

/* ============================================
   PRODUCT BREADCRUMB ESPECÍFICO
============================================ */

/* Breadcrumb específico para página de productos */
.product-breadcrumb {
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0;
    max-width: 100%;
    white-space: nowrap;
    margin-left: -8px;
}

.product-breadcrumb::-webkit-scrollbar {
    height: 2px;
}

.product-breadcrumb::-webkit-scrollbar-thumb {
    background: rgba(18, 94, 29, 0.3);
    border-radius: 1px;
}

/* Enlaces del breadcrumb */
.breadcrumb-link {
    color: #125e1d;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    padding: 8px 8px;
    border-radius: 8px;
}

.breadcrumb-link:hover {
    background: rgba(18, 94, 29, 0.1);
    color: #1a7a28;
    text-decoration: none;
    transform: translateY(-1px);
}

.breadcrumb-link:focus {
    outline: 2px solid #125e1d;
    outline-offset: 2px;
}

/* Separadores */
.breadcrumb-separator {
    color: #6c757d;
    font-weight: 400;
    margin: 0 4px;
    font-size: 12px;
}

/* Elemento actual (producto) */
.breadcrumb-current {
    color: #2c3e50;
    font-weight: 700;
    background: rgba(44, 62, 80, 0.1);
    padding: 4px 12px;
    border-radius: 8px;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Íconos específicos */
.breadcrumb-home::before {
    content: '🏠';
    margin-right: 6px;
    font-size: 12px;
}

.breadcrumb-colegios::before {
    content: '🏫';
    margin-right: 6px;
    font-size: 12px;
}

.breadcrumb-colegio::before {
    content: '🎓';
    margin-right: 6px;
    font-size: 12px;
}

/* Responsive */
@media (max-width: 768px) {
    .product-breadcrumb {
        font-size: 11px;
        margin-bottom: 10px;
        flex-wrap: nowrap;
        gap: 0;
    }
    
    .breadcrumb-separator {
        margin: 0 2px;
        font-size: 11px;
    }
    
    .breadcrumb-current {
        max-width: 150px;
        padding: 3px 10px;
    }
    
    .breadcrumb-link {
        padding: 3px 6px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .product-breadcrumb {
        font-size: 10px;
        margin-bottom: 8px;
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
        white-space: normal;
        flex-wrap: wrap;
        gap: 2px;
        line-height: 1.4;
    }
    
    .breadcrumb-current {
        max-width: 120px;
        font-size: 12px;
    }
    
    .breadcrumb-link {
        flex-shrink: 0;
        white-space: nowrap;
    }
    
    .breadcrumb-separator {
        flex-shrink: 0;
    }
    
}

/* Animación de entrada */
.product-breadcrumb {
    animation: productBreadcrumbSlide 0.5s ease-out;
}

/* ============================================
   PÁGINA DE CONTACTO
   ============================================ */
.page-contacto-togar #primary {
    margin: 0;
    padding: 0;
}

.page-contacto-togar .site-main {
    margin: 0;
    padding: 0;
}

/* Hero Section con Mapa */
.contacto-hero {
    position: relative;
    width: 100vw;
    height: 450px;
    overflow: hidden;
    margin-left: calc(-50vw + 50%);
}

.hero-map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-map iframe {
    width: 100%;
    height: 100%;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(18, 94, 29, 0.8) 0%, rgba(26, 122, 40, 0.8) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-content {
    text-align: center;
    color: #ffffff;
}

.hero-subtitle {
    font-size: 1.2rem;
    font-weight: 400;
    opacity: 0.95;
}

/* Contenido Principal */
.contacto-main {
    padding: 60px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

.contacto-main .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

.contacto-grid {
    display: grid;
    grid-template-columns: 1.3fr 2fr;
    gap: 50px;
}

/* Información de Contacto */
.contacto-info h1 {
    letter-spacing: -1.2px;
    font-size: 24px;
    margin-bottom: 16px;
    color: #222222;
}

.contacto-info-description {
    font-size: 16px;
    color: #6c757d;
    margin-bottom: 32px;
    line-height: 140%;
    letter-spacing: -0.2px;
}

.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
    padding: 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.info-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.info-icon {
    background: #125e1d;
    color: #ffffff;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    flex-shrink: 0;
}

.info-content h3 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: #222222;
}

.info-content p {
    margin: 0;
    color: #666666;
}

.info-content a {
    color: #125e1d;
    text-decoration: none;
}

.info-content a:hover {
    text-decoration: underline;
}

/* Redes Sociales */
.social-links {
    margin-top: 40px;
}

.social-links h3 {
    font-size: 1.1rem;
    margin-bottom: 15px;
    color: #222222;
}

.social-icons {
    display: flex;
    gap: 15px;
}

.social-icon {
    width: 44px;
    height: 44px;
    background: #125e1d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.social-icon:hover {
    transform: translateY(-3px);
    background: #1a7a28;
}

.social-icon svg {
    width: 20px;
    height: 20px;
}

/* Formulario de Contacto */
.contacto-form {
    background: #ffffff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.contacto-form h2 {
    font-size: 24px;
    letter-spacing: -1.2px;
    font-weight: 600;
    margin-bottom: 30px;
    color: #222222;
}

/* Estilos específicos para formulario de contacto */
.contacto-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.contacto-form .form-group {
    margin-bottom: 20px;
}

.contacto-form .form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333333;
}

.contacto-form .form-group input,
.contacto-form .form-group select,
.contacto-form .form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.3s ease;
    font-family: 'inter', sans-serif;
    height: 48px;
}

.contacto-form .form-group input:focus,
.contacto-form .form-group select:focus,
.contacto-form .form-group textarea:focus {
    outline: none;
    border-color: #125e1d;
}

.contacto-form .form-group.error input,
.contacto-form .form-group.error select,
.contacto-form .form-group.error textarea {
    border-color: #dc3545;
}

/* Checkbox específico para formulario de contacto */
.contacto-form .checkbox-group {
    display: flex;
    align-items: center;
}

.contacto-form .checkbox-label {
    display: flex!important;
    align-items: center;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    line-height: 1.4;
    gap: 8px;
}

.contacto-form .checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    transform: scale(1.1);
    cursor: pointer;
    accent-color: #125e1d;
    flex-shrink: 0;
}

.contacto-form .checkmark {
    display: none !important;
}

.error-message {
    display: block;
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 5px;
}

/* Checkbox */
.checkbox-group {
    display: flex;
    align-items: flex-start;
}

.checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

/* .checkbox-label input[type="checkbox"] duplicado - comentado para evitar conflictos */

/* reCAPTCHA v3 no requiere estilos específicos */

/* Botón de Envío */
.btn-submit {
    background: linear-gradient(135deg, #125e1d 0%, #1a7a28 100%);
    color: #ffffff;
    padding: 16px 40px;
    border: none;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: -0.5px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
}

.btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(18, 94, 29, 0.3);
}

.btn-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-loading {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* Spinner */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.spinner {
    animation: spin 1s linear infinite;
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
}

.modal-dialog {
    position: relative;
    background: #ffffff;
    border-radius: 16px;
    padding: 48px 32px;
    max-width: 560px;
    width: 90%
3024px
;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.modal-icon {
    font-size: 56px;
    margin-bottom: 20px;
}

.modal-title {
    font-size: 20px;
    letter-spacing: -0.7px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #222222;
}

.modal-text {
    color: #666666;
    margin-bottom: 25px;
    line-height: 1.5;
}

.modal-btn {
    background: #125e1d;
    color: #ffffff;
    padding: 12px 30px;
    border: none;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.modal-btn:hover {
    background: #1a7a28;
}

/* Estadísticas */
.contacto-stats {
    padding: 80px 0;
    background: linear-gradient(135deg, #125e1d 0%, #1a7a28 100%);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 800px;
    margin: 0 auto;
}

.stat-card {
    text-align: center;
    color: #ffffff;
}

.stat-number {
    font-size: 4rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 1.2rem;
    font-weight: 600;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Container personalizado para contacto */
.page-contacto-togar .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Ocultar body scroll cuando modal está abierto */
body.modal-open {
    overflow: hidden;
}

/* Responsive Contacto */
@media (max-width: 1024px) {
    .contacto-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .contacto-info {
        order: 2;
    }
    
    .contacto-form {
        order: 1;
    }
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    .contacto-main {
        padding: 40px 0;
    }
    
    .contacto-form {
        padding: 30px 20px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .stat-number {
        font-size: 3rem;
    }
}

@media (max-width: 480px) {
    .contacto-hero {
        height: 350px;
    }
    
    .hero-title {
        font-size: 1.75rem;
    }
    
    .info-icon {
        width: 40px;
        height: 40px;
    }
    
    .info-item {
        padding: 15px;
    }
    
    .btn-submit {
        width: 100%;
    }
}

/* ============================================
   TÍTULO DE PRODUCTO SINGLE
   ============================================ */

.product_title.entry-title {
    font-size: 24px;
    text-transform: uppercase;
    line-height: 130%;
    letter-spacing: -0.5px;
    margin-bottom: 20px !important;
}

.summary.entry-summary p.price {
    margin-bottom: 24px !important;
    font-size: 20px !important;
    letter-spacing: 0.2px;
    font-weight: 600 !important;
}

.woocommerce-variation-price {
    margin: 32px 0;
}

.summary.entry-summary th.label {
    border-top: 1px solid #dddddd !important;
}

.woocommerce-variation-price span.woocommerce-Price-amount.amount {
    font-size: 32px;
    letter-spacing: -0.5px;
    font-weight: 800;
    color: #125e1d;
}

.theme-astra.cfvsw-product-page tr th.label {
    padding-top: 16px !important;
    text-transform: uppercase;
}

.theme-astra.cfvsw-product-page tr th.label label span.cfvsw-selected-label {
    color: #666666;
    font-weight: 500;
}

.theme-astra.cfvsw-product-page tr th.label label {
    color: #125e1d;
}

.cfvsw-selected-swatch {
    background: rgba(18, 94, 29, 0.1);
    color: #1b7a29;
    font-weight: 600;
}

button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed {
    background: rgba(18, 94, 29, 0.1);
    color: #125e1d;
} 

button.single_add_to_cart_button.button.alt {
    background: rgba(18, 94, 29, 0.1);
    color: #125e1d;
} 

button.single_add_to_cart_button.button.alt:hover {
    background: #125e1d;
    color: #ffffff;
}

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
    padding: 12px 20px;
}

.ast-desktop .astra-cart-drawer {
    width: 440px;
}

.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content {
    background: #fff;
} 

.astra-cart-drawer .astra-cart-drawer-header {
    background: #fff;
} 

button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"] {
    box-shadow: none;
}

.astra-cart-drawer-close:focus{ 
    outline-style: none!important;
} 

.woocommerce .widget_shopping_cart .cart_list li, .woocommerce.widget_shopping_cart .cart_list li {
    padding-right: 40px !important;
}

.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a.button.wc-forward:not(.checkout):hover, .woocommerce-js .astra-cart-drawer .widget_shopping_cart_content a.button.wc-forward:not(.checkout):hover, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping):hover {
    background-color: #125e1d!important;
} 

a.button.checkout.wc-forward {
    padding: 22px 20px !important;
}

.woocommerce-js ul.cart_list li>a, .woocommerce-js ul.product_list_widget li>a {
    text-transform: uppercase;
    font-size: 12px;
    line-height: 130%;
}

.woocommerce-js ul.product_list_widget li img {
    width: 6em !important;
    height: 5em !important;
    object-fit: cover;
    top: 40%;
}

.woocommerce-message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.woocommerce-message a.button.wc-forward {
    margin: 0;
    margin-right: inherit;
    flex-shrink: 0;
}

.woocommerce-message::after {
    display: none;
}

.woocommerce-message::before {
    top: inherit;
}

.woocommerce .widget_shopping_cart .cart_list li, .woocommerce.widget_shopping_cart .cart_list li {
    padding: 0.5em 0 1.2em 5.3em;
    margin-bottom: 8px;
}

.woocommerce-js .quantity .qty {
    width: 3em;
    height: 30px !important;
}

.woocommerce-js ul.cart_list li>a, .woocommerce-js ul.product_list_widget li>a {
    margin-bottom: .60em;
}

.product_meta span.posted_in {
    display: none !important;
}

/* ========================================
   PRODUCTOS RELACIONADOS POR COLEGIO
   ======================================== */

.togar-productos-relacionados-section {
    display: inline-block !important;
    margin: 0 !important;
    margin-top: 48px !important;
    padding: 48px 0 0 !important;
    border-top: 1px solid #dddddd !important;
    background: #ffffff !important;
    width: 100% !important;
    position: relative !important;
    clear: both !important;
}

/* Reset cualquier float o display que pueda interferir */
.togar-productos-relacionados-section * {
    box-sizing: border-box !important;
}

.togar-productos-relacionados-section::after {
    content: "";
    display: table;
    clear: both;
}

.togar-relacionados-title {
    font-size: 24px;
    font-weight: 600;
    color: #222;
    margin-bottom: 48px !important;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -0.5px;
}

.togar-productos-relacionados-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.togar-producto-relacionado {
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
    float: none !important;
}

.togar-producto-relacionado:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.togar-producto-imagen {
    width: 100%;
    height: 250px;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.togar-producto-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.togar-producto-relacionado:hover .togar-producto-imagen img {
    transform: scale(1.02);
}

.togar-producto-info {
    padding: 24px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.togar-producto-titulo {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin: 0 0 16px 0;
    line-height: 140%;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.togar-producto-precio {
    font-size: 14px;
    font-weight: 700;
    color: #125e1d;
    margin: 0 0 12px 0;
    letter-spacing: -0.2px;
}

.togar-producto-sku {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 32px;
    font-family: 'Courier New', monospace;
    background: #f8f9fa;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.togar-producto-boton {
    background: #125e1d;
    color: #ffffff;
    text-decoration: none;
    padding: 14px 24px;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    transition: all 0.3s ease;
    border: none;
    margin-top: auto;
    display: inline-block;
    min-width: 140px;
}

.togar-producto-boton:hover {
    background: linear-gradient(135deg, var(--togar-secondary), var(--togar-accent));
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .togar-productos-relacionados-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }
    
    .togar-producto-imagen {
        height: 220px;
    }
    
    .togar-productos-relacionados-section {
        padding: 50px 20px;
        margin: 50px 0 60px;
    }
    
    .togar-relacionados-title {
        font-size: 24px;
        margin-bottom: 32px;
    }
}

@media (max-width: 768px) {
    .togar-productos-relacionados-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 32px !important;
        padding: 0px !important;
    }
    
    .togar-productos-relacionados-section {
        margin: 40px 0 50px;
        padding: 40px 15px;
    }
    
    .togar-relacionados-title {
        font-size: 22px;
        margin-bottom: 28px;
    }
    
    .togar-producto-imagen {
        height: 180px;
    }
    
    .togar-producto-info {
        padding: 20px 16px;
    }
    
    .togar-producto-titulo {
        font-size: 14px;
        min-height: 34px;
    }
    
    .togar-producto-precio {
        font-size: 16px;
    }
    
    .togar-producto-boton {
        padding: 12px 20px;
        font-size: 12px;
        min-width: 120px;
    }
}

@media (max-width: 480px) {
    .togar-productos-relacionados-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        max-width: 100% !important;
    }
    
    .togar-producto-imagen {
        height: 220px;
    }
    
    .togar-productos-relacionados-section {
        padding: 30px 15px;
        margin: 30px 0 40px;
    }
    
    .togar-relacionados-title {
        font-size: 20px;
        margin-bottom: 24px;
    }
    
    .togar-producto-titulo {
        font-size: 15px;
        min-height: 36px;
    }
    
    .togar-producto-precio {
        font-size: 17px;
    }
}

.wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper h3 {
    font-size: 12px !important;
    line-height: 140% !important;
    text-transform: uppercase !important;
    color: #125e1d !important;
    font-weight: 600 !important; 
    margin-bottom: 4px!important;
} 
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    padding-bottom: 10px;
    padding-left: 18px!important;
    padding-right: 20px!important;
}

#customer_details h3:not(.elementor-widget-woocommerce-checkout-page h3) {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.5px;
    border-bottom: none;
    margin-bottom: 0px;
} 

div#ast-order-review-wrapper h3 {
    font-size: 24px;
    text-transform: uppercase;
    font-weight: 600; 
    letter-spacing: -0.5px;
}

.woocommerce-billing-fields__customer-info-wrapper {
    margin-bottom: 24px;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap {
    background-color: #e8eee8;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle {
    color: #222222;
}

.ast-product-name {
    font-size: 12px;
    text-transform: uppercase;
    line-height: 140%;
    font-weight: 500;
    color: #125e1d;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods>li:not(.woocommerce-info) {
    padding: 10px 0 0 0;
} 
.woocommerce-error, .woocommerce-info, .woocommerce-message {
    line-height: 150%;
}

.woocommerce-privacy-policy-text {
    line-height: 150%;
    font-family: poppins, sans-serif;
    font-size: 14px;
    color: #222;
}

tr.order-total {
    color: #222222;
    text-transform: uppercase;
}

.woocommerce-MyAccount-content p {
    line-height: 150%;
}

@keyframes productBreadcrumbSlide {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ============================================
   BREADCRUMB ESPECÍFICO PARA TAXONOMÍA UNIFORMES
   ============================================ */

/* Breadcrumb específico para taxonomía uniformes */
.breadcrumb-nav {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(18, 94, 29, 0.1);
    padding: 15px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    margin-bottom: 30px;
}

.breadcrumb-nav .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 12px;
    font-weight: 500;
    overflow-x: auto;
    scrollbar-width: thin;
    white-space: nowrap;
}

/* Enlaces del breadcrumb */
.breadcrumb-nav a {
    color: #125e1d;
    text-decoration: none;
    font-weight: 600;
    padding: 8px 8px;
    border-radius: 8px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    position: relative;
}

.breadcrumb-nav a:hover {
    background: rgba(18, 94, 29, 0.1);
    color: #1a7a28;
    text-decoration: none;
    transform: translateY(-1px);
}

.breadcrumb-nav a:focus {
    outline: 2px solid #125e1d;
    outline-offset: 2px;
}

.breadcrumb-nav a:active {
    transform: translateY(0);
}

/* Separador */
.breadcrumb-nav .breadcrumb-separator {
    color: #6c757d;
    font-weight: 400;
    margin: 0 4px;
    font-size: 12px;
}

/* Efectos específicos por enlace */
.breadcrumb-nav .breadcrumb-home::before {
    content: '🏠';
    margin-right: 6px;
    font-size: 12px;
}

.breadcrumb-nav .breadcrumb-colegios::before {
    content: '🏫';
    margin-right: 6px;
    font-size: 12px;
}

/* Responsive */
@media (max-width: 768px) {
    .breadcrumb-nav {
        padding: 12px 0;
        position: static;
    }
    
    .breadcrumb-nav .container {
        padding: 0 15px;
        font-size: 11px;
        gap: 0;
        flex-wrap: nowrap;
    }
    
    .breadcrumb-nav a {
        padding: 3px 6px;
        font-size: 13px;
    }
    
    .breadcrumb-nav .breadcrumb-separator {
        font-size: 11px;
        margin: 0 2px;
    }
}

@media (max-width: 480px) {
    .breadcrumb-nav .container {
        padding: 0 12px;
        font-size: 10px;
        gap: 0;
        width: 100%;
        justify-content: flex-start;
    }
    
    .breadcrumb-nav a {
        padding: 3px 6px;
        font-size: 12px;
    }
    
    /* Ocultar íconos en móvil muy pequeño */
    .breadcrumb-nav .breadcrumb-home::before,
    .breadcrumb-nav .breadcrumb-colegios::before {
        display: none;
    }
}

/* Animación de entrada */
.breadcrumb-nav {
    animation: productBreadcrumbSlide 0.5s ease-out;
}

/* Reutiliza la animación existente del breadcrumb de productos */

/* Scrollbar styling para consistencia con breadcrumb de productos */
.breadcrumb-nav .container::-webkit-scrollbar {
    height: 2px;
}

.breadcrumb-nav .container::-webkit-scrollbar-thumb {
    background: rgba(18, 94, 29, 0.3);
    border-radius: 1px;
}

/* Modo oscuro (opcional) */
.breadcrumb-nav.dark-mode {
    background: rgba(44, 62, 80, 0.95);
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.breadcrumb-nav.dark-mode a {
    color: #74b9ff;
}

.breadcrumb-nav.dark-mode a:hover {
    background: rgba(116, 185, 255, 0.1);
    color: #0984e3;
}

.breadcrumb-nav.dark-mode .separator {
    color: #bdc3c7;
}

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select {
    height: 46px;
}

#ast-checkout-coupon {
    margin-bottom: 1.5em;
    margin-top: 1.5em;
    border-top: 1px solid hsla(0, 0%, 7%, .11);
    border-bottom: 1px solid hsla(0, 0%, 7%, .11);
    padding: 20px 0px;
}

#ast-coupon-trigger {
    display: inline-block;
    cursor: pointer;
    margin-bottom: 0;
    font-size: 16px;
    font-family: poppins, sans-serif;
    font-weight: 500;
    color: #125e1d;
    padding: 12px 20px;
    background: #E8EEE8;
    border-radius: 8px;
}

#ast-coupon-trigger:hover {
    background: #125E1D;
    color: #FFF;
}

span#coupon-error-notice {
    font-size: 12px;
    font-weight: 500;
    color: #d65d67;
    font-family: Poppins, sans-serif;
}

#ast-checkout-coupon .coupon {
    margin-bottom: 10px;
}

.checkout-inline-error-message {
    font-size: 12px;
    font-weight: 500;
    color: #d65d67;
    font-family: Poppins, sans-serif;
    padding: 8px 0 0 4px;
}

.woocommerce-error {
    border-top-color: #b81c23;
    border-bottom-color: #b81c23 !important;
} 
.woocommerce-error, .woocommerce-info, .woocommerce-message {
    background-color: #f7f6f7;
}
.woocommerce-error li, .woocommerce-info li, .woocommerce-message li {
    list-style: auto inside !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-bottom: 0px;
    font-size: 12px;
    font-family: poppins, sans-serif; 
    color: #b81d23;
    line-height: 170%;
} 
.woocommerce-error li a, .woocommerce-info li a, .woocommerce-message li a {
    color: #b81d23;
}

.woocommerce-error::before {
    color: #b81d23 !important;
}

.woocommerce-NoticeGroup-checkout ul.woocommerce-error li strong {
    font-weight: inherit;
}

.woocommerce-info {
    font-family: poppins, sans-serif;
    font-size: 14px;
    line-height: 150%;
    color: #222;
}

.ast-logged-in-customer-info {
    font-family: poppins, sans-serif;
    font-size: 14px;
    line-height: 150%;
}

.ast-product-name {
    font-family: poppins, sans-serif;
    font-size: 12px;
} 
.ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table thead tr th, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table thead tr th {
    padding: 1em 1.2em 1em 1.2em;
    font-weight: 500;
    font-family: poppins, sans-serif;
}

.ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr td, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr th, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr td, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr th {
    font-family: poppins, sans-serif;
}

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select, textarea {
    font-size: 14px;
    font-family: poppins, sans-serif;
}

.woocommerce-js .select2-container .select2-selection--single, .woocommerce-js select, .woocommerce-page .select2-container .select2-selection--single, .woocommerce-page select {
    font-family: poppins, sans-serif;
    font-size: 14px;
}

.woocommerce-checkout, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: poppins, sans-serif;
    font-size: 0.87rem;
}

.woocommerce-cart, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: poppins, sans-serif;
}

/* Estilos para la nueva columna de métodos de pago en el footer */
.togar-footer-payment {
    text-align: left;
}

.togar-payment-methods {
    margin-top: 0px;
}

.togar-payment-image {
    width: 120px;
    height: auto;
    object-fit: contain;
}

/* Ajustar el grid del footer para 5 columnas */
.togar-footer-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 20px;
}

/* Responsive para tablet - 3 columnas + 2 abajo */
@media (max-width: 1024px) and (min-width: 769px) {
    .togar-footer-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        max-width: 900px;
    }
    
    .togar-footer-contact {
        grid-column: 1;
    }
    
    .togar-footer-payment {
        grid-column: 2;
    }
}

/* Responsive para móvil - apilar columnas */
@media (max-width: 768px) {
    .togar-footer-container {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 32px 16px;
        max-width: 100%;
    }
    
    .togar-footer-contact {
        order: 4; /* Posicionar contacto antes que métodos de pago en móvil */
    }
    
    .togar-footer-payment {
        order: 5; /* Métodos de pago al final en móvil */
    }
}

/* ========================================
   ESTILOS PARA CAMPO PAÍS DE FACTURACIÓN
   ======================================== */

#billing_country_field {
    font-size: 16px;
    color: #222222;
}
#billing_country_field strong {
    font-weight: 500;
    letter-spacing: -0.5px;
}

/* ========================================
   ESTILOS PARA PÁGINA DE ORDEN RECIBIDA
   ======================================== */

.woocommerce-checkout.woocommerce-order-received .woocommerce-order {
    max-width: 1200px!important;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview {
    color: inherit;
    padding: 1.5em 1.5em 1em 1.5em;
    background: #E8EEE8;
    margin: 1.5em auto 3em;
    border-radius: 8px;
    display: block;
    width: 1200px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-left: 4px solid #125e1d;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li {
    color: #125e1d;
    font-weight: 500;
    line-height: 190%;
    text-align: left;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received {
    text-align: left;
    margin: 48px 0 32px 0;
    padding: 0;
    font-weight: 500;
    font-size: 20px;
    color: #222222;
    letter-spacing: -0.7px;
    line-height: 140%;
}

section.woocommerce-order-details {
    padding-top: 16px;
    border-top: 1px solid #dddddd;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-column__title, .woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-order-details .woocommerce-order-details__title, .woocommerce-checkout.woocommerce-order-received .woocommerce-order-received-title-common {
    font-size: 1.5em;
    font-weight: 500;
    letter-spacing: -0.5px;
}

p.woocommerce-customer-details--phone {
    padding-top: 10px;
    font-weight: 500;
    color: #125e1d;
} 

p.woocommerce-customer-details--email{ 
    font-weight: 500;
    color: #125e1d; 
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address {
    border: 0;
    padding: 0;
    line-height: 160%;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.shop_table tfoot tr:last-child th {
    font-weight: 500;
    color: #222222;
}

td.woocommerce-table__product-name.product-name strong {
    color: #125e1d;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.shop_table tfoot tr:last-child td, .woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.shop_table tfoot tr:last-child th {
    font-size: 13.92px;
    padding: 1em 1em 1em 1.2em;
    border-bottom: 0;
    color: #222222;
    letter-spacing: -0.5px;
}

th.woocommerce-table__product-name.product-name, th.woocommerce-table__product-table.product-total {
    color: #222222;
}

/* TOGAR - Estilos para páginas legales */
.togar-paginas-legales {
    padding: 64px 0px;
} 
.togar-paginas-legales h1 {
    font-size: 32px; 
}
.togar-paginas-legales h1, .togar-paginas-legales h2 {
    letter-spacing: -1.3px;
    line-height: 140%;
} 
.togar-paginas-legales h2 {
    font-size: 24px;
} 
.togar-paginas-legales p {
    font-family: inter, sans-serif;
    font-size: 16px;
    line-height: 170%;
    margin: 0 0 24px 0;
} 
.togar-paginas-legales ul {
    line-height: 180%; 
    margin-bottom: 24px;
}
.togar-paginas-legales ul.togar-toc {
    list-style-type: none;
}

/* Header section para shortcode colegios_togar */
.colegios-header {
    margin-bottom: 32px;
}

.colegios-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.colegios-left-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.colegios-title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.5px;
    color: #222222;
    margin: 0 0 8px 0;
}

h1.colegios-togar {
    font-size: 24px;
    margin-bottom: 10px;
    text-align: left;
    text-transform: uppercase;
}

.colegios-count-line {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.colegios-header .colegios-search-box {
    display: flex !important;
    align-items: center;
    position: relative !important;
    max-width: 300px !important;
    align-self: flex-start;
    margin: 0 !important;
}

.colegios-header .colegios-search-box input {
    padding: 12px 16px;
    padding-left: 40px;
    border: 1px solid #ddd;
    border-radius: 25px;
    font-size: 14px;
    width: 100%;
    outline: none;
    transition: border-color 0.3s ease;
}

.colegios-header .colegios-search-box input:focus {
    border-color: var(--colegios-primary, #007cba);
}

.colegios-header .colegios-search-box .search-icon {
    position: absolute;
    left: 15px;
    font-size: 14px;
    color: #666;
}

.colegios-separator {
    height: 1px;
    background-color: #ddd;
    margin-bottom: 24px;
}

/* Responsive para header */
@media (max-width: 768px) {
    .colegios-header-row {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }
    
    .colegios-left-section {
        align-items: center;
        text-align: center;
    }
    
    .colegios-title {
        font-size: 20px;
    }
    
    h1.colegios-togar {
        text-align: center;
        max-width: 290px;
        margin-bottom: 16px;
    }
    
    .colegios-count-line {
        text-align: center;
    }
    
    .colegios-header .colegios-search-box {
        max-width: 100%;
        width: 100%;
        align-self: center;
        justify-self: center;
    }
}

@media (min-width: 922px) {
    .tax-uniformes .site-content .ast-container {
        max-width: 100% !important;
    }
}

/* Solo aplicar padding cero al contenido principal, no al header */
.tax-uniformes .site-content .ast-container,
.tax-uniformes .ast-container-fluid {
    padding-left: 0px;
    padding-right: 0px;
}

/* ========================================
   ESTILOS PARA DIRECCIONES WOOCOMMERCE
   ======================================== */

header.woocommerce-Address-title.title h2 {
    font-size: 20px;
    letter-spacing: -0.5px;
    font-weight: 600; 
    margin-bottom: 2px;
} 

.woocommerce .addresses .title .edit, .woocommerce-account .addresses .title .edit {
    float: left;
    padding: .7em 0;
} 

.woocommerce .woocommerce-Addresses .woocommerce-Address-title, .woocommerce .woocommerce-Addresses .woocommerce-column__title, .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title, .woocommerce .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce .woocommerce-customer-details .woocommerce-Address-title, .woocommerce .woocommerce-customer-details .woocommerce-column__title, .woocommerce-account .woocommerce-Addresses .woocommerce-Address-title, .woocommerce-account .woocommerce-Addresses .woocommerce-column__title, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce-account .woocommerce-customer-details .woocommerce-Address-title, .woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
    background: #fbfbfb;
    padding: 0.7em;
} 

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce .woocommerce-Addresses .woocommerce-Address-title, .woocommerce table.shop_table thead, .woocommerce-page table.shop_table thead {
    background: #e8eee8;
} 

.woocommerce .addresses .title .edit, .woocommerce-account .addresses .title .edit {
    float: left;
    padding: .7em 0;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
} 

.woocommerce .woocommerce-Addresses address, .woocommerce .woocommerce-MyAccount-content address, .woocommerce .woocommerce-customer-details address, .woocommerce-account .woocommerce-Addresses address, .woocommerce-account .woocommerce-MyAccount-content address, .woocommerce-account .woocommerce-customer-details address {
    line-height: 160%;
}

/* ========================================
   ESTILOS PARA ÓRDENES Y NAVEGACIÓN MYACCOUNT
   ======================================== */

.ast-orders-table__row {
    line-height: 160%;
} 

.ast-woo-order-date {
    font-size: 1.2em;
    color: #125e1d;
    font-family: poppins, sans-serif;
    font-weight: 600;
    letter-spacing: -0.5px;
} 

.woocommerce-MyAccount-navigation-link.is-active a, .woocommerce-MyAccount-navigation-link:hover a {
    color: #125e1d !important;
} 

@media (min-width: 921px) {
    .woocommerce-MyAccount-navigation-link:after {
        background-color: #125e1d !important;
    }
} 

@media (min-width: 544px) {
    .ast-orders-table__cell-order-actions, .ast-orders-table__row .download-file {
        font-family: 'Poppins', sans-serif;
    }
}

h2.woocommerce-order-details__title, h2.woocommerce-column__title {
    font-size: 24px;
    letter-spacing: -0.5px;
}

.woocommerce-MyAccount-content h2 {
    font-size: 24px;
    letter-spacing: -0.5px;
}

span.woocommerce-input-wrapper {
    color: #222222;
    font-family: poppins, sans-serif;
    font-weight: 600;
}

.woocommerce-input-wrapper > strong {
    padding-left: 0.7em;
    font-weight: 600;
}

span.select2-results {
    font-family: 'Poppins';
    font-size: 15px;
    line-height: 140%;
}

.woocommerce-MyAccount-navigation ul {
    font-family: poppins, sans-serif;
}

li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--edit-address.is-active {
    background: #e8eee8;
}

li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--orders.is-active, li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--dashboard.is-active, li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--downloads.is-active, li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--edit-account.is-active {
    background: #e8eee8;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods div.payment_box {
    margin: 15px 0 0 0px;
    width: auto;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method label {
    padding-left: 8px;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields-custom .ast-checkout-form-heading .woocommerce-billing-fields__customer-login-label {
    text-transform: none;
    font-weight: 500;
    margin-top: .9em;
    letter-spacing: -0.3px;
}

/* ========================================
   ESTILOS PARA COMPROBANTE FISCAL
   ======================================== */

.togar-comprobante-fiscal-section {
    margin: 30px 0;
    padding: 24px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.togar-comprobante-title {
    font-size: 18px;
    font-weight: 600;
    color: #125e1d;
    margin: 0 0 20px 0;
    font-family: poppins, sans-serif;
    letter-spacing: -0.5px;
}

.togar-comprobante-radio .woocommerce-input-wrapper {
    display: flex;
    gap: 2px;
    align-items: center;
    margin-top: 8px;
    flex-direction: row;
}

.togar-comprobante-question {
    font-size: 18px;
    font-weight: 500;
    color: #222;
    font-family: poppins, sans-serif;
    margin-top: 0;
    letter-spacing: -0.5px;
    margin-bottom: 10px !important;
}

.togar-comprobante-radio input[type="radio"] {
    margin-right: 8px;
    transform: scale(1.2);
}

label.radio.required_field {
    margin-right: 16px;
}

.togar-comprobante-radio .woocommerce-input-wrapper label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 0;
    margin-left: 0;
    cursor: pointer;
    color: #555;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.togar-campos-fiscales {
    margin-top: 24px;
    padding: 20px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #ddd;
    transition: all 0.3s ease;
}

.togar-empresa-field label,
.togar-rnc-field label {
    font-size: 14px;
    font-weight: 600;
    color: #125e1d;
    font-family: poppins, sans-serif;
    margin-bottom: 8px;
}

.togar-empresa-field input,
.togar-rnc-field input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 6px;
    font-size: 14px;
    font-family: poppins, sans-serif;
    transition: border-color 0.3s ease;
}

.togar-empresa-field input:focus,
.togar-rnc-field input:focus {
    border-color: #125e1d;
    outline: none;
    box-shadow: 0 0 0 3px rgba(18, 94, 29, 0.1);
}

/* Estilos para admin */
.togar-comprobante-admin {
    margin: 20px 0;
    padding: 15px;
    background: #e8eee8;
    border-radius: 6px;
    border-left: 4px solid #125e1d;
}

.togar-comprobante-admin h4 {
    color: #125e1d;
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 600;
}

.togar-comprobante-admin p {
    margin: 5px 0;
    font-size: 14px;
    color: #333;
}

/* Estilos para emails */
.togar-comprobante-email {
    margin: 20px 0;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #e9ecef;
}

.togar-comprobante-email h3 {
    color: #125e1d;
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 600;
}

.togar-comprobante-email p {
    margin: 5px 0;
    font-size: 14px;
    color: #333;
}

/* Estilos para página Thank You (order-received) */
.togar-comprobante-thankyou {
    margin: 30px 0;
    padding: 20px;
    background: #e8eee8;
    border-radius: 8px;
    border-left: 4px solid #125e1d;
}

.togar-comprobante-thankyou h3 {
    color: #222222;
    margin: 0 0 15px 0;
    font-size: 18px !important;
    font-weight: 500;
    font-family: poppins, sans-serif;
    letter-spacing: -0.5px;
}

.togar-comprobante-thankyou p {
    margin: 8px 0;
    font-size: 14px;
    color: #222;
    font-family: poppins, sans-serif;
    line-height: 1.5;
}

.togar-comprobante-thankyou p strong {
    color: #125e1d;
    font-weight: 500;
    letter-spacing: -0.5px;
}

/* Responsive */
@media (max-width: 768px) {
    .togar-comprobante-fiscal-section {
        padding: 20px 16px;
        margin: 20px 0;
    }
    
    .togar-comprobante-title {
        font-size: 16px;
    }
    
    .togar-comprobante-radio .woocommerce-input-wrapper {
        flex-direction: row;
        gap: 20px;
        align-items: center;
        flex-wrap: wrap;
    }
    
    .togar-campos-fiscales {
        padding: 16px;
    }
}

/* ========================================
   MINI CART DRAWER - ESTILOS ESPECÍFICOS
   ======================================== */

.togar-mini-cart-breakdown {
    border-top: 1px solid #ddd !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    padding: 1em 1.70em 0.5em 1.70em !important;
}

.togar-subtotal-line {
    color: #222222 !important;
    font-weight: 500 !important;
}

.togar-subtotal-line .togar-tax-amount {
    color: #222222 !important;
}

.togar-tax-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
}

.woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__total {
    display: none !important;
    justify-content: space-between !important;
    padding: 0.7em 1.34em !important;
    margin-bottom: 0 !important;
}

/* Estilos adicionales para checkout - Ajuste de padding en shipping totals */
.ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
    padding-left: 0;
    width: 40%;
}

/* Estilos para enlaces en política de privacidad y términos y condiciones */
.woocommerce-privacy-policy-text p a {
    color: #125d1d;
    text-decoration: underline !important;
}

span.woocommerce-terms-and-conditions-checkbox-text {
    font-weight: 600;
    letter-spacing: -0.4px;
    color: #222222;
    font-size: 14px;
}

span.woocommerce-terms-and-conditions-checkbox-text a {
    color: #125d1d;
    text-decoration: underline !important;
}

/* Estilos para inputs de métodos de pago */
#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input {
    cursor: pointer;
    margin: 0 0 0 10px;
}

/* Estilos para labels de métodos de pago en checkout moderno */
.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method>[type=radio]:not(:checked)+label {
    color: #222222; 
    font-size: 1em; 
    letter-spacing: -0.3px;
} 

.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method label {
    color: #222222;
    font-size: 1em; 
    letter-spacing: -0.3px;
}

/* Estilos para contenedor y cajas de información de métodos de pago */
.ast-modern-checkout .woocommerce #payment ul.payment_methods div.payment_box {
    border-top: 1px solid var(--ast-border-color);
    background-color: #e8eee8;
    padding: 1.2em 1.5em;
    border-radius: 0 0 4px 4px;
    letter-spacing: -0.3px;
    font-size: 0.8em;
    color: #125d1d;
} 

.ast-modern-checkout .woocommerce #payment ul.payment_methods {
    padding: 0;
    margin: 0 0 1em 0;
    border: 1px solid var(--ast-border-color);
    border-radius: 4px;
}

/* Estilo para el mensaje de la pasarela AZUL */
h4.azul-gateway-message {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.8px;
    margin-bottom: 32px;
    margin-top: 32px;
}


