/* ==========================================
   DISEÑO EJECUTIVO RESPONSIVO - LAW FIRM CARBONEL
   ========================================== */

/* Contenedor Principal Adaptable */
.seccion-plantillas-wrapper {
    background: linear-gradient(180deg, #070d1e 0%, #0f1a36 100%) !important;
    border-top: 2px solid rgba(212, 175, 55, 0.4) !important;
    border-bottom: 2px solid rgba(212, 175, 55, 0.4) !important;
    padding: 60px 15px 80px 15px !important;
    margin: 40px 0 0 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.5), 0 15px 40px rgba(0, 0, 0, 0.3) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #ffffff !important;
}

/* Encabezado */
.plantillas-header-box {
    text-align: center !important;
    max-width: 850px !important;
    margin: 0 auto 35px auto !important;
    padding: 0 10px !important;
}

.plantillas-titulo-seccion {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}

.plantillas-titulo-seccion span {
    color: #d4af37 !important;
    background: linear-gradient(135deg, #fff7d6 0%, #d4af37 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.plantillas-subtitulo-seccion {
    color: #94a3b8 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Buscador Adaptable */
.buscador-plantillas-wrapper {
    max-width: 520px !important;
    margin: 0 auto 40px auto !important;
    position: relative !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
}

.buscador-plantillas-input {
    width: 100% !important;
    padding: 15px 20px 15px 48px !important;
    background: rgba(15, 23, 42, 0.95) !important;
    border: 1px solid rgba(212, 175, 55, 0.4) !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    outline: none !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.buscador-plantillas-input:focus {
    border-color: #d4af37 !important;
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.3) !important;
}

.buscador-icon {
    position: absolute !important;
    left: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #d4af37 !important;
    font-size: 16px !important;
    pointer-events: none !important;
}

/* Grid Inteligente Responsivo */
#contenedorPlantillas, #contenedor-plantillas {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 24px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
}

/* Tarjetas Pro */
.plantilla-card-pro {
    background: linear-gradient(145deg, rgba(15, 26, 54, 0.95) 0%, rgba(7, 13, 30, 0.98) 100%) !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
    box-sizing: border-box !important;
}

.plantilla-card-pro:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(212, 175, 55, 0.7) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(212, 175, 55, 0.15) !important;
}

.plantilla-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}

.plantilla-badge {
    background-color: rgba(212, 175, 55, 0.15) !important;
    color: #d4af37 !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
}

.plantilla-tipo {
    font-size: 11px !important;
    color: #070d1e !important;
    background: #d4af37 !important;
    font-weight: 800 !important;
    padding: 4px 9px !important;
    border-radius: 6px !important;
}

.plantilla-titulo {
    font-size: 17px !important;
    color: #ffffff !important;
    margin-bottom: 10px !important;
    font-family: 'Playfair Display', serif !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

.plantilla-desc {
    color: #94a3b8 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
}

.plantilla-tags-list {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
}

.plantilla-tag-item {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #cbd5e1 !important;
    font-size: 10px !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.plantilla-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 15px !important;
}

.btn-descarga-pro {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, #d4af37 0%, #b59226 100%) !important;
    color: #070d1e !important;
    border: none !important;
    padding: 12px 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2) !important;
}

.btn-descarga-pro:hover {
    background: linear-gradient(135deg, #e5c148 0%, #c9a335 100%) !important;
}

/* ==========================================
   ADAPTACIÓN EXACTA PARA CELULARES (MOBILES)
   ========================================== */
@media screen and (max-width: 768px) {
    .seccion-plantillas-wrapper {
        padding: 40px 10px 60px 10px !important;
        margin: 20px 0 0 0 !important;
    }

    .plantillas-titulo-seccion {
        font-size: 24px !important;
    }

    .plantillas-subtitulo-seccion {
        font-size: 13px !important;
    }

    #contenedorPlantillas, #contenedor-plantillas {
        grid-template-columns: 1fr !important; /* 1 tarjeta por fila en celulares */
        gap: 18px !important;
        padding: 0 5px !important;
    }

    .plantilla-card-pro {
        padding: 20px !important;
    }

    .buscador-plantillas-wrapper {
        padding: 0 5px !important;
    }
}